Compare commits

...

431 Commits

Author SHA1 Message Date
9efa271888 Implement Sent signals for Telepathy.
This will allow us to update our notifications when
someone uses a different Telepathy client to send
messages.

https://bugzilla.gnome.org/show_bug.cgi?id=635991
2010-11-28 10:28:51 -05:00
9ed3ce9006 Add a search provider for the session's current windows.
https://bugzilla.gnome.org/show_bug.cgi?id=635989
2010-11-28 10:26:09 -05:00
b400fc2837 workspace-indicators: Add hover indication
Scale up indicators on hover to hint at their clickability.

https://bugzilla.gnome.org/show_bug.cgi?id=634948
2010-11-19 05:11:13 +01:00
a66af6fbac overview: Update animation
Update the animation on entering/leaving the overview to only zoom
the window previews and fade other elements.

https://bugzilla.gnome.org/show_bug.cgi?id=634948
2010-11-19 05:11:13 +01:00
1bbc138ed2 dash: Improve DND to dash and allow reordering
Show a positional indicator where a new favorite will be added and
make the favorites re-orderable. Also allow the removal of favorites
using drag-and-drop according to the mockups.

https://bugzilla.gnome.org/show_bug.cgi?id=634948
2010-11-19 05:11:13 +01:00
868d4756e4 workspaces: Change handling of window-drag signals
Delegate the emission of the window-drag-begin/window-drag-end
signals to overview functions, as done already for other items.
This will enable objects to react to those signals without having
access to the workspace objects / the workspaces view.

https://bugzilla.gnome.org/show_bug.cgi?id=634948
2010-11-19 05:11:13 +01:00
dfa3be59dc search-display: Change the default display to use iconGrid
Current mockups display all search results as icons as used by
application results, so change the default result display to use
iconGrid/BaseIcon. Remove the custom application results display,
as it is no longer needed.

https://bugzilla.gnome.org/show_bug.cgi?id=634948
2010-11-19 05:11:13 +01:00
62677336a5 overview: Add ViewSelector to the overview
Add the view selector and adjust the positioning of elements in the
overview. Unlike the old dash, the view selector is made public to
indicate that extensions may add additional views or search providers.

https://bugzilla.gnome.org/show_bug.cgi?id=634948
2010-11-19 05:11:06 +01:00
264a82cbfc workspaces: Rework workspace controls for the view selector
As workspaces will appear as a particular view in the view selector,
merge WorkspacesControls and WorkspacesManager to control workspaces
and related controls, so that a single actor can be added to the
selector instead of positioning the elements from the overview.

https://bugzilla.gnome.org/show_bug.cgi?id=634948
2010-11-19 05:11:06 +01:00
f8cfd9f903 workspaces-view: Swap workspace ordering for RTL locales
Make the first workspace the right-most one in RTL locales, as one
would expect. Update all dragging/scrolling functions to behave
correctly.

https://bugzilla.gnome.org/show_bug.cgi?id=634948
2010-11-19 05:11:06 +01:00
13f8cd3bcf workspaces-view: Remove MosaicView
The new layout does no longer support view switching, so merge
GenericWorkspacesView and SingleView, and remove MosaicView.
Also rename or remove workspace properties and functions which
are now unused.
The grid will have a comeback with the new DND behavior.

https://bugzilla.gnome.org/show_bug.cgi?id=634948
2010-11-19 05:11:06 +01:00
e1f336374b app-display: Slight cleanup and style update
Being no longer an independent menu pane, both the toggle() and
close() functions are no longer needed, and the view's structure
can be simplified a bit.

Also update the style to fit into the view selector.

https://bugzilla.gnome.org/show_bug.cgi?id=634948
2010-11-19 05:11:06 +01:00
0ba1387d19 Fake workspaces tab
https://bugzilla.gnome.org/show_bug.cgi?id=634948
2010-11-19 05:11:06 +01:00
8832ce3a2b view-selector: Add keyboard shortcut for view switching
As the view selector is a tabbed interface, use the default keyboard
shortcut of Ctrl-PageUp/PageDown of GtkNotebook for switching between
views.

https://bugzilla.gnome.org/show_bug.cgi?id=634948
2010-11-19 05:11:06 +01:00
91d7a022a9 view-selector: Move search logic into SearchTab
The view selector should only deal with view switching, so move the
logic to deal with search (find-as-you-type, cancelling a search,
navigating/activating results) into the SearchTab.

https://bugzilla.gnome.org/show_bug.cgi?id=634948
2010-11-19 05:11:03 +01:00
95d15725fc Use the old dash code to implement the view selector
The view selector is a tabbed interface with a search entry. Starting
a search switches focus to the results' tab, ending a search moves the
focus back to the previously selected tab. Activating a normal tab
while a search is active cancels the search.

https://bugzilla.gnome.org/show_bug.cgi?id=634948
2010-11-19 05:10:21 +01:00
bb2b7d83af search-display: Move SearchResults to a separate file
With the new layout, search results will be displayed in an independent
view like window previews, applications and possible future additions;
it does not make much sense keeping it with the switching logic, so move
the code to its own file.

Also remove the dash-prefix from the relevant style classes.

https://bugzilla.gnome.org/show_bug.cgi?id=634948
2010-11-19 00:13:51 +01:00
0abac6f67d dash: Move padding into the icon for Fittsability
With this change, the icons' reactive area extends to the screen
edge, making them good targets according to Fitts' law.

https://bugzilla.gnome.org/show_bug.cgi?id=634948
2010-11-19 00:13:51 +01:00
e00398e2ac dash: Reimplement the dash based on AppWell code
The new dash implementation is a single-column vertical sidebar,
whose items are scaled dynamically to fit the available height.
If the height is still exceeded after scaling down to a minimum
item size, excess items are cut off.
The now unused old dash implementation is renamed to OldDash, as
its code will be used as a base for the new view selector element.

https://bugzilla.gnome.org/show_bug.cgi?id=634948
2010-11-19 00:13:51 +01:00
0f19492545 linear-view: Remove NewWorkspaceArea
As the button to add workspaces will move to the same position as
the new workspace drop area in drag mode, the latter is redundant
and can be removed.

https://bugzilla.gnome.org/show_bug.cgi?id=634948
2010-11-19 00:13:51 +01:00
9d46a6ceea linear-view: Remove shadows when zoomed out
Overlaying inactive workspaces with a gradient to fade out the actors
does no longer work when re-using the normal desktop background. If
we keep the current DND behavior, we probably want to implement a real
fade effect - for now, just remove the visually disruptive shadows.

https://bugzilla.gnome.org/show_bug.cgi?id=634948
2010-11-19 00:13:51 +01:00
6432de95cc overview: Do not zoom the desktop background
While scaling the desktop background with the window previews represents
workspaces quite intuitively, the approach is not without problems.
As window previews in the overview behave quite differently to "real"
windows, the representation of workspaces as miniature versions of
"real" workspaces is flawed. The scaling also makes the transitions
to and from the overview much more visually expensive, without adding
much benefit.
Leaving the background in place provides more visual stability to the
transitions and emphasizes the distinctive behavior of elements in the
overview.

https://bugzilla.gnome.org/show_bug.cgi?id=634948
2010-11-19 00:13:46 +01:00
738fc375c0 overview: Replace InfoBar with message tray notifications
The layout of recent mockups occupies the space previously reserved
for the info bar with the view selector. As the bar's purpose is
mainly to provide the user with feedback, it makes sense to use the
existing message tray facility instead of moving the bar elsewhere.

https://bugzilla.gnome.org/show_bug.cgi?id=634948
2010-11-18 20:35:55 +01:00
4e9a530a64 linear-view: Remove the scrollbar
The scrollbar is the main culprit for cluttered controls in the
linear view - all its functionality is already provided by the
workspace indicators, so it is save to remove the scrollbar in
order to clean up the interface.

https://bugzilla.gnome.org/show_bug.cgi?id=634948
2010-11-18 20:35:55 +01:00
be6e189b49 dnd: Hide drag actor from pick
Instead of hiding the drag actor temporarily to determine the actor
beneath it, make it invisible to picks while dragging using the new
shell_util_set_hidden_from_pick().

https://bugzilla.gnome.org/show_bug.cgi?id=634560
2010-11-18 20:27:55 +01:00
1c8955b34a shell-util: Add helper to hide actors from pick
At times it is desireable to hide actors from being picked even
with a mode of CLUTTER_PICK_ALL.

Currently we use a pattern of
    clutter_actor_hide();
    clutter_stage_get_actor_at_pos();
    clutter_actor_show();
in these cases, which gets hideous if the actor we want to exclude
from the pick is located in another module.

A more elegant solution is to connect a handler to the ::pick signal,
which stops further emission.

Credit for the idea goes to Owen Taylor.

https://bugzilla.gnome.org/show_bug.cgi?id=634560
2010-11-18 20:27:55 +01:00
e5a802bf99 Use the new "background actor" functionality in Mutter
The code to draw the root background has now been moved into Mutter,
with added smarts to not draw obscured portions. Remove the old
version of the code and clone the Mutter background actor to draw
the background in the overview.

https://bugzilla.gnome.org/show_bug.cgi?id=634836
2010-11-18 14:03:37 -05:00
55f290bc96 Disable clearing the color buffer
Since we always cover the stage, we don't need to clear it to a
constant color before painting the scene.

https://bugzilla.gnome.org/show_bug.cgi?id=634769
2010-11-18 14:03:37 -05:00
909f2e670a ShellTrayManager: fix icon actor memory management
We weren't actually referencing the ShellTrayIcon actors at all
on creation, but would unreference them when they were removed,
causing crashes.

When we reference the actors, use g_object_ref_sink() so that
memory management is consistent whether or not the actors are
subsequently added to a parent actor.

Thanks for Jon McCann for help in tracking this down.

https://bugzilla.gnome.org/show_bug.cgi?id=635141
2010-11-18 13:52:35 -05:00
fa44289dd0 [PowerIcon] Fix percent label to be in sync with the description 2010-11-17 22:58:00 +01:00
deb7e7317e power-status: Remove tooltip
Status icons should not have tooltips according to the design.
2010-11-17 20:38:02 +01:00
5f1a2e3cec gnome-shell-build-setup.sh: add more deps for gnome-keyring 2010-11-17 09:44:46 -05:00
8b3f05b6e3 Status area: introduce battery & power indicator
Add an indicator for battery charge and power indication in the
system status area, using the newly exported DBus API from
gnome-power-manager.

https://bugzilla.gnome.org/show_bug.cgi?id=622451
2010-11-17 14:52:39 +01:00
21ac225981 StIcon: add support for GIcon
Add a "gicon" property so that a GIcon can be used instead of an
icon name, while still getting icon recoloring from the theme.
Also include a compatibility wrapper in libshell until GJS has
support for interface static methods.

https://bugzilla.gnome.org/show_bug.cgi?id=622451
2010-11-16 22:11:27 +01:00
0c5d87d79b PopupMenu: allow insertion of items at any point
Add a "position" argument to addMenuItem, and pass it to the
underlying box layout. If undefined or null, it adds at the end.
2010-11-16 20:42:53 +01:00
c224e019fe telepathyClient: add a missing "new" 2010-11-16 14:08:52 -05:00
aa91491730 StTooltip: Rework to use StLabel
Replaces the internal ClutterText with StLabel, so full CSS
styling is supported.

https://bugzilla.gnome.org/show_bug.cgi?id=622450
2010-11-16 19:22:01 +01:00
7bc77a23b4 build: Add libnotify to module set
libnotify is required by gnome-settings-daemon.
2010-11-16 15:33:56 +01:00
b8a5d3fd9b Handle new name for gnome-volume-control-applet
gnome-volume-control-applet was renamed to gnome-sound-applet when
moved to the control-center module, so we need to check for both names
when identifying the legacy status icon.
2010-11-15 18:45:36 -05:00
8734a59cd7 Handle icon theme changes
Connect to the "changed" signal on the default icon theme, and
when it triggers:

 - Evict all cached looked up icons from the StTextureCache
 - Fake a style change on all StThemeContext; this will result
   in StIcon looking up icons again.

https://bugzilla.gnome.org/show_bug.cgi?id=633866
2010-11-15 18:45:36 -05:00
e90504953f gnome-shell: When creating an extension, print where we created it
This makes it easier to find.
2010-11-15 18:43:15 -05:00
d67aa39bb1 Updated Romanian translation 2010-11-15 23:36:41 +02:00
1dc559740f Updated Romanian translation 2010-11-15 22:22:14 +02:00
a3e3d61d58 Updated Romanian translation 2010-11-15 22:22:03 +02:00
f6e9ae35fd gnome-shell-build-setup.sh: Conditionally check for autopoint on Debian/Ubuntu.
autopoint was split out into its own package in Debian lenny and thus Ubuntu 10.10

https://bugzilla.gnome.org/show_bug.cgi?id=632824
2010-11-15 08:49:06 -05:00
3c33cf425e gnome-shell-build-setup.sh: add libxklavier-devel & expat-devel to deps
Add to deps for Fedora and Debian:

 expat: needed by polkit
 libxklavier-devel: need by libgnomekbd

Based on a patch by Kiyoshi Aman <kiyoshi.aman@gmail.com>.

https://bugzilla.gnome.org/show_bug.cgi?id=634865
2010-11-14 19:31:21 -05:00
141b4ffe87 StFocusManager: don't unref removed groups
It is not referencing them when adding, and also it is connecting
to the "destroy" signal, emitted on dispose, so there is no risk
of storing finalized objects.

https://bugzilla.gnome.org/show_bug.cgi?id=634781
2010-11-14 20:51:27 +01:00
35d8780186 Added UG translation 2010-11-14 00:05:37 +01:00
d11ea7d6cd Added UG translation 2010-11-13 22:26:32 +01:00
3138b20b11 Skip drawing transparent borders and backgrounds
We were always drawing the border and background of each
StThemeNode, even if they were transparent. The simple
optimization of checking the alpha provides a significant
performance boost (in a quick test, it increased the
overviewFpsSubsequent metric in the core performance test
from 28fps to 35fps).

https://bugzilla.gnome.org/show_bug.cgi?id=634752
2010-11-13 10:12:40 -05:00
c3fb3a98b8 Remove invisible status from menu
It was decided at GNOME Summit that we would remove the invisible
setting until we have a better story for how it works with chat
and other sharing/messaging applications.  We'd also need to
figure out how it relates to busy.
2010-11-13 09:30:16 -05:00
32cc136563 Remove Restart option from session menu
The action is far less common than powering off.  It is mostly
used for performing system updates so the update tool should
offer the option directly.  Also, currently the Shut Down option
dialog offers Restart anyway.  We would like to keep the number
of entries in this menu as limited (close to 7) as we can.
2010-11-13 08:43:45 -05:00
63e89482fe Use Settings and not Preferences for sound menu
To match the tool that it launches.
2010-11-13 08:43:45 -05:00
e8917e2d6f Fix build of run-js-test
https://bugzilla.gnome.org/show_bug.cgi?id=634736

Signed-off-by: Adel Gadllah <adel.gadllah@gmail.com>
2010-11-13 10:26:48 +01:00
a2f4e196a1 Icon test case fixes
put a border around the "16px icon in 48px icon widget" test, to
verify that the icon is being centered correctly

add spacing and fix alignment for general prettiness

https://bugzilla.gnome.org/show_bug.cgi?id=633865
2010-11-12 22:28:22 -05:00
dc1e23501c Remove _for_theme() variant of st_texture_cache_load_icon_name()
Now that we're using St.Icon in the Javascript, there is no reason
to have separate st_texture_cache_load_icon_name() and
st_texture_cache_load_icon_name_for_theme(), instead just add
the StThemeNode argument to st_texture_cache_load_icon_name().

https://bugzilla.gnome.org/show_bug.cgi?id=633866
2010-11-12 17:36:26 -05:00
0e3431ac47 Use St.Icon for named icons
Switch from St.TextureCache.load_named_icon() to using St.Icon for named
icons. Along with the advantage of getting colorization right for symbolic
icons, this allows moving some icon sizes into the CSS.

In the CSS, the system status icon size is changed to be 1em (=16px for the
default font size), at the request of the artists. See bug 613448.

https://bugzilla.gnome.org/show_bug.cgi?id=633865
2010-11-12 17:36:26 -05:00
af7ba00e97 StIcon: pass in the StThemeNode to get colorized symbolic icons
Use st_texture_cache_load_icon_name_for_theme() so that we get the
right colors for symbolic icons. The code refactoring to achieve this
also avoids constantly starting a new icon load each time we set
a property on initialization ... the icon is loaded only after we
have a #StThemeNode assigned.

https://bugzilla.gnome.org/show_bug.cgi?id=633865
2010-11-12 17:36:26 -05:00
8d6ab6fe84 Add st_widget_peek_theme_node()
Sometimes it's useful to get the theme node if there is one and do
nothing and wait for the ::style-changed signal if there is no theme
node. Add st_widget_peek_theme_node() that just gets the current
theme node if available. The caller must handle a %NULL return.

https://bugzilla.gnome.org/show_bug.cgi?id=633865
2010-11-12 17:36:26 -05:00
4917c79d09 StTextureCache: support loading a named icon with colors from a theme node
Add st_texture_cache_load_icon_name_for_theme() which, when loading a
symbolic icon, gets a #StIconColors from the theme node and uses that
to colorize the icon.

https://bugzilla.gnome.org/show_bug.cgi?id=633865
2010-11-12 17:36:26 -05:00
04da2a61db Add StIconColors object, compute in StThemeNode
A new StIconColors object is used to efficiently track the colors
we need to colorize a symbolic icon.
st_theme_node_compute_icon_colors() is added to compute the
StIconColors for a theme node. (Refcounting of StIconColors means
that we'll typically share the colors object of the parent node.)

https://bugzilla.gnome.org/show_bug.cgi?id=633865
2010-11-12 17:36:26 -05:00
3ca86b2197 StIcon: Center the icon rather than scaling it up
Scaling up icons from the loaded size to a larger size is uniformly
ugly and results in a long series of "fuzzy icon" bugs. It's better
to just load at the specified size and center. (Centering can be
overridden by packing not-fill in the parent container.)

https://bugzilla.gnome.org/show_bug.cgi?id=633865
2010-11-12 17:36:25 -05:00
35400238aa StIcon: Always request a square icon size
We don't want the layout to change when we say, change from
battery-full to battery-full-charging, so we should request a square
based on the icon size unconditionally and not try to adapt to the
size of the texture we loaded. This also means that our layout is
independent of the loaded texure which, if we switch away from
using a ClutterActor child will allow us not queue a relayout when
the icon finishes loading.

https://bugzilla.gnome.org/show_bug.cgi?id=633865
2010-11-12 17:36:25 -05:00
439d7f036f Port StIcon from MX framework to St framework
Make StIcon compile and work in St.

Changes:

 * ::icon-type and st_icon_set_icon_type are added to allow
   specifying SYMBOLIC/FULLCOLOR for an icon.
 * Ability to set the icon name from the theme is removed; it
   wouldn't easily fit into our framework and two levels of
   abstraction between code and image doesn't seem that useful.
 * size CSS property is renamed from x-st-icon-size to icon-size
   to correspond to what we are doing elsewhere.
 * CSS and property based icon sizing are cleanly layered - if
   you set the icon-size property, the CSS size is ignored.
 * Add a simple JS test of StIcon.

https://bugzilla.gnome.org/show_bug.cgi?id=633865
2010-11-12 17:36:25 -05:00
aed6375a2d Move StIconType to st-types.h from st-texture-cache.h
StIconType will be used by a new StIcon class, so move it to the
header file of common enumerations. Including st-types.h which had
the St single-include check revealed that st-texture-cache.h didn't
have that check and several places were including that directly.
Fix that up.

https://bugzilla.gnome.org/show_bug.cgi?id=633865
2010-11-12 17:36:25 -05:00
a9a8b1ec6a StIcon: Remove content-image capability
The ability to set a "content image" on an icon relies on the ability
to have custom theme properties of a "border image" (9-slice) type.
We don't have this, and the capability of a bordered image specified
by the theme can be achieved more naturally with standard CSS facilities.

https://bugzilla.gnome.org/show_bug.cgi?id=633865
2010-11-12 17:36:25 -05:00
b0e713b775 StIcon: use g_strcmp0()
Simplify a check for an unchanged string with g_strcmp0().

https://bugzilla.gnome.org/show_bug.cgi?id=633865
2010-11-12 17:36:25 -05:00
32fc25a3ac StIcon: Adopt copyright notice to standard
- Replace FSF address with URL
- Remove explicit Authors: list

https://bugzilla.gnome.org/show_bug.cgi?id=633865
2010-11-12 17:36:25 -05:00
839492f15b Import MxIcon as StIcon
https://bugzilla.gnome.org/show_bug.cgi?id=633865
2010-11-12 17:36:25 -05:00
c98103ffc8 Add run-js-test executable to run tests
ST makes use of GTK+ for input methods and for icon themes; therefore
we have need to initialize GTK+ in order to test these parts of Clutter.

Instead of LD_PRELOADING our module, use a separately compiled executable
that links to the UI components in GNOME Shell, initializes Clutter and
GTK+ and hooks them together.

Getting all the symbols from St and the GUI components exported for
use via GJS requires a bit of contortion: we need to actually link the
St convenience library into a shared library and link the executable
to that since there is no way with libtool to take a convenience library
and put all its symbols into an executable --whole-archive style.

https://bugzilla.gnome.org/show_bug.cgi?id=633657
2010-11-12 17:36:20 -05:00
86f3a637f1 st_texture_cache_load_from_raw: Don't pointlessly include size in cache key
The texture is independent of the size that the user passed in; so there
is no obvious reason to include the texture in the cache key.

https://bugzilla.gnome.org/show_bug.cgi?id=633595
2010-11-12 17:34:16 -05:00
e381f0f492 build-setup: Add missing build-dependency
polkit requires pam-devel to build. Add the package to the list
of dependencies in the setup script.
2010-11-12 21:35:07 +01:00
ce72aaf008 Fix up copyright and license notices for St
* Make sure all source files have a LGPL copyright header, and standardize
  non-standard variations of the header to a common form.

* Check and update all copyright notices.

* Remove 'Written By:' lines. They are universally incomplete and
  typically indicate only who started a particular file.

https://bugzilla.gnome.org/show_bug.cgi?id=634550
2010-11-12 15:23:28 -05:00
d79cae07a4 Depend on master gnome-settings-daemon
The new Universal Access menu uses GSettings schema from master
g-s-d. Ensure that these are installed, or we crash.

https://bugzilla.gnome.org/show_bug.cgi?id=634693
2010-11-12 20:26:20 +01:00
b2495a0e25 a11y-status: Fix left over GConf usage
Commit f0c6e96e82 updated the "Large Text" action to use a GSettings
key, but left some code accessing the setting via GConf.

https://bugzilla.gnome.org/show_bug.cgi?id=634693
2010-11-12 19:43:52 +01:00
f0c6e96e82 Status area: update accessibility menu
gnome-settings-daemon has moved to GSettings for most settings, we
should adapt as well. The only remaining GConf key is for metacity
(visual bell).

https://bugzilla.gnome.org/show_bug.cgi?id=634693
2010-11-12 18:44:52 +01:00
ac1b814851 Revert "Transition the ShellApp state when ready."
This reverts commit c171ea12df.
2010-11-12 18:41:54 +01:00
614bcd8016 Update volume indicator labels
It turns out 'Output' and 'Input' are too technical for the novice
user. Use 'Volume' and 'Microphone' instead.

https://bugzilla.gnome.org/show_bug.cgi?id=634329
2010-11-12 17:47:19 +01:00
c171ea12df Transition the ShellApp state when ready.
shell_app_state_transition emits a signal, so invoke it only when
ready, or signal handlers will see an object which is in an invalid
state.

https://bugzilla.gnome.org/show_bug.cgi?id=632501
2010-11-12 17:43:05 +01:00
b856e2990b StScrollView: null out the right variable in dispose
We weren't properly nulling out the vadjustment variable in dispose()
which meant in the case of explicit-destroy followed some time later
by garbage collection and disposing the actor again we would crash.
2010-11-11 08:41:07 -05:00
e4cf3f144d Mark gsettings-desktop-schemas as a dependency of gnome-desktop-3
gsettings-desktop-schemas is required by, so needs to be built before
gnome-desktop-3.

https://bugzilla.gnome.org/show_bug.cgi?id=634552
2010-11-11 08:41:06 -05:00
f25e6916bd Remove unused StSubtexture 2010-11-10 22:00:11 -05:00
ad624d546f st-texture-cache: Fix include
The file gnome-desktop-thumbnail.h was moved from libgnomeui to
libgnome-desktop.

https://bugzilla.gnome.org/show_bug.cgi?id=634555
2010-11-11 01:42:30 +01:00
6df21fd5ff never fall back to the window title as application name
https://bugzilla.gnome.org/show_bug.cgi?id=624935
2010-11-10 01:32:55 +03:00
392999bc43 Make opening and closing LookingGlass slow-down independent
Waiting for LookingGlass to close after calling St.set_slow_down_factor()
is annoying so divide the time for opening and closing by the slow-down
factor.
2010-11-09 14:39:36 -05:00
013f07278b Bump version to 2.91.2 2010-11-08 15:14:20 -05:00
35f806df4e St: add keyboard support to StClickable and StButton
Allow triggering clicks with space/return

https://bugzilla.gnome.org/show_bug.cgi?id=633853
2010-11-08 13:06:41 -05:00
4f1f226828 StButton: fix hover and grab tracking
Use StWidget:track-hover rather than doing it ourselves. Don't assume
that hover is always TRUE after an enter_event or FALSE after a
leave_event, since we have a pointer grab and will be getting other
actors' events.

Don't ungrab the pointer when it leaves the button, since that
destroys the whole point of getting a grab in the first place.

Only consider the button to have been clicked when it has both grab
(meaning the mouse was pressed over the button) and hover (meaning the
mouse was released over the button).

Also remove the virtual pressed/released methods, which weren't being
used anyway.

https://bugzilla.gnome.org/show_bug.cgi?id=633853
2010-11-08 13:06:41 -05:00
4c6dd64e87 StButton: fix code style
https://bugzilla.gnome.org/show_bug.cgi?id=633853
2010-11-08 13:06:41 -05:00
a381017e83 Updated Brazilian Portuguese translation 2010-11-08 15:21:44 -02:00
34aa46a844 app-menu: Fix quit menu item
As popup menus now take focus for keyboard navigation, no application
is focused when activating the menu. Use the target application instead,
which keeps track of the application currently associated with the menu.

https://bugzilla.gnome.org/show_bug.cgi?id=634103
2010-11-05 19:02:53 +01:00
dc58a4f407 Update Simplified Chinese translation. 2010-11-03 16:18:31 +08:00
0428234c67 Updated Galician translations 2010-11-03 00:28:57 +01:00
0155226c73 telepathy: makeProxyClass has been migrated to gjs's dbus module
https://bugzilla.gnome.org/show_bug.cgi?id=633490
2010-11-02 11:11:29 -04:00
9585c823d5 MessageTray: only create icon buttons if specifically requested
Action names sometimes unintentionally overlap with icon names, so
we should only create icon buttons if the message tray source requests
it.  For the notification daemon, this is done by setting the
'action-icons' hint on the notification.

The previous notification server capability used to advertise this
feature, "x-gnome-icon-buttons", has been removed in favour of the
new capability described in the notification spec, "action-icons".

https://bugzilla.gnome.org/show_bug.cgi?id=624584
2010-11-02 19:17:29 +10:00
31df386fed build: fix syntax error in setup script 2010-11-01 14:28:56 -04:00
11794e3da9 build: Add missing libcanberra build deps on Debian 2010-11-01 13:30:18 -04:00
c6f6ac926e build: Add missing libcanberra build deps on Fedora 2010-11-01 13:30:05 -04:00
79a33fa7fb gnome-shell.modules: add libcanberra
The volume status icon requires libcanberra; we could get by with
packages so far, but we will need a very very recent libcanberra soon
anyway, so just require that.

https://bugzilla.gnome.org/show_bug.cgi?id=633418
2010-11-01 11:34:09 -04:00
909ec7a709 Fix cursor image tracking on 64-bit systems
Like all X API, XFixesGetCursorImage returns arrays of 32-bit
quantities as arrays of long; on 64-bit systems we need to
convert to an array of 32-bit words before creating a texture
from the result.

https://bugzilla.gnome.org/show_bug.cgi?id=633591
2010-11-01 11:11:01 -04:00
576376a21b magnifier: Change default values
mccann: we should default to full screen with mouse position as
"proportional"

https://bugzilla.gnome.org/show_bug.cgi?id=629884
2010-11-01 16:03:28 +01:00
0c2aa1437d magnifier: Sync MouseTrackingMode values with the gsettings enum
The tracking modes "push" and "proportional" are swapped.

https://bugzilla.gnome.org/show_bug.cgi?id=629884
2010-11-01 16:03:28 +01:00
bff553e978 PopupSliderMenuItem: connect to scroll-event on the whole actor
Connect to scroll-event on .actor, not ._slider, so you can scroll
on the whole menu item.

https://bugzilla.gnome.org/show_bug.cgi?id=633668
2010-11-01 14:25:59 +01:00
ab206ff82a Updated Hebrew translation. 2010-11-01 07:48:16 +02:00
75e608f039 Updated Spanish translation 2010-10-31 21:50:18 +01:00
2fe7507689 Use the GNOME 3 WM theme by default
Set up an override to specify the metacity window decoration
theme.  Use the GNOME 3 standard theme as the default.
2010-10-31 11:58:44 -04:00
cbed9f956a Explicitly set the repos for the new modules just added
We don't set a default repo for the moduleset.
2010-10-31 11:40:47 -04:00
6d115dd23b Add new standard GNOME 3 themes
Replaces gtk-engines-3.
2010-10-31 11:37:10 -04:00
8bbfa913cb Adjust appSwitcher and workspaceSwitcher popup to match mockups 2010-10-31 17:16:20 +01:00
65a7b042ed Update Czech translation 2010-10-31 12:10:40 +01:00
3640a4dd1e Increase the timeout for hiding the tray if the mouse didn't move far from it
We shouldn't hide the tray as quickly if the user might have left it
unintentionally, such as when moving the mouse over to a different tray item or
using the scroll bar in the chat notification.

https://bugzilla.gnome.org/show_bug.cgi?id=630767
2010-10-30 17:20:13 -04:00
d5f1cd667b Use System Settings instead of Preferences in the user menu (again)
This matches the terminology used in the result of the action.

also see commit 4a316fbc66
2010-10-30 13:50:10 -04:00
8f307c858c Updated Arabic translation 2010-10-30 13:33:43 +02:00
f21403fd9f pushModal: clear focus after pushing a new level
This way the new modal level is independent of whatever may have been
happening before. Fixes a problem with status menus becoming active
again from inside the app switcher, etc.
2010-10-29 15:06:01 -04:00
a19e8d58f5 Do not remove destroyed actors from their container
The container already connects to destroy and will do that for us,
preventing a warning.

https://bugzilla.gnome.org/show_bug.cgi?id=633028
2010-10-29 20:05:32 +02:00
08f7ecad35 Don't remove the tray icons we don't add
Tray icons replaced by a shell version are automatically filtered
and never make to the tray container, but when removed by the client
we were still trying to remove them from the tray, causing a warning.

https://bugzilla.gnome.org/show_bug.cgi?id=633028
2010-10-29 20:05:31 +02:00
548a23a969 PopupMenu: redo keynav using St.FocusManager
Each menu is a focus manager group, but there is also some explicit
focus handling between non-hierarchically-related widgets. Eg, to move
between menus, or from a menubutton into its menu.

https://bugzilla.gnome.org/show_bug.cgi?id=621671
2010-10-29 08:38:05 -04:00
5a83ef8325 St: add StFocusManager, to handle keyboard navigation
StFocusManager allows setting up "focus groups" in which it will
automatically handle navigation between can_focus widgets.

https://bugzilla.gnome.org/show_bug.cgi?id=621671
2010-10-29 08:38:05 -04:00
d2b968a7df St: add keyboard focus navigation support
Add StWidget:can-focus, st_widget_navigate_focus(), and
st_container_get_focus_chain(), and implement as needed to allow
keyboard navigation of widgets.

https://bugzilla.gnome.org/show_bug.cgi?id=621671
2010-10-29 08:38:05 -04:00
58001563d9 update translation and completed 2010-10-29 08:13:46 +05:30
8872913665 StThemeNode: Fix the confusion between border and background
In d66e7dd49 I got confused between border_texture and
background_texture. The background_texture was being created as normal
but in the one place that it gets drawn I accidentally made it use the
border_material instead. This patch makes it create a
background_material similar to the border_material and uses it to
paint.
2010-10-28 21:51:13 +01:00
d66e7dd49e st-theme-node-drawing: Don't create lots of one-shot materials
A few places in st-theme-node-drawing create one-shot material, paint
with it and then free it. This is suboptimal with current Cogl because
it will end up compiling an ARBfp program just for that single paint
and then it will throw it away when the material is destroyed.

There is a new function in st-private.c called
_st_create_texture_material. This creates a simple material for a
texture based on a common parent material that points to a dummy
texture. Any materials created with this function are likely to be
able to share the same program unless the material is further modified
to contain a different number of layers. It would be possible to use
cogl_set_source_texture for this instead except that it's not possible
to modify the material's color in that case so we couldn't render the
texture with opacity.

The corner textures are now stored as a handle to a material that
references the texture rather than storing the texure directly. There
is also a separate border_material member which always points to
border_texture as the only layer.

https://bugzilla.gnome.org/show_bug.cgi?id=633340
2010-10-28 20:02:41 +01:00
f365484a5c popupMenu: fix spacing between columns
This patch didn't get updated for the st_theme_node_get_spacing() change.
2010-10-28 14:03:45 -04:00
c3e557b162 Updated Norwegian bokmål translation. 2010-10-28 17:38:52 +02:00
b411425e1e build: Remove --with-gtk=3.0 argument for mutter
Mutter does now depend unconditionally on GTK+-3.0, so the configure
switch has been removed.
2010-10-28 12:15:37 +02:00
e18d8b2fe8 Updated Hebrew translation. 2010-10-28 08:58:22 +02:00
81982beef4 Updated Spanish translation 2010-10-28 01:46:47 +02:00
0cdad5ac02 Bump version to 2.91.1 2010-10-27 19:09:37 -04:00
1c3bddda41 Add gvc-mixer-control.c to POTFILES.in 2010-10-27 19:09:37 -04:00
5d9b109f06 notificationDaemon: add missing gettext import 2010-10-27 16:00:51 -04:00
4d0480bfea Small update of Simplified Chinese translation. 2010-10-27 16:27:51 +00:00
580e3d2b74 Updated Slovenian translation 2010-10-26 19:39:03 +02:00
ec018a000e Updated Galician translations 2010-10-26 16:37:39 +02:00
e5dd86276d PopupSwitchMenuItem: don't misuse this.active
The constructor was setting this.active to reflect the switch state,
which is wrong; this.active indicates whether or not the item is
highlighted.

https://bugzilla.gnome.org/show_bug.cgi?id=621671
2010-10-26 10:16:03 -04:00
9ae1238038 Updated Spanish translation 2010-10-26 10:45:02 +02:00
f8dc32c366 Updated Hebrew translation. 2010-10-26 08:20:57 +02:00
2b3c31a503 boxpointer: keep a margin between the box and the screen edge
per the mockups

https://bugzilla.gnome.org/show_bug.cgi?id=631193
2010-10-25 17:04:30 -04:00
9d94da83d7 statusMenu: show a radio button-style dot next to the presence status
Adding a "PopupMenuRadioButtonItem" wouldn't work well, because we'll
need radio-button indicators on multiple different styles of menu
item. Also, the current design draws the indicator in the menu item's
padding, so it's sort of special anyway. So just add support at the
BaseMenuItem level.

Also, redo the menu/menuitem padding so that all the horizontal
padding is in the menu item, or else the indicator dot will show up in
the wrong spot.

https://bugzilla.gnome.org/show_bug.cgi?id=631193
2010-10-25 17:04:30 -04:00
5661946de1 popupMenu: make menu layout more table-like
When there are menu items with right-aligned items, all the
right-aligned items should appear to the right of all the left-aligned
items.

Clutter doesn't have an equivalent of GtkSizeGroup, so hack something up
using ShellGenericContainer and some javascript.

https://bugzilla.gnome.org/show_bug.cgi?id=631193
2010-10-25 17:01:10 -04:00
fa752110f3 statusMenu: fix menu items to match latest mockups
Rename a few, and add Suspend and Restart, although currently they do
the same thing as Shut Down (ie, they bring up a dialog that lets you
do any of those three). This will be fixed later when we have the
in-shell modal dialogs for these features.

https://bugzilla.gnome.org/show_bug.cgi?id=631193
2010-10-25 16:54:45 -04:00
86efdc906a PopupImageMenuItem: always show icon, on the right, not the left
In the new mockups, the user menu icons are on the right, not the
left.

Also, get rid of the idea of optional icons; the design doesn't have
icons on those items, and there probably aren't going to be symbolic
versions of some of those icons anyway. So if the caller specifies
PopupImageMenuItem, then always show an icon, and just use regular
PopupMenuItems for the items that don't have icons in the current
design.

https://bugzilla.gnome.org/show_bug.cgi?id=631193
2010-10-25 16:54:45 -04:00
c217377114 main: use Meta.Display.get_keybinding_action for PrintScreen as well
(and trigger it on keyrelease rather than keypress, like the other
bindings)

https://bugzilla.gnome.org/show_bug.cgi?id=632151
2010-10-25 16:40:44 -04:00
6064661de9 gnome-shell.modules: order GConf after gtk3
GConf has test programs that link against GTK+, and defaults to
using gtk3 if found, so build GConf after gtk3.
2010-10-25 15:23:02 -04:00
ef544f6e06 add /usr/local/share/applications to gs-applications.menu
https://bugzilla.gnome.org/show_bug.cgi?id=630866
2010-10-25 19:49:26 +04:00
c48c80e4e9 Allow for empty WM_CLASS and _NET_WM_NAME in tray icons
The system tray specification says the hint should be set, but some
icons leave it empty anyway. Don't throw exceptions in that case.

https://bugzilla.gnome.org/show_bug.cgi?id=633028
2010-10-25 16:01:32 +02:00
a915af4b30 Avoid warnings on leave-event for widgets tracking hover
ClutterCrossingEvent->related can be NULL if the pointer is not under
any actor. Unconditionally set hover to FALSE in that case.

https://bugzilla.gnome.org/show_bug.cgi?id=633028
2010-10-25 15:18:07 +02:00
bc22109130 Avoid warnings on null actors for tray icons
Plugging the GtkSocket icon can fail, in which case NaTrayManager emits
tray-icon-removed but the icon has never emitted plug-added, thus the
ShellTrayIcon has not been created. This results in various criticals
and exceptions in the tray-icon-removed handler.

https://bugzilla.gnome.org/show_bug.cgi?id=633028
2010-10-25 15:18:07 +02:00
17055023db Updated galician translations 2010-10-25 01:02:24 +02:00
95ac478f87 dnd: Handle destruction of drag actor during drag
The shell crashes if the drag actor is destroyed during the drag
operation. Cancel the drag gracefully in this case.
https://bugzilla.gnome.org/show_bug.cgi?id=620389
2010-10-24 05:47:54 +04:00
2fa6f7ba7e Adapt to removal of Mutter namespace
MutterWindow and MutterPlugin have been renamed to MetaWindowActor
and MetaPlugin, mutter_plugin_list_windows() to
meta_plugin_list_window_actors(). Adapt to those changes.

https://bugzilla.gnome.org/show_bug.cgi?id=632500
2010-10-23 14:02:45 -04:00
6b47b78d4d Fix audio volume icon
_volumeChanged should not update the icon if the sink is muted.
Fixes the case when shell is started with a muted sink (_mutedChanged
is called before _volumeChanged).

https://bugzilla.gnome.org/show_bug.cgi?id=632868
2010-10-22 15:52:59 +02:00
3dbee0b833 PopupSliderMenuItem: Implement mousewheel support
Allow changing the slider's value using the mousewheel.

https://bugzilla.gnome.org/show_bug.cgi?id=632743
2010-10-21 22:48:39 +02:00
8886b7433c StThemeNode: simplify use of get_color/get_double/get_length
Although within St itself there are situations where the semantics of
these functions (return TRUE or FALSE and return the actual value in
an out parameter) is useful, it's mostly just annoying at the
application level, where you generally know that the CSS property is
going to specified, and there is no especially sane fallback if it's
not.

So rename the current methods to lookup_color, lookup_double, and
lookup_length, and add new get_color, get_double, and get_length
methods that don't take an "inherit" parameter, and return their
values directly. (Well, except for get_color, due to the lack of (out
caller-allocates) in gjs.)

And update the code to use either the old or new methods as appropriate.

https://bugzilla.gnome.org/show_bug.cgi?id=632590
2010-10-21 15:02:33 -04:00
85d3336245 Use gjs-internals.pc
Gjs changed to separate the "basic" API from "embedder" API.  Unfortunately
due to our use of the importer API and a few other bits, we need to use
the "module" one.  In the future I plan to extend the core API to
support this use case.
2010-10-21 10:56:11 -04:00
33e955770c st_theme_node_get_color: fix inheritance
This wasn't actually recursing if you passed the "inherit" flag

https://bugzilla.gnome.org/show_bug.cgi?id=632590
2010-10-21 09:13:30 -04:00
be7b9729a2 Updated Hebrew translation. 2010-10-20 23:50:59 +02:00
10e59c0840 volumeIndicator: Add mousewheel support
Allow changing the volume by moving the mousewheel over the volume indicato
to restore the old gnome-volume-control-applet behaviour.

https://bugzilla.gnome.org/show_bug.cgi?id=632733
2010-10-20 22:05:14 +02:00
fe1a9c2b4b Fix showing input volume
Fix two typos in code that decided whether to show input volume and
mute switch.
2010-10-20 21:30:26 +02:00
ac470b44ef Fix control center panel for audio.
It is "sound", not "volume".
2010-10-20 21:24:15 +02:00
0547a582d1 Add volume indicator
Add volume control indicator which uses API from gnome-volume-control
to interact with PulseAudio and shows both input and output volumes.
Also adds a small wrapper around libcanberra in ShellGlobal, used by the
volume indicator to provide auditive feedback.

https://bugzilla.gnome.org/show_bug.cgi?id=629455
2010-10-20 16:59:12 +02:00
a1389a0730 Updated Dutch translation by Reinout van Schouwen 2010-10-19 23:19:24 +02:00
ee7e46fbf6 Solve spacing issue in system status area
Shell implemented indicators got padding from default button style,
and also spacing from their container, so too much space was left
between them. This only became apparent when more than one was
implemented, though.
2010-10-19 22:42:25 +02:00
13229a6d86 MessageTray: use boxpointer for summary notification
https://bugzilla.gnome.org/show_bug.cgi?id=624900
2010-10-19 23:23:10 +04:00
3efc7bf7f1 boxpointer: add setPosition method
split out this function from popupMenu
https://bugzilla.gnome.org/show_bug.cgi?id=624900
2010-10-19 23:23:05 +04:00
4d18d54d9d boxpointer: add animateDisappear/animateAppear methods
https://bugzilla.gnome.org/show_bug.cgi?id=624900
2010-10-19 23:23:00 +04:00
ccaa3f4ebf gnome-shell-build-setup.sh: add libpulse to package lists 2010-10-19 15:18:38 -04:00
8064c6c827 Add private gnome-volume-control library
The library is introspected, and should not require using
Pulseaudio directly.

With help from Giovanni Campagna <scampa.giovanni@gmail.com>
(introspection annotations, build fixes)

https://bugzilla.gnome.org/show_bug.cgi?id=629455
2010-10-19 15:24:04 +01:00
a5d4abda00 st-theme: ref items in custom stylesheets list
st-theme stores some loaded stylesheets in a custom
stylesheets list.  When removing items from this list
it unrefs them, but when adding items to the list it
neglects to ref them.  This means that under certain
circumstances the list will contain items that have
already been freed.

https://bugzilla.gnome.org/show_bug.cgi?id=632477
2010-10-18 15:52:38 -04:00
6df48b68fa extensionSystem: Don't load extensions multiple times
Right now if XDG_DATA_DIRS is set to have duplicate entries,
then the extension system will try to load all extensions
more than once.

This commit prevents an extension from getting repeatedly
loaded by checking if its uuid is already registered.

https://bugzilla.gnome.org/show_bug.cgi?id=632477
2010-10-18 12:28:36 -04:00
20b10b4d16 [l10n] Updated Italian traslation 2010-10-18 11:23:06 +02:00
6bdfe638c5 Updated Spanish translation 2010-10-18 11:17:13 +02:00
67543775e9 [l10n] Added missing accessibility.js to POTFILES.in 2010-10-18 10:57:55 +02:00
25c6acf44b [l10n] Updated Estonian translation 2010-10-17 17:31:04 +03:00
83aa23b274 [l10n] Updated Estonian translation 2010-10-17 17:03:20 +03:00
4333b829eb Updated Norwegian bokmål translation 2010-10-16 21:24:19 +02:00
42c736614c st-drawing-area: Avoid unnecessary repaints
StDrawingArea uses the member variable needs_repaint to keep track
of whether it needs repainting. The variable is set to TRUE correctly,
e.g. on allocation or style changes - alas, it is never set to FALSE,
resulting in the area being repainted continuously.

https://bugzilla.gnome.org/show_bug.cgi?id=632197
2010-10-15 12:31:34 +02:00
700911ca5f gdm: mute debug messages
Since we're just using a cut-and-paste of gdm code there's a
slight impedance mismatch between how that code and the rest of
the shell manage debug messages.  In GDM, they're out of sight by
default, but in gnome-shell they're visible and quite verbose.
This muddies up and masks the useful messages that other parts
of the code generate.

This commit just mutes the messages unconditionally by default,
since they aren't that useful anyway.
2010-10-14 13:35:04 -04:00
627f1cb59a iconGrid: Add alignment parameter
Currently the grid's content is centered, which is not appropriate
for all use cases. Add an optional parameter to control the alignment.

https://bugzilla.gnome.org/show_bug.cgi?id=632147
2010-10-14 17:41:54 +02:00
ba0a038247 statusMenu: port to new gdmuser api
https://bugzilla.gnome.org/show_bug.cgi?id=631888
2010-10-13 19:05:54 -04:00
7ce5ea4142 gdm: resync cut-and-paste code from gdm tree.
The GDM code upstream talks to the account service now,
has better introspection annotations, and is more
asynchronous.

This commit updates the shell's copy to the latest
upstream.

Note, the API changed somewhat and so the callers will
need to be fixed up subsequently.

https://bugzilla.gnome.org/show_bug.cgi?id=631888
2010-10-13 19:05:54 -04:00
9bfda11f0d Updated Spanish translation 2010-10-13 14:30:04 +02:00
1facd85981 Updated Spanish translation 2010-10-13 01:25:39 +02:00
630227f6b6 configure: Require GTK+ 2.91.0
We don't build with earlier any longer.
2010-10-12 18:24:01 -04:00
bbdf88cf94 NotificationDaemon: don't destroy trayicons when dismissing their notifications
Tray icons control their own lifespan; they're not supposed to
disappear when you dismiss their notifications like non-trayicon
notification sources do.

https://bugzilla.gnome.org/show_bug.cgi?id=631042
2010-10-12 17:21:58 -04:00
de16108dff MessageTray: untangle click notifications
Previously, when you clicked on a notification, it would call
this.source.clicked(), which would emit a 'clicked' signal on the
source, and then various other stuff would happen from there. This
used to make a little bit of sense, when clicking on a notification
was supposed to do the same thing as clicking on its source, but makes
less sense now, when clicking on the source itself *doesn't* call
source.clicked()...

Change it so that when you click on a notification, the notification
emits 'clicked' itself, and the source notices that and calls its
notificationClicked() method, and the various source subclasses do
what they need to do with that, and Source no longer has a clicked
method/signal.

https://bugzilla.gnome.org/show_bug.cgi?id=631042
2010-10-12 17:21:58 -04:00
80f23841e4 Updated Spanish translation 2010-10-12 21:56:28 +02:00
df65d3d58c Updated Slovenian translation 2010-10-12 20:08:25 +02:00
66f6fff54e Add "persistence" server capability
This will allow clients to determine that the server has notification persistence.

https://bugzilla.gnome.org/show_bug.cgi?id=631722
2010-10-11 14:48:36 -04:00
ad557a3515 ShellRecorder: Include math.h for M_PI
https://bugzilla.gnome.org/show_bug.cgi?id=631510
2010-10-11 14:29:46 -04:00
0215a449ad MessageTray: fix wobbling during summaryitem animation
Redo the way that the summary item expand/collapse animation works so
that the items all resize in unison so that when moving from one to
another, the summary area as a whole stays a constant width rather
than wobbling slightly.

(Also rename all references to the "minimum" summary item title width,
since it's not a minimum, it's just the width.)

https://bugzilla.gnome.org/show_bug.cgi?id=630546
2010-10-11 11:51:56 -04:00
bd250e188b [ShellAppSystem] Don't use g_desktop_app_info_new
It doesn't fully support convert id to path. For example: multiply
subdirs, "LegacyDir prefix" in .menu files...
https://bugzilla.gnome.org/show_bug.cgi?id=614879
2010-10-11 18:37:21 +04:00
826e9c5dbf [i18n] Updated German translation 2010-10-10 20:49:47 +02:00
30f628d1eb Updated Spanish translation 2010-10-10 05:13:41 +02:00
bf978c61af Updated Spanish translation 2010-10-08 16:51:02 +02:00
5ebbd72d1c Updated Spanish translation 2010-10-07 18:02:43 +02:00
47c80d4d55 Updated Galician translations 2010-10-07 13:20:43 +02:00
4e14f18a58 Add the banner to the body if the notification is expandable because it has an action area
This fixes the bug when the body would be missing from the expanded notification
that has a short body that used to fit in the one-line banner and is expandable
because it has action buttons.

We always want to add the banner to the body of an expandable notification,
unless the notification has custom content. We used to only do that when
creating this._scrollArea for the content. We should also do that when creating
this._actionArea .

https://bugzilla.gnome.org/show_bug.cgi?id=631566
2010-10-06 17:43:59 -04:00
4456954d30 [panel] Only show starting applications for current workspace
Add the workspace we started on to ShellApp.  Use it inside panel.js
to filter the list.
https://bugzilla.gnome.org/show_bug.cgi?id=623688
2010-10-07 01:31:22 +04:00
6925a82204 [ShellApp] refactor handling startup sequence
1. move logic to shell-app.c
2. change state to RUNNING only after startup sequence complete
3. correct handle state for applications with several .desktop files
https://bugzilla.gnome.org/show_bug.cgi?id=623688
2010-10-07 01:30:30 +04:00
64efa61dc2 Updated Norwegian bokmål translation 2010-10-06 16:07:49 +02:00
3ce25296e1 Updated Hebrew translation. Changed to 3 Plural Forms instead of 2. 2010-10-06 02:29:46 +02:00
b017a2187b Don't show the summary if a new item got removed before we had a chance to show it
It's possible that an item that was added to the summary got removed before
we had a chance to show the summary because the user has interacted with
the notification (e.g. clicked on an application ready notification). We should
not be showing the summary with an unchanged set of items in this case.

However, it is possible that multiple items were added to the summary before
we had a chance to show the summary, and only some of them got removed. In view
of this scenario, we can't just use a boolean flag to indicate if the summary
needs to be shown, but have to maintain an array of new summary items instead.

https://bugzilla.gnome.org/show_bug.cgi?id=630939
2010-10-05 16:14:05 -04:00
dd155e2f87 src: remove no-longer-used file
fix-meta-rectangle.py is not needed with current gobject-introspection
2010-10-05 12:24:56 -04:00
38a69f56b4 src: consistentify Makefile indentation/alignment 2010-10-05 10:15:22 -04:00
3d2d396c09 st-theme-node: Support non-uniform border-radii
Non-uniform border-radii are already supported when using a gradient
background, this patch adds support for solid colors as well.

The currently applied technique of using corner textures and filling
the remaining area with rectangles is extended, so that each corner is
padded with rectangles to the size of the largest corner.

Add border-radius.js to test cases, to test non-uniform border-radii
with both solid color and gradient backgrounds.

https://bugzilla.gnome.org/show_bug.cgi?id=631091
2010-10-05 00:18:49 +02:00
b33ebb450a tests: Fix environment
Environment.init() uses Shell.Global, which is not accessible outside
the mutter process; allowing to run the function when window.global is
undefined fixes the environment for tests.

https://bugzilla.gnome.org/show_bug.cgi?id=631091
2010-10-05 00:05:57 +02:00
560da76387 gnome-shell.modules: Disable dconf-editor
dconf-editor requires GTK+-2.22, which is still not available in most
major distributions. Building against GTK+-3 requires a more recent
version of vala, so just disable dconf-editor for now.
2010-10-04 23:21:21 +02:00
5b3c086ec3 Bump version to 2.91.0 2010-10-04 15:51:18 -04:00
8273de6bfa Add org.gnome.accessibility.magnifier.gschema.xml.in to POTFILES.in 2010-10-04 15:43:28 -04:00
e15e202e11 Support and require Mutter 2.91.0 2010-10-04 15:07:53 -04:00
c4edba042a [i18n] Updated German translation 2010-10-04 20:32:25 +02:00
8e25a1eb3b Updated Slovenian translation 2010-10-04 15:01:17 +02:00
1babf10e58 updating translation for Punjabi 2010-10-04 07:22:02 +05:30
8f9ef3f8f8 Add icon-naming-utils to build packages
icon-naming-utils is needed to build gnome-icon-theme(-symbolic).
Fedora already has it (commit 4b781a), add it to other
distributions.
2010-10-03 15:02:59 +02:00
446e97bf12 CSS: Remove overwritten style left over from a previous design 2010-10-03 14:13:30 +02:00
4a316fbc66 Use System Settings instead of Preferences in the user menu
This matches the terminology used in the result of the action.
2010-10-02 16:42:06 -04:00
8a7c1eebc0 Updated French translation 2010-10-01 23:19:46 +02:00
f336564e19 PopupMenu: add horizontal sliders
Introduce Cairo-drawn sliders to be used in PopupMenus (for example for
volume). They are stylable to some extent (colors, border width, slider
height) and have the standard behaviour of a slider, except they are
completely modal (once you start dragging, all events are intercepted by
the slider, which thus is kept active and highlighted at all times).
They show numeric values between 0 and 1 (scaling must be performed outside)
and emit value-changed on button release, but no activate, keeping the
menu open.

https://bugzilla.gnome.org/show_bug.cgi?id=625029
2010-10-01 15:18:36 -04:00
aebdf79430 Connect PopupMenuManager to destroy signal
PopupMenuManager now connects to the destroy signal of PopupMenu, so
that destroying a PopupMenu is now enough for removing it from the
relevant manager. Useful if menu come and go on-the-fly (like in
app views or sidebars).

https://bugzilla.gnome.org/show_bug.cgi?id=630914
2010-10-01 12:37:06 -04:00
25fe730d16 Add Clutter dependency on gdk-pixbuf in moduleset
Clutter also depends on gdk-pixbuf so build gdk-pixbuf
before Clutter.

https://bugzilla.gnome.org/show_bug.cgi?id=631086
2010-10-01 16:12:52 +02:00
61b029207d [windowDimmer] handle changing of window_type
dim/undim parent window when window_type changed to/from MODAL_DIALOG
https://bugzilla.gnome.org/show_bug.cgi?id=630363
2010-10-01 01:09:15 +04:00
4c068c135b [misc] add fileUtils.listDirAsync
Request information for a files from the directory asynchronously.
https://bugzilla.gnome.org/show_bug.cgi?id=623708
2010-10-01 01:08:22 +04:00
734d93087a Remove use of octal constants
New spidermonkey warns on octal constants, so we can't
even use them for file permissions. Switch to hex plus a comment.
2010-09-30 12:43:12 -04:00
e22fbda689 telepathy: Use string.replace in a way compatible with newer Spidermonkey
The semantics of the first argument changed from literal -> regexp
if the 'g' option was specified.  To remove ambiguity, stop using
the spidermonkey extension and create a standard RegExp object.

https://bugzilla.gnome.org/show_bug.cgi?id=630539
2010-09-30 12:43:12 -04:00
11db188fe9 Support xulrunner 1.9.3+
Add small wrappers around JS_AddValueRoot.
Add JS_BeginRequest in our custom code.

https://bugzilla.gnome.org/show_bug.cgi?id=630539
2010-09-30 12:43:12 -04:00
61c906807b Don't use mutter_window_get_window_type / MetaCompWindowType
They have been removed so we have to use meta_window_get_window_type()
and MetaWindowType instead.

https://bugzilla.gnome.org/show_bug.cgi?id=630363
2010-09-30 18:36:28 +02:00
c6eb2761c7 gnome-shell.in: Never add empty elements to LD_LIBRARY_PATH
An empty element means the current directory, and is insecure.

https://bugzilla.gnome.org/show_bug.cgi?id=631004
2010-09-30 15:25:21 +02:00
109de6a356 messageTray: Do not show the summary when removing a source
Having the summary pop up automatically after a source icon has been
removed is pretty useless ("Hey, there was something interesting going
on, but you missed it and it's gone now, kthxbye").

https://bugzilla.gnome.org/show_bug.cgi?id=630939
2010-09-29 23:11:24 +02:00
fe5a289460 Fix compilation against latest GTK+-3 changes
Adjust to GDK/GTK+ API changes:
 - removal of GdkColormap
 - expose-event -> draw transition

https://bugzilla.gnome.org/show_bug.cgi?id=630641
2010-09-28 22:56:45 +02:00
1b2a1a3a3d [i18n] Updated German translation 2010-09-28 20:57:42 +02:00
e967807acf shell-gtk-embed: Use GtkWidget instead of GtkObject
GtkObject has been deprecated and removed from GTK+.
2010-09-27 17:05:40 +02:00
4aee584850 Updated Hebrew translation. 2010-09-27 00:01:54 +02:00
ab8984e1ce Updated Spanish translation 2010-09-25 10:43:42 +02:00
b96cf2042a [StatusIconDispatcher] Add keyboard and display icons to tray icon list 2010-09-24 14:53:50 -05:00
1413fa6e03 Revert "StThemeNodeTransition: work around Cogl bug"
This reverts commit 8f0f159960.

Cogl has been fixed, so it is no longer needed.

https://bugzilla.gnome.org/show_bug.cgi?id=629616
2010-09-24 17:31:41 +02:00
a6e4bab990 Add symbolic icons to TextureCache's load_icon_name()
Icons can be loaded as St.Icon.SYMBOLIC, FULLCOLOR, APPLICATION or
DOCUMENT. The first will look for a symbolic equivalent, the second
looks for a full-color version (and does fallback, eg, from
"drive-harddisk-usb" to "drive-harddisk"). APPLICATION and DOCUMENT do
full-color icons without fallback (as specified by the icon spec).

And update various callers to use the right flags.

Based on a patch from Matt Novenstern.

https://bugzilla.gnome.org/show_bug.cgi?id=621311
2010-09-24 10:57:27 -04:00
4b781ae7e6 gnome-shell.modules: add gnome-icon-theme, gnome-icon-theme-symbolic
https://bugzilla.gnome.org/show_bug.cgi?id=621311
2010-09-24 09:48:15 -04:00
702b8e78e4 accessibility-status: Remove left-over debug message 2010-09-24 10:49:12 +02:00
4571a0ea0d Add basic error handling to search system.
If a search provider misbehaves, the search system fails to return any
results from any providers. Work around this.

https://bugzilla.gnome.org/show_bug.cgi?id=627950
2010-09-24 10:01:33 +02:00
437538644e introspection: Fix annotation
The scanner now warns about unknown annotations, which catched this
invalid 'type' annotation.
2010-09-24 02:08:32 +02:00
dc5ceffe40 Remove Alt+W/A/S/D hack
This was just for use within Xephyr, and gnome-shell doesn't work in
Xephyr any more anyway.

https://bugzilla.gnome.org/show_bug.cgi?id=624858
2010-09-23 15:17:06 -04:00
1c7592b4b1 Updated Polish translation 2010-09-23 20:44:12 +02:00
fc8c93b2ed build: Add missing file statusIconDispatcher.js 2010-09-23 19:17:43 +02:00
9708b68540 [baseIcon] Tie the icon's width to its height
Both current design and new mockups use square icons. Currently this
is implemented by setting a fixed width and height in the CSS, which
does not work for the growing/shrinking items in the new sidebar.
By moving the assumption of square items into the code, the size will
adjust according to icon size, spacing, padding and font size if not
explicitly overwritten in the CSS.

https://bugzilla.gnome.org/show_bug.cgi?id=625887
2010-09-23 19:08:43 +02:00
01f4dc68b8 [baseIcon] Allow setting the icon size from code
The current design features a sidebar where the icon size shrinks
automatically to fit more items. Add a setSizeManually parameter
to BaseIcon, which disables sizes read from CSS and allows to use
BaseIcon.setIconSize() to support this.

https://bugzilla.gnome.org/show_bug.cgi?id=625887
2010-09-23 19:08:43 +02:00
8c1bf346a9 [appDisplay] Factor out WellGrid/AppIcon
All mockups now use a representation for documents/places similar to
the one used for applications. Rename AppIcon to BaseIcon and move its
code together with WellGrid out of appDisplay to stress their general
usefulness.

https://bugzilla.gnome.org/show_bug.cgi?id=625887
2010-09-23 19:08:43 +02:00
8f0f159960 StThemeNodeTransition: work around Cogl bug
Switch to using the layer combine constant rather than the material
primary color for representing the opacity of the material; this
avoids triggering a Cogl bug where changing the primary color corrupts
the layer state.

https://bugzilla.gnome.org/show_bug.cgi?id=629616
2010-09-23 12:44:07 -04:00
cbf2cbac61 [StatusIconDispatcher] Move non-system-tray icons to message tray
New StatusIconDispatcher dispatches icons to the system or message tray.

Based on a patch from Matt Novenstern
https://bugzilla.gnome.org/show_bug.cgi?id=608869
2010-09-23 09:49:47 -04:00
82e6f9c8d6 [MessageTray] show newly-added sources even if they don't post notifications
eg, when a trayicon is added, show the summary briefly

https://bugzilla.gnome.org/show_bug.cgi?id=608869
2010-09-23 09:49:47 -04:00
ae9360659d [ShellTrayIcon] add ShellTrayIcon, make ShellTrayManager use it
The actor emitted by ShellTrayManager is now ShellTrayIcon, a subclass
of ShellGtkEmbed which has several properties on it which are (or will
soon be) useful to the shell.

Part of the rearranging to use ShellTrayIcon means that we now show
the ShellEmbeddedWindow before creating its ShellGtkEmbed, which
requires a few modifications to ShellEmbeddedWindow (notably, telling
it at construct time what stage it will be drawn on, since it needs to
know that before it has a ShellGtkEmbed now).

https://bugzilla.gnome.org/show_bug.cgi?id=608869
2010-09-23 09:49:47 -04:00
63f2066135 [ShellGtkEmbed] do a better job of tracking the actor's position
Previously the code to keep the X window aligned with its actor made
various assumptions that were true in the panel status tray area but
that are not true in the message tray. Fix it up by repositioning the
X window at clutter_actor_paint() time, which will definitely be
called every time the actor moves, whether it's because of its own or
its parent/ancestor's changes.

https://bugzilla.gnome.org/show_bug.cgi?id=608869
2010-09-23 09:49:47 -04:00
745e8f608f [ShellGtkEmbed] base this on ClutterX11TexturePixmap, not ClutterGLX
As of 1.4, ClutterGLXTexturePixmap is identical to
ClutterX11TexturePixmap (with the differences having been moved into
the cogl layer). So make ShellGtkEmbed use the (introspected) X11
version, which then allows us to make the instance and class structs
public as well.

https://bugzilla.gnome.org/show_bug.cgi?id=608869
2010-09-23 09:49:47 -04:00
c9a7c9d491 [NotificationDaemon] always resolve a notification's ShellApp first
Resolve a notification's ShellApp before posting the notification, so
that notification sources now always have an app associated (assuming
they came from an app as opposed to the command line). Index sources
by PID rather than by appName (so that, eg, multiple calls to
notify-send now show up as separate sources).

For Sources that have an associated app, use the app's icon for the
source, rather than tracking the notification icon.

This change also lets us get rid of appNameMap, since we can just use
shell_app_get_name() now.

https://bugzilla.gnome.org/show_bug.cgi?id=629090
2010-09-23 09:49:47 -04:00
ad8a97dfe0 Updated Slovenian translation 2010-09-23 15:10:25 +02:00
8591a2fc09 gnome-shell.in: Make xephr available within the scope of run_shell
https://bugzilla.gnome.org/show_bug.cgi?id=629304
2010-09-22 20:42:01 +02:00
d188a7b32a PopupSwitchMenuItem: use SVG switches
https://bugzilla.gnome.org/show_bug.cgi?id=629954
2010-09-22 11:12:31 -04:00
52d9cebcef Added Norwegian Nynorsk translation. 2010-09-22 15:10:30 +02:00
f18e57dc38 data/Makefile.am: fix indentation 2010-09-21 09:02:08 -04:00
828ad348ce [MessageTray] fix allocation in the title-too-long case
Previously we were hiding the banner label if the title was too long,
but this causes queue_relayout() warnings. Instead, just set its
opacity to 0.

https://bugzilla.gnome.org/show_bug.cgi?id=629308
2010-09-21 08:12:34 -04:00
516fe49bb0 Style fixes for the popup menu
https://bugzilla.gnome.org/show_bug.cgi?id=629954
2010-09-20 17:20:58 -04:00
555409aba2 Add spacing between label and switch for menu items
Currently there is no spacing between items packed into the switch
menu item layout box.  Add some.

https://bugzilla.gnome.org/show_bug.cgi?id=629954
2010-09-20 17:20:00 -04:00
7298831f54 Fix the universal access menu text to match mockups
This makes the menu label text more closely match the mockups
http://live.gnome.org/GnomeShell/Design/Guidelines/SystemStatus/UniversalAccess

https://bugzilla.gnome.org/show_bug.cgi?id=629954
2010-09-20 13:00:04 -04:00
fd5f30ab0d Use gdk_error_trap_pop_ignore() where appropriate
gdk_error_trap_pop() has been marked with G_GNUC_WARN_UNUSED_RESULT,
so use gdk_error_trap_pop_ignore() whenever the return value is ignored.
2010-09-20 14:54:26 +02:00
a2553f48e2 Enable side-by-side tiling
Override the metacity schema for side-by-side tiling to change the
default behavior when running mutter in GNOME Shell.

https://bugzilla.gnome.org/show_bug.cgi?id=606260
2010-09-17 16:02:37 +02:00
6f75c8c172 Add ORBit2-devel to required packages
GConf requires it to build, it's been forgotten when we introduced
it into the moduleset. Debian uses 'liborbit2-dev', Fedora
and Mandriva 'ORBit2-devel', and SuSE 'orbit2-devel'.

https://bugzilla.gnome.org/show_bug.cgi?id=629882
2010-09-17 15:52:54 +02:00
0cb8953232 accessibility.js: Fix use of non-existent gconf_client_get_value()
gconf_client_get_value() doesn't exist; apparently
gconf_client_get_float() was meant instead.
2010-09-16 15:35:13 -04:00
6ea18136ac Add Universal Access status indicator
Introduce the Universal Access status indicator as designed, modeled
after the similar UI provided by g-s-d. This indicator allows the user
to change rapidly the keyboard and mouse behaviour (sticky keys, slow
keys, bounce keys, mouse keys), as well as the enabled ATs (magnifier,
screen reader, screen keyboard) and the HighContrast Gtk theme.

https://bugzilla.gnome.org/show_bug.cgi?id=624916
2010-09-16 15:03:26 -04:00
e43f10c8ed Bump the required clutter version to 1.3.14 2010-09-16 19:28:15 +02:00
bbbce5f12f build: cairo-1.10.0 is stable, not a devel snapshot 2010-09-16 18:46:57 +02:00
6cdc2c26df build: bump cairo and pixman to latest stable releases 2010-09-16 18:36:47 +02:00
4e1de26a02 PopupMenu: Add support for submenus
Adds class PopupSubMenuMenuItem, which is an item holding a submenu,
that is opened when the corresponding item is active, and is keyboard
and mouse navigable like its Gtk counterpart.

https://bugzilla.gnome.org/show_bug.cgi?id=623498
2010-09-15 14:02:22 -04:00
b5ee89459a Support setting the image after construction
This patch allows the icon in PopupImageMenuItems to be changed at
any time, while preserving the item and all other properties (style,
signals) attached and without rebuilding the whole menu. This is useful
for images reflecting a dynamic status (e.g. cellular strength
indicator or battery level)

https://bugzilla.gnome.org/show_bug.cgi?id=623652
2010-09-15 13:34:28 -04:00
2adfca0582 Use non recursive automake for JS
Use only one Makefile for all JS module, to make faster builds and
to increase maintenability.

https://bugzilla.gnome.org/show_bug.cgi?id=629775
2010-09-15 18:38:46 +02:00
5ccc763385 Cancel Destroy effect of modal windows when the parent has gone away
Modal dialogs slide back into the titlebar of the parent window when destroyed.
This looks weird if the parent window itself has been destroyed, so cancel the
effect in this case.
https://bugzilla.gnome.org/show_bug.cgi?id=629560
2010-09-15 15:55:33 +04:00
652ce3ce8c introspection: Fix annotations
The scanner got more strict, now some annotations need fixing.
2010-09-15 03:02:26 +02:00
1bd0ad11d8 Use WellGrid for application results
Extend WellGrid with an optional rowLimit parameter and an accessor
function for the grid's items, then use it to replace the custom
container used to display the application search results.
Also adjust the spacing of the search results slightly to make it
consistent with the app well.

https://bugzilla.gnome.org/show_bug.cgi?id=622446
2010-09-15 00:18:22 +02:00
27e71d9a6c Fix shell_global_format_time_relative_pretty() parameter name
An out parameter annotation was missed due to a difference
in the parameter name between the declaration and the implementation.

https://bugzilla.gnome.org/show_bug.cgi?id=629595
2010-09-14 16:16:02 -04:00
7f2fce2684 .gitignore: add magnifier schema stuff 2010-09-14 11:32:34 -04:00
25f907ffb1 St: Use a local material template
To be consistent with what we do with the shadow
material, use the same pattern in setup_framebuffer().
2010-09-14 00:00:34 +02:00
1034798969 st-shadows: Use a template material when creating shadows
To avoid recompiling shadows each time a new shadow is created,
use a copy of a static template material.

See http://bugzilla.clutter-project.org/show_bug.cgi?id=2280#c5.

https://bugzilla.gnome.org/show_bug.cgi?id=629383
2010-09-13 18:11:03 +02:00
862f1ea18c st: Use template material for transitions
To avoid compiling a new shader each time a transition is started,
use a copy of a static template material.

See http://bugzilla.clutter-project.org/show_bug.cgi?id=2280#c5.

https://bugzilla.gnome.org/show_bug.cgi?id=629384
2010-09-13 17:50:05 +02:00
7c65643eed Added Estonian ('et') to LINGUAS 2010-09-12 17:47:20 +03:00
e9da061558 [l10n] Updated Estonian translation 2010-09-12 17:46:45 +03:00
45dcfa9a70 [Overview] Don't dim window previews
Undim windows when going to the overview and
restore their state when leaving.
https://bugzilla.gnome.org/show_bug.cgi?id=629371
2010-09-12 13:39:52 +04:00
907dd4381b [appSwitcher] Check the modifier state rather than assuming Meta
It isn't guaranteed that Alt+Shift equals to Meta, so we have to check
the modifier instead.

https://bugzilla.gnome.org/show_bug.cgi?id=629368
2010-09-11 22:41:59 +02:00
687bfbb081 [windowDimmer] Bump GLSL version to 1.10
The shader currently forces GLSL 1.0 to avoid being incompatible with older hardware but is still using features not available in 1.0.

Strict compilers fail to compile the shader:

error C7506: OpenGL/ES does not define the global variable gl_TexCoord

As every hardware/driver that supports 1.0 also supports 1.10 bumping the version to fix it is safe.

https://bugzilla.gnome.org/show_bug.cgi?id=629343
2010-09-11 21:41:47 +02:00
246d9f1357 [appSwitcher] Close the switcher on Meta_L/R release
The keyReleaseEvent handler does not take into account that a
user might release Alt while still holding shift
(the keycode becomes Meta_L/R in that case).

The result is that the switcher stays open which is unexpected.

https://bugzilla.gnome.org/show_bug.cgi?id=629368
2010-09-11 19:01:42 +02:00
e37f17be2b [build]Add shader_DATA to EXTRA_DIST 2010-09-11 15:56:53 +02:00
3c2ec3c770 Fix wrong filename in data/Makefile.am 2010-09-11 15:44:33 +02:00
a969e82954 Attach dialogs to windows with visual effects
Override the new mutter preference /apps/mutter/general/attach_modal_dialogs
to attach modal dialogs to their parent window. Animate the modal dialogs
expanding from the top of the parent window. Slowly dim the parent window
after the dialog comes up.
https://bugzilla.gnome.org/show_bug.cgi?id=612726
2010-09-11 05:39:57 +04:00
509ad5ed9a Updated Portuguese translation 2010-09-10 21:45:58 +01:00
afd3b76970 Fix various details of how notifications are shown
This patch ensures the following notifications behavior:
- Urgent notifications that have long title or banner text are auto-expanded
  correctly.
- Single-line notifications that have _expandNotification() called (e.g.
  because the user mouses over to them), are treated as expanded, which means
  they get fully expanded if they are updated with more content and the user
  can escape them.
- The position of expanded notifications is updated when they are updated.
- Notification banner is shown again on the first line if it can fully fit
  there after a notification is updated, even if it was previously hidden
  because the notification was expanded and the old banner did not fully fit.
- New notifications are immediately hidden if the user mouses away from them.
- If a new notification is updated while it is shown, we extend the time it
  will be shown.
- If a new notification is updated while it is hiding, we stop hiding it and
  show it again.
- If a summary notification is updated while it is hiding, we let it finish
  hiding and show a new notification with the updated information.

Implementation details:
- Single-line notifications now have 4px bottom padding instead of 8px, which
  means that their height matches the tray height, they are fully shown in the
  banner mode, and don't pop out by 4px when the notification is expanded.
- Notification keeps a flag that indicates whether it is expanded, updates
  its expanded look when it is updated, and emits an 'expanded' signal
  indicating that its layout has possibly changed. The message tray connects
  to this 'expanded' signal when it is showing a notification in the expanded
  state and updates the position of the notification accordingly when this
  signal is received so that the notification is fully shown. This is better
  than connecting to 'notify::height' signal on the notification bin, since
  it results in fewer callbacks.

https://bugzilla.gnome.org/show_bug.cgi?id=617209
2010-09-10 15:47:12 -04:00
399ebcc049 Some Magnifier DBus methods incorrectly interpret rectangles.
Modified methods to use [left, top, right, bottom] instead of
[left, top, width, height].

https://bugzilla.gnome.org/show_bug.cgi?id=626123
2010-09-10 12:03:40 -04:00
e88f08072c Bug 622414 - Port magnifier to GSettings
The Shell is the only user of the magnifier, so there's no
reason to keep using GConf for its settings. Since it's a
session-wide tool, use a distinct schema,
org.gnome.accessibility.magnifier, stored in
/desktop/gnome/accessibility/magnifier just like before.
Put these settings in a separate schema file for clarity.

Old enums in GConf were stored as integers, we now use the
facilities provided by GSettings to save them as strings,
and convert them to integers automatically thanks to the
mapping stored in the schemas. Remove hard-coded default values,
which we can get from the schemas.

https://bugzilla.gnome.org/show_bug.cgi?id=622414
2010-09-10 16:38:09 +02:00
38c3422331 [DND] change cursor when dragging
Return a DND.DragMotionResult constant from delegate _handleDragMotion
methods as well as the existing return value from the drag monitor method dragMotion.
https://bugzilla.gnome.org/show_bug.cgi?id=607821
2010-09-10 06:00:28 +04:00
0e2ed0fb0b add shell_global_[un]set_cursor
This functions set/unset the cursor on the stage window.
https://bugzilla.gnome.org/show_bug.cgi?id=607821
2010-09-10 05:58:19 +04:00
4f61f9a43d remove scrollbar-[width/height]
1. They are useless
2. We can get its value from get_preferred_[width/height] in StScrollBar
https://bugzilla.gnome.org/show_bug.cgi?id=624893
2010-09-10 05:57:36 +04:00
d6995194dd add get_preferred_[width/height] to StScrollBar
https://bugzilla.gnome.org/show_bug.cgi?id=624893
2010-09-10 05:57:15 +04:00
0a9ebf62b3 property for StScrollBar.trough should be set directly
We were previously putting the decorations for the trough on the StScrollBar itself,
which won't work if the scroll bar has padding.
https://bugzilla.gnome.org/show_bug.cgi?id=624893
2010-09-10 05:56:37 +04:00
ab25b8ab69 change parent class of StScrollBar from StBin to StWidget
1. It doesn't have child
2. It work like StWidget without child
https://bugzilla.gnome.org/show_bug.cgi?id=624893
2010-09-10 05:56:07 +04:00
d2290cc3e2 build: clutter deps on atk 2010-09-09 18:31:40 -04:00
e5e8590024 Updated Polish translation 2010-09-09 19:52:30 +02:00
178c8c50a0 Fix build with recent gtk3
use new keysyms names
https://bugzilla.gnome.org/show_bug.cgi?id=629128
2010-09-09 18:34:09 +04:00
b7212a4e8f Updated French translation
Contributed by Pablo Martin-Gomez, Claude Paroz and Bruno Brouard
2010-09-08 16:16:59 +02:00
177a136adc introspection: Fix use of pango_font_description_from_string() 2010-09-08 15:37:33 +02:00
dddd97f6df introspection: Build with --warn-all --warn-error
* Use --warn-all, --warn-error
* Fix various broken gtk-doc
* Drop unused shell_get_event_related
* For header defines, we currently require them to end in _H to be skipped
* Drop the no-longer-necessary fix-meta-rectangle.py hack
* Move to the convention of using -private.h for headers that are,
  well, private.
* Add shell-wm-private.h
2010-09-07 13:07:52 -04:00
86feb674ee Updated Swedish translation 2010-09-06 22:56:12 +02:00
0f8da7d24f [build] Remove libgee from moduleset
It is no longer a dependency of dconf.
2010-09-06 16:51:39 +02:00
8efaa798a9 [l10n] Updated German translation 2010-09-04 16:15:48 +02:00
a243ba6693 [StLabel] Implement text-shadow property
Use the existing shadow code to add a drop shadow to the underlying
ClutterText actor if the text-shadow property is specified.

https://bugzilla.gnome.org/show_bug.cgi?id=624384
2010-09-02 21:49:59 +02:00
ba1da9deb9 [StThemeNode] Make shadow helper functions semi-public
Move shadow helper functions from st-theme-node-drawing to st-private
to make them available to widgets which want to add shadows to internal
actors.
Also add a new helper function for creating the shadow material from a
ClutterActor.

https://bugzilla.gnome.org/show_bug.cgi?id=624384
2010-09-02 21:49:59 +02:00
29781b2e5c [StThemeNode] Add text-shadow property
Reorganize the existing code which parses the -st-shadow property
to allow parsing different shadow properties and add support for
the text-shadow property.

https://bugzilla.gnome.org/show_bug.cgi?id=624384
2010-09-02 21:49:59 +02:00
e942444630 [StShadow] Add reference counting
If a shadow property is inherited from a parent, multiple StThemeNodes
share a common StShadow. It would be possible to use st_shadow_copy()
for this purpose, but proper reference counting is nicer.

https://bugzilla.gnome.org/show_bug.cgi?id=624384
2010-09-02 21:49:59 +02:00
c3b88d4113 [l10n] Updated Italian translation 2010-09-02 21:30:52 +02:00
6d2d4fcc77 Don't expand notifications that pop up over the pointer
Expanding notifications automatically just because they popped up where
the pointer is positioned distracts the user. It can also lead to a behavior
that is surprising to the user by, for example, making the user's input
switch to the notification's text entry box.

It is possible to expand a notification that popped up over the pointer
by mousing away from it and then mousing back in immediately.

https://bugzilla.gnome.org/show_bug.cgi?id=617209
2010-09-02 14:48:36 -04:00
9f9067e29b [StThemeNode] Add basic background-position support
Add basic support for background-position, which only supports absolute
values.

Also don't require an unit to be specified for 0 (because the unit does not
really matter here 0 is 0 regardless of the unit).

https://bugzilla.gnome.org/show_bug.cgi?id=624375
2010-09-01 18:13:43 +02:00
c779dcb608 l10n: Updated Greek translation for gnome-shell 2010-08-31 23:35:35 +03:00
1c4d53eec3 l10n: Updated Greek translation for gnome-shell 2010-08-31 22:06:00 +03:00
a25f7df626 Fully show long titles when a notification is expanded
We used to keep long titles ellipsized when a notification was expanded,
which was a bug. We now show them fully by line wrapping them.

Based on the original patch from Steven Van Bael.

https://bugzilla.gnome.org/show_bug.cgi?id=623970
2010-08-31 13:47:17 -04:00
f8dc3b88f8 Use 'customContent' flag instead of 'bannerBody'
We used 'bannerBody' flag to differentiate the case when we move the banner to
the body when the notification is expanded from the one when we don't do that
and only use the custom content set for the notification, as is the case for
Telepathy notifications. We also always cleared the content of the notification
on update when bannerBody was set to true.

Flag named 'customContent' reflects the use case for it more clearly. The
comments that accompany it were also updated and improved.

We now always add the banner text as the first element in the expanded
notification unless 'customContent' flag is set to true.

If the 'body' parameter is specified, we use it in addition to the banner
text. The earlier version of the code had a bug that resulted in the 'body'
parameter not being set only in the case when the 'bannerBody' was set to
true and the banner text had newlines in it.

https://bugzilla.gnome.org/show_bug.cgi?id=623970
2010-08-31 13:47:10 -04:00
539b8ae9f6 Don't show the banner when hiding the notification or showing it in the summary mode
The banner should not be appearing briefly when we are hiding the notification.
For that, we should only restore the opacity of the banner in popInCompleted()
when we are done hiding the notification. We do need to restore the opacity
in case the notification is updated and is shown in the banner mode again.

The banner should not be appearing briefly when we are showing the notification
in the summary mode. For that, we should not use the animation time to fade out
the banner in popOut() for summary notifications.

These two problems were particularly visible when the ANIMATION_TIME was increased.

https://bugzilla.gnome.org/show_bug.cgi?id=623970
2010-08-31 13:47:01 -04:00
cc06916811 Update British English translation 2010-08-31 09:33:26 +01:00
5e7c25e136 Notice style transitions that don't change how StThemeNode paints
Add st_theme_node_paint_equal() and use that to do two things:

 1) Avoid animating transitions where nothing changes.
 2) Copy cached painting state from the old theme node to the new
    theme node.

https://bugzilla.gnome.org/show_bug.cgi?id=627083
2010-08-30 13:40:12 -04:00
b9f9dd948a [AltTab] fix Alt-Shift-Tab again
In Clutter 1.2, clutter_event_get_keysym() ignored the state of the
Shift key. In 1.4, it does not, so we have to adjust our comparisons
accordingly.

https://bugzilla.gnome.org/show_bug.cgi?id=627782
2010-08-30 12:28:00 -04:00
d1f0a1e33a Updated Hungarian translation 2010-08-29 19:43:27 +02:00
93d3270566 Calculate whether we need an expansion row for the banner correctly
The old calculation did not take into account the icon and the spacing
between columns. This resulted in the notifications that had a slightly
longer title/banner combination than could actually fit not being expandable.

The new calculation is done in _bannerBoxAllocate() so
that we don't need to hardcode which other elements are present.

https://bugzilla.gnome.org/show_bug.cgi?id=627985
2010-08-26 16:07:51 -04:00
6f57f07214 [MessageTray] Clean up source-vs-notification icon handling
A Source needs exactly one summary icon (which in the case of a
trayicon-based source won't even be just an image), but possibly many
notification icons, which may vary for successive notifications
(particularly in the case of NotificationDaemon notifications). So
differentiate these cases in the API.

https://bugzilla.gnome.org/show_bug.cgi?id=627303
2010-08-26 11:00:54 -04:00
1951812a47 [MessageTray] use Params.parse in Notification
https://bugzilla.gnome.org/show_bug.cgi?id=627303
2010-08-26 10:52:01 -04:00
8f6a7f393d [MessageTray] remove Notification IDs
Notification daemon notifications have IDs, but other kinds don't
necessarily, and the generic code doesn't need to bother with it.

https://bugzilla.gnome.org/show_bug.cgi?id=627303
2010-08-26 10:52:01 -04:00
d3031b406a [MessageTray] remove Source IDs
The tray itself does not actually need them, and to make status icon
sources work correctly the NotificationDaemon will need to be tracking
its sources by two separate IDs, so the existing system won't work.

Also remove MessageTray.removeSourceByApp(), which is
NotificationDaemon-specific, and implement the functionality in
notificationDaemon.js instead.

https://bugzilla.gnome.org/show_bug.cgi?id=627303
2010-08-26 10:52:01 -04:00
2915319602 gnome-shell.modules: Disable librsvg theme engine
The librsvg theme engine uses now-gone GTK+ drawing functions so doesn't
compile with GTK+ 3. Since we don't need the theme engine anyways,
skip bulding it.
2010-08-24 15:04:29 -04:00
0751d122d7 Updated Serbian translation 2010-08-24 05:40:53 +02:00
957b3b69dc [lg] fix queue_relayout warnings
https://bugzilla.gnome.org/show_bug.cgi?id=624940
2010-08-23 13:03:58 -04:00
083b1c9d8b [lg] Close inspector on Esc
https://bugzilla.gnome.org/show_bug.cgi?id=624940
2010-08-23 13:03:58 -04:00
09edf4ba59 [lg] Use scroll wheel in inspector to select parent actors
scroll-up selects the parent actor, then grandparent, etc. scroll-down
moves the selection back towards the frontmost actor.

https://bugzilla.gnome.org/show_bug.cgi?id=624940
2010-08-23 13:03:15 -04:00
1a50b94b19 [lg] split inspector event handlers out into separate functions
https://bugzilla.gnome.org/show_bug.cgi?id=624940
2010-08-23 13:00:39 -04:00
5bd977dd3c [transitions] Do not recreate FBOs on opacity changes
Creating an FBO may be expensive, so we should avoid the operation
if possible. When transitioning between theme nodes, the widget's
opacity is used to paint to the offscreen textures which are blended
together - this means that the textures have to be recreated each time
the widget's opacity changes. It is much more effective to paint the
textures at full opacity and respect the widget's paint opacity when
blending the textures together.

https://bugzilla.gnome.org/show_bug.cgi?id=627085
2010-08-23 18:41:34 +02:00
c3cb0be011 Fix copy / paste error in previous commit 2010-08-23 18:37:25 +02:00
63ee20dc17 Bump vala version to 0.9.7
https://bugzilla.gnome.org/show_bug.cgi?id=627740
2010-08-23 18:32:38 +02:00
9284e96a48 Added Japanese translation. 2010-08-23 01:25:27 +09:00
bdd4e68422 Updated Traditional Chinese translation(Hong Kong and Taiwan) 2010-08-21 20:43:24 +08:00
5c60d8982e [Overview] Fix zoom when dragging items from the dash
Commit 4632db177 removed a required include statement, re-add it to
fix DND from the dash.
2010-08-21 11:25:20 +02:00
50ed2f45af [build] add gnome-menus-devel to openSUSE packages list
https://bugzilla.gnome.org/show_bug.cgi?id=627390
2010-08-20 16:29:19 +02:00
9debefd7ca [build] Requires xulrunner 1.9.1.x on openSUSE, required by gjs
gjs needs xulrunner 1.9.1 (see bug 627383), install the right package
on openSUSE distributions.

https://bugzilla.gnome.org/show_bug.cgi?id=627384
2010-08-20 16:29:18 +02:00
c18ff91030 [panel] Add a style class while the overview is active
Designers have asked for the possibility to style the panel
differently in the overview.

https://bugzilla.gnome.org/show_bug.cgi?id=624381
2010-08-20 12:06:48 +02:00
039229f340 Make it possible to register new search providers for the dash after it has been created.
Factors out meta creation from SearchResults._init to SearchResults.createProviderMeta(provider).

Adds Dash.addSearchProvider(provider).

https://bugzilla.gnome.org/show_bug.cgi?id=625954
2010-08-19 18:04:30 -04:00
d9169d27f5 [ShellTrayManager] a few updates
Use the new na_tray_child_get_wm_class() method.
Add the trayicon title to the signal.

https://bugzilla.gnome.org/show_bug.cgi?id=627306
2010-08-19 10:14:18 -04:00
7ff7ec0e7a [tray] sync NaTray code from gnome-panel
Our copies and gnome-panel's had been ported for GSEAL independently.
Sync them back up again.

https://bugzilla.gnome.org/show_bug.cgi?id=627306
2010-08-19 10:14:10 -04:00
a9c0dcbd6b [search] Use 'AND' instead of 'OR' on search terms
The current search system uses the OR operator to concatenate search
terms. While results which are matched multiple times sort before
other matches, it is almost guaranteed that adding an additional term
to the search increments the number of results, which is rather
surprising.

https://bugzilla.gnome.org/show_bug.cgi?id=610955
2010-08-18 23:59:27 +02:00
8258c01d5c [build] add missing packages for openSUSE
Add missing packages for build on openSUSE

https://bugzilla.gnome.org/show_bug.cgi?id=627175
2010-08-17 17:58:27 +02:00
6c6527b66d [gnome-shell-build-setup.sh] Fix for lsb_release system value containing space
On SLED11, lsb_release system is "SUSE LINUX", breaking the script.
Adding quotes fixes this issue.

https://bugzilla.gnome.org/show_bug.cgi?id=627172
2010-08-17 17:54:59 +02:00
cac0848316 Remove usage of gdk_screen_get_rgb_colormap()
gdk_screen_get_rgb_colormap() has been removed from GTK+; there's
no longer a special visual that is used for drawing true-color
images distinct from the system visual. So, we don't need to
check for it; if the visual isn't the system visual, we just
fall through to the case where we create a new GdkColormap.
2010-08-12 20:12:00 -04:00
26c9453b3a [gnome-shell.modules] Upgrade moduleset to cairo-1.9.14
The 1.9.14 snapshot, along with many other things, fixes a major bug in
painting images that was causing the cairo-converted Metacity theme cod
not to work properly.
2010-08-12 20:02:24 -04:00
4e283cf419 Reuse same labels and containers on notification updates
When calling Notification.update, reuse the previous _bannerBox and
related labels (only changing the label content and relayouting), so
that the opacity set on popOut is preserved. As a consequence, updating
an opened notification no longer shows (or flicker) the banner at the
top.

https://bugzilla.gnome.org/show_bug.cgi?id=625502
2010-08-11 16:55:06 -04:00
e96a76edf4 Revert "[gnome-shell.modules] Work around problem of git with 'gtk+'"
This reverts commit b76fe12209.

We now have a workaround symlink server side for the git 1.7.2 handling
of '+', and also there's a patch in git upstream and in some distros, so
we don't need the workaround around in our moduleset anymore.

https://bugzilla.gnome.org/show_bug.cgi?id=626302
2010-08-11 14:29:30 -04:00
766b5b801c [St] Remove _st_actor_contains()
The function has been upstreamed as clutter_actor_contains() - with
the switch to clutter-1.4 it is now available to the Shell, so it
is no longer necessary to keep a copy in-tree.

https://bugzilla.gnome.org/show_bug.cgi?id=626512
2010-08-10 15:03:13 +02:00
3fb7cce80f Drop custom ClutterActor.contains
Clutter 1.4 does provides a native implementation

https://bugzilla.gnome.org/show_bug.cgi?id=624571
2010-08-10 08:41:50 +02:00
a0d9c9b65a [gnome-shell.modules] Switch Clutter to master (Clutter 1.4 branch)
Build the Clutter 1.4 development branch instead of against Clutter 1.2;
this seems to work fine with GNOME Shell at this point, with various
fixes having been applied Mutter, GNOME Shell, and Clutter.
2010-08-09 17:18:06 -04:00
597cd9c7ab [messageTray] fix padding/spacing around summary items
The space between the rightmost item and the edge of the screen should
be considered part of the rightmost item, and the space between items
should be considered part of the adjacent items, to prevent excess
jitter when moving between them.

https://bugzilla.gnome.org/show_bug.cgi?id=626112
2010-08-09 12:30:18 -04:00
1f7f3715cc Updated Swedish translation 2010-08-06 01:24:34 +02:00
0905940ef8 [StContainer] Add :first-child, :last-child pseudo classes
Add support for the CSS :first-child and :last-child properties to
StContainer, and thus to all containers in St and ShellGenericContainer.

The internal ordering of the container's children is used to determine
the child to which to attach the pseudo class, not the children's
positions. This means that containers where positions can differ from
the ordering (ShellGenericContainer / StGroup) may behave unexpectedly,
so some caution is required.

https://bugzilla.gnome.org/show_bug.cgi?id=625316
2010-08-05 19:05:18 +02:00
0573cbfbac Added ta translation 2010-08-05 21:48:21 +05:30
65e37b1d6b [gnome-shell.modules] Update vala to 0.9.4.
dconf now requires vala 0.9.4, update the moduleset.

https://bugzilla.gnome.org/show_bug.cgi?id=626000
2010-08-04 15:39:56 -04:00
e7fb2c50a3 [Calendar] Fix wrong start date in corner case
The start date is shifted by a week if the day number of the month's
first day is smaller than the week start's day number. Probably the
only real world examples are months starting on a Sunday with locales
using Monday as start of week.

https://bugzilla.gnome.org/show_bug.cgi?id=625756
2010-08-02 16:48:10 +02:00
09374b08a3 Updated Norwegian bokmål translation 2010-08-01 14:09:35 +02:00
7fa9e88294 [St] Remove unused width/height from st_theme_node_transition_paint
We query the texture size here but never actually use it.

https://bugzilla.gnome.org/show_bug.cgi?id=625713
2010-08-01 12:10:53 +02:00
b76fe12209 [gnome-shell.modules] Work around problem of git with 'gtk+'
Use gtk%2b in the checkout URL, since recent versions of GIT have
trouble with the '+' in gtk+.

https://bugzilla.gnome.org/show_bug.cgi?id=625135
2010-07-28 17:09:18 -04:00
911e71542b Set LD_LIBRARY_PATH before running dconf
When we are manually starting dconf in the case where it can't
be activated via D-Bus, we need to set LD_LIBRARY_PATH in its
environment, since dconf is no longer linked with a rpath.
(Unlike the rest of GNOME, it doesn't use libtool.)
2010-07-28 15:31:16 -04:00
43de15c3fc Updated Spanish translation 2010-07-28 19:49:05 +02:00
5cb2ea04f7 MoreLink: Ignore calls to activate() if the actor isn't visible
This fixes (another time) the bug about the "Recent Items" label
being clickable when there are no items.

https://bugzilla.gnome.org/show_bug.cgi?id=582037
2010-07-27 16:54:58 +02:00
e287aa10e3 [notifications] Make the whole notification clickable
It is not obvious that only the icon is clickable to activate the
default action - in fact, with the area being that tiny, many don't
even know that notifications can be clicked.
Just extend the clickable area to the whole notification.

https://bugzilla.gnome.org/show_bug.cgi?id=613932
2010-07-27 00:11:09 +02:00
b237cf9a63 Use CoglHandle rather than CoglHandle*
This breaks building on 1.4, and has always been wrong anyway.

https://bugzilla.gnome.org/show_bug.cgi?id=624571
2010-07-26 21:55:25 +02:00
c0d4f11510 Updated Spanish translation 2010-07-26 21:16:19 +02:00
1850c93785 Updated Slovenian translation 2010-07-25 21:41:56 +02:00
cd0e31cd30 Updated Bulgarian translation 2010-07-25 18:40:43 +03:00
02ebd44851 [shadows] Fix shadows with small blur radius
There's an assertion in calculate_gaussian_kernel() to avoid a division
by zero - due to an unnecessary cast from float to int this assertion
is triggered incorrectly for small (but non-zero) values, e.g. a blur
radius of 1px.
2010-07-25 00:37:12 +02:00
29c4742383 [gdmuser] Annotate gdm_list_users()
Recently, g-ir-scanner got a little stricter with regard to
GSList, marking functions not introspectable if the element
type is not annotated. This fixes a visible JS Error by g-ir
and gdmuser/gdm-user-manager.c
2010-07-24 13:25:51 +02:00
d059d1fedc Update Simplified Chinese translation. 2010-07-24 18:00:28 +08:00
7cac4ee1ae [i18n] Updated German translation 2010-07-22 19:08:41 +02:00
0c38f49dde Fix typo inside Switch class
Corrects setToogleState into setToggleState, slipped from 4dfc869e

https://bugzilla.gnome.org/show_bug.cgi?id=621880
2010-07-22 12:49:48 -04:00
2e77724341 Updated Galician translations 2010-07-22 16:39:13 +02:00
13c10b1e27 Updated Hebrew translation. 2010-07-22 16:30:25 +03:00
229604690b [gnome-shell.in] set $XDG_DATA_DIRS too
This is needed to find gsettings schemas that are installed in
the jhbuild prefix.
2010-07-22 09:23:34 -04:00
4dfc869e9d Add support for toggle switches in menus
Adds class PopupSwitchMenuItem, which is a two-state switch similar
to those in system status indicators mockups. Also adds class Switch,
which represents the switch itself, in case it is useful somewhere
else.

https://bugzilla.gnome.org/show_bug.cgi?id=621880
2010-07-22 09:06:01 -04:00
7bde88a6e2 Complete Simplified Chinese translation. 2010-07-22 20:38:02 +08:00
73ecdbd6da Add API for system status indicators
Add a container in the panel for holding them, a fast method for
loading and a simple base class to be subclassed by specific
implementations.

https://bugzilla.gnome.org/show_bug.cgi?id=621705
2010-07-21 12:31:06 -04:00
6eb90434f0 Update the look of various message tray components
The following changes make message tray look more polished:
 - all notifications are now same width (no min and max width)
 - there is an equal padding all around the notification (which resulted in
   the increased tray height)
 - action buttons are now nicely styled
 - chat text box glows when focused (nevermind the unfocused look because
   we'll soon always have it focused when it is showing)
 - chat text has padding on the left and rounded background
 - summary source buttons no longer have a border

https://bugzilla.gnome.org/show_bug.cgi?id=624584
2010-07-21 02:42:17 -04:00
65991cc057 Make Esc hide the tray when a notification has focus
It's convenient to have Esc working for expanded new notifications that
have focus and for summary notifications.

https://bugzilla.gnome.org/show_bug.cgi?id=617224
2010-07-21 01:27:21 -04:00
95d438b86d Grab focus in expanded notifications on hover
In addition to already grabbing focus in the summary notifications,
we also want to grab focus in the new notifications when the user
hovers over them and expands them.

The notifications that expand automatically will only get focus once
the user hovers over them. The notifications that don't expand will
never grab focus because they don't need it.

Make sure that we toggle the way we grab focus when switching between
the overview and the main mode. This is necessary because, unlike
summary notifications that pop down when the user moves between the two
modes, new notifications keep being shown as long as the user hovers
over them or until they time out.

https://bugzilla.gnome.org/show_bug.cgi?id=617224
2010-07-21 01:20:37 -04:00
46906eef43 Grab focus in the summary notification
Because clicking on the summary item to have it display its notification
is a more deliberate action than hovering, we can now grab focus in that
notification. This makes chat notifications in the summary more convenient
to use because you don't need to click on the text entry there.

We pop down the notification when the user clicks anywhere outside of it,
triggers the overview, or the run dialog.

https://bugzilla.gnome.org/show_bug.cgi?id=617224
2010-07-21 00:44:04 -04:00
b2185eb2b1 Always show the summary if it is summoned
This ensures that the summary appears when we are showing a new
notification and switch to the overview at the same time.

Another effect of this patch is that the summary is shown if the
user moves the mouse to the bottom right corner while a notification
is being shown, which is ok.
2010-07-21 00:18:54 -04:00
539ad8196e [panel] don't empty out the app menu when the panel itself gets focus
https://bugzilla.gnome.org/show_bug.cgi?id=623429
2010-07-20 15:03:17 -04:00
adbf3b1c37 [ShellGlobal] add SHELL_STAGE_INPUT_MODE_FOCUSED
Add SHELL_STAGE_INPUT_MODE_FOCUSED, to move the keyboard focus to the
shell without grabbing the keyboard or mouse, and make
stage_input_mode into a GObject property so that (among other things),
callers can tell when MODE_FOCUSED reverts back to MODE_NORMAL.

https://bugzilla.gnome.org/show_bug.cgi?id=623429
2010-07-20 15:03:17 -04:00
6259513b0f [build] Use dpkg-checkbuilddeps to check for installed packages
This is required to handle Provides header, as used by lib*-dev packages
(for example libtiff5-dev provides libtiff-dev), this allows the build
setup script to specify the "generic" package names.

https://bugzilla.gnome.org/show_bug.cgi?id=624009
2010-07-20 16:29:01 +02:00
d8df46d4a1 Enable insertion and removal of menus
This patch adds the method "removeMenu" to PopupMenuManager, to allow
for removal of menus after they're inserted. In order to do this, it
needs to store along with the menu all the relevant signal connections,
that are disconnected when the menu is removed.
Also adds a parameter "position" to "addMenu", so that menus can added
in arbitrary order (in particular to reintroduce those which were removed).
This patch is intended towards dynamic menu users, like extensions for
application lists, docks, sidebars showing recent documents or favourites,
as well as advanced system tray implementations.

https://bugzilla.gnome.org/show_bug.cgi?id=622730
2010-07-20 09:35:12 -04:00
4aa80105ca Fix possible property access on undefined object
PopupMenuManager allows the insertion of menu without a sourceActor
(or with a null one), but never checks before calling contains() on
it.

https://bugzilla.gnome.org/show_bug.cgi?id=622730
2010-07-20 09:35:12 -04:00
13a1175792 fix "undo remove from favorites"
In GSettings, a change notification is generated immediately from context of the _set() call.
In GConf, The "value_changed" signal is emitted whenever the server
notifies your client program that a value has changed in the database (100% NOT from context of the _set() call).
https://bugzilla.gnome.org/show_bug.cgi?id=624296
2010-07-20 16:24:24 +04:00
ed065fc4ea Updated Galician translations 2010-07-20 13:03:31 +02:00
4632db177a Clean up unused includes
Some late spring cleaning ...
2010-07-19 01:46:01 +02:00
cc0de39725 [panel] Fix translatable string
Fix a string which is not extracted correctly by marking it
correctly with double quotes.
2010-07-19 01:46:01 +02:00
f8a5728615 Update vala to 0.9.3
Fixes incompatbility between the .gir files generated by Vala and the
current g-ir-compiler.

https://bugzilla.gnome.org/show_bug.cgi?id=624301
2010-07-15 10:22:36 -04:00
5695c8b0aa Fix invoking actions on notifications
We need to only connect to 'action-invoked' on notification once
when the notification is created. We were accumulating callbacks
otherwise, which resulted, for example, in the Rhythmbox skipping
through multiple tracks when the 'Next' button was hit.

Always be sure to destroy the notification when its source is
destroyed, which is the case when an action is invoked.

Note that in the future, we might not want to destroy the source
for some notifications when an action is invoked. For example,
it makes sense to keep Rhythmbox in the tray while the music is
playing and allow the user to use the controls from the summary
notification too.
2010-07-14 17:16:35 -04:00
11c73fcbc3 [i18n] Updated German translation 2010-07-14 22:21:30 +02:00
5a7201ef4d Resolve cyclic dependency on StatusMenu
Solved by splitting the base class (PanelMenuButton) in a separate
module, ui.panelMenu, which is meant to hold also other reusable
button classes.

https://bugzilla.gnome.org/show_bug.cgi?id=621705
2010-07-13 11:58:13 -04:00
d2902cb70f Updated Norwegian bokmål translation 2010-07-13 15:28:59 +02:00
1b03d5cb45 [St] fix a bug noticed by gcc -O3
https://bugzilla.gnome.org/show_bug.cgi?id=623295
2010-07-12 14:24:16 -04:00
51caecc1b3 Bump version to 2.31.5 2010-07-12 12:58:00 -04:00
ef1d3c56d8 [gnome-shell-build-setup.sh] Pull in autopoint for gdk-pixbuf
The gdk-pixbuf autogen.sh uses autopoint. This is part of
gettext on most systems, but Fedora 14 splits autopoint
into a separate subpackage, so we need to add a version
check.

For completeness, system version extraction is added generally,
though we are only using it on Fedora currently.

https://bugzilla.gnome.org/show_bug.cgi?id=624175
2010-07-12 12:45:22 -04:00
aa8f386b7d Added Traditional Chinese translation (Hong Kong and Taiwan) 2010-07-12 19:26:41 +08:00
43b751e27a Update Czech translation 2010-07-11 21:54:47 +02:00
69fde6822c [StartupNotification] Do not bounce the animation
The spinner animation moving from left-to-right to indicate a starting
application changes its direction on reaching the end of the movement.
Instead, keep the spinner at the right of the app name until startup
has finished.

https://bugzilla.gnome.org/show_bug.cgi?id=623687
2010-07-10 02:25:58 +02:00
b28c4dcd81 [docInfo] Fix recent items
GJS no longer translates time_t values into Date objects, update
the code where we relied on the previous behavior.
2010-07-10 00:23:23 +02:00
5014d16647 [configure] Use pkg-config --libs instead of --print-requires
The latter was added in version 0.23 (0.25 is current), but
distributions using version 0.22 are still out there ...
2010-07-09 22:18:44 +02:00
a5f9039e12 [configure] Do not use grep -q
Although mandated by POSIX, not all implementions[0] support this
option. Use redirection to /dev/null instead.

[0] http://docs.sun.com/app/docs/doc/816-5165/grep-1?a=view
2010-07-09 20:11:58 +02:00
d9eb4702b2 [configure] Check that mutter was compiled with GTK+-3.0
If mutter was compiled with GTK+-2.0, the build will fail with a
rather cryptic message - better fail early during configure with
a proper error message.

https://bugzilla.gnome.org/show_bug.cgi?id=623889
2010-07-09 18:27:16 +02:00
a19047fa3a [build] Fix typo in dependency list 2010-07-08 00:11:24 +02:00
edba3e843f Updated Galician translations 2010-07-08 00:09:46 +02:00
e48d119801 Build the full GTK+ 3.0 stack
Now that we are targetting GTK+ 3.0, always build the full GTK+ stack,
along with librsvg and gtk-engines (so we have an SVG loader, and maybe
the user's GTK+ theme engine.)

New modules:

 gtk+-3, gtk-engines-3, gnome-desktop-3, gdk-pixbuf, pixman, cairo, librsvg

Removed modules:

 gir-repository

Add new requirements to gnome-shell-build-setup.sh and remove some
older requirements we no longer need.

Based on a patch from Colin Walters

https://bugzilla.gnome.org/show_bug.cgi?id=621845
2010-07-07 13:05:09 -04:00
643c7fdb3a Switch build to Gtk+-3.0
Update the build dependencies to gtk+-3.0 and adjust the javascript
to run on gtk+-3. Obviously depends on mutter compiled with gtk+-3
as well.

https://bugzilla.gnome.org/show_bug.cgi?id=621845
2010-07-07 12:57:59 -04:00
174caf0016 Work around g-ir-scanner problem with Gdk.Rectangle
g-ir-scanner is currently buggy and confuses the Gdk.Rectangle alias
with MetaRectangle. Since this is moderately hard to fix in
gobject-introspection and the fix would conflict with in-progress
changes, work around by doing a 'sed job' on the generated Meta.gir.

https://bugzilla.gnome.org/show_bug.cgi?id=623640
2010-07-07 12:57:59 -04:00
ab0d57d6ca Use MetaRectangle for allocated returns
The conversion of GdkRectangle to a typedef for cairo_rectangle_int_t
in GTK+-3 makes it no longer a proper boxed type (it's still registered
boxed, but gobject-introspection doesn't know that.) So, switch to using
MetaRectangle, which is now registered as a boxed type by Mutter.

https://bugzilla.gnome.org/show_bug.cgi?id=621845
2010-07-07 12:56:47 -04:00
a45021bd60 Replace deprecated GDK symbols
The fix depends on API introduced in this cycle, so the required
GTK+ version is bumped to 2.21.1.

https://bugzilla.gnome.org/show_bug.cgi?id=621845
2010-07-05 20:25:50 -04:00
7b79e2e35c [TelepathyClient] Fix notification of presence change
When renaming Source.name to Source.title in commit 83689e4 some
references were missed, which broke presence change notifications.

https://bugzilla.gnome.org/show_bug.cgi?id=623494
2010-07-04 02:06:06 +02:00
fdbda8e731 Updated Spanish translation 2010-07-03 12:51:32 +02:00
4c6c6d8658 update for Punjabi by A S Alam 2010-07-03 06:43:53 +05:30
c405cce700 Updated Spanish translation 2010-07-02 08:59:22 +02:00
8ade2fc116 Make pango be built before clutter in moduleset
If pango is built, do it before clutter since it will
use it instead of the system version.
2010-06-29 19:52:59 +02:00
40c7d3763b Remove the cursor from the search entry when it doesn't have focus
We should not be showing the cursor in the search entry in the overview
if the user's input will be appearing elsewhere, such as in the run dialog,
in the Looking Glass console, or in the notification's response field.
2010-06-28 18:13:45 -04:00
71bbd4ed5c Updated Spanish translation 2010-06-28 20:57:40 +02:00
a2617fe06a Update Simplified Chinese translations. 2010-06-27 11:06:42 +08:00
d1e1afdaab Add icon buttons to notifications
Now if an id is passed to Notification.addButton that matches a theme icon,
it will be displayed as an icon.  This is another in the implement the
music player mockups series.
http://live.gnome.org/GnomeShell/Design/Guidelines/MessageTray/MusicPlayer

https://bugzilla.gnome.org/show_bug.cgi?id=621014
2010-06-26 20:25:23 +02:00
246 changed files with 35862 additions and 10542 deletions

3
.gitignore vendored
View File

@ -23,6 +23,8 @@ data/gnome-shell-clock-preferences.desktop.in
data/gschemas.compiled
data/org.gnome.shell.gschema.xml
data/org.gnome.shell.gschema.valid
data/org.gnome.accessibility.magnifier.gschema.xml
data/org.gnome.accessibility.magnifier.gschema.valid
intltool-extract.in
intltool-merge.in
intltool-update.in
@ -44,6 +46,7 @@ src/Makefile.in
src/gnomeshell-taskpanel
src/gnome-shell
src/gnome-shell-clock-preferences
src/run-js-test
src/test-recorder
src/test-recorder.ogg
src/test-theme

View File

@ -1,5 +1,5 @@
AC_PREREQ(2.63)
AC_INIT([gnome-shell],[2.31.4],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
AC_INIT([gnome-shell],[2.91.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])
@ -57,40 +57,43 @@ fi
AM_CONDITIONAL(BUILD_RECORDER, $build_recorder)
CLUTTER_MIN_VERSION=1.2.8
CLUTTER_MIN_VERSION=1.3.14
GOBJECT_INTROSPECTION_MIN_VERSION=0.6.11
GJS_MIN_VERSION=0.7
MUTTER_MIN_VERSION=2.31.4
GTK_MIN_VERSION=2.18.0
MUTTER_MIN_VERSION=2.91.0
GTK_MIN_VERSION=2.91.0
GIO_MIN_VERSION=2.25.9
# Collect more than 20 libraries for a prize!
PKG_CHECK_MODULES(MUTTER_PLUGIN, gio-2.0 >= $GIO_MIN_VERSION
gio-unix-2.0 dbus-glib-1
gtk+-2.0 >= $GTK_MIN_VERSION
gtk+-3.0 >= $GTK_MIN_VERSION
mutter-plugins >= $MUTTER_MIN_VERSION
gjs-gi-1.0 >= $GJS_MIN_VERSION
gjs-internals-1.0 >= $GJS_MIN_VERSION
libgnome-menu $recorder_modules gconf-2.0
gdk-x11-2.0
gdk-x11-3.0
clutter-x11-1.0 >= $CLUTTER_MIN_VERSION
clutter-glx-1.0 >= $CLUTTER_MIN_VERSION
libstartup-notification-1.0
gobject-introspection-1.0 >= $GOBJECT_INTROSPECTION_MIN_VERSION)
gobject-introspection-1.0 >= $GOBJECT_INTROSPECTION_MIN_VERSION
libcanberra)
# This is for the newly added application id bits, we can replace this with
# a version check later
saved_CFLAGS=$CFLAGS
saved_LIBS=$LIBS
CFLAGS=$MUTTER_PLUGIN_CFLAGS
LIBS=$MUTTER_PLUGIN_LIBS
AC_CHECK_FUNCS(sn_startup_sequence_get_application_id)
# sn_startup_sequence_get_application_id, we can replace with a version check later
AC_CHECK_FUNCS(JS_NewGlobalObject sn_startup_sequence_get_application_id)
CFLAGS=$saved_CFLAGS
LIBS=$saved_LIBS
PKG_CHECK_MODULES(TIDY, clutter-1.0)
PKG_CHECK_MODULES(ST, clutter-1.0 gtk+-2.0 libcroco-0.6 gnome-desktop-2.0 >= 2.26)
PKG_CHECK_MODULES(GDMUSER, dbus-glib-1 gtk+-2.0)
PKG_CHECK_MODULES(TRAY, gtk+-2.0)
PKG_CHECK_MODULES(ST, clutter-1.0 gtk+-3.0 libcroco-0.6 gnome-desktop-3.0 >= 2.90.0)
PKG_CHECK_MODULES(GDMUSER, dbus-glib-1 gtk+-3.0)
PKG_CHECK_MODULES(TRAY, gtk+-3.0)
PKG_CHECK_MODULES(GVC, libpulse libpulse-mainloop-glib gobject-2.0)
PKG_CHECK_MODULES(JS_TEST, clutter-x11-1.0 gjs-1.0 gobject-introspection-1.0 gtk+-3.0)
MUTTER_BIN_DIR=`$PKG_CONFIG --variable=exec_prefix mutter-plugins`/bin
# FIXME: metacity-plugins.pc should point directly to its .gir file
@ -154,14 +157,18 @@ changequote([,])dnl
AC_PATH_PROG(mutter, [mutter])
AC_SUBST(mutter)
AC_MSG_CHECKING([if mutter was compiled with GTK+-3.0])
if $PKG_CONFIG --libs libmutter-private | grep gtk-x11-3 >/dev/null; then
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
AC_MSG_ERROR([GNOME Shell requires Mutter to be compiled against GTK+-3.0])
fi
AC_CONFIG_FILES([
Makefile
data/Makefile
js/Makefile
js/misc/Makefile
js/ui/Makefile
js/perf/Makefile
js/prefs/Makefile
src/Makefile
tests/Makefile
po/Makefile.in

View File

@ -23,30 +23,39 @@ themedir = $(pkgdatadir)/theme
dist_theme_DATA = \
theme/add-workspace.svg \
theme/close-window.svg \
theme/close.svg \
theme/close.svg \
theme/corner-ripple.png \
theme/dash-placeholder.svg \
theme/dialog-error.svg \
theme/gnome-shell.css \
theme/mosaic-view-active.svg \
theme/mosaic-view.svg \
theme/move-window-on-new.svg \
theme/process-working.png \
theme/remove-workspace.svg \
theme/mosaic-view-active.svg \
theme/mosaic-view.svg \
theme/move-window-on-new.svg \
theme/process-working.png \
theme/remove-workspace.svg \
theme/running-indicator.svg \
theme/scroll-button-down-hover.png \
theme/scroll-button-down.png \
theme/scroll-button-up-hover.png \
theme/scroll-button-up.png \
theme/scroll-hhandle.svg \
theme/scroll-vhandle.svg \
theme/section-more.svg \
theme/section-more-open.svg \
theme/separator-white.png \
theme/single-view-active.svg \
theme/single-view.svg \
theme/scroll-hhandle.svg \
theme/scroll-vhandle.svg \
theme/section-more.svg \
theme/section-more-open.svg \
theme/separator-white.png \
theme/single-view-active.svg \
theme/single-view.svg \
theme/toggle-off-us.svg \
theme/toggle-off-intl.svg \
theme/toggle-on-us.svg \
theme/toggle-on-intl.svg \
theme/ws-switch-arrow-left.svg \
theme/ws-switch-arrow-right.svg
gsettings_SCHEMAS = org.gnome.shell.gschema.xml
gsettings_SCHEMAS = \
org.gnome.accessibility.magnifier.gschema.xml \
org.gnome.shell.gschema.xml
@INTLTOOL_XML_NOMERGE_RULE@
@GSETTINGS_RULES@
@ -67,6 +76,10 @@ menudir = $(sysconfdir)/xdg/menus
menu_DATA = \
gs-applications.menu
shadersdir = $(pkgdatadir)/shaders
shaders_DATA = \
shaders/dim-window.glsl
install-data-local:
GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) --makefile-install-rule $(srcdir)/$(gconfschema_DATA)
@ -77,6 +90,8 @@ EXTRA_DIST = \
gnome-shell-clock-preferences.desktop.in.in \
$(menu_DATA) \
$(gconfschema_DATA) \
$(shaders_DATA) \
org.gnome.accessibility.magnifier.gschema.xml.in \
org.gnome.shell.gschema.xml.in
CLEANFILES = \

View File

@ -2,6 +2,21 @@
<schemalist>
<!-- Metacity overrides -->
<schema>
<key>/schemas/desktop/gnome/shell/windows/attach_modal_dialogs</key>
<applyto>/desktop/gnome/shell/windows/attach_modal_dialogs</applyto>
<owner>gnome-shell</owner>
<type>bool</type>
<default>true</default>
<locale name="C">
<short>Attach modal dialog to the parent window</short>
<long>
This key overrides /apps/mutter/general/attach_modal_dialogs when
running GNOME Shell.
</long>
</locale>
</schema>
<schema>
<key>/schemas/desktop/gnome/shell/windows/button_layout</key>
<applyto>/desktop/gnome/shell/windows/button_layout</applyto>
@ -28,197 +43,40 @@
</locale>
</schema>
<!-- Magnifier -->
<schema>
<key>/schemas/desktop/gnome/accessibility/magnifier/show_magnifier</key>
<applyto>/desktop/gnome/accessibility/magnifier/show_magnifier</applyto>
<key>/schemas/desktop/gnome/shell/windows/side_by_side_tiling</key>
<applyto>/desktop/gnome/shell/windows/side_by_side_tiling</applyto>
<owner>gnome-shell</owner>
<type>bool</type>
<default>false</default>
<default>true</default>
<locale name="C">
<short>Show or hide the magnifier</short>
<long>
Show or hide the magnifier and all of its zoom regions.
</long>
<short>enable side-by-side tiling when dropping windows on screen edges</short>
<long>
If enabled, dropping windows on screen edges maximizes them
vertically and resizes them horizontally to cover half of the
available area.
This key overrides /apps/metacity/general/side_by_side_tiling when
running GNOME Shell.
</long>
</locale>
</schema>
<schema>
<key>/schemas/desktop/gnome/accessibility/magnifier/mouse_tracking</key>
<applyto>/desktop/gnome/accessibility/magnifier/mouse_tracking</applyto>
<owner>gnome-shell</owner>
<type>int</type>
<default>1</default>
<locale name="C">
<short>Mouse Tracking Mode</short>
<long>
Determines the position of the magnified mouse image within
the magnified view and how it reacts to system mouse movement.
The values are 0 - none: no mouse tracking; 1 - centered: the
mouse image is displayed at the center of the zoom region
(which also represents the point under the system mouse) and the
magnified contents are scrolled as the system mouse moves; 2 -
proportional: the position of the magnified mouse in the zoom
region is proportionally the same as the position of the system
mouse on screen; or 3 - push: when the magnified mouse
intersects a boundary of the zoom region, the contents are
scrolled into view.
</long>
</locale>
</schema>
<schema>
<key>/schemas/desktop/gnome/accessibility/magnifier/screen_position</key>
<applyto>/desktop/gnome/accessibility/magnifier/screen_position</applyto>
<owner>gnome-shell</owner>
<type>int</type>
<default>3</default>
<locale name="C">
<short>Screen position</short>
<long>
The magnified view either fills the entire screen (1), or
occupies the top-half (2), bottom-half (3), left-half (4), or
right-half (5) of the screen.
</long>
</locale>
</schema>
<schema>
<key>/schemas/desktop/gnome/accessibility/magnifier/mag_factor</key>
<applyto>/desktop/gnome/accessibility/magnifier/mag_factor</applyto>
<owner>gnome-shell</owner>
<type>float</type>
<default>2.0</default>
<locale name="C">
<short>Magnification factor</short>
<long>
The power of the magnification. A value of 1.0 means no
magnification. A value of 2.0 doubles the size.
</long>
</locale>
</schema>
<schema>
<key>/schemas/desktop/gnome/accessibility/magnifier/lens_mode</key>
<applyto>/desktop/gnome/accessibility/magnifier/lens_mode</applyto>
<owner>gnome-shell</owner>
<type>bool</type>
<default>false</default>
<locale name="C">
<short>Enable lens mode</short>
<long>
Whether the magnified view should be centered over the location
of the system mouse and move with it.
</long>
</locale>
</schema>
<schema>
<key>/schemas/desktop/gnome/accessibility/magnifier/scroll_at_edges</key>
<applyto>/desktop/gnome/accessibility/magnifier/scroll_at_edges</applyto>
<owner>gnome-shell</owner>
<type>bool</type>
<default>false</default>
<locale name="C">
<short>Scroll magnified contents beyond the edges of the desktop</short>
<long>
For centered mouse tracking, when the system pointer is at
or near the edge of the screen, the magnified contents continue
to scroll such that the screen edge moves into the magnified
view.
</long>
</locale>
</schema>
<!-- Magnifier: Crosshairs -->
<schema>
<key>/schemas/desktop/gnome/accessibility/magnifier/show_cross_hairs</key>
<applyto>/desktop/gnome/accessibility/magnifier/show_cross_hairs</applyto>
<owner>gnome-shell</owner>
<type>bool</type>
<default>false</default>
<locale name="C">
<short>Show or hide crosshairs</short>
<long>
Enables/disables display of crosshairs centered on the magnified mouse
sprite.
</long>
</locale>
</schema>
<schema>
<key>/schemas/desktop/gnome/accessibility/magnifier/cross_hairs_thickness</key>
<applyto>/desktop/gnome/accessibility/magnifier/cross_hairs_thickness</applyto>
<owner>gnome-shell</owner>
<type>int</type>
<default>8</default>
<locale name="C">
<short>Thickness of the crosshairs</short>
<long>
Width of the vertical and horizontal lines that make up the
crosshairs.
</long>
</locale>
</schema>
<schema>
<key>/schemas/desktop/gnome/accessibility/magnifier/cross_hairs_color</key>
<applyto>/desktop/gnome/accessibility/magnifier/cross_hairs_color</applyto>
<key>/schemas/desktop/gnome/shell/windows/theme</key>
<applyto>/desktop/gnome/shell/windows/theme</applyto>
<owner>gnome-shell</owner>
<type>string</type>
<default>#ff0000</default>
<default>Adwaita</default>
<locale name="C">
<short>Color of the crosshairs</short>
<long>
The color of the the vertical and horizontal lines that make up
the crosshairs.
</long>
</locale>
</schema>
<short>Current theme</short>
<long>
The theme determines the appearance of window borders,
titlebar, and so forth.
<schema>
<key>/schemas/desktop/gnome/accessibility/magnifier/cross_hairs_opacity</key>
<applyto>/desktop/gnome/accessibility/magnifier/cross_hairs_opacity</applyto>
<owner>gnome-shell</owner>
<type>int</type>
<default>169</default>
<locale name="C">
<short>Opacity of the crosshairs</short>
<long>
Determines the transparency of the crosshairs, from fully opaque
to fully transparent.
</long>
</locale>
</schema>
<schema>
<key>/schemas/desktop/gnome/accessibility/magnifier/cross_hairs_length</key>
<applyto>/desktop/gnome/accessibility/magnifier/cross_hairs_length</applyto>
<owner>gnome-shell</owner>
<type>int</type>
<default>4096</default>
<locale name="C">
<short>Length of the crosshairs</short>
<long>
Determines the length of the vertical and horizontal lines that
make up the crosshairs.
</long>
</locale>
</schema>
<schema>
<key>/schemas/desktop/gnome/accessibility/magnifier/cross_hairs_clip</key>
<applyto>/desktop/gnome/accessibility/magnifier/cross_hairs_clip</applyto>
<owner>gnome-shell</owner>
<type>bool</type>
<default>false</default>
<locale name="C">
<short>Clip the crosshairs at the center</short>
<long>
Determines whether the crosshairs intersect the magnified mouse
sprite, or are clipped such that the ends of the horizontal
and vertical lines surround the mouse image.
</long>
This key overrides /apps/metacity/general/theme when
running GNOME Shell.
</long>
</locale>
</schema>

View File

@ -5,6 +5,7 @@
<Menuname>Tools</Menuname>
</DefaultLayout>
<Name>Applications</Name>
<AppDir>/usr/local/share/applications</AppDir>
<DefaultAppDirs/>
<Menu>
<Name>Games</Name>

View File

@ -0,0 +1,133 @@
<schemalist>
<enum id="MouseTrackingMode">
<value nick="none" value="0"/>
<value nick="centered" value="1"/>
<value nick="proportional" value="2"/>
<value nick="push" value="3"/>
</enum>
<enum id="ScreenPosition">
<value nick="none" value="0"/>
<value nick="full-screen" value="1"/>
<value nick="top-half" value="2"/>
<value nick="bottom-half" value="3"/>
<value nick="left-half" value="4"/>
<value nick="right-half" value="5"/>
</enum>
<schema id="org.gnome.accessibility.magnifier"
path="/desktop/gnome/accessibility/magnifier/"
gettext-domain="@GETTEXT_PACKAGE@">
<key name="show-magnifier" type="b">
<default>false</default>
<_summary>Show or hide the magnifier</_summary>
<_description>
Show or hide the magnifier and all of its zoom regions.
</_description>
</key>
<key name="mouse-tracking" enum="MouseTrackingMode">
<default>'proportional'</default>
<_summary>Mouse Tracking Mode</_summary>
<_description>
Determines the position of the magnified mouse image within the
magnified view and how it reacts to system mouse movement. The values
are
- none: no mouse tracking;
- centered: the mouse image is
displayed at the center of the zoom region (which also represents
the point under the system mouse) and the magnified contents are
scrolled as the system mouse moves;
- proportional: the position of the magnified mouse in the zoom region
is proportionally the same as the position of the system mouse on screen;
- push: when the magnified mouse intersects a boundary of the zoom
region, the contents are scrolled into view.
</_description>
</key>
<key name="screen-position" enum="ScreenPosition">
<default>'full-screen'</default>
<_summary>Screen position</_summary>
<_description>
The magnified view either fills the entire screen, or occupies the
top-half, bottom-half, left-half, or right-half of the screen.
</_description>
</key>
<key name="mag-factor" type="d">
<default>2.0</default>
<_summary>Magnification factor</_summary>
<_description>
The power of the magnification. A value of 1.0 means no magnification.
A value of 2.0 doubles the size.
</_description>
</key>
<key name="lens-mode" type="b">
<default>false</default>
<_summary>Enable lens mode</_summary>
<_description>
Whether the magnified view should be centered over the location of
the system mouse and move with it.
</_description>
</key>
<key name="scroll-at-edges" type="b">
<default>false</default>
<_summary>
Scroll magnified contents beyond the edges of the desktop
</_summary>
<_description>
For centered mouse tracking, when the system pointer is at or near the
edge of the screen, the magnified contents continue to scroll such that
the screen edge moves into the magnified view.
</_description>
</key>
<!-- Cross-hairs -->
<key name="show-cross-hairs" type="b">
<default>false</default>
<_summary>Show or hide crosshairs</_summary>
<_description>
Enables/disables display of crosshairs centered on the magnified
mouse sprite.
</_description>
</key>
<key name="cross-hairs-thickness" type="i">
<default>8</default>
<_summary>Thickness of the crosshairs</_summary>
<_description>
Width of the vertical and horizontal lines that make up the crosshairs.
</_description>
</key>
<key name="cross-hairs-color" type="s">
<default>'#ff0000'</default>
<_summary>Color of the crosshairs</_summary>
<_description>
The color of the the vertical and horizontal lines that make up
the crosshairs.
</_description>
</key>
<key name="cross-hairs-opacity" type="i">
<default>169</default>
<_summary>Opacity of the crosshairs</_summary>
<_description>
Determines the transparency of the crosshairs, from fully opaque
to fully transparent.
</_description>
</key>
<key name="cross-hairs-length" type="i">
<default>4096</default>
<_summary>Length of the crosshairs</_summary>
<_description>
Determines the length of the vertical and horizontal lines that
make up the crosshairs.
</_description>
</key>
<key name="cross-hairs-clip" type="b">
<default>false</default>
<_summary>Clip the crosshairs at the center</_summary>
<_description>
Determines whether the crosshairs intersect the magnified mouse sprite,
or are clipped such that the ends of the horizontal and vertical lines
surround the mouse image.
</_description>
</key>
</schema>
</schemalist>

View File

@ -41,18 +41,6 @@
<default>[]</default>
<_summary>History for command (Alt-F2) dialog</_summary>
</key>
<key name="workspaces-view" type="s">
<default>'single'</default>
<_summary>Overview workspace view mode</_summary>
<_description>
The selected workspace view mode in the overview.
Supported values are "single" and "grid".
</_description>
<choices>
<choice value="single"/>
<choice value="grid"/>
</choices>
</key>
<child name="clock" schema="org.gnome.shell.clock"/>
<child name="calendar" schema="org.gnome.shell.calendar"/>
<child name="recorder" schema="org.gnome.shell.recorder"/>

View File

@ -0,0 +1,26 @@
#version 110
uniform sampler2D sampler0;
uniform float fraction;
uniform float height;
const float c = -0.2;
const float border_max_height = 60.0;
mat4 contrast = mat4 (1.0 + c, 0.0, 0.0, 0.0,
0.0, 1.0 + c, 0.0, 0.0,
0.0, 0.0, 1.0 + c, 0.0,
0.0, 0.0, 0.0, 1.0);
vec4 off = vec4(0.633, 0.633, 0.633, 0);
void main()
{
vec4 color = texture2D(sampler0, gl_TexCoord[0].st);
float y = height * gl_TexCoord[0][1];
// To reduce contrast, blend with a mid gray
gl_FragColor = color * contrast - off * c;
// We only fully dim at a distance of BORDER_MAX_HEIGHT from the edge and
// when the fraction is 1.0. For other locations and fractions we linearly
// interpolate back to the original undimmed color.
gl_FragColor = color + (gl_FragColor - color) * min(y / border_max_height, 1.0);
gl_FragColor = color + (gl_FragColor - color) * fraction;
}

View File

@ -0,0 +1,84 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="76"
height="27"
id="svg11252"
version="1.1">
<defs
id="defs11254">
<radialGradient
xlink:href="#linearGradient39563-4-2"
id="radialGradient68155-2-3"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1,0,0,0.3486842,0,317.8421)"
cx="49"
cy="488"
fx="49"
fy="488"
r="38" />
<linearGradient
id="linearGradient39563-4-2">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop39565-1-4" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop39567-7-9" />
</linearGradient>
<radialGradient
xlink:href="#linearGradient39573-6-1"
id="radialGradient68157-0-8"
gradientUnits="userSpaceOnUse"
cx="50.5"
cy="487.5"
fx="50.5"
fy="487.5"
r="10.5" />
<linearGradient
id="linearGradient39573-6-1">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop39575-5-6" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop39577-1-2" />
</linearGradient>
</defs>
<g
id="layer1"
transform="translate(-337,-518.86218)">
<g
id="g99967"
style="display:inline"
transform="translate(326,44.862171)">
<rect
style="opacity:0.49375;color:#000000;fill:url(#radialGradient68155-2-3);fill-opacity:1;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect99969"
width="76"
height="2"
x="11"
y="487"
rx="0"
ry="0" />
<path
style="opacity:0.43125;color:#000000;fill:url(#radialGradient68157-0-8);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="path99971"
d="M 61,487.5 C 61,493.29899 56.29899,498 50.5,498 44.70101,498 40,493.29899 40,487.5 40,481.70101 44.70101,477 50.5,477 c 5.79899,0 10.5,4.70101 10.5,10.5 z"
transform="matrix(1.2857143,0,0,1.2857143,-14.428572,-139.28571)" />
<path
transform="matrix(0.43589747,0,0,0.43589747,28.487179,275)"
d="M 61,487.5 C 61,493.29899 56.29899,498 50.5,498 44.70101,498 40,493.29899 40,487.5 40,481.70101 44.70101,477 50.5,477 c 5.79899,0 10.5,4.70101 10.5,10.5 z"
id="path99973"
style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -42,10 +42,10 @@ StScrollBar
padding: 0px;
}
StScrollView
StScrollView StScrollBar
{
scrollbar-width: 16px;
scrollbar-height: 16px;
min-width: 16px;
min-height: 16px;
}
StScrollView > .top-shadow
@ -64,7 +64,7 @@ StScrollView > .bottom-shadow
height: 30px;
}
StScrollBar {
StScrollBar StBin#trough {
background-color: #080808;
border: 1px solid #2d2d2d;
border-radius: 8px;
@ -92,12 +92,15 @@ StScrollBar StButton#vhandle:hover
background-color: #292929;
}
StTooltip {
border: 1px solid rgba(79,111,173,0.9);
StTooltip StLabel {
border: 1px solid rgba(79,111,173,1);
border-radius: 5px;
padding: 4px;
background-color: rgba(79,111,173,0.9);
color: #ffffff;
font-size: 0.8em;
font-weight: normal;
text-align: center;
}
/* PopupMenu */
@ -121,11 +124,12 @@ StTooltip {
* override .popup-menu.font-size, everything else will scale with it.
*/
.popup-menu-content {
padding: .5em 0px;
padding: 1em 0em;
}
.popup-menu-item {
padding: .4em 1.25em;
padding: .4em 1.75em;
spacing: 1em;
}
.popup-menu-item:active {
@ -133,7 +137,6 @@ StTooltip {
}
.popup-image-menu-item {
spacing: .75em;
}
.popup-separator-menu-item {
@ -144,6 +147,43 @@ StTooltip {
height: 1em;
}
.popup-slider-menu-item {
height: 1em;
-slider-height: 0.3em;
-slider-background-color: #333333;
-slider-border-color: #5f5f5f;
-slider-border-width: 1px;
-slider-handle-radius: 0.5em;
}
.popup-device-menu-item {
spacing: .5em;
}
.popup-menu-icon {
icon-size: 1em;
}
/* Switches (to be used in menus) */
.toggle-switch {
width: 4.5em;
height: 1.5em;
}
.toggle-switch-us {
background-image: url("toggle-off-us.svg");
}
.toggle-switch-us:checked {
background-image: url("toggle-on-us.svg");
}
.toggle-switch-intl {
background-image: url("toggle-off-intl.svg");
}
.toggle-switch-intl:checked {
background-image: url("toggle-on-intl.svg");
}
/* Panel */
#panel {
@ -165,11 +205,6 @@ StTooltip {
padding-left: 4px;
}
.panel-button:pressed {
background-color: rgba(50,76,111,0.98);
border-radius: 4px 4px 0px 0px;
}
#appMenu {
spacing: 4px;
}
@ -207,35 +242,24 @@ StTooltip {
spacing: 4px;
}
#statusTray {
#legacyTray {
spacing: 14px;
padding-left: 14px;
}
#statusTray:compact {
#legacyTray:compact {
spacing: 8px;
}
.system-status-icon {
icon-size: 1em;
}
/* Overview */
.overview {
background-color: #111;
}
.info-bar {
color: #fff;
font-size: 14px;
spacing: 20px;
}
.info-bar-link-button {
background-color: #2d2d2d;
padding: 2px 14px;
border-radius: 10px;
border: 1px solid #181818;
}
.info-bar-link-button:hover {
border: 1px solid #666666;
#overview {
spacing: 12px;
background-color: rgba(0,0,0,0.6);
}
.new-workspace-area {
@ -283,18 +307,17 @@ StTooltip {
}
.workspaces-bar {
height: 48px;
spacing: 5px;
}
.workspaces-bar {
spacing: 5px;
.workspace-indicator-panel {
spacing: 8px;
}
.workspace-indicator {
width: 24px;
height: 16px;
background: rgba(155,155,155,0.8);
border-spacing: 16px;
background: rgba(255,255,255,0.2);
}
.workspace-indicator.active {
@ -319,44 +342,33 @@ StTooltip {
}
.single-view-controls {
padding: 0px 15px;
padding: 8px 0px;
}
.workspace-controls {
width: 24px;
height: 16px;
width: 48px;
font-size: 32px;
font-weight: bold;
color: #ffffff;
border: 2px solid rgba(128, 128, 128, 0.4);
border-right: 0px;
border-radius: 9px 0px 0px 9px;
}
.workspace-controls.add {
background-image: url("add-workspace.svg");
.add-workspace {
background-color: rgba(128, 128, 128, 0.4);
}
.workspace-controls.remove {
background-image: url("remove-workspace.svg");
.add-workspace:hover {
background-color: rgba(128, 128, 128, 0.6);
}
.workspace-controls.switch-single {
background-image: url("single-view.svg");
.remove-workspace {
height: 48px;
}
.workspace-controls.switch-mosaic {
background-image: url("mosaic-view.svg");
}
.workspace-controls.switch-single:checked {
background-image: url("single-view-active.svg");
}
.workspace-controls.switch-mosaic:checked {
background-image: url("mosaic-view-active.svg");
}
#SwitchScroll {
height: 14px;
}
#SwitchScroll #hhandle {
border-radius: 7px;
.remove-workspace:hover {
background-color: rgba(128, 128, 128, 0.2);
}
/* Dash */
@ -364,110 +376,111 @@ StTooltip {
#dash {
color: #5f5f5f;
font-size: 12px;
padding: 0px 14px;
padding: 6px 0px;
background-color: rgba(0, 0, 0, 0.5);
border: 2px solid rgba(128, 128, 128, 0.4);
border-left: 0px;
border-radius: 0px 9px 9px 0px;
}
#dashSections {
spacing: 12px;
.dash-placeholder {
background-image: url("dash-placeholder.svg");
height: 27px;
}
#viewSelector {
spacing: 16px;
}
#searchArea {
padding: 0px 12px;
}
#searchEntry {
padding: 4px;
border-radius: 4px;
color: #a8a8a8;
border: 1px solid #565656;
background-color: #404040;
caret-color: #fff;
padding: 4px 8px;
border-radius: 12px;
color: rgb(128, 128, 128);
border: 2px solid rgba(128, 128, 128, 0.4);
background-gradient-start: rgba(0, 0, 0, 0.2);
background-gradient-end: rgba(128, 128, 128, 0.2);
background-gradient-direction: vertical;
caret-color: rgb(128, 128, 128);
caret-size: 1px;
height: 16px;
width: 250px;
transition-duration: 300;
}
#searchEntry:focus {
color: #545454;
border: 1px solid #3a3a3a;
background-color: #e8e8e8;
caret-color: #545454;
border: 2px solid #ffffff;
background-gradient-start: rgba(0, 0, 0, 0.2);
background-gradient-end: #ffffff;
background-gradient-direction: vertical;
color: rgb(64, 64, 64);
font-weight: bold;
-st-shadow: 0px 0px 6px 2px rgba(255,255,255,0.9);
transition-duration: 0;
}
#searchEntry:hover {
color: #a8a8a8;
border: 1px solid #4d4d4d;
background-color: #e8e8e8;
border: 2px solid #e8e8e8;
caret-color: #545454;
transition-duration: 500;
}
.dash-section {
.view-tab-title {
color: #888a85;
font-weight: bold;
padding: 0px 12px;
}
.view-tab-title:selected {
color: white;
}
.view-tab-boxpointer {
-arrow-border-radius: 9px;
-arrow-background-color: rgba(0,0,0,0.5);
-arrow-border-width: 2px;
-arrow-border-color: rgba(255,255,255,0.5);
-arrow-base: 30px;
-arrow-rise: 15px;
}
#searchResults {
padding: 20px 10px 10px 10px;
}
#searchResultsContent {
padding: 0 10px;
spacing: 8px;
}
.section-header {
}
.section-header-inner {
.search-statustext,
.search-section-header {
padding: 4px 12px;
spacing: 4px;
color: #6f6f6f;
}
.section-text-content {
padding: 4px 0px;
}
.dash-section-content {
color: #ffffff;
spacing: 8px;
}
.more-link {
}
.more-link-expander {
background-image: url("section-more.svg");
width: 9px;
height: 9px;
}
.more-link-expander.open {
background-image: url("section-more-open.svg");
width: 9px;
height: 9px;
}
.dash-pane {
.search-section {
background-color: rgba(128, 128, 128, .1);
border: 1px solid rgba(50, 50, 50, .4);
border-radius: 10px;
background-color: #111111;
border: 2px solid #868686;
color: #ffffff;
padding: 30px 10px 10px 20px;
}
.dash-search-section-header {
padding: 6px 0px;
.search-section-results {
color: #ffffff;
border-radius: 10px;
border: 1px solid rgba(50, 50, 50, .4);
padding: 6px;
}
.search-section-list-results {
spacing: 4px;
}
.dash-search-section-results {
color: #ffffff;
}
.dash-search-section-list-results {
spacing: 4px;
}
.dash-search-result-content {
padding: 3px;
}
.dash-search-result-content:selected {
padding: 2px;
border: 1px solid #5c5c5c;
border-radius: 2px;
background-color: #1e1e1e;
}
.dash-results-container {
.results-container {
spacing: 4px;
}
@ -513,16 +526,13 @@ StTooltip {
width: 440px;
}
#dashAppWell {
.icon-grid {
spacing: 6px;
-shell-grid-item-size: 70px;
}
.all-app {
border-radius: 10px;
background-color: #111111;
border: 2px solid #868686;
color: #ffffff;
padding: 10px;
}
.app-section-divider-container {
@ -535,46 +545,48 @@ StTooltip {
background-image: url("separator-white.png");
}
.all-app-controls-panel {
height: 30px;
#dash > .app-well-app {
padding: 6px 12px;
}
.all-app-scroll-view {
padding-right: 10px;
padding-left: 10px;
padding-bottom: 10px;
.remove-favorite-icon {
color: #a0a0a0;
}
.app-well-app {
border: 1px solid #181818;
.remove-favorite-icon:hover {
color: white;
}
.app-well-app > .overview-icon,
.remove-favorite > .overview-icon,
.search-result-content > .overview-icon {
border-radius: 4px;
padding: 4px;
width: 70px;
height: 70px;
font-size: 10px;
color: white;
transition-duration: 100;
text-align: center;
}
.app-well-app.running {
background-gradient-direction: vertical;
background-gradient-start: #3d3d3d;
background-gradient-end: #181818;
.app-well-app.running > .overview-icon {
text-shadow: black 0px 2px 2px;
background-image: url("running-indicator.svg");
}
.app-well-app.selected {
border: 1px solid #666666;
.app-well-app:selected > .overview-icon,
.search-result-content:selected > .overview-icon {
background: rgba(255,255,255,0.33);
}
.app-well-app:hover {
border: 1px solid #666666;
background-gradient-direction: vertical;
background-gradient-start: rgba(61,61,61,0.8);
background-gradient-end: rgba(24,24,24,0.2);
.app-well-app:hover > .overview-icon,
.remove-favorite:hover > .overview-icon,
.search-result-content:hover > .overview-icon {
background: rgba(255,255,255,0.33);
text-shadow: black 0px 2px 2px;
transition-duration: 100;
}
.app-well-app:active {
.app-well-app:active > .overview-icon {
background-color: #1e1e1e;
border: 1px solid #5f5f5f;
}
@ -807,7 +819,7 @@ StTooltip {
background-gradient-direction: vertical;
background-gradient-start: rgba(0,0,0,0.01);
background-gradient-end: rgba(0,0,0,0.95);
height: 28px;
height: 36px;
}
#notification {
@ -815,15 +827,29 @@ StTooltip {
border-radius: 5px 5px 0px 0px;
background: rgba(0,0,0,0.9);
color: white;
padding: 2px 10px 10px 10px;
spacing-rows: 5px;
padding: 8px 8px 4px 8px;
spacing-rows: 10px;
spacing-columns: 10px;
max-width: 40em;
width: 34em;
}
#summary-notification-bin #notification {
/* message-tray.height + notification.padding-bottom */
padding-bottom: 38px;
.multi-line-notification {
padding-bottom: 8px;
}
.summary-notification-boxpointer {
-arrow-border-radius: 9px;
-arrow-background-color: rgba(0,0,0,0.9);
-arrow-border-width: 2px;
-arrow-border-color: #5f5f5f;
-arrow-base: 30px;
-arrow-rise: 15px;
}
.summary-notification-boxpointer #notification {
border-radius: 9px;
background: rgba(0,0,0,0) !important;
padding-bottom: 12px;
}
#notification-scrollview {
@ -843,39 +869,74 @@ StTooltip {
}
.notification-button {
border: 2px rgba(0,0,0,0.0);
border-radius: 5px;
padding: 5px;
background: #c0c0c0;
color: black;
font-weight: bold;
background-color: #3c3c3c;
padding: 2px 14px;
border-radius: 12px;
border: 1px solid #181818;
}
.notification-button:hover {
border: 2px solid white;
border: 1px solid #a1a1a1;
}
.notification-button:active {
border: 2px solid white;
background: #808080;
border: 1px solid #a1a1a1;
background-color: #2b2b2b;
}
.notification-icon-button {
border: 2px rgba(0,0,0,0.0);
border-radius: 5px;
padding: 5px;
}
.notification-icon-button:hover {
background: rgba(192,192,192,0.7);
}
.notification-icon-button:active {
background: rgba(128,128,128,0.7);
}
.notification-icon-button > StIcon {
icon-size: 36px;
}
.chat-received {
background-gradient-direction: horizontal;
background-gradient-start: #606060;
background-gradient-end: #000000;
background-gradient-start: rgba(255, 255, 255, 0.2);
background-gradient-end: rgba(255, 255, 255, 0);
min-width: 20em;
padding-left: 4px;
border-radius: 4px;
}
.chat-sent {
background-gradient-direction: horizontal;
background-gradient-start: #000000;
background-gradient-end: #606060;
background-gradient-start: rgba(255, 255, 255, 0);
background-gradient-end: rgba(255, 255, 255, 0.2);
padding-left: 4px;
border-radius: 4px;
}
.chat-response {
border: 1px solid white;
padding: 4px;
border-radius: 4px;
border: 1px solid #565656;
color: #a8a8a8;
background-color: #404040;
caret-color: #ffffff;
caret-size: 1px;
height: 18px;
}
.chat-response:focus {
border: 1px solid #3a3a3a;
color: #545454;
background-color: #e8e8e8;
caret-color: #545454;
-st-shadow: 0px 0px 6px 2px rgba(255,255,255,0.9);
}
/* The spacing and padding on the summary is tricky; we want to keep
@ -887,32 +948,32 @@ StTooltip {
* icons in it, and so you wouldn't be able to hover over it to
* activate it.
*
* The padding-right on the non-rightmost icons is noticeable and
* slightly annoying. If StBoxLayout implemented the ":last-child"
* pseudo-class we could fix that...
* Also, the spacing between a summary-source's icon and title is
* actually specified as padding-left in source-title, because we
* want the spacing to collapse along with the title.
*/
#summary-mode {
spacing: 4px;
padding: 2px 0px 0px 4px;
}
.summary-source-button {
padding: 0px 2px 0px 2px;
border: 1px solid transparent;
}
.summary-source-button:hover {
border: 1px solid #ffffff;
height: 36px;
}
.summary-source {
spacing: 4px;
}
.summary-source-button {
padding-left: 3px;
padding-right: 3px;
}
.summary-source-button:last-child {
padding-right: 12px;
}
.source-title {
font: 12px sans-serif;
font-weight: bold;
color: white;
padding-left: 4px;
}
.calendar-calendarweek {
@ -928,8 +989,8 @@ StTooltip {
.switcher-list {
background: rgba(0,0,0,0.8);
border: 1px solid rgba(128,128,128,0.40);
border-radius: 8px;
padding: 18px;
border-radius: 24px;
padding: 20px;
font: 12px sans-serif;
color: white;
@ -943,7 +1004,9 @@ StTooltip {
background-gradient-direction: horizontal;
background-gradient-start: rgba(51, 51, 51, 1.0);
background-gradient-end: rgba(51, 51, 51, 0);
border-radius: 8px;
border-radius: 24px;
border-radius-topright: 0px;
border-radius-bottomright: 0px;
width: 60px;
}
@ -951,13 +1014,15 @@ StTooltip {
background-gradient-direction: horizontal;
background-gradient-start: rgba(51, 51, 51, 0);
background-gradient-end: rgba(51, 51, 51, 1.0);
border-radius: 8px;
border-radius: 24px;
border-radius-topleft: 0px;
border-radius-bottomleft: 0px;
width: 60px;
}
.switcher-list .item-box {
padding: 8px;
border-radius: 4px;
border-radius: 8px;
}
.switcher-list .thumbnail-box {
@ -972,12 +1037,12 @@ StTooltip {
.switcher-list .outlined-item-box {
padding: 6px;
border: 2px solid rgba(85,85,85,1.0);
border-radius: 4px;
border-radius: 8px;
}
.switcher-list .selected-item-box {
padding: 8px;
border-radius: 4px;
border-radius: 8px;
background: rgba(255,255,255,0.33);
}
@ -1010,16 +1075,16 @@ StTooltip {
.workspace-switcher-container {
background: rgba(0,0,0,0.8);
border: 1px solid rgba(128,128,128,0.40);
border-radius: 8px;
padding: 12px;
border-radius: 24px;
padding: 20px;
}
.workspace-switcher {
background: transparent;
border: 0px;
border-radius: 0px;
padding: 4px;
spacing: 4.5px;
padding: 0px;
spacing: 8px;
}
.ws-switcher-active-left {
@ -1027,7 +1092,7 @@ StTooltip {
border: 0px;
background: rgba(255,255,255,0.5);
background-image: url("ws-switch-arrow-left.svg");
border-radius: 4px;
border-radius: 8px;
}
.ws-switcher-active-right {
@ -1035,14 +1100,14 @@ StTooltip {
border: 0px;
background: rgba(255,255,255,0.5);
background-image: url("ws-switch-arrow-right.svg");
border-radius: 4px;
border-radius: 8px;
}
.ws-switcher-box {
height: 96px;
border: 2px solid rgba(85,85,85,0.5);
background: transparent;
border-radius: 4px;
border-radius: 8px;
}
/* Run Dialog */

View File

@ -0,0 +1,89 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="74.01342"
height="74.006706"
id="svg7355"
version="1.1">
<defs
id="defs7357">
<radialGradient
xlink:href="#linearGradient36429"
id="radialGradient7461"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0525552,0,0,1.0525552,-2.5162753,-9.0000838)"
cx="47.878681"
cy="171.25"
fx="47.878681"
fy="171.25"
r="37" />
<linearGradient
id="linearGradient36429">
<stop
id="stop36431"
offset="0"
style="stop-color:#ffffff;stop-opacity:1;" />
<stop
id="stop36433"
offset="1"
style="stop-color:#ffffff;stop-opacity:0;" />
</linearGradient>
<radialGradient
xlink:href="#linearGradient36471"
id="radialGradient7463"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.1891549,0,0,0.55513246,-9.281289,36.12653)"
cx="49.067139"
cy="242.50381"
fx="49.067139"
fy="242.50381"
r="37.00671" />
<linearGradient
id="linearGradient36471">
<stop
id="stop36473"
offset="0"
style="stop-color:#ffffff;stop-opacity:1;" />
<stop
id="stop36475"
offset="1"
style="stop-color:#ffffff;stop-opacity:0;" />
</linearGradient>
<radialGradient
r="37.00671"
fy="242.50381"
fx="49.067139"
cy="242.50381"
cx="49.067139"
gradientTransform="matrix(1.1891549,0,0,0.55513246,-9.281289,36.12653)"
gradientUnits="userSpaceOnUse"
id="radialGradient7488"
xlink:href="#linearGradient36471" />
</defs>
<g
id="layer1"
transform="translate(-266.21629,-168.11809)">
<g
style="display:inline"
id="g30864"
transform="translate(255.223,70.118091)">
<rect
ry="3.5996203"
rx="3.5996203"
y="98"
x="11"
height="74"
width="74"
id="rect14000"
style="opacity:0.371875;fill:url(#radialGradient7461);fill-opacity:1;stroke:none" />
<path
id="rect34520"
d="m 84.506708,167.95508 c 6e-6,1.96759 -1.584022,3.55162 -3.551629,3.55163 l -65.910146,0 c -1.967608,-1e-5 -3.551648,-1.58402 -3.551643,-3.55164"
style="opacity:0.2;fill:none;stroke:url(#radialGradient7488);stroke-width:1;stroke-opacity:1" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@ -0,0 +1,126 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="64"
height="22"
id="svg3273"
version="1.1"
inkscape:version="0.47 r22583"
sodipodi:docname="New document 14">
<defs
id="defs3275">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
id="perspective3281" />
<inkscape:perspective
id="perspective3261"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.35"
inkscape:cx="32.000004"
inkscape:cy="10.999997"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="609"
inkscape:window-height="501"
inkscape:window-x="0"
inkscape:window-y="26"
inkscape:window-maximized="0" />
<metadata
id="metadata3278">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-343,-521.36218)">
<g
id="g17454"
transform="translate(-453,448.36218)"
style="display:inline">
<rect
transform="scale(-1,1)"
ry="4"
rx="4"
y="74.5"
x="-859.5"
height="19"
width="63.000004"
id="rect17456"
style="color:#000000;fill:none;stroke:#2e3436;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<rect
transform="scale(-1,1)"
ry="4"
rx="4"
y="74"
x="-828"
height="20"
width="31"
id="rect17458"
style="fill:#000000;fill-opacity:1;stroke:#5f5f5f;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline" />
<g
transform="matrix(-1,0,0,1,1619.1239,-33.986291)"
id="g17460"
style="display:inline">
<path
style="fill:none;stroke:#5f5f5f;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1"
d="m 803.6322,115.48629 0,4.29495"
id="path17462"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#5f5f5f;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1;display:inline"
d="m 806.62805,115.48629 0,4.29495"
id="path17464"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#5f5f5f;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1;display:inline"
d="m 809.6239,115.48629 0,4.29495"
id="path17466"
inkscape:connector-curvature="0" />
</g>
<path
sodipodi:type="arc"
style="color:#000000;fill:none;stroke:#ffffff;stroke-width:1.96875012;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="path18722"
sodipodi:cx="47.6875"
sodipodi:cy="11.5625"
sodipodi:rx="3.9375"
sodipodi:ry="3.9375"
d="m 51.625,11.5625 c 0,2.174621 -1.762879,3.9375 -3.9375,3.9375 -2.174621,0 -3.9375,-1.762879 -3.9375,-3.9375 0,-2.1746212 1.762879,-3.9375 3.9375,-3.9375 2.174621,0 3.9375,1.7628788 3.9375,3.9375 z"
transform="matrix(1.0158729,0,0,1.0158729,795.55556,72.25399)" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

@ -0,0 +1,138 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="64"
height="22"
id="svg3012"
version="1.1"
inkscape:version="0.47 r22583"
sodipodi:docname="New document 6">
<defs
id="defs3014">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
id="perspective3020" />
<inkscape:perspective
id="perspective2997"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.35"
inkscape:cx="32.000004"
inkscape:cy="10.999997"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="609"
inkscape:window-height="501"
inkscape:window-x="0"
inkscape:window-y="26"
inkscape:window-maximized="0" />
<metadata
id="metadata3017">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-343,-521.36218)">
<g
id="g17454"
transform="translate(-453,448.36218)"
style="display:inline">
<rect
transform="scale(-1,1)"
ry="4"
rx="4"
y="74.5"
x="-859.5"
height="19"
width="63.000004"
id="rect17456"
style="color:#000000;fill:none;stroke:#2e3436;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<rect
transform="scale(-1,1)"
ry="4"
rx="4"
y="74"
x="-828"
height="20"
width="31"
id="rect17458"
style="fill:#000000;fill-opacity:1;stroke:#5f5f5f;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline" />
<g
transform="matrix(-1,0,0,1,1619.1239,-33.986291)"
id="g17460"
style="display:inline">
<path
style="fill:none;stroke:#5f5f5f;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1"
d="m 803.6322,115.48629 0,4.29495"
id="path17462"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#5f5f5f;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1;display:inline"
d="m 806.62805,115.48629 0,4.29495"
id="path17464"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#5f5f5f;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1;display:inline"
d="m 809.6239,115.48629 0,4.29495"
id="path17466"
inkscape:connector-curvature="0" />
</g>
<g
style="font-size:8.95877075px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Cantarell;-inkscape-font-specification:Cantarell Bold"
id="text17468"
transform="translate(0.34375,0)">
<path
d="m 837.28518,80.750726 c 0.63282,6e-6 1.19566,0.123947 1.68852,0.371824 0.49284,0.247888 0.8807,0.609505 1.16359,1.084851 0.28287,0.472439 0.42431,1.022155 0.42431,1.649149 0,0.635748 -0.13853,1.200045 -0.41556,1.692892 -0.27706,0.489934 -0.66638,0.870507 -1.16797,1.141719 -0.5016,0.271213 -1.07756,0.406819 -1.72789,0.406819 -0.42869,0 -0.83551,-0.06562 -1.22045,-0.196848 -0.38495,-0.134148 -0.73053,-0.32808 -1.03674,-0.581795 -0.30329,-0.256631 -0.54534,-0.589085 -0.72615,-0.997363 -0.17789,-0.408276 -0.26684,-0.869045 -0.26683,-1.382311 -10e-6,-0.638658 0.13997,-1.200039 0.41994,-1.684144 0.27996,-0.487011 0.66782,-0.858835 1.16359,-1.115472 0.49576,-0.259541 1.06297,-0.389315 1.70164,-0.389321 m 0.57305,1.089225 c -0.20123,-0.05249 -0.40683,-0.07873 -0.61679,-0.07874 -0.20998,5e-6 -0.41412,0.02625 -0.61242,0.07874 -0.19831,0.04958 -0.38933,0.129779 -0.57305,0.240592 -0.18081,0.107907 -0.33974,0.242055 -0.47681,0.402445 -0.13706,0.160399 -0.24642,0.358705 -0.32808,0.594918 -0.0816,0.233306 -0.12248,0.491395 -0.12248,0.774269 0,0.67366 0.20851,1.214627 0.62554,1.622903 0.41702,0.408278 0.93758,0.612416 1.56166,0.612416 0.25954,0 0.51034,-0.04229 0.7524,-0.126858 0.24496,-0.08457 0.47097,-0.20997 0.67803,-0.376198 0.20705,-0.166226 0.37328,-0.392236 0.49868,-0.678032 0.12539,-0.285792 0.18809,-0.610956 0.1881,-0.975492 -10e-6,-0.297455 -0.0437,-0.568668 -0.13123,-0.813638 -0.0875,-0.247878 -0.20415,-0.453475 -0.34995,-0.61679 -0.14291,-0.163307 -0.31059,-0.301829 -0.50306,-0.415568 -0.18956,-0.11373 -0.38641,-0.195385 -0.59054,-0.244967"
style="line-height:125%;fill:#ffffff;fill-opacity:1;marker:none;font-family:Cantarell;-inkscape-font-specification:Cantarell Bold"
id="path18599"
inkscape:connector-curvature="0" />
<path
d="m 843.5362,81.831203 0,1.17917 2.94834,0 0,1.014861 -2.94834,0 0,3.00713 -1.10673,0 0,-6.216022 4.31754,0 0,1.014861 -3.21081,0"
style="line-height:125%;fill:#ffffff;fill-opacity:1;marker:none;font-family:Cantarell;-inkscape-font-specification:Cantarell Bold"
id="path18601"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccccc" />
<path
d="m 849.71285,81.831203 0,1.17917 2.94834,0 0,1.014861 -2.94834,0 0,3.00713 -1.10672,0 0,-6.216022 4.31753,0 0,1.014861 -3.21081,0"
style="line-height:125%;fill:#ffffff;fill-opacity:1;marker:none;font-family:Cantarell;-inkscape-font-specification:Cantarell Bold"
id="path18603"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccccc" />
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.2 KiB

View File

@ -0,0 +1,122 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="65"
height="22"
id="svg3199"
version="1.1"
inkscape:version="0.47 r22583"
sodipodi:docname="New document 11">
<defs
id="defs3201">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
id="perspective3207" />
<inkscape:perspective
id="perspective3187"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.35"
inkscape:cx="32.500004"
inkscape:cy="10.999997"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="609"
inkscape:window-height="501"
inkscape:window-x="0"
inkscape:window-y="26"
inkscape:window-maximized="0" />
<metadata
id="metadata3204">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-342.5,-521.36218)">
<g
style="display:inline"
transform="translate(-453.5,448.36218)"
id="g16453">
<rect
style="color:#000000;fill:#204a87;fill-opacity:1;fill-rule:nonzero;stroke:#3465a4;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect16256-9-4"
width="63.000004"
height="19"
x="-859.5"
y="74.5"
rx="4"
ry="4"
transform="scale(-1,1)" />
<rect
style="fill:#000000;fill-opacity:1;stroke:#5f5f5f;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
id="rect16258-5-4"
width="31"
height="20"
x="-860"
y="74"
rx="4"
ry="4"
transform="scale(-1,1)" />
<g
style="display:inline"
id="g16298-3-6"
transform="matrix(-1,0,0,1,1651.1322,-33.986291)">
<path
inkscape:connector-curvature="0"
id="path16265-3-5"
d="m 803.6322,115.48629 0,4.29495"
style="fill:none;stroke:#5f5f5f;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path16265-0-2-0"
d="m 806.62805,115.48629 0,4.29495"
style="fill:none;stroke:#5f5f5f;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1;display:inline" />
<path
inkscape:connector-curvature="0"
id="path16265-8-7-1"
d="m 809.6239,115.48629 0,4.29495"
style="fill:none;stroke:#5f5f5f;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1;display:inline" />
</g>
<path
style="color:#000000;fill:#eeeeec;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="m 16,27.9375 0,10.125"
id="path19232"
inkscape:connector-curvature="0"
transform="translate(796,51.00002)" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.5 KiB

128
data/theme/toggle-on-us.svg Normal file
View File

@ -0,0 +1,128 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="65"
height="22"
id="svg2857"
version="1.1"
inkscape:version="0.47 r22583"
sodipodi:docname="New document 2">
<defs
id="defs2859">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
id="perspective2865" />
<inkscape:perspective
id="perspective2843"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1"
inkscape:cx="-69.642856"
inkscape:cy="42.428569"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="609"
inkscape:window-height="501"
inkscape:window-x="0"
inkscape:window-y="26"
inkscape:window-maximized="0" />
<metadata
id="metadata2862">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-444.64286,-781.36218)">
<g
style="display:inline"
transform="translate(-351.35714,708.36218)"
id="g16453">
<rect
style="color:#000000;fill:#204a87;fill-opacity:1;fill-rule:nonzero;stroke:#3465a4;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect16256-9-4"
width="63.000004"
height="19"
x="-859.5"
y="74.5"
rx="4"
ry="4"
transform="scale(-1,1)" />
<rect
style="fill:#000000;fill-opacity:1;stroke:#5f5f5f;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
id="rect16258-5-4"
width="31"
height="20"
x="-860"
y="74"
rx="4"
ry="4"
transform="scale(-1,1)" />
<g
style="display:inline"
id="g16298-3-6"
transform="matrix(-1,0,0,1,1651.1322,-33.986291)">
<path
inkscape:connector-curvature="0"
id="path16265-3-5"
d="m 803.6322,115.48629 0,4.29495"
style="fill:none;stroke:#5f5f5f;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path16265-0-2-0"
d="m 806.62805,115.48629 0,4.29495"
style="fill:none;stroke:#5f5f5f;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1;display:inline" />
<path
inkscape:connector-curvature="0"
id="path16265-8-7-1"
d="m 809.6239,115.48629 0,4.29495"
style="fill:none;stroke:#5f5f5f;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1;display:inline" />
</g>
<g
style="font-size:8.95877075px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Cantarell;-inkscape-font-specification:Cantarell Bold"
id="text42229-3-0">
<path
d="m 808.01473,80.573953 c 0.63283,6e-6 1.19567,0.123947 1.68852,0.371824 0.49284,0.247888 0.88071,0.609505 1.16359,1.084851 0.28287,0.472439 0.42431,1.022155 0.42432,1.649149 -10e-6,0.635748 -0.13853,1.200045 -0.41557,1.692892 -0.27705,0.489934 -0.66637,0.870506 -1.16796,1.141719 -0.50161,0.271212 -1.07757,0.406819 -1.72789,0.406819 -0.4287,0 -0.83552,-0.06562 -1.22046,-0.196848 -0.38495,-0.134148 -0.73053,-0.32808 -1.03673,-0.581795 -0.3033,-0.256631 -0.54535,-0.589085 -0.72615,-0.997363 -0.1779,-0.408276 -0.26684,-0.869045 -0.26684,-1.382311 0,-0.638658 0.13998,-1.200039 0.41994,-1.684144 0.27996,-0.487011 0.66782,-0.858835 1.16359,-1.115472 0.49576,-0.259541 1.06298,-0.389315 1.70164,-0.389321 m 0.57305,1.089225 c -0.20123,-0.05249 -0.40682,-0.07873 -0.61679,-0.07874 -0.20998,5e-6 -0.41411,0.02625 -0.61242,0.07874 -0.19831,0.04958 -0.38932,0.129779 -0.57304,0.240592 -0.18081,0.107907 -0.33975,0.242055 -0.47681,0.402445 -0.13707,0.160399 -0.24643,0.358705 -0.32808,0.594918 -0.0817,0.233305 -0.12249,0.491395 -0.12249,0.774269 0,0.67366 0.20851,1.214627 0.62554,1.622902 0.41703,0.408279 0.93758,0.612417 1.56166,0.612416 0.25955,10e-7 0.51035,-0.04228 0.7524,-0.126857 0.24496,-0.08457 0.47097,-0.20997 0.67803,-0.376199 0.20705,-0.166225 0.37328,-0.392236 0.49868,-0.678031 0.1254,-0.285792 0.1881,-0.610956 0.1881,-0.975492 0,-0.297455 -0.0437,-0.568668 -0.13123,-0.813638 -0.0875,-0.247878 -0.20414,-0.453475 -0.34995,-0.61679 -0.1429,-0.163307 -0.31059,-0.301829 -0.50306,-0.415568 -0.18956,-0.11373 -0.38641,-0.195385 -0.59054,-0.244967"
style="line-height:125%;fill:#ffffff;fill-opacity:1;marker:none;font-family:Cantarell;-inkscape-font-specification:Cantarell Bold"
id="path18606" />
<path
d="m 813.15903,80.639569 1.21608,0 3.4689,4.776844 0,-4.776844 1.10235,0 0,6.216022 -1.22921,0 -3.45577,-4.785594 0,4.785594 -1.10235,0 0,-6.216022"
style="line-height:125%;fill:#ffffff;fill-opacity:1;marker:none;font-family:Cantarell;-inkscape-font-specification:Cantarell Bold"
id="path18608" />
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.7 KiB

View File

@ -1 +1,56 @@
SUBDIRS = misc ui perf prefs
jsdir = $(pkgdatadir)/js
nobase_dist_js_DATA = \
misc/docInfo.js \
misc/fileUtils.js \
misc/format.js \
misc/gnomeSession.js \
misc/params.js \
misc/telepathy.js \
perf/core.js \
prefs/clockPreferences.js \
ui/altTab.js \
ui/appDisplay.js \
ui/appFavorites.js \
ui/boxpointer.js \
ui/calendar.js \
ui/chrome.js \
ui/dash.js \
ui/dnd.js \
ui/docDisplay.js \
ui/environment.js \
ui/extensionSystem.js \
ui/genericDisplay.js \
ui/iconGrid.js \
ui/lightbox.js \
ui/link.js \
ui/lookingGlass.js \
ui/magnifier.js \
ui/magnifierDBus.js \
ui/main.js \
ui/messageTray.js \
ui/notificationDaemon.js \
ui/overview.js \
ui/panel.js \
ui/panelMenu.js \
ui/placeDisplay.js \
ui/popupMenu.js \
ui/runDialog.js \
ui/scripting.js \
ui/search.js \
ui/searchDisplay.js \
ui/shellDBus.js \
ui/statusIconDispatcher.js \
ui/statusMenu.js \
ui/status/accessibility.js \
ui/status/power.js \
ui/status/volume.js \
ui/telepathyClient.js \
ui/tweener.js \
ui/viewSelector.js \
ui/windowAttentionHandler.js \
ui/windowManager.js \
ui/workspace.js \
ui/workspacesView.js \
ui/workspaceSwitcherPopup.js

View File

@ -1,8 +0,0 @@
jsmiscdir = $(pkgdatadir)/js/misc
dist_jsmisc_DATA = \
docInfo.js \
format.js \
gnomeSession.js \
params.js \
telepathy.js

View File

@ -1,15 +1,10 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
const Clutter = imports.gi.Clutter;
const Gio = imports.gi.Gio;
const Gtk = imports.gi.Gtk;
const St = imports.gi.St;
const Shell = imports.gi.Shell;
const Lang = imports.lang;
const Signals = imports.signals;
const Search = imports.ui.search;
const Main = imports.ui.main;
const THUMBNAIL_ICON_MARGIN = 2;
@ -23,7 +18,7 @@ DocInfo.prototype = {
// We actually used get_modified() instead of get_visited()
// here, as GtkRecentInfo doesn't updated get_visited()
// correctly. See http://bugzilla.gnome.org/show_bug.cgi?id=567094
this.timestamp = recentInfo.get_modified().getTime() / 1000;
this.timestamp = recentInfo.get_modified();
this.name = recentInfo.get_display_name();
this._lowerName = this.name.toLowerCase();
this.uri = recentInfo.get_uri();
@ -44,15 +39,12 @@ DocInfo.prototype = {
let term = terms[i];
let idx = this._lowerName.indexOf(term);
if (idx == 0) {
if (mtype != Search.MatchType.NONE)
return Search.MatchType.MULTIPLE;
mtype = Search.MatchType.PREFIX;
} else if (idx > 0) {
if (mtype != Search.MatchType.NONE)
return Search.MatchType.MULTIPLE;
mtype = Search.MatchType.SUBSTRING;
if (mtype == Search.MatchType.NONE)
mtype = Search.MatchType.SUBSTRING;
} else {
continue;
return Search.MatchType.NONE;
}
}
return mtype;
@ -114,39 +106,35 @@ DocManager.prototype = {
return this._docSystem.queue_existence_check(count);
},
initialSearch: function(terms) {
let multipleMatches = [];
_searchDocs: function(items, terms) {
let multiplePrefixMatches = [];
let prefixMatches = [];
let multipleSubtringMatches = [];
let substringMatches = [];
for (let i = 0; i < this._infosByTimestamp.length; i++) {
let item = this._infosByTimestamp[i];
for (let i = 0; i < items.length; i++) {
let item = items[i];
let mtype = item.matchTerms(terms);
if (mtype == Search.MatchType.MULTIPLE)
multipleMatches.push(item.uri);
if (mtype == Search.MatchType.MULTIPLE_PREFIX)
multiplePrefixMatches.push(item.uri);
else if (mtype == Search.MatchType.PREFIX)
prefixMatches.push(item.uri);
else if (mtype == Search.MatchType.MULTIPLE_SUBSTRING)
multipleSubtringMatches.push(item.uri);
else if (mtype == Search.MatchType.SUBSTRING)
substringMatches.push(item.uri);
}
return multipleMatches.concat(prefixMatches.concat(substringMatches));
return multiplePrefixMatches.concat(prefixMatches.concat(multipleSubtringMatches.concat(substringMatches)));
},
initialSearch: function(terms) {
return this._searchDocs(this._infosByTimestamp, terms);
},
subsearch: function(previousResults, terms) {
let multipleMatches = [];
let prefixMatches = [];
let substringMatches = [];
for (let i = 0; i < previousResults.length; i++) {
let uri = previousResults[i];
let item = this._infosByUri[uri];
let mtype = item.matchTerms(terms);
if (mtype == Search.MatchType.MULTIPLE)
multipleMatches.push(uri);
else if (mtype == Search.MatchType.PREFIX)
prefixMatches.push(uri);
else if (mtype == Search.MatchType.SUBSTRING)
substringMatches.push(uri);
}
return multipleMatches.concat(prefixMatches.concat(substringMatches));
return this._searchDocs(previousResults.map(Lang.bind(this,
function(url) {
return this._infosByUri[url];
})), terms);
}
};

22
js/misc/fileUtils.js Normal file
View File

@ -0,0 +1,22 @@
const Gio = imports.gi.Gio;
const GLib = imports.gi.GLib;
function listDirAsync(file, callback) {
let allFiles = [];
file.enumerate_children_async(Gio.FILE_ATTRIBUTE_STANDARD_NAME,
Gio.FileQueryInfoFlags.NONE,
GLib.PRIORITY_LOW, null, function (obj, res) {
let enumerator = obj.enumerate_children_finish(res);
function onNextFileComplete(obj, res) {
let files = obj.next_files_finish(res);
if (files.length) {
allFiles = allFiles.concat(files);
enumerator.next_files_async(100, GLib.PRIORITY_LOW, null, onNextFileComplete);
} else {
enumerator.close(null);
callback(allFiles);
}
}
enumerator.next_files_async(100, GLib.PRIORITY_LOW, null, onNextFileComplete);
});
}

View File

@ -2,28 +2,15 @@
const DBus = imports.dbus;
// D-Bus utils; should eventually move to gjs.
// https://bugzilla.gnome.org/show_bug.cgi?id=610859
function makeProxyClass(iface) {
let constructor = function() { this._init.apply(this, arguments); };
constructor.prototype._init = function(bus, name, path) {
bus.proxifyObject(this, name, path);
};
DBus.proxifyPrototype(constructor.prototype, iface);
return constructor;
}
// D-Bus utils
function nameToPath(name) {
return '/' + name.replace('.', '/', 'g');
return '/' + name.replace(/\./g, '/');
};
function pathToName(path) {
if (path[0] != '/')
throw new Error('not a D-Bus path: ' + path);
return path.substr(1).replace('/', '.', 'g');
return path.substr(1).replace(/\//g, '.');
};
// This is tp_escape_as_identifier() from telepathy-glib
@ -118,7 +105,7 @@ const ChannelDispatchOperationIface = {
outSignature: '' }
]
};
let ChannelDispatchOperation = makeProxyClass(ChannelDispatchOperationIface);
let ChannelDispatchOperation = DBus.makeProxyClass(ChannelDispatchOperationIface);
const CONNECTION_NAME = TELEPATHY + '.Connection';
const ConnectionIface = {
@ -128,7 +115,7 @@ const ConnectionIface = {
inSignature: 'uu' }
]
};
let Connection = makeProxyClass(ConnectionIface);
let Connection = DBus.makeProxyClass(ConnectionIface);
const ConnectionStatus = {
CONNECTED: 0,
@ -150,7 +137,7 @@ const ConnectionAliasingIface = {
inSignature: 'a(us)' }
]
};
let ConnectionAliasing = makeProxyClass(ConnectionAliasingIface);
let ConnectionAliasing = DBus.makeProxyClass(ConnectionAliasingIface);
const CONNECTION_AVATARS_NAME = CONNECTION_NAME + '.Interface.Avatars';
const ConnectionAvatarsIface = {
@ -174,7 +161,7 @@ const ConnectionAvatarsIface = {
}
]
};
let ConnectionAvatars = makeProxyClass(ConnectionAvatarsIface);
let ConnectionAvatars = DBus.makeProxyClass(ConnectionAvatarsIface);
const CONNECTION_CONTACTS_NAME = CONNECTION_NAME + '.Interface.Contacts';
const ConnectionContactsIface = {
@ -186,7 +173,7 @@ const ConnectionContactsIface = {
}
]
};
let ConnectionContacts = makeProxyClass(ConnectionContactsIface);
let ConnectionContacts = DBus.makeProxyClass(ConnectionContactsIface);
const CONNECTION_REQUESTS_NAME = CONNECTION_NAME + '.Interface.Requests';
const ConnectionRequestsIface = {
@ -215,7 +202,7 @@ const ConnectionRequestsIface = {
}
]
};
let ConnectionRequests = makeProxyClass(ConnectionRequestsIface);
let ConnectionRequests = DBus.makeProxyClass(ConnectionRequestsIface);
const CONNECTION_SIMPLE_PRESENCE_NAME = CONNECTION_NAME + '.Interface.SimplePresence';
const ConnectionSimplePresenceIface = {
@ -234,7 +221,7 @@ const ConnectionSimplePresenceIface = {
inSignature: 'a{u(uss)}' }
]
};
let ConnectionSimplePresence = makeProxyClass(ConnectionSimplePresenceIface);
let ConnectionSimplePresence = DBus.makeProxyClass(ConnectionSimplePresenceIface);
const ConnectionPresenceType = {
UNSET: 0,
@ -264,7 +251,7 @@ const ChannelIface = {
inSignature: '' }
]
};
let Channel = makeProxyClass(ChannelIface);
let Channel = DBus.makeProxyClass(ChannelIface);
const CHANNEL_TEXT_NAME = CHANNEL_NAME + '.Type.Text';
const ChannelTextIface = {
@ -285,10 +272,12 @@ const ChannelTextIface = {
],
signals: [
{ name: 'Received',
inSignature: 'uuuuus' }
inSignature: 'uuuuus' },
{ name: 'Sent',
inSignature: 'uus' }
]
};
let ChannelText = makeProxyClass(ChannelTextIface);
let ChannelText = DBus.makeProxyClass(ChannelTextIface);
const ChannelTextMessageType = {
NORMAL: 0,
@ -315,7 +304,7 @@ const ChannelGroupIface = {
inSignature: 'sauauauauuu' }
]
};
let ChannelGroup = makeProxyClass(ChannelGroupIface);
let ChannelGroup = DBus.makeProxyClass(ChannelGroupIface);
const ACCOUNT_MANAGER_NAME = TELEPATHY + '.AccountManager';
const AccountManagerIface = {
@ -330,7 +319,7 @@ const AccountManagerIface = {
inSignature: 'ob' }
]
};
let AccountManager = makeProxyClass(AccountManagerIface);
let AccountManager = DBus.makeProxyClass(AccountManagerIface);
const ACCOUNT_NAME = TELEPATHY + '.Account';
const AccountIface = {
@ -341,7 +330,7 @@ const AccountIface = {
access: 'read' }
]
};
let Account = makeProxyClass(AccountIface);
let Account = DBus.makeProxyClass(AccountIface);
const CHANNEL_DISPATCHER_NAME = TELEPATHY + '.ChannelDispatcher';
const ChannelDispatcherIface = {
@ -352,7 +341,7 @@ const ChannelDispatcherIface = {
outSignature: 'o' }
]
};
let ChannelDispatcher = makeProxyClass(ChannelDispatcherIface);
let ChannelDispatcher = DBus.makeProxyClass(ChannelDispatcherIface);
const CHANNEL_REQUEST_NAME = TELEPATHY + '.ChannelRequest';
const ChannelRequestIface = {
@ -369,4 +358,4 @@ const ChannelRequestIface = {
signature: '' }
]
};
let ChannelRequest = makeProxyClass(ChannelRequestIface);
let ChannelRequest = DBus.makeProxyClass(ChannelRequestIface);

View File

@ -1,4 +0,0 @@
jsperfdir = $(pkgdatadir)/js/perf
dist_jsperf_DATA = \
core.js

View File

@ -1,4 +0,0 @@
jsprefsdir = $(pkgdatadir)/js/prefs
dist_jsprefs_DATA = \
clockPreferences.js

View File

@ -1,39 +0,0 @@
jsuidir = $(pkgdatadir)/js/ui
dist_jsui_DATA = \
altTab.js \
appDisplay.js \
appFavorites.js \
boxpointer.js \
calendar.js \
chrome.js \
dash.js \
dnd.js \
docDisplay.js \
environment.js \
extensionSystem.js \
genericDisplay.js \
lightbox.js \
link.js \
lookingGlass.js \
magnifier.js \
magnifierDBus.js \
main.js \
messageTray.js \
notificationDaemon.js \
overview.js \
panel.js \
placeDisplay.js \
popupMenu.js \
runDialog.js \
scripting.js \
search.js \
shellDBus.js \
statusMenu.js \
telepathyClient.js \
tweener.js \
windowAttentionHandler.js \
windowManager.js \
workspacesView.js \
workspaceSwitcherPopup.js \
workspace.js

View File

@ -4,8 +4,6 @@ const Clutter = imports.gi.Clutter;
const Gdk = imports.gi.Gdk;
const Lang = imports.lang;
const Mainloop = imports.mainloop;
const Meta = imports.gi.Meta;
const Pango = imports.gi.Pango;
const Shell = imports.gi.Shell;
const Signals = imports.signals;
const St = imports.gi.St;
@ -104,9 +102,7 @@ AltTabPopup.prototype = {
childBox.x1 = Math.max(primary.x + leftPadding, childBox.x1 - offset - hPadding);
}
let [found, spacing] = this.actor.get_theme_node().get_length('spacing', false);
if (!found)
spacing = 0;
let spacing = this.actor.get_theme_node().get_length('spacing');
childBox.x2 = childBox.x1 + childNaturalWidth;
if (childBox.x2 > primary.x + primary.width - rightPadding)
@ -217,38 +213,45 @@ AltTabPopup.prototype = {
_keyPressEvent : function(actor, event) {
let keysym = event.get_key_symbol();
let shift = (Shell.get_event_state(event) & Clutter.ModifierType.SHIFT_MASK);
// X allows servers to represent Shift+Tab in two different ways
if (shift && keysym == Clutter.Tab)
keysym = Clutter.ISO_Left_Tab;
this._disableHover();
// The WASD stuff is for debugging in Xephyr, where the arrow
// keys aren't mapped correctly
if (keysym == Clutter.grave)
this._select(this._currentApp, shift ? this._previousWindow() : this._nextWindow());
this._select(this._currentApp, this._nextWindow());
else if (keysym == Clutter.asciitilde)
this._select(this._currentApp, this._previousWindow());
else if (keysym == Clutter.Escape)
this.destroy();
else if (this._thumbnailsFocused) {
if (keysym == Clutter.Tab) {
if (shift && (this._currentWindow == 0 || this._currentWindow == -1))
this._select(this._previousApp());
else if (!shift && this._currentWindow == this._appIcons[this._currentApp].cachedWindows.length - 1)
if (this._currentWindow == this._appIcons[this._currentApp].cachedWindows.length - 1)
this._select(this._nextApp());
else
this._select(this._currentApp, shift ? this._previousWindow() : this._nextWindow());
} else if (keysym == Clutter.Left || keysym == Clutter.a)
this._select(this._currentApp, this._nextWindow());
} else if (keysym == Clutter.ISO_Left_Tab) {
if (this._currentWindow == 0 || this._currentWindow == -1)
this._select(this._previousApp());
else
this._select(this._currentApp, this._previousWindow());
} else if (keysym == Clutter.Left)
this._select(this._currentApp, this._previousWindow());
else if (keysym == Clutter.Right || keysym == Clutter.d)
else if (keysym == Clutter.Right)
this._select(this._currentApp, this._nextWindow());
else if (keysym == Clutter.Up || keysym == Clutter.w)
else if (keysym == Clutter.Up)
this._select(this._currentApp, null, true);
} else {
if (keysym == Clutter.Tab)
this._select(shift ? this._previousApp() : this._nextApp());
else if (keysym == Clutter.Left || keysym == Clutter.a)
this._select(this._previousApp());
else if (keysym == Clutter.Right || keysym == Clutter.d)
this._select(this._nextApp());
else if (keysym == Clutter.Down || keysym == Clutter.s)
else if (keysym == Clutter.ISO_Left_Tab)
this._select(this._previousApp());
else if (keysym == Clutter.Left)
this._select(this._previousApp());
else if (keysym == Clutter.Right)
this._select(this._nextApp());
else if (keysym == Clutter.Down)
this._select(this._currentApp, 0);
}
@ -256,9 +259,10 @@ AltTabPopup.prototype = {
},
_keyReleaseEvent : function(actor, event) {
let keysym = event.get_key_symbol();
let [x, y, mods] = global.get_pointer();
let state = mods & Clutter.ModifierType.MOD1_MASK;
if (keysym == Clutter.Alt_L || keysym == Clutter.Alt_R)
if (state == 0)
this._finish();
return true;
@ -495,8 +499,7 @@ SwitcherList.prototype = {
this._list = new Shell.GenericContainer({ style_class: 'switcher-list-item-container' });
this._list.spacing = 0;
this._list.connect('style-changed', Lang.bind(this, function() {
let [found, spacing] = this._list.get_theme_node().get_length('spacing', false);
this._list.spacing = (found) ? spacing : 0;
this._list.spacing = this._list.get_theme_node().get_length('spacing');
}));
this._list.connect('get-preferred-width', Lang.bind(this, this._getPreferredWidth));
@ -1029,9 +1032,7 @@ ThumbnailList.prototype = {
let totalPadding = this._items[0].get_theme_node().get_horizontal_padding() + this._items[0].get_theme_node().get_vertical_padding();
totalPadding += this.actor.get_theme_node().get_horizontal_padding() + this.actor.get_theme_node().get_vertical_padding();
let [labelMinHeight, labelNaturalHeight] = this._labels[0].get_preferred_height(-1);
let [found, spacing] = this._items[0].child.get_theme_node().get_length('spacing', false);
if (!found)
spacing = 0;
let spacing = this._items[0].child.get_theme_node().get_length('spacing');
availHeight = Math.min(availHeight - labelNaturalHeight - totalPadding - spacing, THUMBNAIL_DEFAULT_SIZE);
let binHeight = availHeight + this._items[0].get_theme_node().get_vertical_padding() + this.actor.get_theme_node().get_vertical_padding() - spacing;

View File

@ -1,9 +1,6 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
const Clutter = imports.gi.Clutter;
const Pango = imports.gi.Pango;
const GLib = imports.gi.GLib;
const Gio = imports.gi.Gio;
const Gtk = imports.gi.Gtk;
const Shell = imports.gi.Shell;
const Lang = imports.lang;
@ -15,16 +12,15 @@ const _ = Gettext.gettext;
const AppFavorites = imports.ui.appFavorites;
const DND = imports.ui.dnd;
const GenericDisplay = imports.ui.genericDisplay;
const IconGrid = imports.ui.iconGrid;
const Main = imports.ui.main;
const Overview = imports.ui.overview;
const PopupMenu = imports.ui.popupMenu;
const Search = imports.ui.search;
const Tweener = imports.ui.tweener;
const Workspace = imports.ui.workspace;
const Params = imports.misc.params;
const APPICON_SIZE = 48;
const WELL_MAX_COLUMNS = 8;
const MENU_POPUP_TIMEOUT = 600;
function AlphabeticalView() {
@ -34,7 +30,7 @@ function AlphabeticalView() {
AlphabeticalView.prototype = {
_init: function() {
this.actor = new St.BoxLayout({ vertical: true });
this._grid = new WellGrid(true);
this._grid = new IconGrid.IconGrid();
this._appSystem = Shell.AppSystem.get_default();
this.actor.add(this._grid.actor, { y_align: St.Align.START, expand: true });
},
@ -150,22 +146,14 @@ AllAppDisplay.prototype = {
Main.queueDeferredWork(this._workId);
}));
let bin = new St.BoxLayout({ style_class: 'all-app-controls-panel',
reactive: true });
this.actor = new St.BoxLayout({ style_class: 'all-app', vertical: true });
this.actor.hide();
let view = new St.ScrollView({ x_fill: true,
y_fill: false,
style_class: 'all-app-scroll-view',
vshadows: true });
this._scrollView = view;
this.actor.add(bin);
this.actor.add(view, { expand: true, y_fill: false, y_align: St.Align.START });
this._scrollView = new St.ScrollView({ x_fill: true,
y_fill: false,
vshadows: true });
this.actor = new St.Bin({ style_class: 'all-app',
y_align: St.Align.START,
child: this._scrollView });
this._appView = new ViewByCategories();
this._appView.connect('launching', Lang.bind(this, this.close));
this._appView.connect('drag-begin', Lang.bind(this, this.close));
this._scrollView.add_actor(this._appView.actor);
this._scrollView.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC);
@ -179,171 +167,10 @@ AllAppDisplay.prototype = {
});
this._appView.refresh(apps);
},
toggle: function() {
if (this.actor.visible) {
Tweener.addTween(this.actor,
{ opacity: 0,
time: Overview.PANE_FADE_TIME,
transition: 'easeOutQuad',
onComplete: Lang.bind(this,
function() {
this.actor.hide();
this.emit('open-state-changed',
this.actor.visible);
})
});
} else {
this.actor.show();
this.emit('open-state-changed', this.actor.visible);
this.actor.opacity = 0;
Tweener.addTween(this.actor,
{ opacity: 255,
time: Overview.PANE_FADE_TIME,
transition: 'easeOutQuad'
});
}
},
close: function() {
if (!this.actor.visible)
return;
this.toggle();
}
};
Signals.addSignalMethods(AllAppDisplay.prototype);
function AppSearchResultDisplay(provider) {
this._init(provider);
}
AppSearchResultDisplay.prototype = {
__proto__: Search.SearchResultDisplay.prototype,
_init: function (provider) {
Search.SearchResultDisplay.prototype._init.call(this, provider);
this._spacing = 0;
this.actor = new St.Bin({ name: 'dashAppSearchResults',
x_align: St.Align.START });
this.actor.connect('style-changed', Lang.bind(this, this._onStyleChanged));
let container = new Shell.GenericContainer();
this._container = container;
this.actor.set_child(container);
container.connect('get-preferred-width', Lang.bind(this, this._getPreferredWidth));
container.connect('get-preferred-height', Lang.bind(this, this._getPreferredHeight));
container.connect('allocate', Lang.bind(this, this._allocate));
},
_getPreferredWidth: function (actor, forHeight, alloc) {
let children = actor.get_children();
for (let i = 0; i < children.length; i++) {
let [minSize, natSize] = children[i].get_preferred_width(forHeight);
alloc.natural_size += natSize;
}
},
_getPreferredHeight: function (actor, forWidth, alloc) {
let children = actor.get_children();
for (let i = 0; i < children.length; i++) {
let [minSize, natSize] = children[i].get_preferred_height(forWidth);
if (minSize > alloc.min_size)
alloc.min_size = minSize;
if (natSize > alloc.natural_size)
alloc.natural_size = natSize;
}
},
_allocate: function (actor, box, flags) {
let availWidth = box.x2 - box.x1;
let availHeight = box.y2 - box.y1;
let children = actor.get_children();
let x = 0;
let i;
for (i = 0; i < children.length; i++) {
let child = children[i];
let childBox = new Clutter.ActorBox();
let [minWidth, minHeight, natWidth, natHeight] = child.get_preferred_size();
if (x + natWidth > availWidth) {
actor.set_skip_paint(child, true);
continue;
}
let yPadding = Math.max(0, availHeight - natHeight);
childBox.x1 = x;
childBox.x2 = childBox.x1 + natWidth;
childBox.y1 = Math.floor(yPadding / 2);
childBox.y2 = availHeight - childBox.y1;
x = childBox.x2 + this._spacing;
child.allocate(childBox, flags);
actor.set_skip_paint(child, false);
}
},
_onStyleChanged: function () {
let themeNode = this.actor.get_theme_node();
let [success, len] = themeNode.get_length('spacing', false);
if (success)
this._spacing = len;
this._container.queue_relayout();
},
renderResults: function(results, terms) {
let appSys = Shell.AppSystem.get_default();
for (let i = 0; i < results.length && i < WELL_MAX_COLUMNS; i++) {
let result = results[i];
let app = appSys.get_app(result);
let display = new AppWellIcon(app);
this._container.add_actor(display.actor);
}
},
clear: function () {
this._container.get_children().forEach(function (actor) { actor.destroy(); });
this.selectionIndex = -1;
},
getVisibleResultCount: function() {
let nChildren = this._container.get_children().length;
return nChildren - this._container.get_n_skip_paint();
},
selectIndex: function (index) {
let nVisible = this.getVisibleResultCount();
let children = this._container.get_children();
if (this.selectionIndex >= 0) {
let prevActor = children[this.selectionIndex];
prevActor._delegate.setSelected(false);
}
this.selectionIndex = -1;
if (index >= nVisible)
return false;
else if (index < 0)
return false;
let targetActor = children[index];
targetActor._delegate.setSelected(true);
this.selectionIndex = index;
return true;
},
activateSelected: function() {
if (this.selectionIndex < 0)
return;
let children = this._container.get_children();
let targetActor = children[this.selectionIndex];
this.provider.activateResult(targetActor._delegate.app.get_id());
}
};
function BaseAppSearchProvider() {
this._init();
@ -396,12 +223,10 @@ AppSearchProvider.prototype = {
return this._appSys.subsearch(false, previousResults, terms);
},
createResultContainerActor: function () {
return new AppSearchResultDisplay(this);
},
createResultActor: function (resultMeta, terms) {
return new AppIcon(resultMeta.id);
let app = this._appSys.get_app(resultMeta['id']);
let icon = new AppWellIcon(app);
return icon.actor;
},
expandSearch: function(terms) {
@ -440,23 +265,20 @@ function AppIcon(app) {
}
AppIcon.prototype = {
__proto__: IconGrid.BaseIcon.prototype,
_init : function(app) {
this.app = app;
this.actor = new St.Bin({ style_class: 'app-icon',
x_fill: true,
y_fill: true });
this.actor._delegate = this;
let label = this.app.get_name();
let box = new St.BoxLayout({ vertical: true });
this.actor.set_child(box);
IconGrid.BaseIcon.prototype._init.call(this,
label,
{ setSizeManually: true });
},
this.icon = this.app.create_icon_texture(APPICON_SIZE);
box.add(this.icon, { expand: true, x_fill: false, y_fill: false });
this._name = new St.Label({ text: this.app.get_name() });
box.add_actor(this._name);
createIcon: function(iconSize) {
return this.app.create_icon_texture(iconSize);
}
};
@ -473,8 +295,8 @@ AppWellIcon.prototype = {
y_fill: true });
this.actor._delegate = this;
this._icon = new AppIcon(app);
this.actor.set_child(this._icon.actor);
this.icon = new AppIcon(app);
this.actor.set_child(this.icon.actor);
this.actor.connect('clicked', Lang.bind(this, this._onClicked));
@ -578,11 +400,10 @@ AppWellIcon.prototype = {
}
}));
this._menuManager.addMenu(this._menu, true);
this._menuManager.addMenu(this._menu);
}
this._menu.popup();
this._menuManager.grab();
return false;
},
@ -604,14 +425,6 @@ AppWellIcon.prototype = {
}
},
setSelected: function (isSelected) {
this._selected = isSelected;
if (this._selected)
this.actor.add_style_class_name('selected');
else
this.actor.remove_style_class_name('selected');
},
_onMenuPoppedUp: function() {
if (this._getRunning()) {
Main.overview.getWorkspacesForWindow(null).setApplicationWindowSelection(this.app.get_id());
@ -659,13 +472,13 @@ AppWellIcon.prototype = {
},
getDragActor: function() {
return this.app.create_icon_texture(APPICON_SIZE);
return this.app.create_icon_texture(this.icon.iconSize);
},
// Returns the original actor that should align with the actor
// we show as the item is being dragged.
getDragActorSource: function() {
return this._icon.icon;
return this.icon.icon;
}
};
Signals.addSignalMethods(AppWellIcon.prototype);
@ -834,242 +647,3 @@ AppIconMenu.prototype = {
}
};
Signals.addSignalMethods(AppIconMenu.prototype);
function WellGrid() {
this._init();
}
WellGrid.prototype = {
_init: function() {
this.actor = new St.BoxLayout({ name: 'dashAppWell', vertical: true });
// Pulled from CSS, but hardcode some defaults here
this._spacing = 0;
this._item_size = 48;
this._grid = new Shell.GenericContainer();
this.actor.add(this._grid, { expand: true, y_align: St.Align.START });
this.actor.connect('style-changed', Lang.bind(this, this._onStyleChanged));
this._grid.connect('get-preferred-width', Lang.bind(this, this._getPreferredWidth));
this._grid.connect('get-preferred-height', Lang.bind(this, this._getPreferredHeight));
this._grid.connect('allocate', Lang.bind(this, this._allocate));
},
_getPreferredWidth: function (grid, forHeight, alloc) {
let children = this._grid.get_children();
let nColumns = children.length;
let totalSpacing = Math.max(0, nColumns - 1) * this._spacing;
// Kind of a lie, but not really an issue right now. If
// we wanted to support some sort of hidden/overflow that would
// need higher level design
alloc.min_size = this._item_size;
alloc.natural_size = nColumns * this._item_size + totalSpacing;
},
_getPreferredHeight: function (grid, forWidth, alloc) {
let children = this._grid.get_children();
let [nColumns, usedWidth] = this._computeLayout(forWidth);
let nRows;
if (nColumns > 0)
nRows = Math.ceil(children.length / nColumns);
else
nRows = 0;
let totalSpacing = Math.max(0, nRows - 1) * this._spacing;
let height = nRows * this._item_size + totalSpacing;
alloc.min_size = height;
alloc.natural_size = height;
},
_allocate: function (grid, box, flags) {
let children = this._grid.get_children();
let availWidth = box.x2 - box.x1;
let availHeight = box.y2 - box.y1;
let [nColumns, usedWidth] = this._computeLayout(availWidth);
let overallPaddingX = Math.floor((availWidth - usedWidth) / 2);
let x = box.x1 + overallPaddingX;
let y = box.y1;
let columnIndex = 0;
for (let i = 0; i < children.length; i++) {
let [childMinWidth, childMinHeight, childNaturalWidth, childNaturalHeight]
= children[i].get_preferred_size();
/* Center the item in its allocation horizontally */
let width = Math.min(this._item_size, childNaturalWidth);
let childXSpacing = Math.max(0, width - childNaturalWidth) / 2;
let height = Math.min(this._item_size, childNaturalHeight);
let childYSpacing = Math.max(0, height - childNaturalHeight) / 2;
let childBox = new Clutter.ActorBox();
if (St.Widget.get_default_direction() == St.TextDirection.RTL) {
let _x = box.x2 - (x + width);
childBox.x1 = Math.floor(_x - childXSpacing);
} else {
childBox.x1 = Math.floor(x + childXSpacing);
}
childBox.y1 = Math.floor(y + childYSpacing);
childBox.x2 = childBox.x1 + width;
childBox.y2 = childBox.y1 + height;
children[i].allocate(childBox, flags);
columnIndex++;
if (columnIndex == nColumns) {
columnIndex = 0;
}
if (columnIndex == 0) {
y += this._item_size + this._spacing;
x = box.x1 + overallPaddingX;
} else {
x += this._item_size + this._spacing;
}
}
},
_computeLayout: function (forWidth) {
let children = this._grid.get_children();
let nColumns = 0;
let usedWidth = 0;
while (nColumns < WELL_MAX_COLUMNS &&
(usedWidth + this._item_size <= forWidth)) {
usedWidth += this._item_size + this._spacing;
nColumns += 1;
}
if (nColumns > 0)
usedWidth -= this._spacing;
return [nColumns, usedWidth];
},
_onStyleChanged: function() {
let themeNode = this.actor.get_theme_node();
let [success, len] = themeNode.get_length('spacing', false);
if (success)
this._spacing = len;
[success, len] = themeNode.get_length('-shell-grid-item-size', false);
if (success)
this._item_size = len;
this._grid.queue_relayout();
},
removeAll: function () {
this._grid.get_children().forEach(Lang.bind(this, function (child) {
child.destroy();
}));
},
addItem: function(actor) {
this._grid.add_actor(actor);
}
};
function AppWell() {
this._init();
}
AppWell.prototype = {
_init : function() {
this._placeholderText = null;
this._menus = [];
this._menuDisplays = [];
this._favorites = [];
this._grid = new WellGrid();
this.actor = this._grid.actor;
this.actor._delegate = this;
this._workId = Main.initializeDeferredWork(this.actor, Lang.bind(this, this._redisplay));
this._tracker = Shell.WindowTracker.get_default();
this._appSystem = Shell.AppSystem.get_default();
this._appSystem.connect('installed-changed', Lang.bind(this, this._queueRedisplay));
AppFavorites.getAppFavorites().connect('changed', Lang.bind(this, this._queueRedisplay));
this._tracker.connect('app-state-changed', Lang.bind(this, this._queueRedisplay));
},
_appIdListToHash: function(apps) {
let ids = {};
for (let i = 0; i < apps.length; i++)
ids[apps[i].get_id()] = apps[i];
return ids;
},
_queueRedisplay: function () {
Main.queueDeferredWork(this._workId);
},
_redisplay: function () {
this._grid.removeAll();
let favorites = AppFavorites.getAppFavorites().getFavoriteMap();
/* hardcode here pending some design about how exactly desktop contexts behave */
let contextId = '';
let running = this._tracker.get_running_apps(contextId);
let runningIds = this._appIdListToHash(running);
let nFavorites = 0;
for (let id in favorites) {
let app = favorites[id];
let display = new AppWellIcon(app);
this._grid.addItem(display.actor);
nFavorites++;
}
for (let i = 0; i < running.length; i++) {
let app = running[i];
if (app.get_id() in favorites)
continue;
let display = new AppWellIcon(app);
this._grid.addItem(display.actor);
}
if (this._placeholderText) {
this._placeholderText.destroy();
this._placeholderText = null;
}
if (running.length == 0 && nFavorites == 0) {
this._placeholderText = new St.Label({ text: _("Drag here to add favorites") });
this.actor.add_actor(this._placeholderText);
}
},
// Draggable target interface
acceptDrop : function(source, actor, x, y, time) {
let app = null;
if (source instanceof AppWellIcon) {
app = this._appSystem.get_app(source.getId());
} else if (source instanceof Workspace.WindowClone) {
app = this._tracker.get_window_app(source.metaWindow);
}
// Don't allow favoriting of transient apps
if (app == null || app.is_transient()) {
return false;
}
let id = app.get_id();
let favorites = AppFavorites.getAppFavorites().getFavoriteMap();
let srcIsFavorite = (id in favorites);
if (srcIsFavorite) {
return false;
} else {
Mainloop.idle_add(Lang.bind(this, function () {
AppFavorites.getAppFavorites().addFavorite(id);
return false;
}));
}
return true;
}
};
Signals.addSignalMethods(AppWell.prototype);

View File

@ -63,7 +63,7 @@ AppFavorites.prototype = {
return appId in this._favorites;
},
_addFavorite: function(appId) {
_addFavorite: function(appId, pos) {
if (appId in this._favorites)
return false;
@ -73,23 +73,35 @@ AppFavorites.prototype = {
return false;
let ids = this._getIds();
ids.push(appId);
if (pos == -1)
ids.push(appId);
else
ids.splice(pos, 0, appId);
global.settings.set_strv(this.FAVORITE_APPS_KEY, ids);
this._favorites[appId] = app;
return true;
},
addFavorite: function(appId) {
if (!this._addFavorite(appId))
addFavoriteAtPos: function(appId, pos) {
if (!this._addFavorite(appId, pos))
return;
let app = Shell.AppSystem.get_default().get_app(appId);
Main.overview.infoBar.setMessage(_("%s has been added to your favorites.").format(app.get_name()), Lang.bind(this, function () {
Main.overview.shellInfo.setMessage(_("%s has been added to your favorites.").format(app.get_name()), Lang.bind(this, function () {
this._removeFavorite(appId);
}));
},
addFavorite: function(appId) {
this.addFavoriteAtPos(appId, -1);
},
moveFavoriteToPos: function(appId, pos) {
this._removeFavorite(appId);
this._addFavorite(appId, pos);
},
_removeFavorite: function(appId) {
if (!appId in this._favorites)
return false;
@ -100,12 +112,16 @@ AppFavorites.prototype = {
},
removeFavorite: function(appId) {
let ids = this._getIds();
let pos = ids.indexOf(appId);
let app = this._favorites[appId];
if (!this._removeFavorite(appId))
return;
Main.overview.infoBar.setMessage(_("%s has been removed from your favorites.").format(this._favorites[appId].get_name()),
Main.overview.shellInfo.setMessage(_("%s has been removed from your favorites.").format(app.get_name()),
Lang.bind(this, function () {
this._addFavorite(appId);
this._addFavorite(appId, pos);
}));
}
};

View File

@ -1,11 +1,14 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
const Cairo = imports.cairo;
const Clutter = imports.gi.Clutter;
const Lang = imports.lang;
const St = imports.gi.St;
const Shell = imports.gi.Shell;
const Tweener = imports.ui.tweener;
const POPUP_ANIMATION_TIME = 0.15;
/**
* BoxPointer:
* @side: A St.Side type; currently only St.Side.TOP is implemented
@ -39,15 +42,84 @@ BoxPointer.prototype = {
this.bin.raise(this._border);
},
animateAppear: function(onComplete) {
let x = this.actor.x;
let y = this.actor.y;
let themeNode = this.actor.get_theme_node();
let rise = themeNode.get_length('-arrow-rise');
this.actor.opacity = 0;
this.actor.show();
switch (this._arrowSide) {
case St.Side.TOP:
this.actor.y -= rise;
break;
case St.Side.BOTTOM:
this.actor.y += rise;
break;
case St.Side.LEFT:
this.actor.x -= rise;
break;
case St.Side.RIGHT:
this.actor.x += rise;
break;
}
Tweener.addTween(this.actor, { opacity: 255,
x: x,
y: y,
transition: "linear",
onComplete: onComplete,
time: POPUP_ANIMATION_TIME });
},
animateDisappear: function(onComplete) {
let x = this.actor.x;
let y = this.actor.y;
let originalX = this.actor.x;
let originalY = this.actor.y;
let themeNode = this.actor.get_theme_node();
let rise = themeNode.get_length('-arrow-rise');
switch (this._arrowSide) {
case St.Side.TOP:
y += rise;
break;
case St.Side.BOTTOM:
y -= rise;
break;
case St.Side.LEFT:
x += rise;
break;
case St.Side.RIGHT:
x -= rise;
break;
}
Tweener.addTween(this.actor, { opacity: 0,
x: x,
y: y,
transition: "linear",
time: POPUP_ANIMATION_TIME,
onComplete: Lang.bind(this, function () {
this.actor.hide();
this.actor.x = originalX;
this.actor.y = originalY;
if (onComplete)
onComplete();
})
});
},
_adjustAllocationForArrow: function(isWidth, alloc) {
let themeNode = this.actor.get_theme_node();
let found, borderWidth, base, rise;
[found, borderWidth] = themeNode.get_length('-arrow-border-width', false);
let borderWidth = themeNode.get_length('-arrow-border-width');
alloc.min_size += borderWidth * 2;
alloc.natural_size += borderWidth * 2;
if ((!isWidth && (this._arrowSide == St.Side.TOP || this._arrowSide == St.Side.BOTTOM))
|| (isWidth && (this._arrowSide == St.Side.LEFT || this._arrowSide == St.Side.RIGHT))) {
let [found, rise] = themeNode.get_length('-arrow-rise', false);
let rise = themeNode.get_length('-arrow-rise');
alloc.min_size += rise;
alloc.natural_size += rise;
}
@ -69,9 +141,8 @@ BoxPointer.prototype = {
_allocate: function(actor, box, flags) {
let themeNode = this.actor.get_theme_node();
let found, borderWidth, borderRadius, rise, base;
[found, borderWidth] = themeNode.get_length('-arrow-border-width', false);
[found, rise] = themeNode.get_length('-arrow-rise', false);
let borderWidth = themeNode.get_length('-arrow-border-width');
let rise = themeNode.get_length('-arrow-rise');
let childBox = new Clutter.ActorBox();
let availWidth = box.x2 - box.x1;
let availHeight = box.y2 - box.y1;
@ -106,19 +177,18 @@ BoxPointer.prototype = {
_drawBorder: function(area) {
let themeNode = this.actor.get_theme_node();
let found, borderWidth, borderRadius, rise, base;
[found, borderWidth] = themeNode.get_length('-arrow-border-width', false);
[found, base] = themeNode.get_length('-arrow-base', false);
[found, rise] = themeNode.get_length('-arrow-rise', false);
[found, borderRadius] = themeNode.get_length('-arrow-border-radius', false);
let borderWidth = themeNode.get_length('-arrow-border-width');
let base = themeNode.get_length('-arrow-base');
let rise = themeNode.get_length('-arrow-rise');
let borderRadius = themeNode.get_length('-arrow-border-radius');
let halfBorder = borderWidth / 2;
let halfBase = Math.floor(base/2);
let borderColor = new Clutter.Color();
themeNode.get_color('-arrow-border-color', false, borderColor);
themeNode.get_color('-arrow-border-color', borderColor);
let backgroundColor = new Clutter.Color();
themeNode.get_color('-arrow-background-color', false, backgroundColor);
themeNode.get_color('-arrow-background-color', backgroundColor);
let [width, height] = area.get_surface_size();
let [boxWidth, boxHeight] = [width, height];
@ -187,6 +257,96 @@ BoxPointer.prototype = {
cr.stroke();
},
setPosition: function(sourceActor, gap, alignment) {
// We need to show it now to force an allocation,
// so that we can query the correct size.
this.actor.show();
// Position correctly relative to the sourceActor
let [sourceX, sourceY] = sourceActor.get_transformed_position();
let [sourceWidth, sourceHeight] = sourceActor.get_transformed_size();
let [minWidth, minHeight, natWidth, natHeight] = this.actor.get_preferred_size();
// We also want to keep it onscreen, and separated from the
// edge by the same distance as the main part of the box is
// separated from its sourceActor
let primary = global.get_primary_monitor();
let arrowRise = this.actor.get_theme_node().get_length('-arrow-rise');
let resX, resY;
switch (this._arrowSide) {
case St.Side.TOP:
resY = sourceY + sourceHeight + gap;
break;
case St.Side.BOTTOM:
resY = sourceY - natHeight - gap;
break;
case St.Side.LEFT:
resX = sourceX + sourceWidth + gap;
break;
case St.Side.RIGHT:
resX = sourceX - natWidth - gap;
break;
}
// Now align and position the pointing axis, making sure
// it fits on screen
switch (this._arrowSide) {
case St.Side.TOP:
case St.Side.BOTTOM:
switch (alignment) {
case St.Align.START:
resX = sourceX;
break;
case St.Align.MIDDLE:
resX = sourceX - Math.floor((natWidth - sourceWidth) / 2);
break;
case St.Align.END:
resX = sourceX - (natWidth - sourceWidth);
break;
}
resX = Math.min(resX, primary.x + primary.width - natWidth - arrowRise - gap);
resX = Math.max(resX, primary.x);
this.setArrowOrigin((sourceX - resX) + Math.floor(sourceWidth / 2));
break;
case St.Side.LEFT:
case St.Side.RIGHT:
switch (alignment) {
case St.Align.START:
resY = sourceY;
break;
case St.Align.MIDDLE:
resY = sourceY - Math.floor((natHeight - sourceHeight) / 2);
break;
case St.Align.END:
resY = sourceY - (natHeight - sourceHeight);
break;
}
resY = Math.min(resY, primary.y + primary.height - natHeight - arrowRise - gap);
resY = Math.max(resY, primary.y);
this.setArrowOrigin((sourceY - resY) + Math.floor(sourceHeight / 2));
break;
}
let parent = this.actor.get_parent();
let success, x, y;
while (!success) {
[success, x, y] = parent.transform_stage_point(resX, resY);
parent = parent.get_parent();
}
// Actually set the position
this.actor.x = Math.floor(x);
this.actor.y = Math.floor(y);
},
// @origin: Coordinate specifying middle of the arrow, along
// the Y axis for St.Side.LEFT, St.Side.RIGHT from the top and X axis from
// the left for St.Side.TOP and St.Side.BOTTOM.

View File

@ -5,7 +5,6 @@ const Gio = imports.gi.Gio;
const Lang = imports.lang;
const St = imports.gi.St;
const Pango = imports.gi.Pango;
const Shell = imports.gi.Shell;
const Gettext_gtk20 = imports.gettext.domain('gtk20');
const MSECS_IN_DAY = 24 * 60 * 60 * 1000;
@ -227,7 +226,8 @@ Calendar.prototype = {
iter.setDate(1);
iter.setSeconds(0);
iter.setHours(12);
iter.setTime(iter.getTime() - (iter.getDay() - this._weekStart) * MSECS_IN_DAY);
let daysToWeekStart = (7 + iter.getDay() - this._weekStart) % 7;
iter.setTime(iter.getTime() - daysToWeekStart * MSECS_IN_DAY);
let now = new Date();

View File

@ -1,6 +1,5 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
const Clutter = imports.gi.Clutter;
const Lang = imports.lang;
const Mainloop = imports.mainloop;
const Meta = imports.gi.Meta;
@ -234,7 +233,7 @@ Chrome.prototype = {
},
_windowsRestacked: function() {
let windows = global.get_windows();
let windows = global.get_window_actors();
let primary = global.get_primary_monitor();
// The chrome layer should be visible unless there is a window

File diff suppressed because it is too large Load Diff

View File

@ -4,6 +4,7 @@ const Clutter = imports.gi.Clutter;
const Gtk = imports.gi.Gtk;
const St = imports.gi.St;
const Lang = imports.lang;
const Shell = imports.gi.Shell;
const Signals = imports.signals;
const Tweener = imports.ui.tweener;
const Main = imports.ui.main;
@ -24,6 +25,12 @@ const DragMotionResult = {
CONTINUE: 3
};
const DRAG_CURSOR_MAP = {
0: Shell.Cursor.UNSUPPORTED_TARGET,
1: Shell.Cursor.COPY,
2: Shell.Cursor.MOVE
};
const DragDropResult = {
FAILURE: 0,
SUCCESS: 1,
@ -79,6 +86,9 @@ _Draggable.prototype = {
Lang.bind(this, this._onButtonPress));
this.actor.connect('destroy', Lang.bind(this, function() {
this._actorDestroyed = true;
if (this._dragInProgress)
this._cancelDrag(global.get_current_time());
this.disconnectAll();
}));
this._onEventId = null;
@ -203,6 +213,7 @@ _Draggable.prototype = {
if (this._onEventId)
this._ungrabActor();
this._grabEvents();
global.set_cursor(Shell.Cursor.IN_DRAG);
this._dragX = this._dragStartX = stageX;
this._dragY = this._dragStartY = stageY;
@ -256,6 +267,7 @@ _Draggable.prototype = {
this._dragActor.reparent(this.actor.get_stage());
this._dragActor.raise_top();
Shell.util_set_hidden_from_pick(this._dragActor, true);
this._dragOrigOpacity = this._dragActor.opacity;
if (this._dragActorOpacity != undefined)
@ -321,12 +333,8 @@ _Draggable.prototype = {
this._dragActor.set_position(stageX + this._dragOffsetX,
stageY + this._dragOffsetY);
// Because we want to find out what other actor is located at the current position of this._dragActor,
// we have to temporarily hide this._dragActor.
this._dragActor.hide();
let target = this._dragActor.get_stage().get_actor_at_pos(Clutter.PickMode.ALL,
stageX, stageY);
this._dragActor.show();
// We call observers only once per motion with the innermost
// target actor. If necessary, the observer can walk the
@ -335,49 +343,47 @@ _Draggable.prototype = {
x: stageX,
y: stageY,
dragActor: this._dragActor,
source: this.actor._delegate,
targetActor: target
};
for (let i = 0; i < dragMonitors.length; i++) {
let motionFunc = dragMonitors[i].dragMotion;
if (motionFunc)
switch (motionFunc(dragEvent)) {
case DragMotionResult.NO_DROP:
case DragMotionResult.COPY_DROP:
case DragMotionResult.MOVE_DROP:
// TODO: set a special cursor or something ;)
return true;
case DragMotionResult.CONTINUE:
continue;
if (motionFunc) {
let result = motionFunc(dragEvent);
if (result != DragMotionResult.CONTINUE) {
global.set_cursor(DRAG_CURSOR_MAP[result]);
return true;
}
}
}
while (target) {
if (target._delegate && target._delegate.handleDragOver) {
let [r, targX, targY] = target.transform_stage_point(stageX, stageY);
// We currently loop through all parents on drag-over even if one of the children has handled it.
// We can check the return value of the function and break the loop if it's true if we don't want
// to continue checking the parents.
target._delegate.handleDragOver(this.actor._delegate,
this._dragActor,
targX,
targY,
event.get_time());
let result = target._delegate.handleDragOver(this.actor._delegate,
this._dragActor,
targX,
targY,
event.get_time());
if (result != DragMotionResult.CONTINUE) {
global.set_cursor(DRAG_CURSOR_MAP[result]);
return true;
}
}
target = target.get_parent();
}
global.set_cursor(Shell.Cursor.IN_DRAG);
}
return true;
},
_dragActorDropped: function(event) {
// Find a drop target. Because we want to find out what other actor is located at
// the current position of this._dragActor, we have to temporarily hide this._dragActor.
this._dragActor.hide();
let [dropX, dropY] = event.get_coords();
let target = this._dragActor.get_stage().get_actor_at_pos(Clutter.PickMode.ALL,
dropX, dropY);
this._dragActor.show();
// We call observers only once per motion with the innermost
// target actor. If necessary, the observer can walk the
@ -407,6 +413,8 @@ _Draggable.prototype = {
targX,
targY,
event.get_time())) {
if (this._actorDestroyed)
return true;
// If it accepted the drop without taking the actor,
// handle it ourselves.
if (this._dragActor.get_parent() == this._dragActor.get_stage()) {
@ -418,6 +426,7 @@ _Draggable.prototype = {
}
this._dragInProgress = false;
global.unset_cursor();
this.emit('drag-end', event.get_time(), true);
this._dragComplete();
return true;
@ -447,6 +456,12 @@ _Draggable.prototype = {
this._dragInProgress = false;
let [snapBackX, snapBackY] = this._getRestoreLocation();
if (this._actorDestroyed) {
global.unset_cursor();
this.emit('drag-end', eventTime, false);
return;
}
this._animationInProgress = true;
// No target, so snap back
Tweener.addTween(this._dragActor,
@ -491,6 +506,7 @@ _Draggable.prototype = {
} else {
dragActor.destroy();
}
global.unset_cursor();
this.emit('drag-end', eventTime, false);
this._animationInProgress = false;
@ -499,6 +515,8 @@ _Draggable.prototype = {
},
_dragComplete: function() {
Shell.util_set_hidden_from_pick(this._dragActor, false);
this._dragActor = undefined;
currentDraggable = null;
this._ungrabEvents();

View File

@ -1,10 +1,7 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
const Clutter = imports.gi.Clutter;
const Gio = imports.gi.Gio;
const Gtk = imports.gi.Gtk;
const Lang = imports.lang;
const Pango = imports.gi.Pango;
const Shell = imports.gi.Shell;
const Signals = imports.signals;
const St = imports.gi.St;

View File

@ -82,17 +82,15 @@ function init() {
Clutter.Actor.prototype.toString = function() {
return St.describe_actor(this);
};
Clutter.Actor.prototype.contains = function(child) {
while (child != null && child != this)
child = child.get_parent();
return child != null;
};
if (window.global === undefined) // test environment
return;
_blockMethod('Clutter.Event.get_state', 'Shell.get_event_state',
'gjs\'s handling of Clutter.ModifierType is broken. See bug 597292.');
_blockMethod('Gdk.Display.get_pointer', 'global.get_pointer',
_blockMethod('Gdk.Display.get_device_state', 'global.get_pointer',
'gjs\'s handling of Gdk.ModifierType is broken. See bug 597292.');
_blockMethod('Gdk.Window.get_pointer', 'global.get_pointer',
_blockMethod('Gdk.Window.get_device_position', 'global.get_pointer',
'gjs\'s handling of Gdk.ModifierType is broken. See bug 597292.');
// Now close the back door to prevent extensions from trying to

View File

@ -3,7 +3,6 @@
const GLib = imports.gi.GLib;
const Gio = imports.gi.Gio;
const St = imports.gi.St;
const Shell = imports.gi.Shell;
const ExtensionState = {
ENABLED: 1,
@ -52,6 +51,12 @@ function loadExtension(dir, enabled, type) {
return;
}
}
if (extensions[meta.uuid] != undefined) {
global.logError(baseErrorString + "extension already loaded");
return;
}
// Encourage people to add this
if (!meta['url']) {
global.log(baseErrorString + 'Warning: Missing "url" property in metadata.json');

View File

@ -1,15 +1,8 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
const Clutter = imports.gi.Clutter;
const Gio = imports.gi.Gio;
const Gdk = imports.gi.Gdk;
const Gtk = imports.gi.Gtk;
const Lang = imports.lang;
const Mainloop = imports.mainloop;
const Meta = imports.gi.Meta;
const Pango = imports.gi.Pango;
const Signals = imports.signals;
const Shell = imports.gi.Shell;
const St = imports.gi.St;
const DND = imports.ui.dnd;

290
js/ui/iconGrid.js Normal file
View File

@ -0,0 +1,290 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
const Clutter = imports.gi.Clutter;
const Shell = imports.gi.Shell;
const St = imports.gi.St;
const Lang = imports.lang;
const Params = imports.misc.params;
const ICON_SIZE = 48;
function BaseIcon(label, createIcon) {
this._init(label, createIcon);
}
BaseIcon.prototype = {
_init : function(label, params) {
params = Params.parse(params, { createIcon: null,
setSizeManually: false });
this.actor = new St.Bin({ style_class: 'overview-icon',
x_fill: true,
y_fill: true });
this.actor._delegate = this;
this.actor.connect('style-changed',
Lang.bind(this, this._onStyleChanged));
this._spacing = 0;
let box = new Shell.GenericContainer();
box.connect('allocate', Lang.bind(this, this._allocate));
box.connect('get-preferred-width',
Lang.bind(this, this._getPreferredWidth));
box.connect('get-preferred-height',
Lang.bind(this, this._getPreferredHeight));
this.actor.set_child(box);
this.iconSize = ICON_SIZE;
this._iconBin = new St.Bin();
box.add_actor(this._iconBin);
this._name = new St.Label({ text: label });
box.add_actor(this._name);
if (params.createIcon)
this.createIcon = params.createIcon;
this._setSizeManually = params.setSizeManually;
this.icon = this.createIcon(this.iconSize);
this._iconBin.set_child(this.icon);
},
_allocate: function(actor, box, flags) {
let availWidth = box.x2 - box.x1;
let availHeight = box.y2 - box.y1;
let [labelMinHeight, labelNatHeight] = this._name.get_preferred_height(-1);
let [iconMinHeight, iconNatHeight] = this._iconBin.get_preferred_height(-1);
let preferredHeight = labelNatHeight + this._spacing + iconNatHeight;
let labelHeight = availHeight >= preferredHeight ? labelNatHeight
: labelMinHeight;
let iconSize = availHeight - this._spacing - labelHeight;
let iconPadding = (availWidth - iconSize) / 2;
let childBox = new Clutter.ActorBox();
childBox.x1 = iconPadding;
childBox.y1 = 0;
childBox.x2 = availWidth - iconPadding;
childBox.y2 = iconSize;
this._iconBin.allocate(childBox, flags);
childBox.x1 = 0;
childBox.x2 = availWidth;
childBox.y1 = iconSize + this._spacing;
childBox.y2 = childBox.y1 + labelHeight;
this._name.allocate(childBox, flags);
},
_getPreferredWidth: function(actor, forHeight, alloc) {
this._getPreferredHeight(actor, -1, alloc);
},
_getPreferredHeight: function(actor, forWidth, alloc) {
let [iconMinHeight, iconNatHeight] = this._iconBin.get_preferred_height(forWidth);
let [labelMinHeight, labelNatHeight] = this._name.get_preferred_height(forWidth);
alloc.min_size = iconMinHeight + this._spacing + labelMinHeight;
alloc.natural_size = iconNatHeight + this._spacing + labelNatHeight;
},
// This can be overridden by a subclass, or by the createIcon
// parameter to _init()
createIcon: function(size) {
throw new Error('no implementation of createIcon in ' + this);
},
setIconSize: function(size) {
if (!this._setSizeManually)
throw new Error('setSizeManually has to be set to use setIconsize');
this._setIconSize(size);
},
_setIconSize: function(size) {
if (size == this.iconSize)
return;
this.icon.destroy();
this.iconSize = size;
this.icon = this.createIcon(this.iconSize);
this._iconBin.child = this.icon;
},
_onStyleChanged: function() {
let node = this.actor.get_theme_node();
this._spacing = node.get_length('spacing');
if (this._setSizeManually)
return;
let len = node.get_length('icon-size');
if (len > 0)
this._setIconSize(len);
}
};
function IconGrid(params) {
this._init(params);
}
IconGrid.prototype = {
_init: function(params) {
params = Params.parse(params, { rowLimit: null,
columnLimit: null,
xAlign: St.Align.MIDDLE });
this._rowLimit = params.rowLimit;
this._colLimit = params.columnLimit;
this._xAlign = params.xAlign;
this.actor = new St.BoxLayout({ style_class: 'icon-grid',
vertical: true });
// Pulled from CSS, but hardcode some defaults here
this._spacing = 0;
this._item_size = ICON_SIZE;
this._grid = new Shell.GenericContainer();
this.actor.add(this._grid, { expand: true, y_align: St.Align.START });
this.actor.connect('style-changed', Lang.bind(this, this._onStyleChanged));
this._grid.connect('get-preferred-width', Lang.bind(this, this._getPreferredWidth));
this._grid.connect('get-preferred-height', Lang.bind(this, this._getPreferredHeight));
this._grid.connect('allocate', Lang.bind(this, this._allocate));
},
_getPreferredWidth: function (grid, forHeight, alloc) {
let children = this._grid.get_children();
let nColumns = this._colLimit ? Math.min(this._colLimit,
children.length)
: children.length;
let totalSpacing = Math.max(0, nColumns - 1) * this._spacing;
// Kind of a lie, but not really an issue right now. If
// we wanted to support some sort of hidden/overflow that would
// need higher level design
alloc.min_size = this._item_size;
alloc.natural_size = nColumns * this._item_size + totalSpacing;
},
_getPreferredHeight: function (grid, forWidth, alloc) {
let children = this._grid.get_children();
let [nColumns, usedWidth] = this._computeLayout(forWidth);
let nRows;
if (nColumns > 0)
nRows = Math.ceil(children.length / nColumns);
else
nRows = 0;
if (this._rowLimit)
nRows = Math.min(nRows, this._rowLimit);
let totalSpacing = Math.max(0, nRows - 1) * this._spacing;
let height = nRows * this._item_size + totalSpacing;
alloc.min_size = height;
alloc.natural_size = height;
},
_allocate: function (grid, box, flags) {
let children = this._grid.get_children();
let availWidth = box.x2 - box.x1;
let availHeight = box.y2 - box.y1;
let [nColumns, usedWidth] = this._computeLayout(availWidth);
let leftPadding;
switch(this._xAlign) {
case St.Align.START:
leftPadding = 0;
break;
case St.Align.MIDDLE:
leftPadding = Math.floor((availWidth - usedWidth) / 2);
break;
case St.Align.END:
leftPadding = availWidth - usedWidth;
}
let x = box.x1 + leftPadding;
let y = box.y1;
let columnIndex = 0;
let rowIndex = 0;
for (let i = 0; i < children.length; i++) {
let [childMinWidth, childMinHeight, childNaturalWidth, childNaturalHeight]
= children[i].get_preferred_size();
/* Center the item in its allocation horizontally */
let width = Math.min(this._item_size, childNaturalWidth);
let childXSpacing = Math.max(0, width - childNaturalWidth) / 2;
let height = Math.min(this._item_size, childNaturalHeight);
let childYSpacing = Math.max(0, height - childNaturalHeight) / 2;
let childBox = new Clutter.ActorBox();
if (St.Widget.get_default_direction() == St.TextDirection.RTL) {
let _x = box.x2 - (x + width);
childBox.x1 = Math.floor(_x - childXSpacing);
} else {
childBox.x1 = Math.floor(x + childXSpacing);
}
childBox.y1 = Math.floor(y + childYSpacing);
childBox.x2 = childBox.x1 + width;
childBox.y2 = childBox.y1 + height;
if (this._rowLimit && rowIndex >= this._rowLimit) {
this._grid.set_skip_paint(children[i], true);
} else {
children[i].allocate(childBox, flags);
this._grid.set_skip_paint(children[i], false);
}
columnIndex++;
if (columnIndex == nColumns) {
columnIndex = 0;
rowIndex++;
}
if (columnIndex == 0) {
y += this._item_size + this._spacing;
x = box.x1 + leftPadding;
} else {
x += this._item_size + this._spacing;
}
}
},
_computeLayout: function (forWidth) {
let children = this._grid.get_children();
let nColumns = 0;
let usedWidth = 0;
while ((this._colLimit == null || nColumns < this._colLimit) &&
(usedWidth + this._item_size <= forWidth)) {
usedWidth += this._item_size + this._spacing;
nColumns += 1;
}
if (nColumns > 0)
usedWidth -= this._spacing;
return [nColumns, usedWidth];
},
_onStyleChanged: function() {
let themeNode = this.actor.get_theme_node();
this._spacing = themeNode.get_length('spacing');
this._item_size = themeNode.get_length('-shell-grid-item-size');
this._grid.queue_relayout();
},
removeAll: function () {
this._grid.get_children().forEach(Lang.bind(this, function (child) {
child.destroy();
}));
},
addItem: function(actor) {
this._grid.add_actor(actor);
},
getItemAtIndex: function(index) {
return this._grid.get_children()[index];
},
visibleItemsCount: function() {
return this._grid.get_children().length - this._grid.get_n_skip_paint();
}
};

View File

@ -1,6 +1,5 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
const Clutter = imports.gi.Clutter;
const Lang = imports.lang;
const Meta = imports.gi.Meta;
const St = imports.gi.St;

View File

@ -1,6 +1,5 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
const Clutter = imports.gi.Clutter;
const Lang = imports.lang;
const Signals = imports.signals;
const St = imports.gi.St;

View File

@ -220,7 +220,7 @@ WindowList.prototype = {
_updateWindowList: function() {
this.actor.get_children().forEach(function (actor) { actor.destroy(); });
let windows = global.get_windows();
let windows = global.get_window_actors();
let tracker = Shell.WindowTracker.get_default();
for (let i = 0; i < windows.length; i++) {
let metaWindow = windows[i].metaWindow;
@ -365,54 +365,135 @@ function Inspector() {
Inspector.prototype = {
_init: function() {
let width = 150;
let primary = global.get_primary_monitor();
let container = new Shell.GenericContainer({ width: 0,
height: 0 });
container.connect('allocate', Lang.bind(this, this._allocate));
Main.uiGroup.add_actor(container);
let eventHandler = new St.BoxLayout({ name: 'LookingGlassDialog',
vertical: false,
y: primary.y + Math.floor(primary.height / 2),
reactive: true });
eventHandler.connect('notify::allocation', Lang.bind(this, function () {
eventHandler.x = primary.x + Math.floor((primary.width - eventHandler.width) / 2);
}));
Main.uiGroup.add_actor(eventHandler);
let displayText = new St.Label();
eventHandler.add(displayText, { expand: true });
this._eventHandler = eventHandler;
container.add_actor(eventHandler);
this._displayText = new St.Label();
eventHandler.add(this._displayText, { expand: true });
let borderPaintTarget = null;
let borderPaintId = null;
eventHandler.connect('destroy', Lang.bind(this, function() {
if (borderPaintTarget != null)
borderPaintTarget.disconnect(borderPaintId);
}));
eventHandler.connect('button-press-event', Lang.bind(this, function (actor, event) {
Clutter.ungrab_pointer(eventHandler);
let [stageX, stageY] = event.get_coords();
let target = global.stage.get_actor_at_pos(Clutter.PickMode.ALL,
stageX,
stageY);
this.emit('target', target, stageX, stageY);
eventHandler.destroy();
this.emit('closed');
return true;
}));
eventHandler.connect('motion-event', Lang.bind(this, function (actor, event) {
let [stageX, stageY] = event.get_coords();
let target = global.stage.get_actor_at_pos(Clutter.PickMode.ALL,
stageX,
stageY);
let position = '[inspect x: ' + stageX + ' y: ' + stageY + ']';
displayText.text = '';
displayText.text = position + ' ' + target;
if (borderPaintTarget != null)
borderPaintTarget.disconnect(borderPaintId);
borderPaintTarget = target;
borderPaintId = Shell.add_hook_paint_red_border(target);
return true;
}));
this._borderPaintTarget = null;
this._borderPaintId = null;
eventHandler.connect('destroy', Lang.bind(this, this._onDestroy));
eventHandler.connect('key-press-event', Lang.bind(this, this._onKeyPressEvent));
eventHandler.connect('button-press-event', Lang.bind(this, this._onButtonPressEvent));
eventHandler.connect('scroll-event', Lang.bind(this, this._onScrollEvent));
eventHandler.connect('motion-event', Lang.bind(this, this._onMotionEvent));
Clutter.grab_pointer(eventHandler);
Clutter.grab_keyboard(eventHandler);
// this._target is the actor currently shown by the inspector.
// this._pointerTarget is the actor directly under the pointer.
// Normally these are the same, but if you use the scroll wheel
// to drill down, they'll diverge until you either scroll back
// out, or move the pointer outside of _pointerTarget.
this._target = null;
this._pointerTarget = null;
},
_allocate: function(actor, box, flags) {
let primary = global.get_primary_monitor();
let [minWidth, minHeight, natWidth, natHeight] =
this._eventHandler.get_preferred_size();
let childBox = new Clutter.ActorBox();
childBox.x1 = primary.x + Math.floor((primary.width - natWidth) / 2);
childBox.x2 = childBox.x1 + natWidth;
childBox.y1 = primary.y + Math.floor((primary.height - natHeight) / 2);
childBox.y2 = childBox.y1 + natHeight;
this._eventHandler.allocate(childBox, flags);
},
_close: function() {
Clutter.ungrab_pointer(this._eventHandler);
Clutter.ungrab_keyboard(this._eventHandler);
this._eventHandler.destroy();
this.emit('closed');
},
_onDestroy: function() {
if (this._borderPaintTarget != null)
this._borderPaintTarget.disconnect(this._borderPaintId);
},
_onKeyPressEvent: function (actor, event) {
if (event.get_key_symbol() == Clutter.Escape)
this._close();
return true;
},
_onButtonPressEvent: function (actor, event) {
if (this._target) {
let [stageX, stageY] = event.get_coords();
this.emit('target', this._target, stageX, stageY);
}
this._close();
return true;
},
_onScrollEvent: function (actor, event) {
switch (event.get_scroll_direction()) {
case Clutter.ScrollDirection.UP:
// select parent
let parent = this._target.get_parent();
if (parent != null) {
this._target = parent;
this._update(event);
}
break;
case Clutter.ScrollDirection.DOWN:
// select child
if (this._target != this._pointerTarget) {
let child = this._pointerTarget;
while (child) {
let parent = child.get_parent();
if (parent == this._target)
break;
child = parent;
}
if (child) {
this._target = child;
this._update(event);
}
}
break;
default:
break;
}
return true;
},
_onMotionEvent: function (actor, event) {
this._update(event);
return true;
},
_update: function(event) {
let [stageX, stageY] = event.get_coords();
let target = global.stage.get_actor_at_pos(Clutter.PickMode.ALL,
stageX,
stageY);
if (target != this._pointerTarget)
this._target = target;
this._pointerTarget = target;
let position = '[inspect x: ' + stageX + ' y: ' + stageY + ']';
this._displayText.text = '';
this._displayText.text = position + ' ' + this._target;
if (this._borderPaintTarget != null)
this._borderPaintTarget.disconnect(this._borderPaintId);
this._borderPaintTarget = this._target;
this._borderPaintId = Shell.add_hook_paint_red_border(this._target);
}
};
@ -597,8 +678,8 @@ LookingGlass.prototype = {
let toolbar = new St.BoxLayout({ name: 'Toolbar' });
this.actor.add_actor(toolbar);
let inspectIcon = St.TextureCache.get_default().load_gicon(new Gio.ThemedIcon({ name: 'gtk-color-picker' }),
24);
let inspectIcon = new St.Icon({ icon_name: 'gtk-color-picker',
icon_size: 24 });
toolbar.add_actor(inspectIcon);
inspectIcon.reactive = true;
inspectIcon.connect('button-press-event', Lang.bind(this, function () {
@ -701,7 +782,7 @@ LookingGlass.prototype = {
let fontName = gconf.get_string('/desktop/gnome/interface/monospace_font_name');
// This is mishandled by the scanner - should by Pango.FontDescription_from_string(fontName);
// https://bugzilla.gnome.org/show_bug.cgi?id=595889
let fontDesc = Pango.Font.description_from_string(fontName);
let fontDesc = Pango.font_description_from_string(fontName);
// We ignore everything but size and style; you'd be crazy to set your system-wide
// monospace font to be bold/oblique/etc. Could easily be added here.
this.actor.style =
@ -858,7 +939,9 @@ LookingGlass.prototype = {
global.stage.set_key_focus(this._entry);
Tweener.addTween(this.actor, { time: 0.5,
// We inverse compensate for the slow-down so you can change the factor
// through LookingGlass without long waits.
Tweener.addTween(this.actor, { time: 0.5 / St.get_slow_down_factor(),
transition: 'easeOutQuad',
y: this._targetY
});
@ -885,7 +968,7 @@ LookingGlass.prototype = {
Main.popModal(this.actor);
Tweener.addTween(this.actor, { time: 0.5,
Tweener.addTween(this.actor, { time: 0.5 / St.get_slow_down_factor(),
transition: 'easeOutQuad',
y: this._hiddenY,
onComplete: Lang.bind(this, function () {

View File

@ -1,22 +1,22 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
const DBus = imports.dbus;
const GConf = imports.gi.GConf;
const Gtk = imports.gi.Gtk;
const Gdk = imports.gi.Gdk;
const Clutter = imports.gi.Clutter;
const Gio = imports.gi.Gio;
const Shell = imports.gi.Shell;
const St = imports.gi.St;
const Lang = imports.lang;
const Mainloop = imports.mainloop;
const Signals = imports.signals;
const Main = imports.ui.main;
const MagnifierDBus = imports.ui.magnifierDBus;
// Keep enums in sync with GSettings schemas
const MouseTrackingMode = {
NONE: 0,
CENTERED: 1,
PUSH: 2,
PROPORTIONAL: 3
PROPORTIONAL: 2,
PUSH: 3
};
const ScreenPosition = {
@ -28,38 +28,22 @@ const ScreenPosition = {
RIGHT_HALF: 5
};
// Default settings
const DEFAULT_X_MAGFACTOR = 2;
const DEFAULT_Y_MAGFACTOR = 2;
const DEFAULT_MOUSE_POLL_FREQUENCY = 50;
const DEFAULT_LENS_MODE = false;
const DEFAULT_SCREEN_POSITION = ScreenPosition.BOTTOM_HALF;
const DEFAULT_MOUSE_TRACKING_MODE = MouseTrackingMode.CENTERED;
const DEFAULT_CLAMP_SCROLLING_AT_EDGES = true;
const MOUSE_POLL_FREQUENCY = 50;
const CROSSHAIRS_CLIP_SIZE = [100, 100];
const DEFAULT_SHOW_CROSSHAIRS = false;
const DEFAULT_CROSSHAIRS_THICKNESS = 8;
const DEFAULT_CROSSHAIRS_OPACITY = 169; // 66%
const DEFAULT_CROSSHAIRS_LENGTH = 4096;
const DEFAULT_CROSSHAIRS_CLIP = false;
const DEFAULT_CROSSHAIRS_CLIP_SIZE = [100, 100];
const DEFAULT_CROSSHAIRS_COLOR = new Clutter.Color();
DEFAULT_CROSSHAIRS_COLOR.from_string('Red');
// GConf settings
const A11Y_MAG_PREFS_DIR = '/desktop/gnome/accessibility/magnifier';
const SHOW_KEY = A11Y_MAG_PREFS_DIR + '/show_magnifier';
const SCREEN_POSITION_KEY = A11Y_MAG_PREFS_DIR + '/screen_position';
const MAG_FACTOR_KEY = A11Y_MAG_PREFS_DIR + '/mag_factor';
const LENS_MODE_KEY = A11Y_MAG_PREFS_DIR + '/lens_mode';
const CLAMP_MODE_KEY = A11Y_MAG_PREFS_DIR + '/scroll_at_edges';
const MOUSE_TRACKING_KEY = A11Y_MAG_PREFS_DIR + '/mouse_tracking';
const SHOW_CROSS_HAIRS_KEY = A11Y_MAG_PREFS_DIR + '/show_cross_hairs';
const CROSS_HAIRS_THICKNESS_KEY = A11Y_MAG_PREFS_DIR + '/cross_hairs_thickness';
const CROSS_HAIRS_COLOR_KEY = A11Y_MAG_PREFS_DIR + '/cross_hairs_color';
const CROSS_HAIRS_OPACITY_KEY = A11Y_MAG_PREFS_DIR + '/cross_hairs_opacity';
const CROSS_HAIRS_LENGTH_KEY = A11Y_MAG_PREFS_DIR + '/cross_hairs_length';
const CROSS_HAIRS_CLIP_KEY = A11Y_MAG_PREFS_DIR + '/cross_hairs_clip';
// Settings
const SHOW_KEY = 'show-magnifier';
const SCREEN_POSITION_KEY = 'screen-position';
const MAG_FACTOR_KEY = 'mag-factor';
const LENS_MODE_KEY = 'lens-mode';
const CLAMP_MODE_KEY = 'scroll-at-edges';
const MOUSE_TRACKING_KEY = 'mouse-tracking';
const SHOW_CROSS_HAIRS_KEY = 'show-cross-hairs';
const CROSS_HAIRS_THICKNESS_KEY = 'cross-hairs-thickness';
const CROSS_HAIRS_COLOR_KEY = 'cross-hairs-color';
const CROSS_HAIRS_OPACITY_KEY = 'cross-hairs-opacity';
const CROSS_HAIRS_LENGTH_KEY = 'cross-hairs-length';
const CROSS_HAIRS_CLIP_KEY = 'cross-hairs-clip';
let magDBusService = null;
@ -80,11 +64,11 @@ Magnifier.prototype = {
this._cursorRoot.add_actor(this._mouseSprite);
// Create the first ZoomRegion and initialize it according to the
// magnification GConf settings.
// magnification settings.
let [xMouse, yMouse, mask] = global.get_pointer();
let aZoomRegion = new ZoomRegion(this, this._cursorRoot);
this._zoomRegions.push(aZoomRegion);
let showAtLaunch = this._gConfInit(aZoomRegion);
let showAtLaunch = this._settingsInit(aZoomRegion);
aZoomRegion.scrollContentsTo(xMouse, yMouse);
xfixesCursor.connect('cursor-change', Lang.bind(this, this._updateMouseSprite));
@ -130,6 +114,9 @@ Magnifier.prototype = {
// invisible.
if (!activate)
this._xfixesCursor.show();
// Notify interested parties of this change
this.emit('active-changed', activate);
},
/**
@ -154,7 +141,7 @@ Magnifier.prototype = {
let prevCoord = { x: NaN, y: NaN };
if (!this._mouseTrackingId)
this._mouseTrackingId = Mainloop.timeout_add(
DEFAULT_MOUSE_POLL_FREQUENCY,
MOUSE_POLL_FREQUENCY,
Lang.bind(this, this.scrollToMousePos, prevCoord)
);
},
@ -284,18 +271,17 @@ Magnifier.prototype = {
/**
* addCrosshairs:
* Add and show a cross hair centered on the magnified mouse.
* @thickness: The thickness of the vertical and horizontal lines of the
* crosshair.
* @color: The color of the crosshairs
* @opacity: The opacity.
* @length: The length of each hair.
* @clip: Whether the crosshairs intersection is clipped by the
* magnified mouse image.
*/
addCrosshairs: function(thickness, color, opacity, length, clip) {
addCrosshairs: function() {
if (!this._crossHairs)
this._crossHairs = new Crosshairs();
let thickness = this._settings.get_int(CROSS_HAIRS_THICKNESS_KEY);
let color = this._settings.get_string(CROSS_HAIRS_COLOR_KEY);
let opacity = this._settings.get_int(CROSS_HAIRS_OPACITY_KEY);
let length = this._settings.get_int(CROSS_HAIRS_LENGTH_KEY);
let clip = this._settings.get_boolean(CROSS_HAIRS_CLIP_KEY);
this.setCrosshairsThickness(thickness);
this.setCrosshairsColor(color);
this.setCrosshairsOpacity(opacity);
@ -316,7 +302,7 @@ Magnifier.prototype = {
setCrosshairsVisible: function(visible) {
if (visible) {
if (!this._crossHairs)
this.addCrosshairs(DEFAULT_CROSSHAIRS_THICKNESS, DEFAULT_CROSSHAIRS_COLOR, DEFAULT_CROSSHAIRS_OPACITY, DEFAULT_CROSSHAIRS_CLIP);
this.addCrosshairs();
this._crossHairs.show();
}
else {
@ -428,7 +414,7 @@ Magnifier.prototype = {
setCrosshairsClip: function(clip) {
if (clip) {
if (this._crossHairs)
this._crossHairs.setClip(DEFAULT_CROSSHAIRS_CLIP_SIZE);
this._crossHairs.setClip(CROSSHAIRS_CLIP_SIZE);
}
else {
// Setting no clipping on crosshairs means a zero sized clip
@ -461,61 +447,84 @@ Magnifier.prototype = {
this._mouseSprite.set_anchor_point(xHot, yHot);
},
_gConfInit: function(zoomRegion) {
let gConf = GConf.Client.get_default();
_settingsInit: function(zoomRegion) {
this._settings = new Gio.Settings({ schema: 'org.gnome.accessibility.magnifier' });
if (zoomRegion) {
// Mag factor is accurate to two decimal places.
let aPref = parseFloat(gConf.get_float(MAG_FACTOR_KEY).toFixed(2));
let aPref = parseFloat(this._settings.get_double(MAG_FACTOR_KEY).toFixed(2));
if (aPref != 0.0)
zoomRegion.setMagFactor(aPref, aPref);
aPref = gConf.get_int(SCREEN_POSITION_KEY);
aPref = this._settings.get_enum(SCREEN_POSITION_KEY);
if (aPref)
zoomRegion.setScreenPosition(aPref);
zoomRegion.setLensMode(gConf.get_bool(LENS_MODE_KEY));
zoomRegion.setClampScrollingAtEdges(!gConf.get_bool(CLAMP_MODE_KEY));
zoomRegion.setLensMode(this._settings.get_boolean(LENS_MODE_KEY));
zoomRegion.setClampScrollingAtEdges(!this._settings.get_boolean(CLAMP_MODE_KEY));
aPref = gConf.get_int(MOUSE_TRACKING_KEY);
aPref = this._settings.get_enum(MOUSE_TRACKING_KEY);
if (aPref)
zoomRegion.setMouseTrackingMode(aPref);
}
let showCrosshairs = gConf.get_bool(SHOW_CROSS_HAIRS_KEY);
let thickness = gConf.get_int(CROSS_HAIRS_THICKNESS_KEY);
let color = gConf.get_string(CROSS_HAIRS_COLOR_KEY);
let opacity = gConf.get_int(CROSS_HAIRS_OPACITY_KEY);
let length = gConf.get_int(CROSS_HAIRS_LENGTH_KEY);
let clip = gConf.get_bool(CROSS_HAIRS_CLIP_KEY);
this.addCrosshairs(thickness, color, opacity, length, clip);
let showCrosshairs = this._settings.get_boolean(SHOW_CROSS_HAIRS_KEY);
this.addCrosshairs();
this.setCrosshairsVisible(showCrosshairs);
gConf.add_dir(A11Y_MAG_PREFS_DIR, GConf.ClientPreloadType.PRELOAD_ONELEVEL);
gConf.notify_add(SHOW_KEY, Lang.bind(this, this._updateShowHide));
gConf.notify_add(SCREEN_POSITION_KEY, Lang.bind(this, this._updateScreenPosition));
gConf.notify_add(MAG_FACTOR_KEY, Lang.bind(this, this._updateMagFactor));
gConf.notify_add(LENS_MODE_KEY, Lang.bind(this, this._updateLensMode));
gConf.notify_add(CLAMP_MODE_KEY, Lang.bind(this, this._updateClampMode));
gConf.notify_add(MOUSE_TRACKING_KEY, Lang.bind(this, this._updateMouseTrackingMode));
gConf.notify_add(SHOW_CROSS_HAIRS_KEY, Lang.bind(this, this._updateShowCrosshairs));
gConf.notify_add(CROSS_HAIRS_THICKNESS_KEY, Lang.bind(this, this._updateCrosshairsThickness));
gConf.notify_add(CROSS_HAIRS_COLOR_KEY, Lang.bind(this, this._updateCrosshairsColor));
gConf.notify_add(CROSS_HAIRS_OPACITY_KEY, Lang.bind(this, this._updateCrosshairsOpacity));
gConf.notify_add(CROSS_HAIRS_LENGTH_KEY, Lang.bind(this, this._updateCrosshairsLength));
gConf.notify_add(CROSS_HAIRS_CLIP_KEY, Lang.bind(this, this._updateCrosshairsClip));
this._settings.connect('changed::' + SHOW_KEY,
Lang.bind(this, function() {
this.setActive(this._settings.get_boolean(SHOW_KEY));
}));
return gConf.get_bool(SHOW_KEY);
this._settings.connect('changed::' + SCREEN_POSITION_KEY,
Lang.bind(this, this._updateScreenPosition));
this._settings.connect('changed::' + MAG_FACTOR_KEY,
Lang.bind(this, this._updateMagFactor));
this._settings.connect('changed::' + LENS_MODE_KEY,
Lang.bind(this, this._updateLensMode));
this._settings.connect('changed::' + CLAMP_MODE_KEY,
Lang.bind(this, this._updateClampMode));
this._settings.connect('changed::' + MOUSE_TRACKING_KEY,
Lang.bind(this, this._updateMouseTrackingMode));
this._settings.connect('changed::' + SHOW_CROSS_HAIRS_KEY,
Lang.bind(this, function() {
this.setCrosshairsVisible(this._settings.get_boolean(SHOW_CROSS_HAIRS_KEY));
}));
this._settings.connect('changed::' + CROSS_HAIRS_THICKNESS_KEY,
Lang.bind(this, function() {
this.setCrosshairsThickness(this._settings.get_int(CROSS_HAIRS_THICKNESS_KEY));
}));
this._settings.connect('changed::' + CROSS_HAIRS_COLOR_KEY,
Lang.bind(this, function() {
this.setCrosshairsColor(this._settings.get_string(CROSS_HAIRS_COLOR_KEY));
}));
this._settings.connect('changed::' + CROSS_HAIRS_OPACITY_KEY,
Lang.bind(this, function() {
this.setCrosshairsOpacity(this._settings.get_int(CROSS_HAIRS_OPACITY_KEY));
}));
this._settings.connect('changed::' + CROSS_HAIRS_LENGTH_KEY,
Lang.bind(this, function() {
this.setCrosshairsLength(this._settings.get_int(CROSS_HAIRS_LENGTH_KEY));
}));
this._settings.connect('changed::' + CROSS_HAIRS_CLIP_KEY,
Lang.bind(this, function() {
this.setCrosshairsClip(this._settings.get_boolean(CROSS_HAIRS_CLIP_KEY));
}));
return this._settings.get_boolean(SHOW_KEY);
},
_updateShowHide: function() {
let gConf = GConf.Client.get_default();
this.setActive(gConf.get_bool(SHOW_KEY));
},
_updateScreenPosition: function() {
// Applies only to the first zoom region.
if (this._zoomRegions.length) {
let gConf = GConf.Client.get_default();
let position = gConf.get_int(SCREEN_POSITION_KEY);
let position = this._settings.get_enum(SCREEN_POSITION_KEY);
this._zoomRegions[0].setScreenPosition(position);
if (position != ScreenPosition.FULL_SCREEN)
this._updateLensMode();
@ -525,9 +534,8 @@ Magnifier.prototype = {
_updateMagFactor: function() {
// Applies only to the first zoom region.
if (this._zoomRegions.length) {
let gConf = GConf.Client.get_default();
// Mag factor is accurate to two decimal places.
let magFactor = parseFloat(gConf.get_float(MAG_FACTOR_KEY).toFixed(2));
let magFactor = parseFloat(this._settings.get_double(MAG_FACTOR_KEY).toFixed(2));
this._zoomRegions[0].setMagFactor(magFactor, magFactor);
}
},
@ -535,17 +543,15 @@ Magnifier.prototype = {
_updateLensMode: function() {
// Applies only to the first zoom region.
if (this._zoomRegions.length) {
let gConf = GConf.Client.get_default();
this._zoomRegions[0].setLensMode(gConf.get_bool(LENS_MODE_KEY));
this._zoomRegions[0].setLensMode(this._settings.get_boolean(LENS_MODE_KEY));
}
},
_updateClampMode: function() {
// Applies only to the first zoom region.
if (this._zoomRegions.length) {
let gConf = GConf.Client.get_default();
this._zoomRegions[0].setClampScrollingAtEdges(
!gConf.get_bool(CLAMP_MODE_KEY)
!this._settings.get_boolean(CLAMP_MODE_KEY)
);
}
},
@ -553,43 +559,13 @@ Magnifier.prototype = {
_updateMouseTrackingMode: function() {
// Applies only to the first zoom region.
if (this._zoomRegions.length) {
let gConf = GConf.Client.get_default();
this._zoomRegions[0].setMouseTrackingMode(
gConf.get_int(MOUSE_TRACKING_KEY)
this._settings.get_enum(MOUSE_TRACKING_KEY)
);
}
},
_updateShowCrosshairs: function() {
let gConf = GConf.Client.get_default();
this.setCrosshairsVisible(gConf.get_bool(SHOW_CROSS_HAIRS_KEY));
},
_updateCrosshairsThickness: function() {
let gConf = GConf.Client.get_default();
this.setCrosshairsThickness(gConf.get_int(CROSS_HAIRS_THICKNESS_KEY));
},
_updateCrosshairsColor: function() {
let gConf = GConf.Client.get_default();
this.setCrosshairsColor(gConf.get_string(CROSS_HAIRS_COLOR_KEY));
},
_updateCrosshairsOpacity: function() {
let gConf = GConf.Client.get_default();
this.setCrosshairsOpacity(gConf.get_int(CROSS_HAIRS_OPACITY_KEY));
},
_updateCrosshairsLength: function() {
let gConf = GConf.Client.get_default();
this.setCrosshairsLength(gConf.get_int(CROSS_HAIRS_LENGTH_KEY));
},
_updateCrosshairsClip: function() {
let gConf = GConf.Client.get_default();
this.setCrosshairsClip(gConf.get_bool(CROSS_HAIRS_CLIP_KEY));
}
};
Signals.addSignalMethods(Magnifier.prototype);
function ZoomRegion(magnifier, mouseRoot) {
this._init(magnifier, mouseRoot);
@ -629,12 +605,6 @@ ZoomRegion.prototype = {
this._mouseRoot = mouseRoot;
this._mainGroup.add_actor(this._mouseRoot);
this._crossHairs = null;
this.setMagFactor(DEFAULT_X_MAGFACTOR, DEFAULT_Y_MAGFACTOR);
this.setScreenPosition(DEFAULT_SCREEN_POSITION);
this.setLensMode(DEFAULT_LENS_MODE);
this.setClampScrollingAtEdges(DEFAULT_CLAMP_SCROLLING_AT_EDGES);
this.setMouseTrackingMode(DEFAULT_MOUSE_TRACKING_MODE);
},
/**
@ -711,7 +681,7 @@ ZoomRegion.prototype = {
* @mode: One of the enum MouseTrackingMode values.
*/
setMouseTrackingMode: function(mode) {
if (mode >= MouseTrackingMode.NONE && mode <= MouseTrackingMode.PROPORTIONAL)
if (mode >= MouseTrackingMode.NONE && mode <= MouseTrackingMode.PUSH)
this._mouseTrackingMode = mode;
},
@ -1215,35 +1185,16 @@ Crosshairs.prototype = {
// length (i.e., extend beyond the edges of the view they appear in).
let groupWidth = global.screen_width * 3;
let groupHeight = global.screen_height * 3;
this._actor = new Clutter.Group({
clip_to_allocation: false,
width: groupWidth,
height: groupHeight
});
this._horizLeftHair = new Clutter.Rectangle({
color: DEFAULT_CROSSHAIRS_COLOR,
width: groupWidth / 2,
height: DEFAULT_CROSSHAIRS_THICKNESS,
opacity: DEFAULT_CROSSHAIRS_OPACITY
});
this._horizRightHair = new Clutter.Rectangle({
color: DEFAULT_CROSSHAIRS_COLOR,
width: groupWidth / 2,
height: DEFAULT_CROSSHAIRS_THICKNESS,
opacity: DEFAULT_CROSSHAIRS_OPACITY
});
this._vertTopHair = new Clutter.Rectangle({
color: DEFAULT_CROSSHAIRS_COLOR,
width: DEFAULT_CROSSHAIRS_THICKNESS,
height: groupHeight / 2,
opacity: DEFAULT_CROSSHAIRS_OPACITY
});
this._vertBottomHair = new Clutter.Rectangle({
color: DEFAULT_CROSSHAIRS_COLOR,
width: DEFAULT_CROSSHAIRS_THICKNESS,
height: groupHeight / 2,
opacity: DEFAULT_CROSSHAIRS_OPACITY
});
this._horizLeftHair = new Clutter.Rectangle();
this._horizRightHair = new Clutter.Rectangle();
this._vertTopHair = new Clutter.Rectangle();
this._vertBottomHair = new Clutter.Rectangle();
this._actor.add_actor(this._horizLeftHair);
this._actor.add_actor(this._horizRightHair);
this._actor.add_actor(this._vertTopHair);

View File

@ -109,14 +109,14 @@ ShellMagnifier.prototype = {
* ZoomRegion.
* @roi Array of integers defining the region of the
* screen/desktop to magnify. The array has the form
* [x, y, width, height].
* @viewPort Array of integers, [ x, y, width, height ] that defines
* [left, top, right, bottom].
* @viewPort Array of integers, [left, top, right, bottom] that defines
* the position of the ZoomRegion on screen.
* @return The newly created ZoomRegion.
*/
createZoomRegion: function(xMagFactor, yMagFactor, roi, viewPort) {
let ROI = { x: roi[0], y: roi[1], width: roi[2], height: roi[3] };
let viewBox = { x: viewPort[0], y: viewPort[1], width: viewPort[2], height: viewPort[3] };
let ROI = { x: roi[0], y: roi[1], width: roi[2] - roi[0], height: roi[3] - roi[1] };
let viewBox = { x: viewPort[0], y: viewPort[1], width: viewPort[2] - viewPort[0], height: viewPort[3] - viewPort[1] };
let realZoomRegion = Main.magnifier.createZoomRegion(xMagFactor, yMagFactor, ROI, viewBox);
let objectPath = ZOOM_SERVICE_PATH + '/zoomer' + _zoomRegionInstanceCount;
_zoomRegionInstanceCount++;
@ -325,12 +325,12 @@ ShellMagnifierZoomRegion.prototype = {
/**
* setRoi:
* Sets the "region of interest" that the ZoomRegion is magnifying.
* @roi Array, [x, y, width, height], defining the region of the screen to
* magnify. The values are in screen (unmagnified) coordinate
* space.
* @roi Array, [left, top, right, bottom], defining the region of the
* screen to magnify. The values are in screen (unmagnified)
* coordinate space.
*/
setRoi: function(roi) {
let roiObject = { x: roi[0], y: roi[1], width: roi[2], height: roi[3] };
let roiObject = { x: roi[0], y: roi[1], width: roi[2] - roi[0], height: roi[3] - roi[1] };
this._zoomRegion.setROI(roiObject);
},
@ -339,11 +339,14 @@ ShellMagnifierZoomRegion.prototype = {
* Retrieves the "region of interest" -- the rectangular bounds of that part
* of the desktop that the magnified view is showing (x, y, width, height).
* The bounds are given in non-magnified coordinates.
* @return an array, [x, y, width, height], representing the bounding
* @return an array, [left, top, right, bottom], representing the bounding
* rectangle of what is shown in the magnified view.
*/
getRoi: function() {
return this._zoomRegion.getROI();
let roi = this._zoomRegion.getROI();
roi[2] += roi[0];
roi[3] += roi[1];
return roi;
},
/**
@ -362,11 +365,11 @@ ShellMagnifierZoomRegion.prototype = {
/**
* moveResize
* Sets the position and size of the ZoomRegion on screen.
* @viewPort Array, [x, y, width, height], defining the position and size
* on screen to place the zoom region.
* @viewPort Array, [left, top, right, bottom], defining the position and
* size on screen to place the zoom region.
*/
moveResize: function(viewPort) {
let viewRect = { x: viewPort[0], y: viewPort[1], width: viewPort[2], height: viewPort[3] };
let viewRect = { x: viewPort[0], y: viewPort[1], width: viewPort[2] - viewPort[0], height: viewPort[3] - viewPort[1] };
this._zoomRegion.setViewPort(viewRect);
}
};

View File

@ -2,9 +2,9 @@
imports.gi.versions.Clutter = '1.0';
imports.gi.versions.Gio = '2.0';
imports.gi.versions.Gdk = '2.0';
imports.gi.versions.Gdk = '3.0';
imports.gi.versions.GdkPixbuf = '2.0';
imports.gi.versions.Gtk = '2.0';
imports.gi.versions.Gtk = '3.0';
const Clutter = imports.gi.Clutter;
const DBus = imports.dbus;
@ -16,7 +16,6 @@ const Lang = imports.lang;
const Mainloop = imports.mainloop;
const Meta = imports.gi.Meta;
const Shell = imports.gi.Shell;
const Signals = imports.signals;
const St = imports.gi.St;
const Chrome = imports.ui.chrome;
@ -35,6 +34,7 @@ const ShellDBus = imports.ui.shellDBus;
const TelepathyClient = imports.ui.telepathyClient;
const WindowManager = imports.ui.windowManager;
const Magnifier = imports.ui.magnifier;
const StatusIconDispatcher = imports.ui.statusIconDispatcher;
const DEFAULT_BACKGROUND_COLOR = new Clutter.Color();
DEFAULT_BACKGROUND_COLOR.from_pixel(0x2266bbff);
@ -56,6 +56,7 @@ let modalCount = 0;
let modalActorFocusStack = [];
let uiGroup = null;
let magnifier = null;
let statusIconDispatcher = null;
let _errorLogStack = [];
let _startDate;
@ -96,10 +97,11 @@ function start() {
Shell.WindowTracker.get_default();
Shell.AppUsage.get_default();
// The background color really only matters if there is no desktop
// window (say, nautilus) running. We set it mostly so things look good
// when we are running inside Xephyr.
// The stage is always covered so Clutter doesn't need to clear it; however
// the color is used as the default contents for the Mutter root background
// actor so set it anyways.
global.stage.color = DEFAULT_BACKGROUND_COLOR;
global.stage.no_clear_hint = true;
let themeContext = St.ThemeContext.get_for_stage (global.stage);
let stylesheetPath = global.datadir + '/theme/gnome-shell.css';
@ -125,6 +127,8 @@ function start() {
placesManager = new PlaceDisplay.PlacesManager();
overview = new Overview.Overview();
chrome = new Chrome.Chrome();
magnifier = new Magnifier.Magnifier();
statusIconDispatcher = new StatusIconDispatcher.StatusIconDispatcher();
panel = new Panel.Panel();
wm = new WindowManager.WindowManager();
messageTray = new MessageTray.MessageTray();
@ -158,10 +162,6 @@ function start() {
}
});
background = global.create_root_pixmap_actor();
global.stage.add_actor(background);
background.lower_bottom();
global.gdk_screen.connect('monitors-changed', _relayout);
ExtensionSystem.init();
@ -174,9 +174,6 @@ function start() {
global.stage.connect('captured-event', _globalKeyPressHandler);
// Install magnifier.
magnifier = new Magnifier.Magnifier();
// Perform initial relayout here
_relayout();
@ -240,8 +237,6 @@ function _relayout() {
panel.actor.set_size(primary.width, Panel.PANEL_HEIGHT);
overview.relayout();
background.set_size(global.screen_width, global.screen_height);
// To avoid updating the position and size of the workspaces
// in the overview, we just hide the overview. The positions
// will be updated when it is next shown. We do the same for
@ -253,11 +248,11 @@ function _relayout() {
// metacity-clutter currently uses the same prefs as plain metacity,
// which probably means we'll be starting out with multiple workspaces;
// remove any unused ones. (We do this from an idle handler, because
// global.get_windows() still returns NULL at the point when start()
// global.get_window_actors() still returns NULL at the point when start()
// is called.)
function _removeUnusedWorkspaces() {
let windows = global.get_windows();
let windows = global.get_window_actors();
let maxWorkspace = 0;
for (let i = 0; i < windows.length; i++) {
let win = windows[i];
@ -292,13 +287,30 @@ function _removeUnusedWorkspaces() {
function _globalKeyPressHandler(actor, event) {
if (modalCount == 0)
return false;
if (event.type() != Clutter.EventType.KEY_RELEASE)
return false;
let type = event.type();
let symbol = event.get_key_symbol();
let keyCode = event.get_key_code();
let modifierState = Shell.get_event_state(event);
// Check the overview key first, this isn't a Meta.KeyBindingAction yet
if (symbol == Clutter.Super_L || symbol == Clutter.Super_R) {
// The super key is the default for triggering the overview, and should
// get us out of the overview when we are already in it.
if (overview.visible)
overview.hide();
if (type == Clutter.EventType.KEY_PRESS) {
let symbol = event.get_key_symbol();
if (symbol == Clutter.Print) {
// We want to be able to take screenshots of the shell at all times
return true;
}
// Whitelist some of the Metacity actions
let display = global.screen.get_display();
let activeWorkspaceIndex = global.screen.get_active_workspace_index();
// This relies on the fact that Clutter.ModifierType is the same as Gdk.ModifierType
let action = display.get_keybinding_action(keyCode, modifierState);
switch (action) {
case Meta.KeyBindingAction.COMMAND_SCREENSHOT:
let gconf = GConf.Client.get_default();
let command = gconf.get_string('/apps/metacity/keybinding_commands/command_screenshot');
if (command != null && command != '') {
@ -306,41 +318,17 @@ function _globalKeyPressHandler(actor, event) {
let p = new Shell.Process({'args' : args});
p.run();
}
return true;
}
} else if (type == Clutter.EventType.KEY_RELEASE) {
let symbol = event.get_key_symbol();
let keyCode = event.get_key_code();
let modifierState = Shell.get_event_state(event);
// Check the overview key first, this isn't a Meta.KeyBindingAction yet
if (symbol == Clutter.Super_L || symbol == Clutter.Super_R) {
// The super key is the default for triggering the overview, and should
// get us out of the overview when we are already in it.
if (overview.visible)
overview.hide();
case Meta.KeyBindingAction.WORKSPACE_LEFT:
wm.actionMoveWorkspaceLeft();
return true;
case Meta.KeyBindingAction.WORKSPACE_RIGHT:
wm.actionMoveWorkspaceRight();
return true;
case Meta.KeyBindingAction.PANEL_RUN_DIALOG:
case Meta.KeyBindingAction.COMMAND_2:
getRunDialog().open();
return true;
}
// Whitelist some of the Metacity actions
let display = global.screen.get_display();
let activeWorkspaceIndex = global.screen.get_active_workspace_index();
// This relies on the fact that Clutter.ModifierType is the same as Gdk.ModifierType
let action = display.get_keybinding_action(symbol, keyCode, modifierState);
switch (action) {
case Meta.KeyBindingAction.WORKSPACE_LEFT:
wm.actionMoveWorkspaceLeft();
return true;
case Meta.KeyBindingAction.WORKSPACE_RIGHT:
wm.actionMoveWorkspaceRight();
return true;
case Meta.KeyBindingAction.PANEL_RUN_DIALOG:
case Meta.KeyBindingAction.COMMAND_2:
getRunDialog().open();
return true;
}
}
return false;
@ -397,6 +385,7 @@ function pushModal(actor) {
}
modalActorFocusStack.push([actor, curFocus]);
global.stage.set_key_focus(null);
return true;
}

File diff suppressed because it is too large Load Diff

View File

@ -6,6 +6,8 @@ const Lang = imports.lang;
const Shell = imports.gi.Shell;
const Mainloop = imports.mainloop;
const St = imports.gi.St;
const Gettext = imports.gettext.domain('gnome-shell');
const _ = Gettext.gettext;
const Main = imports.ui.main;
const MessageTray = imports.ui.messageTray;
@ -81,14 +83,6 @@ const rewriteRules = {
]
};
// The notification spec stipulates using formal names for the appName the applications
// pass in. However, not all applications do that. Here is a list of the offenders we
// encountered so far.
const appNameMap = {
'evolution-mail-notification': 'Evolution Mail',
'rhythmbox': 'Rhythmbox'
};
function NotificationDaemon() {
this._init();
}
@ -107,7 +101,13 @@ NotificationDaemon.prototype = {
Lang.bind(this, this._acquiredName),
Lang.bind(this, this._lostName));
this._currentNotifications = {};
this._sources = {};
this._senderToPid = {};
this._notifications = {};
this._busProxy = new Bus();
Main.statusIconDispatcher.connect('message-icon-added', Lang.bind(this, this._onTrayIconAdded));
Main.statusIconDispatcher.connect('message-icon-removed', Lang.bind(this, this._onTrayIconRemoved));
Shell.WindowTracker.get_default().connect('notify::focus-app',
Lang.bind(this, this._onFocusAppChanged));
@ -140,18 +140,63 @@ NotificationDaemon.prototype = {
}
},
_sourceId: function(id) {
return 'source-' + id;
_iconForNotificationData: function(icon, hints, size) {
let textureCache = St.TextureCache.get_default();
if (icon) {
if (icon.substr(0, 7) == 'file://')
return textureCache.load_uri_async(icon, size, size);
else if (icon[0] == '/') {
let uri = GLib.filename_to_uri(icon, null);
return textureCache.load_uri_async(uri, size, size);
} else
return new St.Icon({ icon_name: icon,
icon_type: St.IconType.FULLCOLOR,
icon_size: size });
} else if (hints.icon_data) {
let [width, height, rowStride, hasAlpha,
bitsPerSample, nChannels, data] = hints.icon_data;
return textureCache.load_from_raw(data, data.length, hasAlpha,
width, height, rowStride, size);
} else {
let stockIcon;
switch (hints.urgency) {
case Urgency.LOW:
case Urgency.NORMAL:
stockIcon = 'gtk-dialog-info';
break;
case Urgency.CRITICAL:
stockIcon = 'gtk-dialog-error';
break;
}
return new St.Icon({ icon_name: stockIcon,
icon_type: St.IconType.FULLCOLOR,
icon_size: size });
}
},
_newSource: function(title, pid) {
let source = new Source(title, pid);
this._sources[pid] = source;
source.connect('destroy', Lang.bind(this,
function() {
delete this._sources[pid];
}));
Main.messageTray.add(source);
return source;
},
Notify: function(appName, replacesId, icon, summary, body,
actions, hints, timeout) {
let source = Main.messageTray.getSource(this._sourceId(appName));
let id = null;
let id;
// Filter out notifications from Empathy, since we
// handle that information from telepathyClient.js
if (appName == 'Empathy') {
// Ignore replacesId since we already sent back a
// NotificationClosed for that id.
id = nextNotificationId++;
Mainloop.idle_add(Lang.bind(this,
function () {
@ -160,32 +205,6 @@ NotificationDaemon.prototype = {
return id;
}
hints = Params.parse(hints, { urgency: Urgency.NORMAL }, true);
// Source may be null if we have never received a notification
// from this app or if all notifications from this app have
// been acknowledged.
if (source == null) {
let title = appNameMap[appName] || appName;
source = new Source(this._sourceId(appName), title, icon, hints);
Main.messageTray.add(source);
source.connect('clicked', Lang.bind(this,
function() {
source.destroy();
}));
let sender = DBus.getCurrentMessageContext().sender;
let busProxy = new Bus();
busProxy.GetConnectionUnixProcessIDRemote(sender, function (result, excp) {
let app = Shell.WindowTracker.get_default().get_app_from_pid(result);
if (app)
source.setApp(app);
});
} else {
source.update(icon, hints);
}
summary = GLib.markup_escape_text(summary, -1);
let rewrites = rewriteRules[appName];
@ -197,55 +216,120 @@ NotificationDaemon.prototype = {
}
}
let notification;
if (replacesId != 0) {
id = replacesId;
notification = this._currentNotifications[id];
hints = Params.parse(hints, { urgency: Urgency.NORMAL }, true);
let ndata = { appName: appName,
icon: icon,
summary: summary,
body: body,
actions: actions,
hints: hints,
timeout: timeout };
if (replacesId != 0 && this._notifications[replacesId]) {
ndata.id = id = replacesId;
ndata.notification = this._notifications[replacesId].notification;
} else {
replacesId = 0;
ndata.id = id = nextNotificationId++;
}
this._notifications[id] = ndata;
let sender = DBus.getCurrentMessageContext().sender;
let pid = this._senderToPid[sender];
let source = pid ? this._sources[pid] : null;
if (source) {
this._notifyForSource(source, ndata);
return id;
}
if (replacesId) {
// There's already a pending call to GetConnectionUnixProcessID,
// which will see the new notification data when it finishes,
// so we don't have to do anything.
return id;
}
this._busProxy.GetConnectionUnixProcessIDRemote(sender, Lang.bind(this,
function (pid, ex) {
// The app may have updated or removed the notification
ndata = this._notifications[id];
if (!ndata)
return;
this._senderToPid[sender] = pid;
source = this._sources[pid];
if (!source)
source = this._newSource(appName, pid);
source.connect('destroy', Lang.bind(this,
function() {
delete this._senderToPid[sender];
}));
this._notifyForSource(source, ndata);
}));
return id;
},
_notifyForSource: function(source, ndata) {
let [id, icon, summary, body, actions, hints, notification] =
[ndata.id, ndata.icon, ndata.summary, ndata.body,
ndata.actions, ndata.hints, ndata.notification];
let iconActor = this._iconForNotificationData(icon, hints, source.ICON_SIZE);
if (notification == null) {
id = nextNotificationId++;
notification = new MessageTray.Notification(id, source, summary, body, true);
this._currentNotifications[id] = notification;
notification.connect('dismissed', Lang.bind(this,
notification = new MessageTray.Notification(source, summary, body, { icon: iconActor });
ndata.notification = notification;
notification.connect('clicked', Lang.bind(this,
function(n) {
n.destroy();
this._emitNotificationClosed(n.id, NotificationClosedReason.DISMISSED);
this._emitNotificationClosed(id, NotificationClosedReason.DISMISSED);
}));
notification.connect('destroy', Lang.bind(this,
function(n) {
delete this._notifications[id];
}));
notification.connect('action-invoked', Lang.bind(this, this._actionInvoked, source, id));
} else {
// passing in true as the last parameter will clear out extra actors,
// such as actions
notification.update(summary, body, true);
notification.update(summary, body, { icon: iconActor,
clear: true });
}
if (actions.length) {
notification.setUseActionIcons(hints['action-icons'] == true);
for (let i = 0; i < actions.length - 1; i += 2)
notification.addButton(actions[i], actions[i + 1]);
notification.connect('action-invoked', Lang.bind(this, this._actionInvoked, source, id));
}
notification.setUrgent(hints.urgency == Urgency.CRITICAL);
source.notify(notification);
return id;
let sourceIconActor = source.useNotificationIcon ? this._iconForNotificationData(icon, hints, source.ICON_SIZE) : null;
source.notify(notification, sourceIconActor);
},
CloseNotification: function(id) {
let notification = this._currentNotifications[id];
if (notification)
notification.destroy();
let ndata = this._notifications[id];
if (ndata) {
if (ndata.notification)
ndata.notification.destroy();
delete this._notifications[id];
}
this._emitNotificationClosed(id, NotificationClosedReason.APP_CLOSED);
},
GetCapabilities: function() {
return [
'actions',
'action-icons',
'body',
// 'body-hyperlinks',
// 'body-images',
'body-markup',
// 'icon-multi',
'icon-static'
'icon-static',
'persistence',
// 'sound',
];
},
@ -261,17 +345,24 @@ NotificationDaemon.prototype = {
_onFocusAppChanged: function() {
let tracker = Shell.WindowTracker.get_default();
if (tracker.focus_app)
Main.messageTray.removeSourceByApp(tracker.focus_app);
if (!tracker.focus_app)
return;
for (let id in this._sources) {
let source = this._sources[id];
if (source.app == tracker.focus_app) {
source.activated();
return;
}
}
},
_actionInvoked: function(notification, action, source, id) {
source.activated();
this._emitActionInvoked(id, action);
source.destroy();
},
_emitNotificationClosed: function(id, reason) {
delete this._currentNotifications[id];
DBus.session.emit_signal('/org/freedesktop/Notifications',
'org.freedesktop.Notifications',
'NotificationClosed', 'uu',
@ -283,85 +374,89 @@ NotificationDaemon.prototype = {
'org.freedesktop.Notifications',
'ActionInvoked', 'us',
[id, action]);
},
_onTrayIconAdded: function(o, icon) {
let source = this._sources[icon.pid];
if (!source)
source = this._newSource(icon.title || icon.wm_class || _("Unknown"), icon.pid);
source.setTrayIcon(icon);
},
_onTrayIconRemoved: function(o, icon) {
let source = this._sources[icon.pid];
if (source)
source.destroy();
}
};
DBus.conformExport(NotificationDaemon.prototype, NotificationDaemonIface);
function Source(sourceId, title, icon, hints) {
this._init(sourceId, title, icon, hints);
function Source(title, pid) {
this._init(title, pid);
}
Source.prototype = {
__proto__: MessageTray.Source.prototype,
_init: function(sourceId, title, icon, hints) {
MessageTray.Source.prototype._init.call(this, sourceId, title);
_init: function(title, pid) {
MessageTray.Source.prototype._init.call(this, title);
this.app = null;
this._openAppRequested = false;
this.update(icon, hints);
this._pid = pid;
this._setApp();
if (this.app)
this.title = this.app.get_name();
else
this.useNotificationIcon = true;
this._isTrayIcon = false;
},
update: function(icon, hints) {
this._icon = icon;
this._iconData = hints.icon_data;
this._urgency = hints.urgency;
notify: function(notification, icon) {
if (!this.app)
this._setApp();
if (!this.app && icon)
this._setSummaryIcon(icon);
MessageTray.Source.prototype.notify.call(this, notification);
},
createIcon: function(size) {
let textureCache = St.TextureCache.get_default();
_setApp: function() {
this.app = Shell.WindowTracker.get_default().get_app_from_pid(this._pid);
if (!this.app)
return;
if (this._icon) {
if (this._icon.substr(0, 7) == 'file://')
return textureCache.load_uri_async(this._icon, size, size);
else if (this._icon[0] == '/') {
let uri = GLib.filename_to_uri(this._icon, null);
return textureCache.load_uri_async(uri, size, size);
} else
return textureCache.load_icon_name(this._icon, size);
} else if (this._iconData) {
let [width, height, rowStride, hasAlpha,
bitsPerSample, nChannels, data] = this._iconData;
return textureCache.load_from_raw(data, data.length, hasAlpha,
width, height, rowStride, size);
} else {
let stockIcon;
switch (this._urgency) {
case Urgency.LOW:
case Urgency.NORMAL:
stockIcon = 'gtk-dialog-info';
break;
case Urgency.CRITICAL:
stockIcon = 'gtk-dialog-error';
break;
}
return textureCache.load_icon_name(stockIcon, size);
// Only override the icon if we were previously using
// notification-based icons (ie, not a trayicon)
if (this.useNotificationIcon) {
this.useNotificationIcon = false;
this._setSummaryIcon(this.app.create_icon_texture (this.ICON_SIZE));
}
},
clicked: function() {
this.openApp();
MessageTray.Source.prototype.clicked.call(this);
setTrayIcon: function(icon) {
this._setSummaryIcon(icon);
this.useNotificationIcon = false;
this._isTrayIcon = true;
},
setApp: function(app) {
this.app = app;
if (this._openAppRequested)
this.openApp();
_notificationClicked: function(notification) {
notification.destroy();
this.openApp();
this.activated();
},
activated: function() {
if (!this._isTrayIcon)
this.destroy();
},
openApp: function() {
if (this.app == null) {
this._openAppRequested = true;
if (this.app == null)
return;
}
let windows = this.app.get_windows();
if (windows.length > 0) {
let mostRecentWindow = windows[0];
Main.activateWindow(mostRecentWindow);
}
this._openAppRequested = false;
}
};

View File

@ -1,10 +1,8 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
const Clutter = imports.gi.Clutter;
const Gio = imports.gi.Gio;
const Gtk = imports.gi.Gtk;
const Meta = imports.gi.Meta;
const Mainloop = imports.mainloop;
const Shell = imports.gi.Shell;
const Signals = imports.signals;
const Lang = imports.lang;
const St = imports.gi.St;
@ -12,105 +10,59 @@ const Gettext = imports.gettext.domain('gnome-shell');
const _ = Gettext.gettext;
const AppDisplay = imports.ui.appDisplay;
const Dash = imports.ui.dash;
const DocDisplay = imports.ui.docDisplay;
const GenericDisplay = imports.ui.genericDisplay;
const Lightbox = imports.ui.lightbox;
const Main = imports.ui.main;
const MessageTray = imports.ui.messageTray;
const Panel = imports.ui.panel;
const Dash = imports.ui.dash;
const PlaceDisplay = imports.ui.placeDisplay;
const Tweener = imports.ui.tweener;
const ViewSelector = imports.ui.viewSelector;
const WorkspacesView = imports.ui.workspacesView;
// Time for initial animation going into Overview mode
const ANIMATION_TIME = 0.25;
// Time for pane menus to fade in/out
const PANE_FADE_TIME = 0.1;
// We split the screen vertically between the dash and the view selector.
const DASH_SPLIT_FRACTION = 0.1;
// We divide the screen into a grid of rows and columns, which we use
// to help us position the Overview components, such as the side panel
// that lists applications and documents, the workspaces display, and
// the button for adding additional workspaces.
// In the regular mode, the side panel takes up one column on the left,
// and the workspaces display takes up the remaining columns.
// In the expanded side panel display mode, the side panel takes up two
// columns, and the workspaces display slides all the way to the right,
// being visible only in the last quarter of the right-most column.
// In the future, this mode will have more components, such as a display
// of documents which were recently opened with a given application, which
// will take up the remaining sections of the display.
const SHELL_INFO_HIDE_TIMEOUT = 10;
const WIDE_SCREEN_CUT_OFF_RATIO = 1.4;
// A common netbook resolution is 1024x600, which trips the widescreen
// ratio. However that leaves way too few pixels for the dash. So
// just treat this as a regular screen.
const WIDE_SCREEN_MINIMUM_HEIGHT = 768;
const COLUMNS_REGULAR_SCREEN = 4;
const ROWS_REGULAR_SCREEN = 8;
const COLUMNS_WIDE_SCREEN = 5;
const ROWS_WIDE_SCREEN = 10;
const DEFAULT_PADDING = 4;
// Padding around workspace grid / Spacing between Dash and Workspaces
const WORKSPACE_GRID_PADDING = 12;
const COLUMNS_FOR_WORKSPACES_REGULAR_SCREEN = 3;
const ROWS_FOR_WORKSPACES_REGULAR_SCREEN = 6;
const COLUMNS_FOR_WORKSPACES_WIDE_SCREEN = 4;
const ROWS_FOR_WORKSPACES_WIDE_SCREEN = 8;
// A multi-state; PENDING is used during animations
const STATE_ACTIVE = true;
const STATE_PENDING_INACTIVE = false;
const STATE_INACTIVE = false;
const SHADOW_COLOR = new Clutter.Color();
SHADOW_COLOR.from_pixel(0x00000033);
const TRANSPARENT_COLOR = new Clutter.Color();
TRANSPARENT_COLOR.from_pixel(0x00000000);
const SHADOW_WIDTH = 6;
const NUMBER_OF_SECTIONS_IN_SEARCH = 2;
const INFO_BAR_HIDE_TIMEOUT = 10;
let wideScreen = false;
let displayGridColumnWidth = null;
let displayGridRowHeight = null;
function InfoBar() {
function Source() {
this._init();
}
InfoBar.prototype = {
Source.prototype = {
__proto__: MessageTray.Source.prototype,
_init: function() {
this.actor = new St.Bin({ style_class: 'info-bar-panel',
x_fill: true,
y_fill: false });
this._label = new St.Label();
this._undo = new St.Button({ style_class: 'info-bar-link-button' });
MessageTray.Source.prototype._init.call(this,
"System Information");
this._setSummaryIcon(this.createNotificationIcon());
},
let bin = new St.Bin({ x_fill: false,
y_fill: false,
x_align: St.Align.MIDDLE,
y_align: St.Align.MIDDLE });
this.actor.set_child(bin);
createNotificationIcon: function() {
return new St.Icon({ icon_name: 'info',
icon_type: St.IconType.FULLCOLOR,
icon_size: this.ICON_SIZE });
},
let box = new St.BoxLayout({ style_class: 'info-bar' });
bin.set_child(box);
_notificationClicked: function() {
this.destroy();
}
}
function ShellInfo() {
this._init();
}
ShellInfo.prototype = {
_init: function() {
this._source = null;
this._timeoutId = 0;
box.add(this._label, {'y-fill' : false, 'y-align' : St.Align.MIDDLE});
box.add(this._undo);
this.actor.set_opacity(0);
this._undoCallback = null;
this._undo.connect('clicked', Lang.bind(this, this._onUndoClicked));
},
_onUndoClicked: function() {
@ -119,27 +71,16 @@ InfoBar.prototype = {
if (this._undoCallback)
this._undoCallback();
this.actor.set_opacity(0);
this._undoCallback = null;
},
_hideDone: function() {
this._undoCallback = null;
},
_hide: function() {
Tweener.addTween(this.actor,
{ opacity: 0,
transition: 'easeOutQuad',
time: ANIMATION_TIME,
onComplete: this._hideDone,
onCompleteScope: this
});
if (this._source)
this._source.destroy();
},
_onTimeout: function() {
this._timeoutId = 0;
this._hide();
if (this._source)
this._source.destroy();
return false;
},
@ -147,28 +88,33 @@ InfoBar.prototype = {
if (this._timeoutId)
Mainloop.source_remove(this._timeoutId);
this._timeout = false;
this._timeoutId = Mainloop.timeout_add_seconds(SHELL_INFO_HIDE_TIMEOUT,
Lang.bind(this, this._onTimeout));
this._label.text = text;
if (this._source == null) {
this._source = new Source();
this._source.connect('destroy', Lang.bind(this,
function() {
this._source = null;
}));
Main.messageTray.add(this._source);
}
Tweener.addTween(this.actor,
{ opacity: 255,
transition: 'easeOutQuad',
time: ANIMATION_TIME
});
this._timeoutId = Mainloop.timeout_add_seconds(INFO_BAR_HIDE_TIMEOUT, Lang.bind(this, this._onTimeout));
if (undoLabel)
this._undo.label = undoLabel;
let notification = this._source.notification;
if (notification == null)
notification = new MessageTray.Notification(this._source, text, null);
else
this._undo.label = _("Undo");
notification.update(text, null, { clear: true });
this._undoCallback = undoCallback;
if (undoCallback)
this._undo.show();
else
this._undo.hide();
if (undoCallback) {
notification.addButton('system-undo',
undoLabel ? undoLabel : _("Undo"));
notification.connect('action-invoked',
Lang.bind(this, this._onUndoClicked));
}
this._source.notify(notification);
}
};
@ -178,30 +124,37 @@ function Overview() {
Overview.prototype = {
_init : function() {
this._group = new St.Group({ style_class: 'overview' });
this._desktopFade = new St.Bin();
global.overlay_group.add_actor(this._desktopFade);
// The actual global.background_actor is inside global.window_group,
// which is hidden when displaying the overview, so we display a clone.
this._background = new Clutter.Clone({ source: global.background_actor });
this._background.hide();
global.overlay_group.add_actor(this._background);
this._spacing = 0;
this._group = new St.Group({ name: 'overview' });
this._group._delegate = this;
this._group.connect('destroy', Lang.bind(this,
function() {
if (this._lightbox) {
this._lightbox.destroy();
this._lightbox = null;
this._group.connect('style-changed',
Lang.bind(this, function() {
let node = this._group.get_theme_node();
let spacing = node.get_length('spacing');
if (spacing != this._spacing) {
this._spacing = spacing;
this.relayout();
}
}));
this.infoBar = new InfoBar();
this._group.add_actor(this.infoBar.actor);
this.shellInfo = new ShellInfo();
this._workspacesManager = null;
this._lightbox = null;
this._workspacesDisplay = null;
this.visible = false;
this.animationInProgress = false;
this._hideInProgress = false;
this._recalculateGridSizes();
this._activeDisplayPane = null;
// During transitions, we raise this to the top to avoid having the overview
// area be reactive; it causes too many issues such as double clicks on
// Dash elements, or mouseover handlers in the workspaces.
@ -210,196 +163,87 @@ Overview.prototype = {
this._group.add_actor(this._coverPane);
this._coverPane.connect('event', Lang.bind(this, function (actor, event) { return true; }));
// Similar to the cover pane but used for dialogs ("panes"); see the comments
// in addPane below.
this._transparentBackground = new Clutter.Rectangle({ opacity: 0,
reactive: true });
this._group.add_actor(this._transparentBackground);
// Background color for the Overview
this._backOver = new St.Label();
this._group.add_actor(this._backOver);
this._group.hide();
global.overlay_group.add_actor(this._group);
this.viewSelector = new ViewSelector.ViewSelector();
this._group.add_actor(this.viewSelector.actor);
this._workspacesDisplay = new WorkspacesView.WorkspacesDisplay();
this.viewSelector.addViewTab("Windows", this._workspacesDisplay.actor);
let appView = new AppDisplay.AllAppDisplay();
this.viewSelector.addViewTab("Applications", appView.actor);
// Default search providers
this.viewSelector.addSearchProvider(new AppDisplay.AppSearchProvider());
this.viewSelector.addSearchProvider(new AppDisplay.PrefsSearchProvider());
this.viewSelector.addSearchProvider(new PlaceDisplay.PlaceSearchProvider());
this.viewSelector.addSearchProvider(new DocDisplay.DocSearchProvider());
this.viewSelector.addSearchProvider(new WorkspacesView.WindowSearchProvider());
// TODO - recalculate everything when desktop size changes
this._dash = new Dash.Dash();
this._group.add_actor(this._dash.actor);
// Container to hold popup pane chrome.
this._paneContainer = new St.BoxLayout({ style_class: 'overview-pane' });
// Note here we explicitly don't set the paneContainer to be reactive yet; that's done
// inside the notify::visible handler on panes.
this._paneContainer.connect('button-release-event', Lang.bind(this, function(background) {
this._activeDisplayPane.close();
return true;
}));
this._group.add_actor(this._paneContainer);
this._transparentBackground.lower_bottom();
this._paneContainer.hide();
this._dash.actor.add_constraint(this.viewSelector.constrainY);
this._dash.actor.add_constraint(this.viewSelector.constrainHeight);
this._coverPane.lower_bottom();
this.workspaces = null;
},
_onViewChanged: function() {
if (!this.visible)
return;
_getDesktopClone: function() {
let windows = global.get_window_actors().filter(function(w) {
return w.meta_window.get_window_type() == Meta.WindowType.DESKTOP;
});
if (windows.length == 0)
return null;
this.workspaces = this._workspacesManager.workspacesView;
// Show new workspacesView
this._group.add_actor(this.workspaces.actor);
this._workspacesBar.raise(this.workspaces.actor);
this._dash.actor.raise(this.workspaces.actor);
},
_recalculateGridSizes: function () {
let primary = global.get_primary_monitor();
wideScreen = (primary.width/primary.height > WIDE_SCREEN_CUT_OFF_RATIO) &&
(primary.height >= WIDE_SCREEN_MINIMUM_HEIGHT);
// We divide the screen into an imaginary grid which helps us determine the layout of
// different visual components.
if (wideScreen) {
displayGridColumnWidth = Math.floor(primary.width / COLUMNS_WIDE_SCREEN);
displayGridRowHeight = Math.floor(primary.height / ROWS_WIDE_SCREEN);
} else {
displayGridColumnWidth = Math.floor(primary.width / COLUMNS_REGULAR_SCREEN);
displayGridRowHeight = Math.floor(primary.height / ROWS_REGULAR_SCREEN);
}
let clone = new Clutter.Clone({ source: windows[0].get_texture() });
clone.source.connect('destroy', Lang.bind(this, function() {
clone.destroy();
}));
return clone;
},
relayout: function () {
let primary = global.get_primary_monitor();
let rtl = (St.Widget.get_default_direction () == St.TextDirection.RTL);
this._recalculateGridSizes();
let contentY = Panel.PANEL_HEIGHT;
let contentHeight = primary.height - contentY - Main.messageTray.actor.height;
this._group.set_position(primary.x, primary.y);
this._group.set_size(primary.width, primary.height);
let contentY = Panel.PANEL_HEIGHT;
let contentHeight = primary.height - contentY;
this._coverPane.set_position(0, contentY);
this._coverPane.set_size(primary.width, contentHeight);
let workspaceColumnsUsed = wideScreen ? COLUMNS_FOR_WORKSPACES_WIDE_SCREEN : COLUMNS_FOR_WORKSPACES_REGULAR_SCREEN;
let workspaceRowsUsed = wideScreen ? ROWS_FOR_WORKSPACES_WIDE_SCREEN : ROWS_FOR_WORKSPACES_REGULAR_SCREEN;
this._workspacesWidth = displayGridColumnWidth * workspaceColumnsUsed
- WORKSPACE_GRID_PADDING * 2;
// We scale the vertical padding by (primary.height / primary.width)
// so that the workspace preserves its aspect ratio.
this._workspacesHeight = Math.floor(displayGridRowHeight * workspaceRowsUsed
- WORKSPACE_GRID_PADDING * (primary.height / primary.width) * 2);
let viewWidth = (1.0 - DASH_SPLIT_FRACTION) * primary.width - this._spacing;
let viewHeight = contentHeight - 2 * this._spacing;
let viewY = contentY + this._spacing;
let viewX = rtl ? 0
: Math.floor(DASH_SPLIT_FRACTION * primary.width) + this._spacing;
// Set the dash's x position - y is handled by a constraint
let dashX;
if (rtl) {
this._workspacesX = WORKSPACE_GRID_PADDING;
this._dash.actor.set_anchor_point_from_gravity(Clutter.Gravity.NORTH_EAST);
dashX = primary.width;
} else {
this._workspacesX = displayGridColumnWidth + WORKSPACE_GRID_PADDING;
dashX = 0;
}
this._workspacesY = Math.floor(displayGridRowHeight + WORKSPACE_GRID_PADDING * (primary.height / primary.width));
this._dash.actor.set_x(dashX);
if (rtl) {
this._dash.actor.set_position(primary.width - displayGridColumnWidth, contentY);
} else {
this._dash.actor.set_position(0, contentY);
}
this._dash.actor.set_size(displayGridColumnWidth, contentHeight);
this._dash.searchArea.height = this._workspacesY - contentY;
this._dash.sectionArea.height = this._workspacesHeight;
this._dash.searchResults.actor.height = this._workspacesHeight;
this.infoBar.actor.set_position(displayGridColumnWidth, Panel.PANEL_HEIGHT);
this.infoBar.actor.set_size(primary.width - displayGridColumnWidth, this._workspacesY - Panel.PANEL_HEIGHT);
this.infoBar.actor.raise_top();
// place the 'Add Workspace' button in the bottom row of the grid
this._workspacesBarX = this._workspacesX;
this._workspacesBarWidth = this._workspacesWidth;
this._workspacesBarY = primary.height - displayGridRowHeight;
// The parent (this._group) is positioned at the top left of the primary monitor
// while this._backOver occupies the entire screen.
this._backOver.set_position(- primary.x, - primary.y);
this._backOver.set_size(global.screen_width, global.screen_height);
this._paneContainer.set_position(this._dash.actor.x + this._dash.actor.width + DEFAULT_PADDING,
this._workspacesY);
// Dynamic width
this._paneContainer.height = this._workspacesHeight;
if (rtl) {
this._paneContainer.connect('notify::width', Lang.bind(this, function (paneContainer) {
paneContainer.x = this._dash.actor.x - (DEFAULT_PADDING + paneContainer.width);
}));
}
this._transparentBackground.set_position(primary.x, primary.y);
this._transparentBackground.set_size(primary.width, primary.height);
},
addPane: function (pane, align) {
pane.actor.height = .9 * this._workspacesHeight;
this._paneContainer.add(pane.actor, { expand: true,
y_fill: false,
y_align: align });
// When a pane is displayed, we raise the transparent background to the top
// and connect to button-release-event on it, then raise the pane above that.
// The idea here is that clicking anywhere outside the pane should close it.
// When the active pane is closed, undo the effect.
let backgroundEventId = null;
pane.connect('open-state-changed', Lang.bind(this, function (pane, isOpen) {
if (isOpen) {
this._activeDisplayPane = pane;
this._transparentBackground.raise_top();
this._paneContainer.raise_top();
this._paneContainer.show();
this._paneReady = false;
if (backgroundEventId != null)
this._transparentBackground.disconnect(backgroundEventId);
backgroundEventId = this._transparentBackground.connect('captured-event', Lang.bind(this, function (actor, event) {
if (event.get_source() != this._transparentBackground)
return false;
if (event.type() == Clutter.EventType.BUTTON_PRESS)
this._paneReady = true;
if (event.type() == Clutter.EventType.BUTTON_RELEASE
&& this._paneReady)
this._activeDisplayPane.close();
return true;
}));
if (!this._lightbox)
this._lightbox = new Lightbox.Lightbox(this._group,
{ fadeTime: PANE_FADE_TIME });
this._lightbox.show();
this._lightbox.highlight(this._paneContainer);
} else if (pane == this._activeDisplayPane) {
this._activeDisplayPane = null;
if (backgroundEventId != null) {
this._transparentBackground.disconnect(backgroundEventId);
backgroundEventId = null;
}
this._transparentBackground.lower_bottom();
this._paneContainer.hide();
this._lightbox.hide();
}
}));
this.viewSelector.actor.set_position(viewX, viewY);
this.viewSelector.actor.set_size(viewWidth, viewHeight);
},
//// Public methods ////
beginItemDrag: function(source) {
// Close any active panes if @source is a GenericDisplayItem.
// This allows the user to place the item on any workspace.
if (source instanceof GenericDisplay.GenericDisplayItem)
if (this._activeDisplayPane != null)
this._activeDisplayPane.close();
this.emit('item-drag-begin');
},
@ -407,6 +251,14 @@ Overview.prototype = {
this.emit('item-drag-end');
},
beginWindowDrag: function(source) {
this.emit('window-drag-begin');
},
endWindowDrag: function(source) {
this.emit('window-drag-end');
},
// Returns the scale the Overview has when we just start zooming out
// to overview mode. That is, when just the active workspace is showing.
getZoomedInScale : function() {
@ -424,49 +276,23 @@ Overview.prototype = {
// Returns the current scale of the Overview.
getScale : function() {
return this._group.scaleX;
return this.workspaces.actor.scaleX;
},
// Returns the current position of the Overview.
getPosition : function() {
return [this._group.x, this._group.y];
return [this.workspaces.actor.x, this.workspaces.actor.y];
},
show : function() {
if (this.visible)
return;
if (!Main.pushModal(this._dash.actor))
if (!Main.pushModal(this.viewSelector.actor))
return;
this.visible = true;
this.animationInProgress = true;
this._dash.show();
/* TODO: make this stuff dynamic */
this._workspacesManager =
new WorkspacesView.WorkspacesManager(this._workspacesWidth,
this._workspacesHeight,
this._workspacesX,
this._workspacesY);
this._workspacesManager.connect('view-changed',
Lang.bind(this, this._onViewChanged));
this.workspaces = this._workspacesManager.workspacesView;
this._group.add_actor(this.workspaces.actor);
// The workspaces actor is as big as the screen, so we have to raise the dash above it
// for drag and drop to work. In the future we should fix the workspaces to not
// be as big as the screen.
this._dash.actor.raise(this.workspaces.actor);
this._workspacesBar = this._workspacesManager.controlsBar.actor;
this._workspacesBar.set_position(this._workspacesBarX,
this._workspacesBarY);
this._workspacesBar.width = this._workspacesBarWidth;
this._group.add_actor(this._workspacesBar);
this._workspacesBar.raise(this.workspaces.actor);
// All the the actors in the window group are completely obscured,
// hiding the group holding them while the Overview is displayed greatly
// increases performance of the Overview especially when there are many
@ -476,17 +302,38 @@ Overview.prototype = {
// clones of them, this would obviously no longer be necessary.
global.window_group.hide();
this._group.show();
this._background.show();
// Create a zoom out effect. First scale the Overview group up and
this.viewSelector.show();
this._workspacesDisplay.show();
this._dash.show();
this.workspaces = this._workspacesDisplay.workspacesView;
global.overlay_group.add_actor(this.workspaces.actor);
if (!this._desktopFade.child)
this._desktopFade.child = this._getDesktopClone();
if (!this.workspaces.getActiveWorkspace().hasMaximizedWindows()) {
this._desktopFade.opacity = 255;
this._desktopFade.show();
Tweener.addTween(this._desktopFade,
{ opacity: 0,
time: ANIMATION_TIME,
transition: 'easeOutQuad'
});
}
// Create a zoom out effect. First scale the workspaces view up and
// position it so that the active workspace fills up the whole screen,
// then transform the group to its normal dimensions and position.
// then transform it to its normal dimensions and position.
// The opposite transition is used in hide().
this._group.scaleX = this._group.scaleY = this.getZoomedInScale();
[this._group.x, this._group.y] = this.getZoomedInPosition();
this.workspaces.actor.scaleX = this.workspaces.actor.scaleY = this.getZoomedInScale();
[this.workspaces.actor.x, this.workspaces.actor.y] = this.getZoomedInPosition();
let primary = global.get_primary_monitor();
Tweener.addTween(this._group,
{ x: primary.x,
y: primary.y,
Tweener.addTween(this.workspaces.actor,
{ x: primary.x - this._group.x,
y: primary.y - this._group.y,
scaleX: 1,
scaleY: 1,
transition: 'easeOutQuad',
@ -495,9 +342,9 @@ Overview.prototype = {
onCompleteScope: this
});
// Make Dash fade in so that it doesn't appear too big.
this._dash.actor.opacity = 0;
Tweener.addTween(this._dash.actor,
// Make the other elements fade in.
this._group.opacity = 0;
Tweener.addTween(this._group,
{ opacity: 255,
transition: 'easeOutQuad',
time: ANIMATION_TIME
@ -513,16 +360,24 @@ Overview.prototype = {
this.animationInProgress = true;
this._hideInProgress = true;
if (this._activeDisplayPane != null)
this._activeDisplayPane.close();
if (!this.workspaces.getActiveWorkspace().hasMaximizedWindows()) {
this._desktopFade.opacity = 0;
this._desktopFade.show();
Tweener.addTween(this._desktopFade,
{ opacity: 255,
time: ANIMATION_TIME,
transition: 'easeOutQuad' });
}
this.workspaces.hide();
// Create a zoom in effect by transforming the Overview group so that
// Create a zoom in effect by transforming the workspaces view so that
// the active workspace fills up the whole screen. The opposite
// transition is used in show().
let scale = this.getZoomedInScale();
let [posX, posY] = this.getZoomedInPosition();
Tweener.addTween(this._group,
Tweener.addTween(this.workspaces.actor,
{ x: posX,
y: posY,
scaleX: scale,
@ -533,8 +388,8 @@ Overview.prototype = {
onCompleteScope: this
});
// Make Dash fade out so that it doesn't appear to big.
Tweener.addTween(this._dash.actor,
// Make other elements fade out.
Tweener.addTween(this._group,
{ opacity: 0,
transition: 'easeOutQuad',
time: ANIMATION_TIME
@ -570,6 +425,7 @@ Overview.prototype = {
return;
this.animationInProgress = false;
this._desktopFade.hide();
this._coverPane.lower_bottom();
this.emit('shown');
@ -581,12 +437,12 @@ Overview.prototype = {
this.workspaces.destroy();
this.workspaces = null;
this._workspacesBar.destroy();
this._workspacesBar = null;
this._workspacesManager = null;
this._workspacesDisplay.hide();
this.viewSelector.hide();
this._dash.hide();
this._desktopFade.hide();
this._background.hide();
this._group.hide();
this.visible = false;
@ -595,7 +451,7 @@ Overview.prototype = {
this._coverPane.lower_bottom();
Main.popModal(this._dash.actor);
Main.popModal(this.viewSelector.actor);
this.emit('hidden');
}
};

View File

@ -1,26 +1,21 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
const Cairo = imports.cairo;
const Clutter = imports.gi.Clutter;
const GConf = imports.gi.GConf;
const Gio = imports.gi.Gio;
const Gtk = imports.gi.Gtk;
const Lang = imports.lang;
const Mainloop = imports.mainloop;
const Meta = imports.gi.Meta;
const Pango = imports.gi.Pango;
const Shell = imports.gi.Shell;
const St = imports.gi.St;
const Signals = imports.signals;
const DBus = imports.dbus;
const Gettext = imports.gettext.domain('gnome-shell');
const _ = Gettext.gettext;
const AppDisplay = imports.ui.appDisplay;
const BoxPointer = imports.ui.boxpointer;
const Calendar = imports.ui.calendar;
const Overview = imports.ui.overview;
const PopupMenu = imports.ui.popupMenu;
const PanelMenu = imports.ui.panelMenu;
const StatusMenu = imports.ui.statusMenu;
const Main = imports.ui.main;
const Tweener = imports.ui.tweener;
@ -34,12 +29,11 @@ const ANIMATED_ICON_UPDATE_TIMEOUT = 100;
const SPINNER_UPDATE_TIMEOUT = 130;
const SPINNER_SPEED = 0.02;
const STANDARD_TRAY_ICON_ORDER = ['keyboard', 'volume', 'bluetooth', 'network', 'battery'];
const STANDARD_TRAY_ICON_IMPLEMENTATIONS = {
'bluetooth-applet': 'bluetooth',
'gnome-volume-control-applet': 'volume',
'nm-applet': 'network',
'gnome-power-manager': 'battery'
const STANDARD_TRAY_ICON_ORDER = ['a11y', 'display', 'keyboard', 'volume', 'bluetooth', 'network', 'battery'];
const STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION = {
'a11y': imports.ui.status.accessibility.ATIndicator,
'volume': imports.ui.status.volume.Indicator,
'battery': imports.ui.status.power.Indicator
};
const CLOCK_FORMAT_KEY = 'format';
@ -176,38 +170,6 @@ TextShadower.prototype = {
}
};
function PanelMenuButton(menuAlignment) {
this._init(menuAlignment);
}
PanelMenuButton.prototype = {
_init: function(menuAlignment) {
this.actor = new St.Bin({ style_class: 'panel-button',
reactive: true,
x_fill: true,
y_fill: false,
track_hover: true });
this.actor._delegate = this;
this.actor.connect('button-press-event', Lang.bind(this, this._onButtonPress));
this.menu = new PopupMenu.PopupMenu(this.actor, menuAlignment, St.Side.TOP, /* FIXME */ 0);
this.menu.connect('open-state-changed', Lang.bind(this, this._onOpenStateChanged));
Main.chrome.addActor(this.menu.actor, { visibleInOverview: true,
affectsStruts: false });
this.menu.actor.hide();
},
_onButtonPress: function(actor, event) {
this.menu.toggle();
},
_onOpenStateChanged: function(menu, open) {
if (open)
this.actor.add_style_pseudo_class('pressed');
else
this.actor.remove_style_pseudo_class('pressed');
}
};
/**
* AppMenuButton:
*
@ -221,13 +183,14 @@ function AppMenuButton() {
}
AppMenuButton.prototype = {
__proto__: PanelMenuButton.prototype,
__proto__: PanelMenu.Button.prototype,
_init: function() {
PanelMenuButton.prototype._init.call(this, St.Align.START);
PanelMenu.Button.prototype._init.call(this, St.Align.START);
this._metaDisplay = global.screen.get_display();
this._startingApps = [];
this._focusedApp = null;
this._targetApp = null;
let bin = new St.Bin({ name: 'appMenu' });
this.actor.set_child(bin);
@ -258,10 +221,11 @@ AppMenuButton.prototype = {
this._updateId = 0;
this._animationStep = 0;
this._clipWidth = AppDisplay.APPICON_SIZE / 2;
this._clipWidth = PANEL_ICON_SIZE;
this._direction = SPINNER_SPEED;
this._spinner = new AnimatedIcon('process-working.png', 24);
this._spinner = new AnimatedIcon('process-working.png',
PANEL_ICON_SIZE);
this._container.add_actor(this._spinner.actor);
this._spinner.actor.lower_bottom();
@ -273,6 +237,8 @@ AppMenuButton.prototype = {
tracker.connect('notify::focus-app', Lang.bind(this, this._sync));
tracker.connect('app-state-changed', Lang.bind(this, this._onAppStateChanged));
global.window_manager.connect('switch-workspace', Lang.bind(this, this._sync));
this._sync();
},
@ -341,11 +307,9 @@ AppMenuButton.prototype = {
this._stopAnimation(true);
return false;
}
if (this._animationStep < 0 || this._animationStep > 1) {
this._direction = -this._direction;
this._animationStep += 2 * this._direction;
}
this._clipWidth = this._label.actor.width - (this._label.actor.width - AppDisplay.APPICON_SIZE / 2) * (1 - this._animationStep);
if (this._animationStep > 1)
this._animationStep = 1;
this._clipWidth = this._label.actor.width - (this._label.actor.width - PANEL_ICON_SIZE) * (1 - this._animationStep);
if (this.actor.get_direction() == St.TextDirection.LTR) {
this._label.actor.set_clip(0, 0, this._clipWidth + this._shadow.width, this.actor.height);
} else {
@ -445,18 +409,19 @@ AppMenuButton.prototype = {
},
_onQuit: function() {
if (this._focusedApp == null)
if (this._targetApp == null)
return;
this._focusedApp.request_quit();
this._targetApp.request_quit();
},
_onAppStateChanged: function(tracker, app) {
let state = app.state;
if (app == this._lastStartedApp
&& state != Shell.AppState.STARTING) {
this._lastStartedApp = null;
if (state != Shell.AppState.STARTING) {
this._startingApps = this._startingApps.filter(function(a) {
return a != app;
});
} else if (state == Shell.AppState.STARTING) {
this._lastStartedApp = app;
this._startingApps.push(app);
}
// For now just resync on all running state changes; this is mainly to handle
// cases where the focused window's application changes without the focus
@ -467,14 +432,27 @@ AppMenuButton.prototype = {
_sync: function() {
let tracker = Shell.WindowTracker.get_default();
let lastStartedApp = null;
let workspace = global.screen.get_active_workspace();
for (let i = 0; i < this._startingApps.length; i++)
if (this._startingApps[i].is_on_workspace(workspace))
lastStartedApp = this._startingApps[i];
let focusedApp = tracker.focus_app;
if (focusedApp == this._focusedApp) {
if (focusedApp && focusedApp.get_state() != Shell.AppState.STARTING)
let targetApp = focusedApp != null ? focusedApp : lastStartedApp;
if (targetApp == this._targetApp) {
if (targetApp && targetApp.get_state() != Shell.AppState.STARTING)
this.stopAnimation();
return;
} else {
this._stopAnimation();
}
this._stopAnimation();
if (!focusedApp) {
// If the app has just lost focus to the panel, pretend
// nothing happened; otherwise you can't keynav to the
// app menu.
if (global.stage_input_mode == Shell.StageInputMode.FOCUSED)
return;
}
if (this._iconBox.child != null)
@ -483,15 +461,13 @@ AppMenuButton.prototype = {
this._label.setText('');
this.actor.reactive = false;
this._focusedApp = focusedApp;
let targetApp = this._focusedApp != null ? this._focusedApp : this._lastStartedApp;
this._targetApp = targetApp;
if (targetApp != null) {
let icon = targetApp.get_faded_icon(AppDisplay.APPICON_SIZE);
let icon = targetApp.get_faded_icon(2 * PANEL_ICON_SIZE);
this._label.setText(targetApp.get_name());
// TODO - _quit() doesn't really work on apps in state STARTING yet
this._quitMenu.label.set_text(_('Quit %s').format(targetApp.get_name()));
this._quitMenu.label.set_text(_("Quit %s").format(targetApp.get_name()));
this.actor.reactive = true;
this._iconBox.set_child(icon);
@ -512,10 +488,10 @@ function ClockButton() {
}
ClockButton.prototype = {
__proto__: PanelMenuButton.prototype,
__proto__: PanelMenu.Button.prototype,
_init: function() {
PanelMenuButton.prototype._init.call(this, St.Align.START);
PanelMenu.Button.prototype._init.call(this, St.Align.START);
this.menu.addAction(_("Preferences"), Lang.bind(this, this._onPrefs));
this._clock = new St.Label();
@ -659,6 +635,13 @@ Panel.prototype = {
reactive: true });
this.actor._delegate = this;
Main.overview.connect('shown', Lang.bind(this, function () {
this.actor.add_style_class_name('in-overview');
}));
Main.overview.connect('hiding', Lang.bind(this, function () {
this.actor.remove_style_class_name('in-overview');
}));
this._menus = new PopupMenu.PopupMenuManager(this);
this._leftBox = new St.BoxLayout({ name: 'panelLeft' });
@ -761,8 +744,9 @@ Panel.prototype = {
/* Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". */
let label = new St.Label({ text: _("Activities") });
this.button = new St.Clickable({ name: 'panelActivities',
style_class: 'panel-button',
reactive: true });
style_class: 'panel-button',
reactive: true,
can_focus: true });
this.button.set_child(label);
this._leftBox.add(this.button);
@ -819,39 +803,33 @@ Panel.prototype = {
/* right */
// Yet-another-Ubuntu-workaround - we have to kill their
// app-indicators, so that applications fall back to normal
// status icons
// http://bugzilla.gnome.org/show_bug.cgi=id=621382
let p = new Shell.Process({ args: ['pkill', '-f',
'^([^ ]*/)?indicator-application-service$']});
p.run();
// The tray icons live in trayBox within trayContainer.
// System status applets live in statusBox, while legacy tray icons
// live in trayBox
// The trayBox is hidden when there are no tray icons.
let trayContainer = new St.Bin({ y_align: St.Align.MIDDLE });
this._rightBox.add(trayContainer);
let trayBox = new St.BoxLayout({ name: 'statusTray' });
let statusBox = new St.BoxLayout({ name: 'statusTray' });
let trayBox = new St.BoxLayout({ name: 'legacyTray' });
this._trayBox = trayBox;
this._statusBox = statusBox;
trayBox.hide();
trayContainer.add_actor(trayBox);
this._rightBox.add(trayBox);
this._rightBox.add(statusBox);
this._traymanager = new Shell.TrayManager();
this._traymanager.connect('tray-icon-added', Lang.bind(this, this._onTrayIconAdded));
this._traymanager.connect('tray-icon-removed',
Lang.bind(this, function(o, icon) {
trayBox.remove_actor(icon);
for (let i = 0; i < STANDARD_TRAY_ICON_ORDER.length; i++) {
let role = STANDARD_TRAY_ICON_ORDER[i];
let constructor = STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION[role];
if (!constructor) {
// This icon is not implemented (this is a bug)
continue;
}
let indicator = new constructor();
statusBox.add(indicator.actor);
this._menus.addMenu(indicator.menu);
}
if (trayBox.get_children().length == 0)
trayBox.hide();
this._recomputeTraySize();
}));
this._traymanager.manage_stage(global.stage);
Main.statusIconDispatcher.connect('status-icon-added', Lang.bind(this, this._onTrayIconAdded));
Main.statusIconDispatcher.connect('status-icon-removed', Lang.bind(this, this._onTrayIconRemoved));
// We need to do this here to avoid a circular import with
// prototype dependencies.
let StatusMenu = imports.ui.statusMenu;
this._statusmenu = new StatusMenu.StatusMenuButton();
this._menus.addMenu(this._statusmenu.menu);
this._rightBox.add(this._statusmenu.actor);
@ -894,49 +872,40 @@ Panel.prototype = {
});
},
_onTrayIconAdded: function(o, icon, wmClass) {
_onTrayIconAdded: function(o, icon, role) {
icon.height = PANEL_ICON_SIZE;
let role = STANDARD_TRAY_ICON_IMPLEMENTATIONS[wmClass];
if (!role) {
// Unknown icons go first in undefined order
if (STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION[role]) {
// This icon is legacy, and replaced by a Shell version
// Hide it
return;
}
// Figure out the index in our well-known order for this icon
let position = STANDARD_TRAY_ICON_ORDER.indexOf(role);
icon._rolePosition = position;
let children = this._trayBox.get_children();
let i;
// Walk children backwards, until we find one that isn't
// well-known, or one where we should follow
for (i = children.length - 1; i >= 0; i--) {
let rolePosition = children[i]._rolePosition;
if (!rolePosition || position > rolePosition) {
this._trayBox.insert_actor(icon, i + 1);
break;
}
}
if (i == -1) {
// If we didn't find a position, we must be first
this._trayBox.insert_actor(icon, 0);
} else {
icon._role = role;
// Figure out the index in our well-known order for this icon
let position = STANDARD_TRAY_ICON_ORDER.indexOf(role);
icon._rolePosition = position;
let children = this._trayBox.get_children();
let i;
// Walk children backwards, until we find one that isn't
// well-known, or one where we should follow
for (i = children.length - 1; i >= 0; i--) {
let rolePosition = children[i]._rolePosition;
if (!rolePosition || position > rolePosition) {
this._trayBox.insert_actor(icon, i + 1);
break;
}
}
if (i == -1) {
// If we didn't find a position, we must be first
this._trayBox.insert_actor(icon, 0);
}
}
// Make sure the trayBox is shown.
this._trayBox.show();
this._recomputeTraySize();
},
// By default, tray icons have a spacing of TRAY_SPACING. However this
// starts to fail if we have too many as can sadly happen; just jump down
// to a spacing of 8 if we're over 6.
// http://bugzilla.gnome.org/show_bug.cgi?id=590495
_recomputeTraySize: function () {
if (this._trayBox.get_children().length > 6)
this._trayBox.add_style_pseudo_class('compact');
else
this._trayBox.remove_style_pseudo_class('compact');
_onTrayIconRemoved: function(o, icon) {
if (icon.get_parent() != null)
this._trayBox.remove_actor(icon);
},
_addRipple : function(delay, time, startScale, startOpacity, finalScale, finalOpacity) {

100
js/ui/panelMenu.js Normal file
View File

@ -0,0 +1,100 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
const Clutter = imports.gi.Clutter;
const St = imports.gi.St;
const Lang = imports.lang;
const PopupMenu = imports.ui.popupMenu;
const Main = imports.ui.main;
function Button(menuAlignment) {
this._init(menuAlignment);
}
Button.prototype = {
_init: function(menuAlignment) {
this.actor = new St.Bin({ style_class: 'panel-button',
reactive: true,
can_focus: true,
x_fill: true,
y_fill: false,
track_hover: true });
this.actor._delegate = this;
this.actor.connect('button-press-event', Lang.bind(this, this._onButtonPress));
this.actor.connect('key-press-event', Lang.bind(this, this._onKeyPress));
this.menu = new PopupMenu.PopupMenu(this.actor, menuAlignment, St.Side.TOP, /* FIXME */ 0);
this.menu.connect('open-state-changed', Lang.bind(this, this._onOpenStateChanged));
Main.chrome.addActor(this.menu.actor, { visibleInOverview: true,
affectsStruts: false });
this.menu.actor.hide();
},
_onButtonPress: function(actor, event) {
this.menu.toggle();
},
_onKeyPress: function(actor, event) {
let symbol = event.get_key_symbol();
if (symbol == Clutter.KEY_space || symbol == Clutter.KEY_Return) {
this.menu.toggle();
return true;
} else if (symbol == Clutter.KEY_Down) {
if (!this.menu.isOpen)
this.menu.toggle();
this.menu.activateFirst();
return true;
} else
return false;
},
_onOpenStateChanged: function(menu, open) {
if (open) {
this.actor.add_style_pseudo_class('pressed');
let focus = global.stage.get_key_focus();
if (!focus || (focus != this.actor && !menu.contains(focus)))
this.actor.grab_key_focus();
} else
this.actor.remove_style_pseudo_class('pressed');
}
};
/* SystemStatusButton:
*
* This class manages one System Status indicator (network, keyboard,
* volume, bluetooth...), which is just a PanelMenuButton with an
* icon and a tooltip
*/
function SystemStatusButton() {
this._init.apply(this, arguments);
}
SystemStatusButton.prototype = {
__proto__: Button.prototype,
_init: function(iconName,tooltipText) {
Button.prototype._init.call(this, St.Align.START);
this._iconActor = new St.Icon({ icon_name: iconName,
icon_type: St.IconType.SYMBOLIC,
style_class: 'system-status-icon' });
this.actor.set_child(this._iconActor);
this.setTooltip(tooltipText);
},
setIcon: function(iconName) {
this._iconActor.icon_name = iconName;
},
setGIcon: function(gicon) {
this._iconActor.gicon = gicon;
},
setTooltip: function(text) {
if (text != null) {
this.tooltip = text;
this.actor.has_tooltip = true;
this.actor.tooltip_text = text;
} else {
this.actor.has_tooltip = false;
this.tooltip = null;
}
}
};

View File

@ -1,7 +1,5 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
const Clutter = imports.gi.Clutter;
const Pango = imports.gi.Pango;
const GConf = imports.gi.GConf;
const GLib = imports.gi.GLib;
const Gio = imports.gi.Gio;
@ -48,10 +46,14 @@ PlaceInfo.prototype = {
for (let i = 0; i < terms.length; i++) {
let term = terms[i];
let idx = this._lowerName.indexOf(term);
if (idx == 0)
return Search.MatchType.PREFIX;
else if (idx > 0)
mtype = Search.MatchType.SUBSTRING;
if (idx == 0) {
mtype = Search.MatchType.PREFIX;
} else if (idx > 0) {
if (mtype == Search.MatchType.NONE)
mtype = Search.MatchType.SUBSTRING;
} else {
return Search.MatchType.NONE;
}
}
return mtype;
},
@ -77,7 +79,7 @@ PlaceDeviceInfo.prototype = {
iconFactory: function(size) {
let icon = this._mount.get_icon();
return St.TextureCache.get_default().load_gicon(icon, size);
return St.TextureCache.get_default().load_gicon(null, icon, size);
},
launch: function() {
@ -107,7 +109,7 @@ PlaceDeviceInfo.prototype = {
this._mount.unmount_finish(res);
} catch (e) {
let message = _("Failed to unmount '%s'").format(o.get_name());
Main.overview.infoBar.setMessage(message,
Main.overview.shellInfo.setMessage(message,
Lang.bind(this, this.remove),
_("Retry"));
}
@ -135,7 +137,7 @@ PlacesManager.prototype = {
let homeIcon = Shell.util_get_icon_for_uri (homeUri);
this._home = new PlaceInfo('special:home', homeLabel,
function(size) {
return St.TextureCache.get_default().load_gicon(homeIcon, size);
return St.TextureCache.get_default().load_gicon(null, homeIcon, size);
},
function() {
Gio.app_info_launch_default_for_uri(homeUri, global.create_app_launch_context());
@ -148,7 +150,7 @@ PlacesManager.prototype = {
let desktopIcon = Shell.util_get_icon_for_uri (desktopUri);
this._desktopMenu = new PlaceInfo('special:desktop', desktopLabel,
function(size) {
return St.TextureCache.get_default().load_gicon(desktopIcon, size);
return St.TextureCache.get_default().load_gicon(null, desktopIcon, size);
},
function() {
Gio.app_info_launch_default_for_uri(desktopUri, global.create_app_launch_context());
@ -156,7 +158,9 @@ PlacesManager.prototype = {
this._connect = new PlaceInfo('special:connect', _("Connect to..."),
function (size) {
return St.TextureCache.get_default().load_icon_name('applications-internet', size);
return new St.Icon({ icon_name: 'applications-internet',
icon_type: St.IconType.FULLCOLOR,
icon_size: size });
},
function () {
new Shell.Process({ args: ['nautilus-connect-server'] }).run();
@ -323,7 +327,7 @@ PlacesManager.prototype = {
let item = new PlaceInfo('bookmark:' + bookmark, label,
function(size) {
return St.TextureCache.get_default().load_gicon(icon, size);
return St.TextureCache.get_default().load_gicon(null, icon, size);
},
function() {
Gio.app_info_launch_default_for_uri(bookmark, global.create_app_launch_context());
@ -430,7 +434,9 @@ DashPlaceDisplayItem.prototype = {
box.add(text, { expand: true, x_fill: true });
if (info.isRemovable()) {
let removeIcon = St.TextureCache.get_default().load_icon_name ('media-eject', PLACES_ICON_SIZE);
let removeIcon = new St.Icon({ icon_name: 'media-eject',
icon_type: St.IconType.FULLCOLOR,
icon_size: PLACES_ICON_SIZE });
let removeIconBox = new St.Clickable({ child: removeIcon,
reactive: true });
box.add(removeIconBox);
@ -573,8 +579,9 @@ PlaceSearchProvider.prototype = {
},
_searchPlaces: function(places, terms) {
let multipleResults = [];
let multiplePrefixResults = [];
let prefixResults = [];
let multipleSubstringResults = [];
let substringResults = [];
terms = terms.map(String.toLowerCase);
@ -582,17 +589,20 @@ PlaceSearchProvider.prototype = {
for (let i = 0; i < places.length; i++) {
let place = places[i];
let mtype = place.matchTerms(terms);
if (mtype == Search.MatchType.MULTIPLE)
multipleResults.push(place.id);
if (mtype == Search.MatchType.MULTIPLE_PREFIX)
multiplePrefixResults.push(place.id);
else 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);
}
multipleResults.sort(this._compareResultMeta);
multiplePrefixResults.sort(this._compareResultMeta);
prefixResults.sort(this._compareResultMeta);
multipleSubstringResults.sort(this._compareResultMeta);
substringResults.sort(this._compareResultMeta);
return multipleResults.concat(prefixResults.concat(substringResults));
return multiplePrefixResults.concat(prefixResults.concat(multipleSubstringResults.concat(substringResults)));
},
getInitialResultSet: function(terms) {

File diff suppressed because it is too large Load Diff

View File

@ -4,7 +4,6 @@ const Clutter = imports.gi.Clutter;
const Gio = imports.gi.Gio;
const GLib = imports.gi.GLib;
const Lang = imports.lang;
const Mainloop = imports.mainloop;
const Meta = imports.gi.Meta;
const St = imports.gi.St;
const Shell = imports.gi.Shell;

View File

@ -1,6 +1,5 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
const GLib = imports.gi.GLib;
const Gio = imports.gi.Gio;
const Mainloop = imports.mainloop;

View File

@ -1,18 +1,18 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
const Signals = imports.signals;
const St = imports.gi.St;
const RESULT_ICON_SIZE = 24;
const RESULT_ICON_SIZE = 48;
// Not currently referenced by the search API, but
// this enumeration can be useful for provider
// implementations.
const MatchType = {
NONE: 0,
MULTIPLE: 1,
PREFIX: 2,
SUBSTRING: 3
SUBSTRING: 1,
MULTIPLE_SUBSTRING: 2,
PREFIX: 3,
MULTIPLE_PREFIX: 4
};
function SearchResultDisplay(provider) {
@ -108,7 +108,7 @@ SearchProvider.prototype = {
/**
* getInitialResultSet:
* @terms: Array of search terms, treated as logical OR
* @terms: Array of search terms, treated as logical AND
*
* Called when the user first begins a search (most likely
* therefore a single term of length one or two), or when
@ -120,7 +120,8 @@ SearchProvider.prototype = {
* item. Ordering of returned results is up to the discretion of the provider,
* but you should follow these heruistics:
*
* * Put items which match multiple search terms before single matches
* * Put items where the term matches multiple criteria (e.g. name and
* description) before single matches
* * Put items which match on a prefix before non-prefix substring matches
*
* This function should be fast; do not perform unindexed full-text searches
@ -181,7 +182,7 @@ SearchProvider.prototype = {
* implementation will show the icon next to the name.
*
* The actor should be an instance of St.Widget, with the style class
* 'dash-search-result-content'.
* 'search-result-content'.
*/
createResultActor: function(resultMeta, terms) {
return null;
@ -257,16 +258,24 @@ SearchSystem.prototype = {
if (isSubSearch) {
for (let i = 0; i < this._previousResults.length; i++) {
let [provider, previousResults] = this._previousResults[i];
let providerResults = provider.getSubsearchResultSet(previousResults, terms);
if (providerResults.length > 0)
results.push([provider, providerResults]);
try {
let providerResults = provider.getSubsearchResultSet(previousResults, terms);
if (providerResults.length > 0)
results.push([provider, providerResults]);
} catch (error) {
global.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];
let providerResults = provider.getInitialResultSet(terms);
if (providerResults.length > 0)
results.push([provider, providerResults]);
try {
let providerResults = provider.getInitialResultSet(terms);
if (providerResults.length > 0)
results.push([provider, providerResults]);
} catch (error) {
global.log ('A ' + error.name + ' has occured in ' + provider.title + ': ' + error.message);
}
}
}

332
js/ui/searchDisplay.js Normal file
View File

@ -0,0 +1,332 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
const Clutter = imports.gi.Clutter;
const Lang = imports.lang;
const Gettext = imports.gettext.domain('gnome-shell');
const _ = Gettext.gettext;
const Gtk = imports.gi.Gtk;
const St = imports.gi.St;
const DND = imports.ui.dnd;
const IconGrid = imports.ui.iconGrid;
const Main = imports.ui.main;
const Search = imports.ui.search;
const MAX_SEARCH_RESULTS_ROWS = 2;
function SearchResult(provider, metaInfo, terms) {
this._init(provider, metaInfo, terms);
}
SearchResult.prototype = {
_init: function(provider, metaInfo, terms) {
this.provider = provider;
this.metaInfo = metaInfo;
this.actor = new St.Clickable({ style_class: 'search-result',
reactive: true,
x_align: St.Align.START,
y_fill: true });
this.actor._delegate = this;
let content = provider.createResultActor(metaInfo, terms);
if (content == null) {
content = new St.Bin({ style_class: 'search-result-content',
reactive: true,
track_hover: true });
let icon = new IconGrid.BaseIcon(this.metaInfo['name'],
{ createIcon: Lang.bind(this, function(size) {
return this.metaInfo['icon'];
})});
content.set_child(icon.actor);
}
this._content = content;
this.actor.set_child(content);
this.actor.connect('clicked', Lang.bind(this, this._onResultClicked));
let draggable = DND.makeDraggable(this.actor);
draggable.connect('drag-begin',
Lang.bind(this, function() {
Main.overview.beginItemDrag(this);
}));
draggable.connect('drag-end',
Lang.bind(this, function() {
Main.overview.endItemDrag(this);
}));
},
setSelected: function(selected) {
if (selected)
this._content.add_style_pseudo_class('selected');
else
this._content.remove_style_pseudo_class('selected');
},
activate: function() {
this.provider.activateResult(this.metaInfo.id);
Main.overview.toggle();
},
_onResultClicked: function(actor, event) {
this.activate();
},
getDragActorSource: function() {
return this.metaInfo['icon'];
},
getDragActor: function(stageX, stageY) {
return new Clutter.Clone({ source: this.metaInfo['icon'] });
},
shellWorkspaceLaunch: function() {
if (this.provider.dragActivateResult)
this.provider.dragActivateResult(this.metaInfo.id);
else
this.provider.activateResult(this.metaInfo.id);
}
};
function GridSearchResults(provider) {
this._init(provider);
}
GridSearchResults.prototype = {
__proto__: Search.SearchResultDisplay.prototype,
_init: function(provider) {
Search.SearchResultDisplay.prototype._init.call(this, provider);
this._grid = new IconGrid.IconGrid({ rowLimit: MAX_SEARCH_RESULTS_ROWS,
xAlign: St.Align.START });
this.actor = new St.Bin({ x_align: St.Align.START });
this.actor.set_child(this._grid.actor);
this.selectionIndex = -1;
},
getVisibleResultCount: function() {
return this._grid.visibleItemsCount();
},
renderResults: function(results, terms) {
for (let i = 0; i < results.length; i++) {
let result = results[i];
let meta = this.provider.getResultMeta(result);
let display = new SearchResult(this.provider, meta, terms);
this._grid.addItem(display.actor);
}
},
clear: function () {
this._grid.removeAll();
this.selectionIndex = -1;
},
selectIndex: function (index) {
let nVisible = this.getVisibleResultCount();
if (this.selectionIndex >= 0) {
let prevActor = this._grid.getItemAtIndex(this.selectionIndex);
prevActor._delegate.setSelected(false);
}
this.selectionIndex = -1;
if (index >= nVisible)
return false;
else if (index < 0)
return false;
let targetActor = this._grid.getItemAtIndex(index);
targetActor._delegate.setSelected(true);
this.selectionIndex = index;
return true;
},
activateSelected: function() {
if (this.selectionIndex < 0)
return;
let targetActor = this._grid.getItemAtIndex(this.selectionIndex);
targetActor._delegate.activate();
}
};
function SearchResults(searchSystem) {
this._init(searchSystem);
}
SearchResults.prototype = {
_init: function(searchSystem) {
this._searchSystem = searchSystem;
this.actor = new St.Bin({ name: 'searchResults',
y_align: St.Align.START,
x_align: St.Align.START,
x_fill: true });
this._content = new St.BoxLayout({ name: 'searchResultsContent',
vertical: true });
let scrollView = new St.ScrollView({ x_fill: true,
y_fill: false,
vshadows: true });
scrollView.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC);
scrollView.add_actor(this._content);
this.actor.set_child(scrollView);
this._statusText = new St.Label({ style_class: 'search-statustext' });
this._content.add(this._statusText);
this._selectedProvider = -1;
this._providers = this._searchSystem.getProviders();
this._providerMeta = [];
for (let i = 0; i < this._providers.length; i++)
this.createProviderMeta(this._providers[i]);
},
createProviderMeta: function(provider) {
let providerBox = new St.BoxLayout({ style_class: 'search-section',
vertical: true });
let titleButton = new St.Button({ style_class: 'search-section-header',
reactive: true,
x_fill: true,
y_fill: true });
titleButton.connect('clicked', Lang.bind(this, function () { this._onHeaderClicked(provider); }));
providerBox.add(titleButton);
let titleBox = new St.BoxLayout();
titleButton.set_child(titleBox);
let title = new St.Label({ text: provider.title });
let count = new St.Label();
titleBox.add(title, { expand: true });
titleBox.add(count);
let resultDisplayBin = new St.Bin({ style_class: 'search-section-results',
x_fill: true,
y_fill: true });
providerBox.add(resultDisplayBin, { expand: true });
let resultDisplay = provider.createResultContainerActor();
if (resultDisplay == null) {
resultDisplay = new GridSearchResults(provider);
}
resultDisplayBin.set_child(resultDisplay.actor);
this._providerMeta.push({ actor: providerBox,
resultDisplay: resultDisplay,
count: count });
this._content.add(providerBox);
},
_clearDisplay: function() {
this._selectedProvider = -1;
this._visibleResultsCount = 0;
for (let i = 0; i < this._providerMeta.length; i++) {
let meta = this._providerMeta[i];
meta.resultDisplay.clear();
meta.actor.hide();
}
},
reset: function() {
this._searchSystem.reset();
this._statusText.hide();
this._clearDisplay();
},
startingSearch: function() {
this.reset();
this._statusText.set_text(_("Searching..."));
this._statusText.show();
},
_metaForProvider: function(provider) {
return this._providerMeta[this._providers.indexOf(provider)];
},
updateSearch: function (searchString) {
let results = this._searchSystem.updateSearch(searchString);
this._clearDisplay();
if (results.length == 0) {
this._statusText.set_text(_("No matching results."));
this._statusText.show();
return true;
} else {
this._statusText.hide();
}
let terms = this._searchSystem.getTerms();
for (let i = 0; i < results.length; i++) {
let [provider, providerResults] = results[i];
let meta = this._metaForProvider(provider);
meta.actor.show();
meta.resultDisplay.renderResults(providerResults, terms);
meta.count.set_text('' + providerResults.length);
}
this.selectDown(false);
return true;
},
_onHeaderClicked: function(provider) {
provider.expandSearch(this._searchSystem.getTerms());
},
_modifyActorSelection: function(resultDisplay, up) {
let success;
let index = resultDisplay.getSelectionIndex();
if (up && index == -1)
index = resultDisplay.getVisibleResultCount() - 1;
else if (up)
index = index - 1;
else
index = index + 1;
return resultDisplay.selectIndex(index);
},
selectUp: function(recursing) {
for (let i = this._selectedProvider; i >= 0; i--) {
let meta = this._providerMeta[i];
if (!meta.actor.visible)
continue;
let success = this._modifyActorSelection(meta.resultDisplay, true);
if (success) {
this._selectedProvider = i;
return;
}
}
if (this._providerMeta.length > 0 && !recursing) {
this._selectedProvider = this._providerMeta.length - 1;
this.selectUp(true);
}
},
selectDown: function(recursing) {
let current = this._selectedProvider;
if (current == -1)
current = 0;
for (let i = current; i < this._providerMeta.length; i++) {
let meta = this._providerMeta[i];
if (!meta.actor.visible)
continue;
let success = this._modifyActorSelection(meta.resultDisplay, false);
if (success) {
this._selectedProvider = i;
return;
}
}
if (this._providerMeta.length > 0 && !recursing) {
this._selectedProvider = 0;
this.selectDown(true);
}
},
activateSelected: function() {
let current = this._selectedProvider;
if (current < 0)
return;
let meta = this._providerMeta[current];
let resultDisplay = meta.resultDisplay;
resultDisplay.activateSelected();
Main.overview.hide();
}
};

View File

@ -1,9 +1,6 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
const DBus = imports.dbus;
const Lang = imports.lang;
const Shell = imports.gi.Shell;
const Mainloop = imports.mainloop;
const Main = imports.ui.main;

View File

@ -0,0 +1,238 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
const DBus = imports.dbus;
const GConf = imports.gi.GConf;
const Gio = imports.gi.Gio;
const Gtk = imports.gi.Gtk;
const Lang = imports.lang;
const Mainloop = imports.mainloop;
const Shell = imports.gi.Shell;
const Signals = imports.signals;
const St = imports.gi.St;
const Main = imports.ui.main;
const PanelMenu = imports.ui.panelMenu;
const PopupMenu = imports.ui.popupMenu;
const Gettext = imports.gettext.domain('gnome-shell');
const _ = Gettext.gettext;
const A11Y_SCHEMA = "org.gnome.desktop.a11y.keyboard";
const KEY_STICKY_KEYS_ENABLED = "stickykeys-enable";
const KEY_BOUNCE_KEYS_ENABLED = "bouncekeys-enable";
const KEY_SLOW_KEYS_ENABLED = "slowkeys-enable";
const KEY_MOUSE_KEYS_ENABLED = "mousekeys-enable";
const AT_SCREEN_KEYBOARD_SCHEMA = "org.gnome.desktop.default-applications.at.mobility";
const AT_SCREEN_READER_SCHEMA = "org.gnome.desktop.default-applications.at.visual";
const XSETTINGS_SCHEMA = "org.gnome.settings-daemon.plugins.xsettings";
const KEY_DPI = "dpi";
const DPI_LOW_REASONABLE_VALUE = 50;
const DPI_HIGH_REASONABLE_VALUE = 500;
const DPI_FACTOR_LARGE = 1.25;
const DPI_FACTOR_LARGER = 1.5;
const DPI_FACTOR_LARGEST = 2.0;
const DPI_DEFAULT = 96;
const KEY_META_DIR = "/apps/metacity/general";
const KEY_VISUAL_BELL = KEY_META_DIR + "/visual_bell";
const DESKTOP_INTERFACE_SCHEMA = "org.gnome.desktop.interface";
const KEY_GTK_THEME = "gtk-theme";
const KEY_ICON_THEME = "icon-theme";
const HIGH_CONTRAST_THEME = "HighContrast";
function getDPIFromX() {
let screen = global.get_gdk_screen();
if (screen) {
let width_dpi = (screen.get_width() / (screen.get_width_mm() / 25.4));
let height_dpi = (screen.get_height() / (screen.get_height_mm() / 25.4));
if (width_dpi < DPI_LOW_REASONABLE_VALUE
|| width_dpi > DPI_HIGH_REASONABLE_VALUE
|| height_dpi < DPI_LOW_REASONABLE_VALUE
|| height_dpi > DPI_HIGH_REASONABLE_VALUE)
return DPI_DEFAULT;
else
return (width_dpi + height_dpi) / 2;
}
return DPI_DEFAULT;
}
function ATIndicator() {
this._init.apply(this, arguments);
}
ATIndicator.prototype = {
__proto__: PanelMenu.SystemStatusButton.prototype,
_init: function() {
PanelMenu.SystemStatusButton.prototype._init.call(this, 'preferences-desktop-accessibility', null);
let client = GConf.Client.get_default();
client.add_dir(KEY_META_DIR, GConf.ClientPreloadType.PRELOAD_ONELEVEL, null);
client.notify_add(KEY_META_DIR, Lang.bind(this, this._keyChanged), null, null);
let highContrast = this._buildHCItem();
this.menu.addMenuItem(highContrast);
let magnifier = this._buildMagItem();
this.menu.addMenuItem(magnifier);
let textZoom = this._buildFontItem();
this.menu.addMenuItem(textZoom);
let screenReader = this._buildItem(_("Screen Reader"), AT_SCREEN_READER_SCHEMA, 'startup');
this.menu.addMenuItem(screenReader);
let screenKeyboard = this._buildItem(_("Screen Keyboard"), AT_SCREEN_KEYBOARD_SCHEMA, 'startup');
this.menu.addMenuItem(screenKeyboard);
let visualBell = this._buildItemGConf(_("Visual Alerts"), client, KEY_VISUAL_BELL);
this.menu.addMenuItem(visualBell);
let stickyKeys = this._buildItem(_("Sticky Keys"), A11Y_SCHEMA, KEY_STICKY_KEYS_ENABLED);
this.menu.addMenuItem(stickyKeys);
let slowKeys = this._buildItem(_("Slow Keys"), A11Y_SCHEMA, KEY_SLOW_KEYS_ENABLED);
this.menu.addMenuItem(slowKeys);
let bounceKeys = this._buildItem(_("Bounce Keys"), A11Y_SCHEMA, KEY_BOUNCE_KEYS_ENABLED);
this.menu.addMenuItem(bounceKeys);
let mouseKeys = this._buildItem(_("Mouse Keys"), A11Y_SCHEMA, KEY_MOUSE_KEYS_ENABLED);
this.menu.addMenuItem(mouseKeys);
this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
this.menu.addAction(_("Universal Access Settings"), function() {
let p = new Shell.Process({ args: ['gnome-control-center','universal-access'] });
p.run();
});
},
_buildItemExtended: function(string, initial_value, writable, on_set) {
let widget = new PopupMenu.PopupSwitchMenuItem(string, initial_value);
if (!writable)
widget.actor.reactive = false;
else
widget.connect('toggled', function(item) {
on_set(item.state);
});
return widget;
},
_buildItemGConf: function(string, client, key) {
function on_get() {
return client.get_bool(key);
}
let widget = this._buildItemExtended(string,
client.get_bool(key),
client.key_is_writable(key),
function(enabled) {
client.set_bool(key, enabled);
});
this.connect('gconf-changed', function() {
widget.setToggleState(client.get_bool(key));
});
return widget;
},
_buildItem: function(string, schema, key) {
let settings = new Gio.Settings({ schema: schema });
let widget = this._buildItemExtended(string,
settings.get_boolean(key),
settings.is_writable(key),
function(enabled) {
return settings.set_boolean(key, enabled);
});
settings.connect('changed::'+key, function() {
widget.setToggleState(settings.get_boolean(key));
});
return widget;
},
_buildHCItem: function() {
let settings = new Gio.Settings({ schema: DESKTOP_INTERFACE_SCHEMA });
let gtkTheme = settings.get_string(KEY_GTK_THEME);
let iconTheme = settings.get_string(KEY_ICON_THEME);
let hasHC = (gtkTheme == HIGH_CONTRAST_THEME);
let highContrast = this._buildItemExtended(
_("High Contrast"),
hasHC,
settings.is_writable(KEY_GTK_THEME) && settings.is_writable(KEY_ICON_THEME),
function (enabled) {
if (enabled) {
settings.set_string(KEY_GTK_THEME, HIGH_CONTRAST_THEME);
settings.set_string(KEY_ICON_THEME, HIGH_CONTRAST_THEME);
} else {
settings.set_string(KEY_GTK_THEME, gtkTheme);
settings.set_string(KEY_ICON_THEME, iconTheme);
}
});
settings.connect('changed::' + KEY_GTK_THEME, function() {
let value = settings.get_string(KEY_GTK_THEME);
if (value == HIGH_CONTRAST_THEME) {
highContrast.setToggleState(true);
} else {
highContrast.setToggleState(false);
gtkTheme = value;
}
});
settings.connect('changed::' + KEY_ICON_THEME, function() {
let value = settings.get_string(KEY_ICON_THEME);
if (value != HIGH_CONTRAST_THEME)
iconTheme = value;
});
return highContrast;
},
_buildFontItem: function() {
let settings = new Gio.Settings({ schema: XSETTINGS_SCHEMA });
// we assume this never changes (which is not true if resolution
// is changed, but we would need XRandR events for that)
let x_value = getDPIFromX();
let user_value;
function on_get() {
user_value = settings.get_double(KEY_DPI);
return (user_value - (DPI_FACTOR_LARGE * x_value) > -1);
}
let initial_setting = on_get();
let default_value = initial_setting ? x_value : user_value;
let widget = this._buildItemExtended(_("Large Text"),
initial_setting,
settings.is_writable(KEY_DPI),
function (enabled) {
if (enabled)
settings.set_double(KEY_DPI, DPI_FACTOR_LARGE * default_value);
else
settings.set_double(KEY_DPI, default_value);
});
settings.connect('changed::' + KEY_DPI, function() {
let active = on_get();
default_value = active ? x_value : user_value;
widget.setToggleState(active);
});
return widget;
},
_buildMagItem: function() {
let mag = Main.magnifier;
let widget = this._buildItemExtended(_("Zoom"),
mag.isActive(),
true,
Lang.bind(mag, mag.setActive));
mag.connect('active-changed', function(magnifier, active) {
widget.setToggleState(active);
});
return widget;
},
_keyChanged: function() {
this.emit('gconf-changed');
}
};
Signals.addSignalMethods(ATIndicator.prototype);

226
js/ui/status/power.js Normal file
View File

@ -0,0 +1,226 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
const Gio = imports.gi.Gio;
const GLib = imports.gi.GLib;
const DBus = imports.dbus;
const Lang = imports.lang;
const Mainloop = imports.mainloop;
const Shell = imports.gi.Shell;
const St = imports.gi.St;
const PanelMenu = imports.ui.panelMenu;
const PopupMenu = imports.ui.popupMenu;
const Gettext = imports.gettext.domain('gnome-shell');
const _ = Gettext.gettext;
const BUS_NAME = 'org.gnome.PowerManager';
const OBJECT_PATH = '/org/gnome/PowerManager';
const UPDeviceType = {
UNKNOWN: 0,
AC_POWER: 1,
BATTERY: 2,
UPS: 3,
MONITOR: 4,
MOUSE: 5,
KEYBOARD: 6,
PDA: 7,
PHONE: 8
};
const UPDeviceState = {
UNKNOWN: 0,
CHARGING: 1,
DISCHARGING: 2,
EMPTY: 3,
FULLY_CHARGED: 4,
PENDING_CHARGE: 5,
PENDING_DISCHARGE: 6
};
const PowerManagerInterface = {
name: 'org.gnome.PowerManager',
methods: [
{ name: 'GetDevices', inSignature: '', outSignature: 'a(susbut)' },
{ name: 'GetPrimaryDevice', inSignature: '', outSignature: '(susbut)' },
],
signals: [
{ name: 'Changed', outSignature: '' },
],
properties: [
{ name: 'Icon', signature: 's', access: 'read' },
]
};
let PowerManagerProxy = DBus.makeProxyClass(PowerManagerInterface);
function Indicator() {
this._init.apply(this, arguments);
}
Indicator.prototype = {
__proto__: PanelMenu.SystemStatusButton.prototype,
_init: function() {
PanelMenu.SystemStatusButton.prototype._init.call(this, 'battery-missing');
this._proxy = new PowerManagerProxy(DBus.session, BUS_NAME, OBJECT_PATH);
this._deviceItems = [ ];
this._hasPrimary = false;
this._primaryDeviceId = null;
this._batteryItem = new PopupMenu.PopupMenuItem('');
this.menu.addMenuItem(this._batteryItem);
this._deviceSep = new PopupMenu.PopupSeparatorMenuItem();
this.menu.addMenuItem(this._deviceSep);
this._otherDevicePosition = 2;
this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
this.menu.addAction(_("What's using power..."),function() {
GLib.spawn_command_line_async('gnome-power-statistics --device wakeups');
});
this.menu.addAction(_("Power Settings"),function() {
GLib.spawn_command_line_async('gnome-control-center power');
});
this._proxy.connect('Changed', Lang.bind(this, this._devicesChanged));
this._devicesChanged();
},
_readPrimaryDevice: function() {
this._proxy.GetPrimaryDeviceRemote(Lang.bind(this, function(device, error) {
if (error) {
this._checkError(error);
this._hasPrimary = false;
this._primaryDeviceId = null;
this._batteryItem.actor.hide();
this._deviceSep.actor.hide();
return;
}
let [device_id, device_type, summary, percentage, state, time] = device;
if (device_type == UPDeviceType.BATTERY) {
this._hasPrimary = true;
this._batteryItem.label.text = summary;
this._batteryItem.actor.show();
if (this._deviceItems.length > 0)
this._deviceSep.actor.show();
} else {
this._hasPrimary = false;
this._batteryItem.actor.hide();
this._deviceSep.actor.hide();
}
this._primaryDeviceId = device_id;
}));
},
_readOtherDevices: function() {
this._proxy.GetDevicesRemote(Lang.bind(this, function(devices, error) {
this._deviceItems.forEach(function(i) { i.destroy(); });
this._deviceItems = [];
if (error) {
this._checkError(error);
this._deviceSep.actor.hide();
return;
}
let position = 0;
for (let i = 0; i < devices.length; i++) {
let [device_id, device_type] = devices[i];
if (device_type == UPDeviceType.AC_POWER || device_id == this._primaryDeviceId)
continue;
let item = new DeviceItem (devices[i]);
item.connect('activate', function() {
let p = new Shell.Process({ args: ['gnome-power-statistics', '--device', device_id] });
p.run();
});
this._deviceItems.push(item);
this.menu.addMenuItem(item, this._otherDevicePosition + position);
position++;
}
if (this._hasPrimary && position > 0)
this._deviceSep.actor.show();
else
this._deviceSep.actor.hide();
}));
},
_devicesChanged: function() {
this._proxy.GetRemote('Icon', Lang.bind(this, function(icon, error) {
if (icon) {
let gicon = Shell.util_icon_from_string (icon);
this.setGIcon(gicon);
this.actor.show();
} else {
this._checkError(error);
this.menu.close();
this.actor.hide();
}
}));
this._readPrimaryDevice();
this._readOtherDevices();
},
_checkError: function(error) {
if (!this._restarted && error && error.message.match(/org\.freedesktop\.DBus\.Error\.(UnknownMethod|InvalidArgs)/)) {
GLib.spawn_command_line_sync('pkill -f "^gnome-power-manager$"');
GLib.spawn_command_line_async('gnome-power-manager');
this._restarted = true;
}
}
};
function DeviceItem() {
this._init.apply(this, arguments);
}
DeviceItem.prototype = {
__proto__: PopupMenu.PopupBaseMenuItem.prototype,
_init: function(device) {
PopupMenu.PopupBaseMenuItem.prototype._init.call(this);
let [device_id, device_type, summary, percentage, state, time] = device;
this._box = new St.BoxLayout({ style_class: 'popup-device-menu-item' });
this._label = new St.Label({ text: summary });
let icon;
switch (state) {
case UPDeviceState.FULLY_CHARGED:
icon = 'battery-full-charged';
break;
case UPDeviceState.UNKNOWN:
icon = 'battery-missing';
break;
default:
icon = this._percentageToIcon(percentage) + (state == UPDeviceState.CHARGING ? '-charging' : '');
}
this._icon = new St.Icon({ icon_name: icon,
icon_type: St.IconType.SYMBOLIC,
style_class: 'popup-menu-icon' });
this._box.add_actor(this._icon);
this._box.add_actor(this._label);
this.addActor(this._box);
let percentBin = new St.Bin({ x_align: St.Align.END });
let percentLabel = new St.Label({ text: '%d%%'.format(Math.round(percentage)) });
percentBin.child = percentLabel;
this.addActor(percentBin);
},
_percentageToIcon: function(p) {
if (p > 60)
return 'battery-full';
if (p > 30)
return 'battery-good';
if (p > 10)
return 'battery-low';
if (p > 0)
return 'battery-caution';
return 'battery-empty';
}
}

222
js/ui/status/volume.js Normal file
View File

@ -0,0 +1,222 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
const Clutter = imports.gi.Clutter;
const DBus = imports.dbus;
const Lang = imports.lang;
const Mainloop = imports.mainloop;
const Shell = imports.gi.Shell;
const Gvc = imports.gi.Gvc;
const Signals = imports.signals;
const St = imports.gi.St;
const PanelMenu = imports.ui.panelMenu;
const PopupMenu = imports.ui.popupMenu;
const Gettext = imports.gettext.domain('gnome-shell');
const _ = Gettext.gettext;
const VOLUME_MAX = 65536.0; /* PA_VOLUME_NORM */
const VOLUME_ADJUSTMENT_STEP = 0.05; /* Volume adjustment step in % */
function Indicator() {
this._init.apply(this, arguments);
}
Indicator.prototype = {
__proto__: PanelMenu.SystemStatusButton.prototype,
_init: function() {
PanelMenu.SystemStatusButton.prototype._init.call(this, 'audio-volume-muted', null);
this._control = new Gvc.MixerControl({ name: 'GNOME Shell Volume Control' });
this._control.connect('ready', Lang.bind(this, this._onControlReady));
this._control.connect('default-sink-changed', Lang.bind(this, this._readOutput));
this._control.connect('default-source-changed', Lang.bind(this, this._readInput));
this._control.connect('stream-added', Lang.bind(this, this._maybeShowInput));
this._control.connect('stream-removed', Lang.bind(this, this._maybeShowInput));
this._output = null;
this._outputVolumeId = 0;
this._outputMutedId = 0;
this._outputSwitch = new PopupMenu.PopupSwitchMenuItem(_("Volume: Muted"), false);
this._outputSwitch.connect('toggled', Lang.bind(this, this._switchToggled, '_output'));
this._outputSlider = new PopupMenu.PopupSliderMenuItem(0);
this._outputSlider.connect('value-changed', Lang.bind(this, this._sliderChanged, '_output'));
this._outputSlider.connect('drag-end', Lang.bind(this, this._notifyVolumeChange));
this.menu.addMenuItem(this._outputSwitch);
this.menu.addMenuItem(this._outputSlider);
this._separator = new PopupMenu.PopupSeparatorMenuItem();
this.menu.addMenuItem(this._separator);
this._input = null;
this._inputVolumeId = 0;
this._inputMutedId = 0;
this._inputSwitch = new PopupMenu.PopupSwitchMenuItem(_("Microphone: Muted"), false);
this._inputSwitch.connect('toggled', Lang.bind(this, this._switchToggled, '_input'));
this._inputSlider = new PopupMenu.PopupSliderMenuItem(0);
this._inputSlider.connect('value-changed', Lang.bind(this, this._sliderChanged, '_input'));
this._inputSlider.connect('drag-end', Lang.bind(this, this._notifyVolumeChange));
this.menu.addMenuItem(this._inputSwitch);
this.menu.addMenuItem(this._inputSlider);
this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
this.menu.addAction(_("Sound Settings"), function() {
let p = new Shell.Process({ args: ['gnome-control-center', 'sound'] });
p.run();
});
this.actor.connect('scroll-event', Lang.bind(this, this._onScrollEvent));
this._control.open();
},
_onScrollEvent: function(actor, event) {
let direction = event.get_scroll_direction();
let currentVolume = this._output.volume;
if (direction == Clutter.ScrollDirection.DOWN) {
this._output.volume = Math.max(0, currentVolume - VOLUME_MAX * VOLUME_ADJUSTMENT_STEP);
this._output.push_volume();
}
else if (direction == Clutter.ScrollDirection.UP) {
this._output.volume = Math.min(VOLUME_MAX, currentVolume + VOLUME_MAX * VOLUME_ADJUSTMENT_STEP);
this._output.push_volume();
}
},
_onControlReady: function() {
this._readOutput();
this._readInput();
},
_readOutput: function() {
if (this._outputVolumeId) {
this._output.disconnect(this._outputVolumeId);
this._output.disconnect(this._outputMutedId);
this._outputVolumeId = 0;
this._outputMutedId = 0;
}
this._output = this._control.get_default_sink();
if (this._output) {
this._outputMutedId = this._output.connect('notify::is-muted', Lang.bind(this, this._mutedChanged, '_output'));
this._outputVolumeId = this._output.connect('notify::volume', Lang.bind(this, this._volumeChanged, '_output'));
this._mutedChanged (null, null, '_output');
this._volumeChanged (null, null, '_output');
} else {
this._outputSwitch.label.text = _("Volume: Muted");
this._outputSwitch.setToggleState(false);
this.setIcon('audio-volume-muted-symbolic');
}
},
_readInput: function() {
if (this._inputVolumeId) {
this._input.disconnect(this._inputVolumeId);
this._input.disconnect(this._inputMutedId);
this._inputVolumeId = 0;
this._inputMutedId = 0;
}
this._input = this._control.get_default_source();
if (this._input) {
this._inputMutedId = this._input.connect('notify::is-muted', Lang.bind(this, this._mutedChanged, '_input'));
this._inputVolumeId = this._input.connect('notify::volume', Lang.bind(this, this._volumeChanged, '_input'));
this._mutedChanged (null, null, '_input');
this._volumeChanged (null, null, '_input');
} else {
this._separator.actor.hide();
this._inputSwitch.actor.hide();
this._inputSlider.actor.hide();
}
},
_maybeShowInput: function() {
// only show input widgets if any application is recording audio
let showInput = false;
let recordingApps = this._control.get_source_outputs();
if (this._input && recordingApps) {
for (let i = 0; i < recordingApps.length; i++) {
let outputStream = recordingApps[i];
let id = outputStream.get_application_id();
// but skip gnome-volume-control and pavucontrol
// (that appear as recording because they show the input level)
if (!id || (id != 'org.gnome.VolumeControl' && id != 'org.PulseAudio.pavucontrol')) {
showInput = true;
break;
}
}
}
if (showInput) {
this._separator.actor.show();
this._inputSwitch.actor.show();
this._inputSlider.actor.show();
} else {
this._separator.actor.hide();
this._inputSwitch.actor.hide();
this._inputSlider.actor.hide();
}
},
_volumeToIcon: function(volume) {
if (volume <= 0) {
return 'audio-volume-muted';
} else {
let v = volume / VOLUME_MAX;
if (v < 0.33)
return 'audio-volume-low';
if (v > 0.8)
return 'audio-volume-high';
return 'audio-volume-medium';
}
},
_sliderChanged: function(slider, value, property) {
if (this[property] == null) {
log ('Volume slider changed for %s, but %s does not exist'.format(property, property));
return;
}
this[property].volume = value * VOLUME_MAX;
this[property].push_volume();
},
_notifyVolumeChange: function() {
global.play_theme_sound('audio-volume-change');
},
_switchToggled: function(switchItem, state, property) {
if (this[property] == null) {
log ('Volume mute switch toggled for %s, but %s does not exist'.format(property, property));
return;
}
this[property].change_is_muted(!state);
this._notifyVolumeChange();
},
_mutedChanged: function(object, param_spec, property) {
let muted = this[property].is_muted;
let toggleSwitch = this[property+'Switch'];
toggleSwitch.setToggleState(!muted);
this._updateLabel(property);
if (property == '_output') {
if (muted)
this.setIcon('audio-volume-muted');
else
this.setIcon(this._volumeToIcon(this._output.volume));
}
},
_volumeChanged: function(object, param_spec, property) {
this[property+'Slider'].setValue(this[property].volume / VOLUME_MAX);
this._updateLabel(property);
if (property == '_output' && !this._output.is_muted)
this.setIcon(this._volumeToIcon(this._output.volume));
},
_updateLabel: function(property) {
let label;
if (this[property].is_muted)
label = (property == '_output' ? _("Volume: Muted") : _("Microphone: Muted"));
else
label = (property == '_output' ? _("Volume: %3.0f%%") : _("Microphone: %3.0f%%")).format(this[property].volume / VOLUME_MAX * 100);
this[property+'Switch'].label.text = label;
}
};

View File

@ -0,0 +1,58 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
const Lang = imports.lang;
const Shell = imports.gi.Shell;
const Signals = imports.signals;
const MessageTray = imports.ui.messageTray;
const NotificationDaemon = imports.ui.notificationDaemon;
const STANDARD_TRAY_ICON_IMPLEMENTATIONS = {
'bluetooth-applet': 'bluetooth',
'gnome-volume-control-applet': 'volume', // renamed to gnome-sound-applet
// when moved to control center
'gnome-sound-applet': 'volume',
'nm-applet': 'network',
'gnome-power-manager': 'battery',
'keyboard': 'keyboard',
'gnome-settings-daemon': 'display'
};
function StatusIconDispatcher() {
this._init();
}
StatusIconDispatcher.prototype = {
_init: function() {
this._traymanager = new Shell.TrayManager();
this._traymanager.connect('tray-icon-added', Lang.bind(this, this._onTrayIconAdded));
this._traymanager.connect('tray-icon-removed', Lang.bind(this, this._onTrayIconRemoved));
this._traymanager.manage_stage(global.stage);
// Yet-another-Ubuntu-workaround - we have to kill their
// app-indicators, so that applications fall back to normal
// status icons
// http://bugzilla.gnome.org/show_bug.cgi=id=621382
let p = new Shell.Process({ args: ['pkill', '-f', '^([^ ]*/)?indicator-application-service$']});
p.run();
},
_onTrayIconAdded: function(o, icon) {
let wmClass = (icon.wm_class || 'unknown').toLowerCase();
let role = STANDARD_TRAY_ICON_IMPLEMENTATIONS[wmClass];
if (role)
this.emit('status-icon-added', icon, role);
else
this.emit('message-icon-added', icon);
},
_onTrayIconRemoved: function(o, icon) {
let wmClass = (icon.wm_class || 'unknown').toLowerCase();
let role = STANDARD_TRAY_ICON_IMPLEMENTATIONS[wmClass];
if (role)
this.emit('status-icon-removed', icon);
else
this.emit('message-icon-removed', icon);
}
};
Signals.addSignalMethods(StatusIconDispatcher.prototype);

View File

@ -10,7 +10,7 @@ const _ = Gettext.gettext;
const GnomeSession = imports.misc.gnomeSession;
const Main = imports.ui.main;
const Panel = imports.ui.panel;
const PanelMenu = imports.ui.panelMenu;
const PopupMenu = imports.ui.popupMenu;
// Adapted from gdm/gui/user-switch-applet/applet.c
@ -23,16 +23,19 @@ function StatusMenuButton() {
}
StatusMenuButton.prototype = {
__proto__: Panel.PanelMenuButton.prototype,
__proto__: PanelMenu.Button.prototype,
_init: function() {
Panel.PanelMenuButton.prototype._init.call(this, St.Align.START);
PanelMenu.Button.prototype._init.call(this, St.Align.START);
let box = new St.BoxLayout({ name: 'panelStatusMenu' });
this.actor.set_child(box);
this._gdm = Gdm.UserManager.ref_default();
this._gdm.queue_load()
this._user = this._gdm.get_user(GLib.get_user_name());
this._presence = new GnomeSession.Presence();
this._presenceItems = {};
this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
@ -40,35 +43,39 @@ StatusMenuButton.prototype = {
box.add(this._iconBox, { y_align: St.Align.MIDDLE, y_fill: false });
let textureCache = St.TextureCache.get_default();
this._availableIcon = textureCache.load_icon_name('user-available', 16);
this._busyIcon = textureCache.load_icon_name('user-busy', 16);
this._invisibleIcon = textureCache.load_icon_name('user-invisible', 16);
this._idleIcon = textureCache.load_icon_name('user-idle', 16);
this._availableIcon = new St.Icon({ icon_name: 'user-available', style_class: 'popup-menu-icon' });
this._busyIcon = new St.Icon({ icon_name: 'user-busy', style_class: 'popup-menu-icon' });
this._invisibleIcon = new St.Icon({ icon_name: 'user-invisible', style_class: 'popup-menu-icon' });
this._idleIcon = new St.Icon({ icon_name: 'user-idle', style_class: 'popup-menu-icon' });
this._presence.connect('StatusChanged', Lang.bind(this, this._updatePresenceIcon));
this._presence.getStatus(Lang.bind(this, this._updatePresenceIcon));
this._name = new St.Label({ text: this._user.get_real_name() });
this._name = new St.Label();
box.add(this._name, { y_align: St.Align.MIDDLE, y_fill: false });
this._userNameChangedId = this._user.connect('notify::display-name', Lang.bind(this, this._updateUserName));
this._userLoadedId = this._user.connect('notify::is-loaded', Lang.bind(this, this._updateUserName));
this._userChangedId = this._user.connect('changed', Lang.bind(this, this._updateUserName));
this._createSubMenu();
this._gdm.connect('users-loaded', Lang.bind(this, this._updateSwitchUser));
this._gdm.connect('notify::is-loaded', Lang.bind(this, this._updateSwitchUser));
this._gdm.connect('user-added', Lang.bind(this, this._updateSwitchUser));
this._gdm.connect('user-removed', Lang.bind(this, this._updateSwitchUser));
},
_onDestroy: function() {
this._user.disconnect(this._userNameChangedId);
this._user.disconnect(this._userLoadedId);
this._user.disconnect(this._userChangedId);
},
_updateUserName: function() {
this._name.set_text(this._user.get_real_name());
if (this._user.is_loaded)
this._name.set_text(this._user.get_real_name());
else
this._name.set_text("");
},
_updateSwitchUser: function() {
let users = this._gdm.list_users();
if (users.length > 1)
if (this._gdm.can_switch ())
this._loginScreenItem.actor.show();
else
this._loginScreenItem.actor.hide();
@ -83,6 +90,9 @@ StatusMenuButton.prototype = {
this._iconBox.child = this._invisibleIcon;
else
this._iconBox.child = this._idleIcon;
for (let itemStatus in this._presenceItems)
this._presenceItems[itemStatus].setShowDot(itemStatus == status);
},
_createSubMenu: function() {
@ -91,43 +101,48 @@ StatusMenuButton.prototype = {
item = new PopupMenu.PopupImageMenuItem(_("Available"), 'user-available', true);
item.connect('activate', Lang.bind(this, this._setPresenceStatus, GnomeSession.PresenceStatus.AVAILABLE));
this.menu.addMenuItem(item);
this._presenceItems[GnomeSession.PresenceStatus.AVAILABLE] = item;
item = new PopupMenu.PopupImageMenuItem(_("Busy"), 'user-busy', true);
item.connect('activate', Lang.bind(this, this._setPresenceStatus, GnomeSession.PresenceStatus.BUSY));
this.menu.addMenuItem(item);
item = new PopupMenu.PopupImageMenuItem(_("Invisible"), 'user-invisible', true);
item.connect('activate', Lang.bind(this, this._setPresenceStatus, GnomeSession.PresenceStatus.INVISIBLE));
this.menu.addMenuItem(item);
this._presenceItems[GnomeSession.PresenceStatus.BUSY] = item;
item = new PopupMenu.PopupSeparatorMenuItem();
this.menu.addMenuItem(item);
item = new PopupMenu.PopupImageMenuItem(_("Account Information..."), 'user-info');
item.connect('activate', Lang.bind(this, this._onAccountInformationActivate));
item = new PopupMenu.PopupMenuItem(_("My Account..."));
item.connect('activate', Lang.bind(this, this._onMyAccountActivate));
this.menu.addMenuItem(item);
item = new PopupMenu.PopupImageMenuItem(_("System Preferences..."), 'preferences-desktop');
item = new PopupMenu.PopupMenuItem(_("System Settings..."));
item.connect('activate', Lang.bind(this, this._onPreferencesActivate));
this.menu.addMenuItem(item);
item = new PopupMenu.PopupSeparatorMenuItem();
this.menu.addMenuItem(item);
item = new PopupMenu.PopupImageMenuItem(_("Lock Screen"), 'system-lock-screen');
item = new PopupMenu.PopupMenuItem(_("Lock Screen"));
item.connect('activate', Lang.bind(this, this._onLockScreenActivate));
this.menu.addMenuItem(item);
item = new PopupMenu.PopupImageMenuItem(_("Switch User"), 'system-users');
item = new PopupMenu.PopupMenuItem(_("Switch User"));
item.connect('activate', Lang.bind(this, this._onLoginScreenActivate));
this.menu.addMenuItem(item);
this._loginScreenItem = item;
item = new PopupMenu.PopupImageMenuItem(_("Log Out..."), 'system-log-out');
item = new PopupMenu.PopupMenuItem(_("Log Out..."));
item.connect('activate', Lang.bind(this, this._onQuitSessionActivate));
this.menu.addMenuItem(item);
item = new PopupMenu.PopupImageMenuItem(_("Shut Down..."), 'system-shutdown');
item = new PopupMenu.PopupSeparatorMenuItem();
this.menu.addMenuItem(item);
item = new PopupMenu.PopupMenuItem(_("Suspend"));
item.connect('activate', Lang.bind(this, this._onShutDownActivate));
this.menu.addMenuItem(item);
item = new PopupMenu.PopupMenuItem(_("Shut Down..."));
item.connect('activate', Lang.bind(this, this._onShutDownActivate));
this.menu.addMenuItem(item);
},
@ -136,7 +151,7 @@ StatusMenuButton.prototype = {
this._presence.setStatus(status);
},
_onAccountInformationActivate: function() {
_onMyAccountActivate: function() {
Main.overview.hide();
this._spawn(['gnome-about-me']);
},

View File

@ -1,10 +1,8 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
const Clutter = imports.gi.Clutter;
const DBus = imports.dbus;
const GLib = imports.gi.GLib;
const Lang = imports.lang;
const Shell = imports.gi.Shell;
const Signals = imports.signals;
const St = imports.gi.St;
const Gettext = imports.gettext.domain('gnome-shell');
@ -213,7 +211,7 @@ ContactManager.prototype = {
throw new Error('Could not parse connection path ' + connPath);
info.cacheDir = this._cacheDir + '/' + match[1];
GLib.mkdir_with_parents(info.cacheDir, 0700);
GLib.mkdir_with_parents(info.cacheDir, 0x1c0); // 0x1c0 = octal 0700
// info.names[handle] is @handle's real name
// info.tokens[handle] is the token for @handle's avatar
@ -349,7 +347,9 @@ ContactManager.prototype = {
let uri = GLib.filename_to_uri(file, null);
iconBox.child = textureCache.load_uri_async(uri, iconBox._size, iconBox._size);
} else {
iconBox.child = textureCache.load_icon_name('stock_person', iconBox._size);
iconBox.child = new St.Icon({ icon_name: 'stock_person',
icon_type: St.IconType.FULLCOLOR,
icon_size: iconBox._size });
}
},
@ -447,7 +447,7 @@ Source.prototype = {
__proto__: MessageTray.Source.prototype,
_init: function(accountPath, connPath, channelPath, targetHandle, targetHandleType, targetId) {
MessageTray.Source.prototype._init.call(this, targetId, targetId);
MessageTray.Source.prototype._init.call(this, targetId);
this._accountPath = accountPath;
@ -469,21 +469,28 @@ Source.prototype = {
}));
}
this._notification = undefined;
this._sentMessages = [];
// Since we only create sources when receiving a message, this
// is a plausible default
this._presence = Telepathy.ConnectionPresenceType.AVAILABLE;
this._channelText = new Telepathy.ChannelText(DBus.session, connName, channelPath);
this._sentId = this._channelText.connect('Sent', Lang.bind(this, this._messageSent));
this._receivedId = this._channelText.connect('Received', Lang.bind(this, this._messageReceived));
this._channelText.ListPendingMessagesRemote(false, Lang.bind(this, this._gotPendingMessages));
this._setSummaryIcon(this.createNotificationIcon());
},
createIcon: function(size) {
return contactManager.createAvatar(this._conn, this._targetHandle, size);
createNotificationIcon: function() {
return contactManager.createAvatar(this._conn, this._targetHandle,
this.ICON_SIZE);
},
clicked: function() {
_notificationClicked: function(notification) {
channelDispatcher.EnsureChannelRemote(this._accountPath,
{ 'org.freedesktop.Telepathy.Channel.ChannelType': Telepathy.CHANNEL_TEXT_NAME,
'org.freedesktop.Telepathy.Channel.TargetHandle': this._targetHandle,
@ -491,8 +498,6 @@ Source.prototype = {
global.get_current_time(),
'',
Lang.bind(this, this._gotChannelRequest));
MessageTray.Source.prototype.clicked.call(this);
},
_gotChannelRequest: function (chanReqPath, ex) {
@ -516,6 +521,7 @@ Source.prototype = {
_channelClosed: function() {
this._channel.disconnect(this._closedId);
this._channelText.disconnect(this._receivedId);
this._channelText.disconnect(this._sentId);
this.destroy();
},
@ -523,17 +529,30 @@ Source.prototype = {
if (!Main.messageTray.contains(this))
Main.messageTray.add(this);
if (!this._notification)
this._notification = new Notification(this._targetId, this);
if (!this._notification) {
this._notification = new Notification(this);
for (let i = 0; i < this._sentMessages.length; i ++)
this._notification.appendMessage(this._sentMessages[i], false, true);
this._sentMessages = [];
}
},
_messageReceived: function(channel, id, timestamp, sender,
type, flags, text) {
this._ensureNotification();
this._notification.appendMessage(text);
this._notification.appendMessage(text, false, false);
this.notify(this._notification);
},
_messageSent: function(channel, timestamp, type, text) {
if (this._notification) {
this._notification.appendMessage(text, false, true);
this.notify(this._notification);
} else {
this._sentMessages.push(text);
}
},
respond: function(text) {
this._channelText.SendRemote(Telepathy.ChannelTextMessageType.NORMAL, text);
},
@ -542,18 +561,18 @@ Source.prototype = {
let msg, notify;
if (presence == Telepathy.ConnectionPresenceType.AVAILABLE) {
msg = _("%s is online.").format(this.name);
msg = _("%s is online.").format(this.title);
notify = (this._presence == Telepathy.ConnectionPresenceType.OFFLINE);
} else if (presence == Telepathy.ConnectionPresenceType.OFFLINE ||
presence == Telepathy.ConnectionPresenceType.EXTENDED_AWAY) {
presence = Telepathy.ConnectionPresenceType.OFFLINE;
msg = _("%s is offline.").format(this.name);
msg = _("%s is offline.").format(this.title);
notify = (this._presence != Telepathy.ConnectionPresenceType.OFFLINE);
} else if (presence == Telepathy.ConnectionPresenceType.AWAY) {
msg = _("%s is away.").format(this.name);
msg = _("%s is away.").format(this.title);
notify = false;
} else if (presence == Telepathy.ConnectionPresenceType.BUSY) {
msg = _("%s is busy.").format(this.name);
msg = _("%s is busy.").format(this.title);
notify = false;
} else
return;
@ -564,37 +583,35 @@ Source.prototype = {
msg += ' <i>(' + GLib.markup_escape_text(message, -1) + ')</i>';
this._ensureNotification();
this._notification.appendMessage(msg, true);
this._notification.appendMessage(msg, true, false);
if (notify)
this.notify(this._notification);
}
};
function Notification(id, source) {
this._init(id, source);
function Notification(source) {
this._init(source);
}
Notification.prototype = {
__proto__: MessageTray.Notification.prototype,
_init: function(id, source) {
MessageTray.Notification.prototype._init.call(this, id, source, source.title);
this.actor.connect('button-press-event', Lang.bind(this, this._onButtonPress));
_init: function(source) {
MessageTray.Notification.prototype._init.call(this, source, source.title, null, { customContent: true });
this._responseEntry = new St.Entry({ style_class: 'chat-response' });
this._responseEntry.clutter_text.connect('key-focus-in', Lang.bind(this, this._onEntryFocused));
this._responseEntry.clutter_text.connect('activate', Lang.bind(this, this._onEntryActivated));
this.setActionArea(this._responseEntry);
this._history = [];
},
appendMessage: function(text, asTitle) {
appendMessage: function(text, asTitle, sent) {
if (asTitle)
this.update(text);
this.update(text, null, { customContent: true });
else
this.update(this.source.title, text);
this._append(text, 'chat-received');
this.update(this.source.title, text, { customContent: true });
this._append(text, sent ? 'chat-sent' : 'chat-received');
},
_append: function(text, style) {
@ -623,60 +640,19 @@ Notification.prototype = {
}
},
_onButtonPress: function(notification, event) {
if (!this._active)
return false;
let source = event.get_source ();
if (source && notification.contains(source))
return false;
// @source is outside @notification, which has to mean that
// we have a pointer grab, and the user clicked outside the
// notification, so we should deactivate.
this._deactivate();
return true;
},
_onEntryFocused: function() {
if (this._active)
return;
if (!Main.pushModal(this.actor))
return;
Clutter.grab_pointer(this.actor);
this._active = true;
Main.messageTray.lock();
grabFocus: function(lockTray) {
// Need to call the base class function first so that
// it saves where the key focus was before.
MessageTray.Notification.prototype.grabFocus.call(this, lockTray);
global.stage.set_key_focus(this._responseEntry.clutter_text);
},
_onEntryActivated: function() {
let text = this._responseEntry.get_text();
if (text == '') {
this._deactivate();
if (text == '')
return;
}
this._responseEntry.set_text('');
this._append(text, 'chat-sent');
this.source.respond(text);
},
_deactivate: function() {
if (this._active) {
Clutter.ungrab_pointer(this.actor);
Main.popModal(this.actor);
global.stage.set_key_focus(null);
// We have to do this after calling popModal(), because
// that will return the keyboard focus to
// this._responseEntry (because that's where it was when
// pushModal() was called), which will cause
// _onEntryFocused() to be called again, but we don't want
// it to do anything.
this._active = false;
Main.messageTray.unlock();
}
}
};

628
js/ui/viewSelector.js Normal file
View File

@ -0,0 +1,628 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
const Clutter = imports.gi.Clutter;
const Mainloop = imports.mainloop;
const Meta = imports.gi.Meta;
const Signals = imports.signals;
const Lang = imports.lang;
const Shell = imports.gi.Shell;
const St = imports.gi.St;
const Gettext = imports.gettext.domain('gnome-shell');
const _ = Gettext.gettext;
const Main = imports.ui.main;
const Search = imports.ui.search;
const SearchDisplay = imports.ui.searchDisplay;
const Tweener = imports.ui.tweener;
function SearchEntry() {
this._init();
}
SearchEntry.prototype = {
_init : function() {
this.actor = new St.Entry({ name: 'searchEntry',
hint_text: _("Search your computer") });
this.entry = this.actor.clutter_text;
this.actor.clutter_text.connect('text-changed', Lang.bind(this,
function() {
if (this.isActive())
this.actor.set_secondary_icon_from_file(global.imagedir +
'close-black.svg');
else
this.actor.set_secondary_icon_from_file(null);
}));
this.actor.connect('secondary-icon-clicked', Lang.bind(this,
function() {
this.reset();
}));
this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
global.stage.connect('notify::key-focus', Lang.bind(this, this._updateCursorVisibility));
this.pane = null;
this._capturedEventId = 0;
},
_updateCursorVisibility: function() {
let focus = global.stage.get_key_focus();
if (focus == global.stage || focus == this.entry)
this.entry.set_cursor_visible(true);
else
this.entry.set_cursor_visible(false);
},
show: function() {
if (this._capturedEventId == 0)
this._capturedEventId = global.stage.connect('captured-event',
Lang.bind(this, this._onCapturedEvent));
this.entry.set_cursor_visible(true);
this.entry.set_selection(0, 0);
},
hide: function() {
if (this._capturedEventId > 0) {
global.stage.disconnect(this._capturedEventId);
this._capturedEventId = 0;
}
},
reset: function () {
let [x, y, mask] = global.get_pointer();
let actor = global.stage.get_actor_at_pos (Clutter.PickMode.REACTIVE,
x, y);
// this.actor is never hovered directly, only its clutter_text and icon
let hovered = this.actor == actor.get_parent();
this.actor.set_hover(hovered);
this.entry.text = '';
// Return focus to the stage
global.stage.set_key_focus(null);
this.entry.set_cursor_visible(true);
this.entry.set_selection(0, 0);
},
getText: function () {
return this.entry.get_text().replace(/^\s+/g, '').replace(/\s+$/g, '');
},
// some search term has been entered
isActive: function() {
return this.actor.get_text() != '';
},
// the entry does not show the hint
_isActivated: function() {
return this.entry.text == this.actor.get_text();
},
_onCapturedEvent: function(actor, event) {
let source = event.get_source();
let panelEvent = source && Main.panel.actor.contains(source);
switch (event.type()) {
case Clutter.EventType.BUTTON_PRESS:
// the user clicked outside after activating the entry, but
// with no search term entered - cancel the search
if (source != this.entry && this.entry.text == '') {
this.reset();
// allow only panel events to continue
return !panelEvent;
}
return false;
case Clutter.EventType.KEY_PRESS:
// If neither the stage nor our entry have key focus, some
// "special" actor grabbed the focus (run dialog, looking
// glass); we don't want to interfere with that
let focus = global.stage.get_key_focus();
if (focus != global.stage && focus != this.entry)
return false;
let sym = event.get_key_symbol();
// If we have an active search, Escape cancels it - if we
// haven't, the key is ignored
if (sym == Clutter.Escape)
if (this._isActivated()) {
this.reset();
return true;
} else {
return false;
}
// Ignore non-printable keys
if (!Clutter.keysym_to_unicode(sym))
return false;
// Search started - move the key focus to the entry and
// "repeat" the event
if (!this._isActivated()) {
global.stage.set_key_focus(this.entry);
this.entry.event(event, false);
}
return false;
default:
// Suppress all other events outside the panel while the entry
// is activated and no search has been entered - any click
// outside the entry will cancel the search
return (this.entry.text == '' && !panelEvent);
}
},
_onDestroy: function() {
if (this._capturedEventId > 0) {
global.stage.disconnect(this._capturedEventId);
this._capturedEventId = 0;
}
}
};
Signals.addSignalMethods(SearchEntry.prototype);
function BaseTab(titleActor, pageActor) {
this._init(titleActor, pageActor);
}
BaseTab.prototype = {
_init: function(titleActor, pageActor) {
this.title = titleActor;
this.page = new St.Bin({ child: pageActor,
x_align: St.Align.START,
y_align: St.Align.START,
x_fill: true,
y_fill: true,
style_class: 'view-tab-page' });
this.visible = false;
},
show: function() {
this.visible = true;
this.page.opacity = 0;
this.page.show();
Tweener.addTween(this.page,
{ opacity: 255,
time: 0.1,
transition: 'easeOutQuad' });
},
hide: function() {
this.visible = false;
Tweener.addTween(this.page,
{ opacity: 0,
time: 0.1,
transition: 'easeOutQuad',
onComplete: Lang.bind(this,
function() {
this.page.hide();
})
});
},
_activate: function() {
this.emit('activated');
}
};
Signals.addSignalMethods(BaseTab.prototype);
function ViewTab(label, pageActor) {
this._init(label, pageActor);
}
ViewTab.prototype = {
__proto__: BaseTab.prototype,
_init: function(label, pageActor) {
let titleActor = new St.Button({ label: label,
style_class: 'view-tab-title' });
titleActor.connect('clicked', Lang.bind(this, this._activate));
BaseTab.prototype._init.call(this, titleActor, pageActor);
}
};
function SearchTab() {
this._init();
}
SearchTab.prototype = {
__proto__: BaseTab.prototype,
_init: function() {
this._searchActive = false;
this._searchPending = false;
this._keyPressId = 0;
this._searchTimeoutId = 0;
this._searchSystem = new Search.SearchSystem();
this._searchEntry = new SearchEntry();
this._searchResults = new SearchDisplay.SearchResults(this._searchSystem);
BaseTab.prototype._init.call(this,
this._searchEntry.actor,
this._searchResults.actor);
this._searchEntry.entry.connect('text-changed',
Lang.bind(this, this._onTextChanged));
this._searchEntry.entry.connect('activate', Lang.bind(this, function (se) {
if (this._searchTimeoutId > 0) {
Mainloop.source_remove(this._searchTimeoutId);
this._doSearch();
}
this._searchResults.activateSelected();
return true;
}));
},
setFindAsYouType: function(enabled) {
if (enabled)
this._searchEntry.show();
else
this._searchEntry.hide();
},
show: function() {
BaseTab.prototype.show.call(this);
if (this._keyPressId == 0)
this._keyPressId = global.stage.connect('key-press-event',
Lang.bind(this, this._onKeyPress));
},
hide: function() {
BaseTab.prototype.hide.call(this);
if (this._keyPressId > 0) {
global.stage.disconnect(this._keyPressId);
this._keyPressId = 0;
}
this._searchEntry.reset();
},
addSearchProvider: function(provider) {
this._searchSystem.registerProvider(provider);
this._searchResults.createProviderMeta(provider);
},
_onTextChanged: function (se, prop) {
let searchPreviouslyActive = this._searchActive;
this._searchActive = this._searchEntry.isActive();
this._searchPending = this._searchActive && !searchPreviouslyActive;
if (this._searchPending) {
this._searchResults.startingSearch();
}
if (this._searchActive) {
this._activate();
} else {
this.emit('search-cancelled');
}
if (!this._searchActive) {
if (this._searchTimeoutId > 0) {
Mainloop.source_remove(this._searchTimeoutId);
this._searchTimeoutId = 0;
}
return;
}
if (this._searchTimeoutId > 0)
return;
this._searchTimeoutId = Mainloop.timeout_add(150, Lang.bind(this, this._doSearch));
},
_onKeyPress: function(stage, event) {
// If neither the stage nor the search entry have key focus, some
// "special" actor grabbed the focus (run dialog, looking glass);
// we don't want to interfere with that
let focus = stage.get_key_focus();
if (focus != stage && focus != this._searchEntry.entry)
return false;
let symbol = event.get_key_symbol();
if (symbol == Clutter.Up) {
if (!this._searchActive)
return true;
this._searchResults.selectUp(false);
return true;
} else if (symbol == Clutter.Down) {
if (!this._searchActive)
return true;
this._searchResults.selectDown(false);
return true;
}
return false;
},
_doSearch: function () {
this._searchTimeoutId = 0;
let text = this._searchEntry.getText();
this._searchResults.updateSearch(text);
return false;
}
};
function ViewSelector() {
this._init();
}
ViewSelector.prototype = {
_init : function() {
this.actor = new St.BoxLayout({ name: 'viewSelector',
vertical: true });
// The tab bar is located at the top of the view selector and
// holds both "normal" tab labels and the search entry. The former
// is left aligned, the latter right aligned - unless the text
// direction is RTL, in which case the order is reversed.
this._tabBar = new Shell.GenericContainer();
this._tabBar.connect('get-preferred-width',
Lang.bind(this, this._getPreferredTabBarWidth));
this._tabBar.connect('get-preferred-height',
Lang.bind(this, this._getPreferredTabBarHeight));
this._tabBar.connect('allocate',
Lang.bind(this, this._allocateTabBar));
this.actor.add(this._tabBar);
// Box to hold "normal" tab labels
this._tabBox = new St.BoxLayout({ name: 'viewSelectorTabBar' });
this._tabBar.add_actor(this._tabBox);
// The searchArea just holds the entry
this._searchArea = new St.Bin({ name: 'searchArea' });
this._tabBar.add_actor(this._searchArea);
// The page area holds the tab pages. Every page is given the
// area's full allocation, so that the pages would appear on top
// of each other if the inactive ones weren't hidden.
this._pageArea = new Shell.Stack();
this.actor.add(this._pageArea, { x_fill: true,
y_fill: true,
expand: true });
this._tabs = [];
this._activeTab = null;
this._searchTab = new SearchTab();
this._searchArea.set_child(this._searchTab.title);
this._addTab(this._searchTab);
this._searchTab.connect('search-cancelled', Lang.bind(this,
function() {
this._switchTab(this._activeTab);
}));
this._keyPressId = 0;
this._itemDragBeginId = 0;
this._overviewHidingId = 0;
// Public constraints which may be used to tie actors' height or
// vertical position to the current tab's content; as the content's
// height and position depend on the view selector's style properties
// (e.g. font size, padding, spacing, ...) it would be extremely hard
// and ugly to get these from the outside. While it would be possible
// to use position and height properties directly, outside code would
// need to ensure that the content is properly allocated before
// accessing the properties.
this.constrainY = new Clutter.BindConstraint({ source: this._pageArea,
coordinate: Clutter.BindCoordinate.Y });
this.constrainHeight = new Clutter.BindConstraint({ source: this._pageArea,
coordinate: Clutter.BindCoordinate.HEIGHT });
},
_addTab: function(tab) {
tab.page.hide();
this._pageArea.add_actor(tab.page);
tab.connect('activated', Lang.bind(this, function(tab) {
this._switchTab(tab);
}));
},
addViewTab: function(title, pageActor) {
let viewTab = new ViewTab(title, pageActor);
this._tabs.push(viewTab);
this._tabBox.add(viewTab.title);
this._addTab(viewTab);
},
_switchTab: function(tab) {
if (this._activeTab && this._activeTab.visible) {
if (this._activeTab == tab)
return;
this._activeTab.title.remove_style_pseudo_class('selected');
this._activeTab.hide();
}
if (tab != this._searchTab) {
tab.title.add_style_pseudo_class('selected');
this._activeTab = tab;
if (this._searchTab.visible) {
this._searchTab.hide();
}
}
if (!tab.visible)
tab.show();
// Pull a Meg Ryan:
if (Main.overview && Main.overview.workspaces) {
if (tab != this._tabs[0]) {
Tweener.addTween(Main.overview.workspaces.actor,
{ opacity: 0,
time: 0.1,
transition: 'easeOutQuad',
onComplete: Lang.bind(this,
function() {
Main.overview.workspaces.actor.hide();
Main.overview.workspaces.actor.opacity = 255;
})
});
} else {
Main.overview.workspaces.actor.opacity = 0;
Main.overview.workspaces.actor.show();
Tweener.addTween(Main.overview.workspaces.actor,
{ opacity: 255,
time: 0.1,
transition: 'easeOutQuad' });
}
}
},
_switchDefaultTab: function() {
if (this._tabs.length > 0)
this._switchTab(this._tabs[0]);
},
_nextTab: function() {
if (this._tabs.length == 0 ||
this._tabs[this._tabs.length - 1] == this._activeTab)
return;
for (let i = 0; i < this._tabs.length; i++)
if (this._tabs[i] == this._activeTab) {
this._switchTab(this._tabs[i + 1]);
return;
}
},
_prevTab: function() {
if (this._tabs.length == 0 || this._tabs[0] == this._activeTab)
return;
for (let i = 0; i < this._tabs.length; i++)
if (this._tabs[i] == this._activeTab) {
this._switchTab(this._tabs[i - 1]);
return;
}
},
_getPreferredTabBarWidth: function(box, forHeight, alloc) {
let children = box.get_children();
for (let i = 0; i < children.length; i++) {
let [childMin, childNat] = children[i].get_preferred_width(forHeight);
alloc.min_size += childMin;
alloc.natural_size += childNat;
}
},
_getPreferredTabBarHeight: function(box, forWidth, alloc) {
let children = box.get_children();
for (let i = 0; i < children.length; i++) {
let [childMin, childNatural] = children[i].get_preferred_height(forWidth);
if (childMin > alloc.min_size)
alloc.min_size = childMin;
if (childNatural > alloc.natural_size)
alloc.natural_size = childNatural;
}
},
_allocateTabBar: function(container, box, flags) {
let allocWidth = box.x2 - box.x1;
let allocHeight = box.y2 - box.y1;
let [searchMinWidth, searchNatWidth] = this._searchArea.get_preferred_width(-1);
let [barMinWidth, barNatWidth] = this._tabBox.get_preferred_width(-1);
let childBox = new Clutter.ActorBox();
childBox.y1 = 0;
childBox.y2 = allocHeight;
if (this.actor.get_direction() == St.TextDirection.RTL) {
childBox.x1 = allocWidth - barNatWidth;
childBox.x2 = allocWidth;
} else {
childBox.x1 = 0;
childBox.x2 = barNatWidth;
}
this._tabBox.allocate(childBox, flags);
if (this.actor.get_direction() == St.TextDirection.RTL) {
childBox.x1 = 0;
childBox.x2 = searchNatWidth;
} else {
childBox.x1 = allocWidth - searchNatWidth;
childBox.x2 = allocWidth;
}
this._searchArea.allocate(childBox, flags);
Meta.later_add(Meta.LaterType.BEFORE_REDRAW, Lang.bind(this,
function() {
this.constrainY.offset = this.actor.y;
}));
},
_onKeyPress: function(stage, event) {
// Only process events if the stage has key focus - search is handled
// by the search tab, and we do not want to interfere with "special"
// actors grabbing focus (run dialog, looking glass, notifications).
let focus = stage.get_key_focus();
if (focus != stage)
return false;
let modifiers = Shell.get_event_state(event);
let symbol = event.get_key_symbol();
if (symbol == Clutter.Escape) {
Main.overview.hide();
return true;
} else if (modifiers & Clutter.ModifierType.CONTROL_MASK) {
if (symbol == Clutter.Page_Up) {
if (!this._searchActive)
this._prevTab();
return true;
} else if (symbol == Clutter.Page_Down) {
if (!this._searchActive)
this._nextTab();
return true;
}
}
return false;
},
addSearchProvider: function(provider) {
this._searchTab.addSearchProvider(provider);
},
show: function() {
this._searchTab.setFindAsYouType(true);
if (this._itemDragBeginId == 0)
this._itemDragBeginId = Main.overview.connect('item-drag-begin',
Lang.bind(this, this._switchDefaultTab));
if (this._overviewHidingId == 0)
this._overviewHidingId = Main.overview.connect('hiding',
Lang.bind(this, this._switchDefaultTab));
if (this._keyPressId == 0)
this._keyPressId = global.stage.connect('key-press-event',
Lang.bind(this, this._onKeyPress));
this._switchDefaultTab();
},
hide: function() {
this._searchTab.setFindAsYouType(false);
if (this._keyPressId > 0) {
global.stage.disconnect(this._keyPressId);
this._keyPressId = 0;
}
if (this._itemDragBeginId > 0) {
Main.overview.disconnect(this._itemDragBeginId);
this._itemDragBeginId = 0;
}
if (this._overviewHidingId > 0) {
Main.overview.disconnect(this._overviewHidingId);
this._overviewHidingId = 0;
}
}
};
Signals.addSignalMethods(ViewSelector.prototype);

View File

@ -1,9 +1,7 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
const Clutter = imports.gi.Clutter;
const Lang = imports.lang;
const Shell = imports.gi.Shell;
const Meta = imports.gi.Meta;
const Gettext = imports.gettext.domain('gnome-shell');
const _ = Gettext.gettext;
@ -16,10 +14,12 @@ function WindowAttentionHandler() {
WindowAttentionHandler.prototype = {
_init : function() {
this._startupIds = {};
this._sources = {};
let display = global.screen.get_display();
display.connect('window-demands-attention', Lang.bind(this, this._onWindowDemandsAttention));
let tracker = Shell.WindowTracker.get_default();
this._startupIds = {};
tracker.connect('startup-sequence-changed', Lang.bind(this, this._onStartupSequenceChanged));
},
@ -31,10 +31,6 @@ WindowAttentionHandler.prototype = {
}
},
_sourceId : function(appId) {
return 'attention-' + appId;
},
_getTitle : function(app, window) {
if (this._startupIds[window.get_startup_id()])
return app.get_name();
@ -63,19 +59,21 @@ WindowAttentionHandler.prototype = {
let tracker = Shell.WindowTracker.get_default();
let app = tracker.get_window_app(window);
let appId = app.get_id();
let source = Main.messageTray.getSource(this._sourceId(app.get_id()));
let source = this._sources[appId];
if (source == null) {
source = new Source(this._sourceId(app.get_id()), app, window);
source = new Source(app, window);
this._sources[appId] = source;
Main.messageTray.add(source);
source.connect('clicked', Lang.bind(this, function() { source.destroy(); }));
source.connect('destroy', Lang.bind(this, function() { delete this._sources[appId]; }));
}
let notification = new MessageTray.Notification(window.get_startup_id(), source, this._getTitle(app, window), this._getBanner(app, window), true);
let notification = new MessageTray.Notification(source, this._getTitle(app, window), this._getBanner(app, window));
source.notify(notification);
window.connect('notify::title', Lang.bind(this, function(win) {
notification.update(this._getTitle(app, win), this._getBanner(app, win), false);
notification.update(this._getTitle(app, win), this._getBanner(app, win));
}));
window.connect('notify::demands-attention', Lang.bind(this, function() { source.destroy(); }));
window.connect('focus', Lang.bind(this, function() { source.destroy(); }));
@ -84,26 +82,26 @@ WindowAttentionHandler.prototype = {
}
};
function Source(sourceId, app, window) {
this._init(sourceId, app, window);
function Source(app, window) {
this._init(app, window);
}
Source.prototype = {
__proto__ : MessageTray.Source.prototype,
_init: function(sourceId, app, window) {
MessageTray.Source.prototype._init.call(this, sourceId, app.get_name());
_init: function(app, window) {
MessageTray.Source.prototype._init.call(this, app.get_name());
this._window = window;
this._app = app;
this._setSummaryIcon(this.createNotificationIcon());
},
createIcon : function(size) {
return this._app.create_icon_texture(size);
createNotificationIcon : function() {
return this._app.create_icon_texture(this.ICON_SIZE);
},
clicked : function() {
_notificationClicked : function(notification) {
Main.activateWindow(this._window);
MessageTray.Source.prototype.clicked.call(this);
this.destroy();
}
};

View File

@ -1,10 +1,10 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
const Clutter = imports.gi.Clutter;
const GLib = imports.gi.GLib;
const Gio = imports.gi.Gio;
const Lang = imports.lang;
const Mainloop = imports.mainloop;
const Meta = imports.gi.Meta;
const Shell = imports.gi.Shell;
const St = imports.gi.St;
const AltTab = imports.ui.altTab;
@ -13,6 +13,68 @@ const Main = imports.ui.main;
const Tweener = imports.ui.tweener;
const WINDOW_ANIMATION_TIME = 0.25;
const DIM_TIME = 0.500;
const UNDIM_TIME = 0.250;
var dimShader = undefined;
function getDimShader() {
if (dimShader === null)
return null;
if (!dimShader) {
let [success, source, length] = GLib.file_get_contents(global.datadir +
'/shaders/dim-window.glsl');
try {
let shader = new Clutter.Shader();
shader.set_fragment_source(source, -1);
shader.compile();
dimShader = shader;
} catch (e) {
log(e.message);
dimShader = null;
}
}
return dimShader;
}
function WindowDimmer(actor) {
this._init(actor);
}
WindowDimmer.prototype = {
_init: function(actor) {
this.actor = actor;
},
set dimFraction(fraction) {
this._dimFraction = fraction;
let shader = getDimShader();
if (!Meta.prefs_get_attach_modal_dialogs() || !shader) {
this.actor.set_shader(null);
return;
}
if (fraction > 0.01) {
this.actor.set_shader(shader);
this.actor.set_shader_param_float('height', this.actor.get_height());
this.actor.set_shader_param_float('fraction', fraction);
} else
this.actor.set_shader(null);
},
get dimFraction() {
return this._dimFraction;
},
_dimFraction: 0.0
};
function getWindowDimmer(texture) {
if (!texture._windowDimmer)
texture._windowDimmer = new WindowDimmer(texture);
return texture._windowDimmer;
}
function WindowManager() {
this._init();
@ -29,6 +91,8 @@ WindowManager.prototype = {
this._mapping = [];
this._destroying = [];
this._dimmedWindows = [];
this._switchData = null;
this._shellwm.connect('kill-switch-workspace', Lang.bind(this, this._switchWorkspaceDone));
this._shellwm.connect('kill-window-effects', Lang.bind(this, function (shellwm, actor) {
@ -52,6 +116,15 @@ WindowManager.prototype = {
this.setKeybindingHandler('switch_to_workspace_up', Lang.bind(this, this._showWorkspaceSwitcher));
this.setKeybindingHandler('switch_to_workspace_down', Lang.bind(this, this._showWorkspaceSwitcher));
this.setKeybindingHandler('switch_windows', Lang.bind(this, this._startAppSwitcher));
Main.overview.connect('showing', Lang.bind(this, function() {
for (let i = 0; i < this._dimmedWindows.length; i++)
this._undimParentWindow(this._dimmedWindows[i], true);
}));
Main.overview.connect('hiding', Lang.bind(this, function() {
for (let i = 0; i < this._dimmedWindows.length; i++)
this._dimParentWindow(this._dimmedWindows[i], true);
}));
},
setKeybindingHandler: function(keybinding, handler){
@ -67,7 +140,7 @@ WindowManager.prototype = {
_shouldAnimate : function(actor) {
if (Main.overview.visible)
return false;
if (actor && (actor.get_window_type() != Meta.CompWindowType.NORMAL))
if (actor && (actor.meta_window.get_window_type() != Meta.WindowType.NORMAL))
return false;
return true;
},
@ -149,7 +222,108 @@ WindowManager.prototype = {
_unmaximizeWindowDone : function(shellwm, actor) {
},
_parentHasOtherAttachedDialog: function(parent, self) {
var count = 0;
parent.foreach_transient(function(win) {
if (win.get_window_type() == Meta.WindowType.MODAL_DIALOG && win != self)
count++;
return false;
});
return count != 0;
},
_markParentWindowAsDimmable: function(actor, animate) {
if (Meta.prefs_get_attach_modal_dialogs()) {
this._dimmedWindows.push(actor);
if (this._shouldAnimate())
this._dimParentWindow(actor, animate);
}
},
_unmarkParentWindowAsDimmable: function(actor, animate) {
if (!Main.overview.visible)
this._undimParentWindow(actor, true);
this._dimmedWindows = this._dimmedWindows.filter(function(win) {
return win != actor;
});
},
_dimParentWindow: function(actor, animate) {
let meta = actor.get_meta_window();
let parent = meta.get_transient_for();
if (!parent)
return;
let parentActor = parent.get_compositor_private();
if (!parentActor || this._parentHasOtherAttachedDialog(parent, meta))
return;
let texture = parentActor.get_texture();
if (animate)
Tweener.addTween(getWindowDimmer(texture),
{ dimFraction: 1.0,
time: DIM_TIME,
transition: 'linear'
});
else
getWindowDimmer(texture).dimFraction = 1.0;
},
_undimParentWindow: function(actor, animate) {
let meta = actor.get_meta_window();
let parent = meta.get_transient_for();
if (!parent)
return;
let parentActor = parent.get_compositor_private();
if (!parentActor || this._parentHasOtherAttachedDialog(parent, meta))
return;
let texture = parentActor.get_texture();
if (animate)
Tweener.addTween(getWindowDimmer(texture),
{ dimFraction: 0.0,
time: UNDIM_TIME,
transition: 'linear'
});
else
getWindowDimmer(texture).dimFraction = 0.0;
},
_mapWindow : function(shellwm, actor) {
actor._windowType = actor.meta_window.get_window_type();
actor._notifyWindowTypeSignalId = actor.meta_window.connect('notify::window-type', Lang.bind(this, function () {
let type = actor.meta_window.get_window_type();
if (type == actor._windowType)
return;
if (type == Meta.WindowType.MODAL_DIALOG)
this._markParentWindowAsDimmable(actor, true);
else if (actor._windowType == Meta.WindowType.MODAL_DIALOG)
this._unmarkParentWindowAsDimmable(actor, true);
actor._windowType = type;
}));
if (actor.meta_window.get_window_type() == Meta.WindowType.MODAL_DIALOG
&& Meta.prefs_get_attach_modal_dialogs()
&& actor.get_meta_window().get_transient_for()) {
this._markParentWindowAsDimmable(actor, true);
if (this._shouldAnimate()) {
actor.set_scale(1.0, 0.0);
actor.show();
this._mapping.push(actor);
Tweener.addTween(actor,
{ scale_y: 1,
time: WINDOW_ANIMATION_TIME,
transition: "easeOutQuad",
onComplete: this._mapWindowDone,
onCompleteScope: this,
onCompleteParams: [shellwm, actor],
onOverwrite: this._mapWindowOverwrite,
onOverwriteScope: this,
onOverwriteParams: [shellwm, actor]
});
return;
}
shellwm.completed_map(actor);
return;
}
if (!this._shouldAnimate(actor)) {
shellwm.completed_map(actor);
return;
@ -188,10 +362,51 @@ WindowManager.prototype = {
},
_destroyWindow : function(shellwm, actor) {
let parent = actor.meta_window.get_transient_for();
if (actor._notifyWindowTypeSignalId) {
actor.meta_window.disconnect(actor._notifyWindowTypeSignalId);
actor._notifyWindowTypeSignalId = 0;
}
while (actor.meta_window.get_window_type() == Meta.WindowType.MODAL_DIALOG
&& parent) {
this._unmarkParentWindowAsDimmable(actor, true);
if (!Meta.prefs_get_attach_modal_dialogs()
|| !this._shouldAnimate())
break;
actor.set_scale(1.0, 1.0);
actor.show();
this._destroying.push(actor);
actor._parentDestroyId = parent.connect('unmanaged', Lang.bind(this, function () {
Tweener.removeTweens(actor);
this._destroyWindowDone(shellwm, actor);
}));
Tweener.addTween(actor,
{ scale_y: 0,
time: WINDOW_ANIMATION_TIME,
transition: "easeOutQuad",
onComplete: this._destroyWindowDone,
onCompleteScope: this,
onCompleteParams: [shellwm, actor],
onOverwrite: this._destroyWindowDone,
onOverwriteScope: this,
onOverwriteParams: [shellwm, actor]
});
return;
}
shellwm.completed_destroy(actor);
},
_destroyWindowDone : function(shellwm, actor) {
if (this._removeEffect(this._destroying, actor)) {
let parent = actor.get_meta_window().get_transient_for();
if (parent && actor._parentDestroyId) {
parent.disconnect(actor._parentDestroyId);
actor._parentDestroyId = 0;
}
shellwm.completed_destroy(actor);
}
},
_switchWorkspace : function(shellwm, from, to, direction) {
@ -200,7 +415,7 @@ WindowManager.prototype = {
return;
}
let windows = global.get_windows();
let windows = global.get_window_actors();
/* @direction is the direction that the "camera" moves, so the
* screen contents have to move one screen's worth in the

View File

@ -1,9 +1,6 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
const Clutter = imports.gi.Clutter;
const GdkPixbuf = imports.gi.GdkPixbuf;
const Gdk = imports.gi.Gdk;
const Gtk = imports.gi.Gtk;
const Lang = imports.lang;
const Mainloop = imports.mainloop;
const Meta = imports.gi.Meta;
@ -23,9 +20,6 @@ const FOCUS_ANIMATION_TIME = 0.15;
const WINDOW_DND_SIZE = 256;
const FRAME_COLOR = new Clutter.Color();
FRAME_COLOR.from_pixel(0xffffffff);
const SCROLL_SCALE_AMOUNT = 100 / 5;
const LIGHTBOX_FADE_TIME = 0.1;
@ -57,11 +51,6 @@ function _clamp(value, min, max) {
return Math.max(min, Math.min(max, value));
}
// Spacing between workspaces. At the moment, the same spacing is used
// in both zoomed-in and zoomed-out views; this is slightly
// metaphor-breaking, but the alternatives are also weird.
const GRID_SPACING = 15;
const FRAME_SIZE = GRID_SPACING / 3;
function ScaledPoint(x, y, scaleX, scaleY) {
[this.x, this.y, this.scaleX, this.scaleY] = arguments;
@ -292,76 +281,9 @@ WindowClone.prototype = {
this.emit('drag-end');
}
};
Signals.addSignalMethods(WindowClone.prototype);
function DesktopClone(window) {
this._init(window);
}
DesktopClone.prototype = {
_init : function(window) {
this.actor = new Clutter.Group({ reactive: true });
let background = new Clutter.Clone({ source: Main.background.source });
this.actor.add_actor(background);
if (window) {
this._desktop = new Clutter.Clone({ source: window.get_texture() });
this.actor.add_actor(this._desktop);
this._desktop.hide();
} else {
this._desktop = null;
}
this.actor.connect('button-release-event',
Lang.bind(this, this._onButtonRelease));
},
zoomFromOverview: function(fadeInIcons) {
if (this._desktop == null)
return;
if (fadeInIcons) {
this._desktop.opacity = 0;
this._desktop.show();
Tweener.addTween(this._desktop,
{ opacity: 255,
time: Overview.ANIMATION_TIME,
transition: 'easeOutQuad' });
}
},
zoomToOverview: function(fadeOutIcons) {
if (this._desktop == null)
return;
if (fadeOutIcons) {
this._desktop.opacity = 255;
this._desktop.show();
Tweener.addTween(this._desktop,
{ opacity: 0,
time: Overview.ANIMATION_TIME,
transition: 'easeOutQuad',
onComplete: Lang.bind(this,
function() {
this._desktop.hide();
})
});
} else {
this._desktop.hide();
}
},
_onButtonRelease : function (actor, event) {
this.emit('selected', event.get_time());
}
};
Signals.addSignalMethods(DesktopClone.prototype);
/**
* @windowClone: Corresponding window clone
* @parentActor: The actor which will be the parent of all overlay items
@ -556,23 +478,14 @@ WindowOverlay.prototype = {
_onStyleChanged: function() {
let titleNode = this.title.get_theme_node();
let [success, len] = titleNode.get_length('-shell-caption-spacing',
false);
if (success)
this.title._spacing = len;
this.title._spacing = titleNode.get_length('-shell-caption-spacing');
let closeNode = this.closeButton.get_theme_node();
[success, len] = closeNode.get_length('-shell-close-overlap',
false);
if (success)
this.closeButton._overlap = len;
this.closeButton._overlap = closeNode.get_length('-shell-close-overlap');
this._parentActor.queue_relayout();
}
};
Signals.addSignalMethods(WindowOverlay.prototype);
const WindowPositionFlags = {
@ -596,10 +509,20 @@ Workspace.prototype = {
// Without this the drop area will be overlapped.
this._windowOverlaysGroup.set_size(0, 0);
this.actor = new Clutter.Group();
this.actor = new Clutter.Group({ reactive: true });
this.actor._delegate = this;
this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
this.actor.connect('button-release-event', Lang.bind(this,
function(actor, event) {
// Only switch to the workspace when there's no application
// windows open. The problem is that it's too easy to miss
// an app window and get the wrong one focused.
if (this._windows.length == 0) {
this.metaWorkspace.activate(event.get_time());
Main.overview.hide();
}
}));
// Items in _windowOverlaysGroup should not be scaled, so we don't
// add them to this.actor, but to its parent whenever it changes
@ -613,37 +536,12 @@ Workspace.prototype = {
this.actor.height = global.screen_height;
this.scale = 1.0;
let windows = global.get_windows().filter(this._isMyWindow, this);
// Find the desktop window
for (let i = 0; i < windows.length; i++) {
if (windows[i].get_window_type() == Meta.WindowType.DESKTOP) {
this._desktop = new DesktopClone(windows[i]);
break;
}
}
// If there wasn't one, fake it
if (!this._desktop)
this._desktop = new DesktopClone();
this._desktop.connect('selected',
Lang.bind(this,
function(clone, time) {
// Only switch to the workspace when there's no application windows
// open (we always have one window for the desktop). The problem
// is that it's too easy to miss an app window and get the wrong
// one focused.
if (this._windows.length == 1) {
this.metaWorkspace.activate(time);
Main.overview.hide();
}
}));
this.actor.add_actor(this._desktop.actor);
let windows = global.get_window_actors().filter(this._isMyWindow, this);
// Create clones for remaining windows that should be
// visible in the Overview
this._windows = [this._desktop];
this._windowOverlays = [ null ];
this._windows = [];
this._windowOverlays = [];
for (let i = 0; i < windows.length; i++) {
if (this._isOverviewWindow(windows[i])) {
this._addWindowClone(windows[i]);
@ -662,8 +560,6 @@ Workspace.prototype = {
this._visible = false;
this._frame = null;
this.leavingOverview = false;
},
@ -725,9 +621,6 @@ Workspace.prototype = {
this._lightbox.show();
else
this._lightbox.hide();
if (this._frame)
this._frame.set_opacity(showLightbox ? 150 : 255);
},
/**
@ -748,32 +641,6 @@ Workspace.prototype = {
this._lightbox.highlight(actor);
},
// Mark the workspace selected/not-selected
setSelected : function(selected) {
// Don't draw a frame if we only have one workspace
if (selected && global.screen.n_workspaces > 1) {
if (this._frame)
return;
// FIXME: do something cooler-looking using clutter-cairo
this._frame = new Clutter.Rectangle({ color: FRAME_COLOR });
this.actor.add_actor(this._frame);
this._frame.set_position(this._desktop.actor.x - FRAME_SIZE / this.actor.scale_x,
this._desktop.actor.y - FRAME_SIZE / this.actor.scale_y);
this._frame.set_size(this._desktop.actor.width + 2 * FRAME_SIZE / this.actor.scale_x,
this._desktop.actor.height + 2 * FRAME_SIZE / this.actor.scale_y);
this._frame.lower_bottom();
this._framePosHandler = this.actor.connect('notify::scale-x', Lang.bind(this, this._updateFramePosition));
} else {
if (!this._frame)
return;
this.actor.disconnect(this._framePosHandler);
this._frame.destroy();
this._frame = null;
}
},
/**
* setReactive:
* @reactive: %true iff the workspace should be reactive
@ -781,14 +648,7 @@ Workspace.prototype = {
* Set the workspace (desktop) reactive
**/
setReactive: function(reactive) {
this._desktop.actor.reactive = reactive;
},
_updateFramePosition : function() {
this._frame.set_position(this._desktop.actor.x - FRAME_SIZE / this.actor.scale_x,
this._desktop.actor.y - FRAME_SIZE / this.actor.scale_y);
this._frame.set_size(this._desktop.actor.width + 2 * FRAME_SIZE / this.actor.scale_x,
this._desktop.actor.height + 2 * FRAME_SIZE / this.actor.scale_y);
this.actor.reactive = reactive;
},
_isCloneVisible: function(clone) {
@ -799,7 +659,7 @@ Workspace.prototype = {
* _getVisibleClones:
*
* Returns a list WindowClone objects where the clone isn't filtered
* out by any application filter. The clone for the desktop is excluded.
* out by any application filter.
* The returned array will always be newly allocated; it is not in any
* defined order, and thus it's convenient to call .sort() with your
* choice of sorting function.
@ -807,7 +667,7 @@ Workspace.prototype = {
_getVisibleClones: function() {
let visible = [];
for (let i = 1; i < this._windows.length; i++) {
for (let i = 0; i < this._windows.length; i++) {
let clone = this._windows[i];
if (!this._isCloneVisible(clone))
@ -819,7 +679,7 @@ Workspace.prototype = {
},
_resetCloneVisibility: function () {
for (let i = 1; i < this._windows.length; i++) {
for (let i = 0; i < this._windows.length; i++) {
let clone = this._windows[i];
let overlay = this._windowOverlays[i];
@ -1018,9 +878,9 @@ Workspace.prototype = {
let buttonOuterHeight, captionHeight;
let buttonOuterWidth = 0;
if (this._windowOverlays[1]) {
[buttonOuterHeight, captionHeight] = this._windowOverlays[1].chromeHeights();
buttonOuterWidth = this._windowOverlays[1].chromeWidth() / this.scale;
if (this._windowOverlays[0]) {
[buttonOuterHeight, captionHeight] = this._windowOverlays[0].chromeHeights();
buttonOuterWidth = this._windowOverlays[0].chromeWidth() / this.scale;
} else
[buttonOuterHeight, captionHeight] = [0, 0];
buttonOuterHeight /= this.scale;
@ -1168,8 +1028,8 @@ Workspace.prototype = {
// be after the workspace animation finishes.
let [cloneX, cloneY] = clone.actor.get_position();
let [cloneWidth, cloneHeight] = clone.actor.get_size();
cloneX = this.gridX + this.scale * cloneX;
cloneY = this.gridY + this.scale * cloneY;
cloneX = this.x + this.scale * cloneX;
cloneY = this.y + this.scale * cloneY;
cloneWidth = this.scale * clone.actor.scale_x * cloneWidth;
cloneHeight = this.scale * clone.actor.scale_y * cloneHeight;
@ -1183,7 +1043,7 @@ Workspace.prototype = {
},
_fadeInAllOverlays: function() {
for (let i = 1; i < this._windows.length; i++) {
for (let i = 0; i < this._windows.length; i++) {
let clone = this._windows[i];
let overlay = this._windowOverlays[i];
if (this._showOnlyWindows != null && !(clone.metaWindow in this._showOnlyWindows))
@ -1193,7 +1053,7 @@ Workspace.prototype = {
},
_hideAllOverlays: function() {
for (let i = 1; i< this._windows.length; i++) {
for (let i = 0; i < this._windows.length; i++) {
let overlay = this._windowOverlays[i];
overlay.hide();
}
@ -1208,8 +1068,8 @@ Workspace.prototype = {
let wsHeight = this.actor.height * this.scale;
let pointerHasMoved = (this._cursorX != x && this._cursorY != y);
let inWorkspace = (this.gridX < x && x < this.gridX + wsWidth &&
this.gridY < y && y < this.gridY + wsHeight);
let inWorkspace = (this.x < x && x < this.x + wsWidth &&
this.y < y && y < this.y + wsHeight);
if (pointerHasMoved && inWorkspace) {
// store current cursor position
@ -1320,8 +1180,8 @@ Workspace.prototype = {
},
// check for maximized windows on the workspace
_haveMaximizedWindows: function() {
for (let i = 1; i < this._windows.length; i++) {
hasMaximizedWindows: function() {
for (let i = 0; i < this._windows.length; i++) {
let metaWindow = this._windows[i].metaWindow;
if (metaWindow.showing_on_its_workspace() &&
metaWindow.maximized_horizontally &&
@ -1333,7 +1193,7 @@ Workspace.prototype = {
// Animate the full-screen to Overview transition.
zoomToOverview : function() {
this.actor.set_position(this.gridX, this.gridY);
this.actor.set_position(this.x, this.y);
this.actor.set_scale(this.scale, this.scale);
// Position and scale the windows.
@ -1342,12 +1202,6 @@ Workspace.prototype = {
else
this.positionWindows(WindowPositionFlags.ZOOM);
let active = global.screen.get_active_workspace();
let fadeInIcons = (Main.overview.animationInProgress &&
active == this.metaWorkspace &&
!this._haveMaximizedWindows());
this._desktop.zoomToOverview(fadeInIcons);
this._visible = true;
},
@ -1365,7 +1219,7 @@ Workspace.prototype = {
this._doneLeavingOverview));
// Position and scale the windows.
for (let i = 1; i < this._windows.length; i++) {
for (let i = 0; i < this._windows.length; i++) {
let clone = this._windows[i];
clone.zoomFromOverview();
@ -1394,77 +1248,9 @@ Workspace.prototype = {
}
}
let active = global.screen.get_active_workspace();
let fadeOutIcons = (active == this.metaWorkspace &&
!this._haveMaximizedWindows());
this._desktop.zoomFromOverview(fadeOutIcons);
this._visible = false;
},
// Animates grid shrinking/expanding when a row or column
// of workspaces is added or removed
resizeToGrid : function (oldScale) {
this._hideAllOverlays();
Tweener.addTween(this.actor,
{ x: this.gridX,
y: this.gridY,
scale_x: this.scale,
scale_y: this.scale,
time: Overview.ANIMATION_TIME,
transition: 'easeOutQuad',
onComplete: Lang.bind(this, this._fadeInAllOverlays)
});
},
// Animates the addition of a new (empty) workspace
slideIn : function(oldScale) {
if (this.gridCol > this.gridRow) {
this.actor.set_position(global.screen_width, this.gridY);
this.actor.set_scale(oldScale, oldScale);
} else {
this.actor.set_position(this.gridX, global.screen_height);
this.actor.set_scale(this.scale, this.scale);
}
Tweener.addTween(this.actor,
{ x: this.gridX,
y: this.gridY,
scale_x: this.scale,
scale_y: this.scale,
time: Overview.ANIMATION_TIME,
transition: 'easeOutQuad'
});
this._visible = true;
},
// Animates the removal of a workspace
slideOut : function(onComplete) {
let destX = this.actor.x, destY = this.actor.y;
this._hideAllOverlays();
if (this.gridCol > this.gridRow)
destX = global.screen_width;
else
destY = global.screen_height;
Tweener.addTween(this.actor,
{ x: destX,
y: destY,
scale_x: this.scale,
scale_y: this.scale,
time: Overview.ANIMATION_TIME,
transition: 'easeOutQuad',
onComplete: onComplete
});
this._visible = false;
// Don't let the user try to select this workspace as it's
// making its exit.
this._desktop.reactive = false;
},
destroy : function() {
this.actor.destroy();
},
@ -1486,7 +1272,7 @@ Workspace.prototype = {
// their parent (this.actor), but we might have a zoomed window
// which has been reparented to the stage - _windows[0] holds
// the desktop window, which is never reparented
for (let w = 1; w < this._windows.length; w++)
for (let w = 0; w < this._windows.length; w++)
this._windows[w].destroy();
this._windows = [];
},
@ -1517,12 +1303,12 @@ Workspace.prototype = {
Lang.bind(this, this._onCloneSelected));
clone.connect('drag-begin',
Lang.bind(this, function(clone) {
this.emit('window-drag-begin', clone.actor);
Main.overview.beginWindowDrag();
overlay.hide();
}));
clone.connect('drag-end',
Lang.bind(this, function(clone) {
this.emit('window-drag-end', clone.actor);
Main.overview.endWindowDrag();
overlay.show();
}));
clone.connect('zoom-start',
@ -1545,7 +1331,7 @@ Workspace.prototype = {
},
_onShowOverlayClose: function (windowOverlay) {
for (let i = 1; i < this._windowOverlays.length; i++) {
for (let i = 0; i < this._windowOverlays.length; i++) {
let overlay = this._windowOverlays[i];
if (overlay == windowOverlay)
continue;
@ -1589,6 +1375,15 @@ Workspace.prototype = {
},
// Draggable target interface
handleDragOver : function(source, actor, x, y, time) {
if (source instanceof WindowClone)
return DND.DragMotionResult.MOVE_DROP;
if (source.shellWorkspaceLaunch)
return DND.DragMotionResult.COPY_DROP;
return DND.DragMotionResult.CONTINUE;
},
acceptDrop : function(source, actor, x, y, time) {
if (source instanceof WindowClone) {
let win = source.realWindow;
@ -1645,11 +1440,11 @@ function _workspaceRelativeModifier(workspace) {
}
return [ { name: 'x',
parameters: { workspacePos: workspace.gridX,
parameters: { workspacePos: workspace.x,
overviewPos: overviewPosX,
overviewScale: overviewScale } },
{ name: 'y',
parameters: { workspacePos: workspace.gridY,
parameters: { workspacePos: workspace.y,
overviewPos: overviewPosY,
overviewScale: overviewScale } }
];

View File

@ -33,8 +33,7 @@ WorkspaceSwitcherPopup.prototype = {
this._list = new Shell.GenericContainer({ style_class: 'workspace-switcher' });
this._itemSpacing = 0;
this._list.connect('style-changed', Lang.bind(this, function() {
let [found, spacing] = this._list.get_theme_node().get_length('spacing', false);
this._itemSpacing = (found) ? spacing : 0;
this._itemSpacing = this._list.get_theme_node().get_length('spacing');
}));
this._list.connect('get-preferred-width', Lang.bind(this, this._getPreferredWidth));

File diff suppressed because it is too large Load Diff

View File

@ -7,6 +7,7 @@ de
el
en_GB
es
et
fi
fr
ga
@ -15,12 +16,15 @@ he
hu
id
it
ja
ko
lt
nb
nl
nn
pa
pl
pt
pt_BR
ro
ru
@ -28,8 +32,12 @@ sl
sr
sr@latin
sv
ta
th
tr
ug
uk
vi
zh_CN
zh_HK
zh_TW

View File

@ -1,6 +1,7 @@
data/gnome-shell.desktop.in.in
data/gnome-shell-clock-preferences.desktop.in.in
data/org.gnome.shell.gschema.xml.in
data/org.gnome.accessibility.magnifier.gschema.xml.in
[type: gettext/glade]data/clock-preferences.ui
js/ui/appDisplay.js
js/ui/appFavorites.js
@ -10,10 +11,14 @@ js/ui/lookingGlass.js
js/ui/overview.js
js/ui/panel.js
js/ui/placeDisplay.js
js/ui/popupMenu.js
js/ui/runDialog.js
js/ui/statusMenu.js
js/ui/status/accessibility.js
js/ui/viewSelector.js
js/ui/windowAttentionHandler.js
js/ui/workspacesView.js
src/gvc/gvc-mixer-control.c
src/gdmuser/gdm-user.c
src/shell-global.c
src/shell-uri-util.c

530
po/ar.po
View File

@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: HEAD\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-05-15 23:40+0300\n"
"PO-Revision-Date: 2010-05-15 23:40+0300\n"
"POT-Creation-Date: 2010-10-30 13:30+0200\n"
"PO-Revision-Date: 2010-10-30 13:30+0300\n"
"Last-Translator: Khaled Hosny <khaledhosny@eglug.org>\n"
"Language-Team: Arabic <doc@arabeyes.org>\n"
"MIME-Version: 1.0\n"
@ -16,7 +16,7 @@ msgstr ""
"Language: ar\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
"X-Generator: Virtaal 0.6.0\n"
"X-Generator: Virtaal 0.6.1\n"
#: ../data/gnome-shell.desktop.in.in.h:1
msgid "GNOME Shell"
@ -34,32 +34,332 @@ msgstr "الساعة"
msgid "Customize the panel clock"
msgstr "طوّع ساعة اللوحة"
#: ../data/org.gnome.shell.gschema.xml.in.h:1
msgid ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:2
msgid "Custom format of the clock"
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:3
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:4
msgid "File extension used for storing the screencast"
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:5
msgid "Framerate used for recording screencasts."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:6
msgid ""
"GNOME Shell extensions have a uuid property; this key lists extensions which "
"should not be loaded."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:7
msgid "History for command (Alt-F2) dialog"
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:8
msgid "Hour format"
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:9
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display date in the "
"clock, in addition to time."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:10
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display seconds in "
"time."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:11
msgid "If true, display the ISO week date in the calendar."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:12
msgid "List of desktop file IDs for favorite applications"
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:13
msgid "Overview workspace view mode"
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:14
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 ! theoraenc ! oggmux' and records to Ogg Theora."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:15
msgid "Show date in clock"
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:16
msgid "Show the week date in the calendar"
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "Show time with seconds"
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid ""
"The applications corresponding to these identifiers will be displayed in the "
"favorites area."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:19
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 ""
#: ../data/org.gnome.shell.gschema.xml.in.h:20
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:21
msgid "The gstreamer pipeline used to encode the screencast"
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:22
msgid ""
"The selected workspace view mode in the overview. Supported values are "
"\"single\" and \"grid\"."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:23
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 ""
#: ../data/org.gnome.shell.gschema.xml.in.h:24
msgid ""
"This key specifies the format used by the panel clock when the format key is "
"set to \"custom\". You can use conversion specifiers understood by strftime"
"() to obtain a specific format. See the strftime() manual for more "
"information."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:25
msgid ""
"This key specifies the hour format used by the panel clock. Possible values "
"are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", "
"the clock will display time in seconds since Epoch, i.e. 1970-01-01. If set "
"to \"custom\", the clock will display time according to the format specified "
"in the custom_format key. Note that if set to either \"unix\" or \"custom\", "
"the show_date and show_seconds keys are ignored."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:26
msgid "Uuids of extensions to disable"
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:27
msgid "Whether to collect stats about applications usage"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:1
msgid "Clip the crosshairs at the center"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:2
msgid "Color of the crosshairs"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:3
msgid ""
"Determines the length of the vertical and horizontal lines that make up the "
"crosshairs."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:4
msgid ""
"Determines the position of the magnified mouse image within the magnified "
"view and how it reacts to system mouse movement. The values are - none: no "
"mouse tracking; - centered: the mouse image is displayed at the center of "
"the zoom region (which also represents the point under the system mouse) and "
"the magnified contents are scrolled as the system mouse moves; - "
"proportional: the position of the magnified mouse in the zoom region is "
"proportionally the same as the position of the system mouse on screen; - "
"push: when the magnified mouse intersects a boundary of the zoom region, the "
"contents are scrolled into view."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:5
msgid ""
"Determines the transparency of the crosshairs, from fully opaque to fully "
"transparent."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:6
msgid ""
"Determines whether the crosshairs intersect the magnified mouse sprite, or "
"are clipped such that the ends of the horizontal and vertical lines surround "
"the mouse image."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:7
msgid "Enable lens mode"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:8
msgid ""
"Enables/disables display of crosshairs centered on the magnified mouse "
"sprite."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:9
msgid ""
"For centered mouse tracking, when the system pointer is at or near the edge "
"of the screen, the magnified contents continue to scroll such that the "
"screen edge moves into the magnified view."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:10
msgid "Length of the crosshairs"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:11
msgid "Magnification factor"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:12
msgid "Mouse Tracking Mode"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:13
msgid "Opacity of the crosshairs"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:14
msgid "Screen position"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:15
msgid "Scroll magnified contents beyond the edges of the desktop"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:16
msgid "Show or hide crosshairs"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:17
msgid "Show or hide the magnifier"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:18
msgid "Show or hide the magnifier and all of its zoom regions."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:19
msgid ""
"The color of the the vertical and horizontal lines that make up the "
"crosshairs."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:20
msgid ""
"The magnified view either fills the entire screen, or occupies the top-half, "
"bottom-half, left-half, or right-half of the screen."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:21
msgid ""
"The power of the magnification. A value of 1.0 means no magnification. A "
"value of 2.0 doubles the size."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:22
msgid "Thickness of the crosshairs"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:23
msgid ""
"Whether the magnified view should be centered over the location of the "
"system mouse and move with it."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:24
msgid "Width of the vertical and horizontal lines that make up the crosshairs."
msgstr ""
#: ../data/clock-preferences.ui.h:1
msgid "Clock Format"
msgstr "تنسيق الساعة"
#: ../data/clock-preferences.ui.h:2
msgid "Clock Preferences"
msgstr "تفضيلات الساعة"
#: ../data/clock-preferences.ui.h:3
msgid "Panel Display"
msgstr "عرض اللوحة"
#: ../data/clock-preferences.ui.h:4
msgid "Show seco_nds"
msgstr "أظهر ال_ثواني"
#: ../data/clock-preferences.ui.h:5
msgid "Show the _date"
msgstr "أظهر ال_تاريخ"
#: ../data/clock-preferences.ui.h:6
msgid "_12 hour format"
msgstr "نسق _12 ساعة"
#: ../data/clock-preferences.ui.h:7
msgid "_24 hour format"
msgstr "نسق _24 ساعة"
#. **** Applications ****
#: ../js/ui/appDisplay.js:306 ../js/ui/dash.js:850
#: ../js/ui/appDisplay.js:316 ../js/ui/dash.js:778
msgid "APPLICATIONS"
msgstr "التطبيقات"
#: ../js/ui/appDisplay.js:338
#: ../js/ui/appDisplay.js:348
msgid "PREFERENCES"
msgstr "التفضيلات"
#: ../js/ui/appDisplay.js:705
#: ../js/ui/appDisplay.js:647
msgid "New Window"
msgstr "نافذة جديدة"
#: ../js/ui/appDisplay.js:709
#: ../js/ui/appDisplay.js:651
msgid "Remove from Favorites"
msgstr "أزِل من المفضّلة"
#: ../js/ui/appDisplay.js:710
#: ../js/ui/appDisplay.js:652
msgid "Add to Favorites"
msgstr "أضِف إلى المفضّلة"
#: ../js/ui/appDisplay.js:1037
#: ../js/ui/appDisplay.js:829
msgid "Drag here to add favorites"
msgstr "اسحب إلى هنا ليضاف إلى المفضّلة"
#: ../js/ui/appFavorites.js:89
#: ../js/ui/appFavorites.js:88
#, c-format
msgid "%s has been added to your favorites."
msgstr "أضيف %s إلى مفضلتك."
@ -69,194 +369,293 @@ msgstr "أضيف %s إلى مفضلتك."
msgid "%s has been removed from your favorites."
msgstr "أزيل %s من مفضّلتك."
#: ../js/ui/dash.js:189
#: ../js/ui/dash.js:142
msgid "Find"
msgstr "ابحث"
#: ../js/ui/dash.js:505
#: ../js/ui/dash.js:473
msgid "Searching..."
msgstr "يبحث..."
#: ../js/ui/dash.js:519
#: ../js/ui/dash.js:487
msgid "No matching results."
msgstr "لا نتائج مطابقة."
#. **** Places ****
#. Translators: This is in the sense of locations for documents,
#. network locations, etc.
#: ../js/ui/dash.js:869 ../js/ui/placeDisplay.js:543
#: ../js/ui/dash.js:797 ../js/ui/placeDisplay.js:554
msgid "PLACES & DEVICES"
msgstr "الأماكن والأجهزة"
#. **** Documents ****
#: ../js/ui/dash.js:876 ../js/ui/docDisplay.js:489
#: ../js/ui/dash.js:804 ../js/ui/docDisplay.js:494
msgid "RECENT ITEMS"
msgstr "العناصر الحديثة"
#: ../js/ui/lookingGlass.js:354
#: ../js/ui/lookingGlass.js:552
msgid "No extensions installed"
msgstr "لم تثبّت أية امتدادات"
#: ../js/ui/lookingGlass.js:391
#: ../js/ui/lookingGlass.js:589
msgid "Enabled"
msgstr "مفعّل"
#: ../js/ui/lookingGlass.js:393
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:591 ../src/gvc/gvc-mixer-control.c:1087
msgid "Disabled"
msgstr "معطّل"
#: ../js/ui/lookingGlass.js:395
#: ../js/ui/lookingGlass.js:593
msgid "Error"
msgstr "خطأ"
#: ../js/ui/lookingGlass.js:397
#: ../js/ui/lookingGlass.js:595
msgid "Out of date"
msgstr "غير محدث"
#: ../js/ui/lookingGlass.js:422
#: ../js/ui/lookingGlass.js:620
msgid "View Source"
msgstr "اعرض المصدر"
#: ../js/ui/lookingGlass.js:428
#: ../js/ui/lookingGlass.js:626
msgid "Web Page"
msgstr "صفحة الوب"
#: ../js/ui/overview.js:161
#: ../js/ui/overview.js:160
msgid "Undo"
msgstr "تراجع"
#: ../js/ui/panel.js:535
msgid "Quit"
msgstr "أنهِ"
#. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:469
#, c-format
msgid "Quit %s"
msgstr "أغلق %s"
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:740
msgid "Activities"
msgstr "الأنشطة"
#: ../js/ui/panel.js:494
msgid "Preferences"
msgstr "التفضيلات"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/panel.js:955
#: ../js/ui/panel.js:580
msgid "%a %b %e, %R:%S"
msgstr "%A %e %B، %R:%S"
#: ../js/ui/panel.js:956
#: ../js/ui/panel.js:581
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/panel.js:960
#: ../js/ui/panel.js:585
msgid "%a %R:%S"
msgstr "%A %R:%S"
#: ../js/ui/panel.js:961
#: ../js/ui/panel.js:586
msgid "%a %R"
msgstr "%A %R"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/panel.js:968
#: ../js/ui/panel.js:593
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%A %e %B، %l:%M:%S %p"
#: ../js/ui/panel.js:969
#: ../js/ui/panel.js:594
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/panel.js:973
#: ../js/ui/panel.js:598
msgid "%a %l:%M:%S %p"
msgstr "%A %l:%M:%S %p"
#: ../js/ui/panel.js:974
#: ../js/ui/panel.js:599
msgid "%a %l:%M %p"
msgstr "%A %Ol:%OM %p"
#: ../js/ui/placeDisplay.js:108
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:744
msgid "Activities"
msgstr "الأنشطة"
#: ../js/ui/placeDisplay.js:111
#, c-format
msgid "Failed to unmount '%s'"
msgstr "فشل فصْل '%s'"
#: ../js/ui/placeDisplay.js:111
#: ../js/ui/placeDisplay.js:114
msgid "Retry"
msgstr "أعد المحاولة"
#: ../js/ui/placeDisplay.js:156
#: ../js/ui/placeDisplay.js:159
msgid "Connect to..."
msgstr "اتّصل ب‍..."
#: ../js/ui/runDialog.js:231
#. Translators: this MUST be either "toggle-switch-us"
#. (for toggle switches containing the English words
#. "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:33
msgid "toggle-switch-us"
msgstr ""
#: ../js/ui/runDialog.js:233
msgid "Please enter a command:"
msgstr "من فضلك اكتب أمرا:"
#: ../js/ui/runDialog.js:375
#: ../js/ui/runDialog.js:378
#, c-format
msgid "Execution of '%s' failed:"
msgstr "فشل تنفيذ '%s':"
#: ../js/ui/statusMenu.js:90
#: ../js/ui/statusMenu.js:101
msgid "Available"
msgstr "متاح"
#: ../js/ui/statusMenu.js:94
#: ../js/ui/statusMenu.js:106
msgid "Busy"
msgstr "مشغول"
#: ../js/ui/statusMenu.js:98
#: ../js/ui/statusMenu.js:111
msgid "Invisible"
msgstr "خفي"
#: ../js/ui/statusMenu.js:105
msgid "Account Information..."
msgstr "معلومات الحساب..."
#: ../js/ui/statusMenu.js:119
msgid "My Account..."
msgstr "حسابي..."
#: ../js/ui/statusMenu.js:109
#: ../js/ui/statusMenu.js:123
msgid "System Preferences..."
msgstr "تفضيلات النظام..."
#: ../js/ui/statusMenu.js:116
#: ../js/ui/statusMenu.js:130
msgid "Lock Screen"
msgstr "أوصد الشاشة"
#: ../js/ui/statusMenu.js:120
#: ../js/ui/statusMenu.js:134
msgid "Switch User"
msgstr "بدّل المستخدم"
#: ../js/ui/statusMenu.js:125
#: ../js/ui/statusMenu.js:139
msgid "Log Out..."
msgstr "اخرج..."
#: ../js/ui/statusMenu.js:129
#: ../js/ui/statusMenu.js:146
msgid "Suspend"
msgstr "علّق"
#: ../js/ui/statusMenu.js:150
msgid "Restart..."
msgstr "أعد التشغيل..."
#: ../js/ui/statusMenu.js:154
msgid "Shut Down..."
msgstr "أطفئ..."
#: ../js/ui/windowAttentionHandler.js:47
#: ../js/ui/status/accessibility.js:88
msgid "Screen Reader"
msgstr "قارئ الشاشة"
#: ../js/ui/status/accessibility.js:91
msgid "Screen Keyboard"
msgstr "لوحة مفاتيح على الشاشة"
#: ../js/ui/status/accessibility.js:94
msgid "Visual Alerts"
msgstr "تنبيهات بصرية"
#: ../js/ui/status/accessibility.js:97
msgid "Sticky Keys"
msgstr "مفاتيح لاصقة"
#: ../js/ui/status/accessibility.js:100
msgid "Slow Keys"
msgstr "مفاتيح بطيئة"
#: ../js/ui/status/accessibility.js:103
msgid "Bounce Keys"
msgstr "مفاتيح لها صوت"
#: ../js/ui/status/accessibility.js:106
msgid "Mouse Keys"
msgstr "مفاتيح الفأرة"
#: ../js/ui/status/accessibility.js:110
msgid "Universal Access Settings"
msgstr "إعدادات الإتاحة"
#: ../js/ui/status/accessibility.js:163
msgid "High Contrast"
msgstr "تباين عال"
#: ../js/ui/status/accessibility.js:202
msgid "Large Text"
msgstr "نص كبير"
#: ../js/ui/status/accessibility.js:223
msgid "Zoom"
msgstr "تقريب"
#: ../js/ui/windowAttentionHandler.js:43
#, c-format
msgid "%s has finished starting"
msgstr "انتهى %s من البدء"
#: ../js/ui/windowAttentionHandler.js:49
#: ../js/ui/windowAttentionHandler.js:45
#, c-format
msgid "'%s' is ready"
msgstr "'%s' جاهز"
#: ../js/ui/workspacesView.js:239
#: ../js/ui/workspacesView.js:229
msgid ""
"Can't add a new workspace because maximum workspaces limit has been reached."
msgstr "تعذّر إضافة مساحة عمل جديدة، لتجاوز أقصى عدد من مساحات العمل."
#: ../js/ui/workspacesView.js:256
#: ../js/ui/workspacesView.js:246
msgid "Can't remove the first workspace."
msgstr "لا يمكن حذف مساحة العمل الأولى."
#: ../src/shell-global.c:979
#. translators:
#. * The number of sound outputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1094
#, c-format
msgid "%u Output"
msgid_plural "%u Outputs"
msgstr[0] "لا مخرَج"
msgstr[1] "مخرَج واحد"
msgstr[2] "مخرَجين"
msgstr[3] "%u مخارج"
msgstr[4] "%u مخرجا"
msgstr[5] "%u مخرج"
#. translators:
#. * The number of sound inputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1104
#, c-format
msgid "%u Input"
msgid_plural "%u Inputs"
msgstr[0] "لا مدخل"
msgstr[1] "مدخل واحد"
msgstr[2] "مدخلين"
msgstr[3] "%u مداخل"
msgstr[4] "%u مدخلا"
msgstr[5] "%u مدخل"
#: ../src/gvc/gvc-mixer-control.c:1402
msgid "System Sounds"
msgstr "أصوات النظام"
#: ../src/shell-global.c:1219
msgid "Less than a minute ago"
msgstr "منذ أقل من دقيقة"
#: ../src/shell-global.c:983
#: ../src/shell-global.c:1223
#, c-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
@ -267,7 +666,7 @@ msgstr[3] "منذ %d دقائق"
msgstr[4] "منذ %d دقيقة"
msgstr[5] "منذ %d دقيقة"
#: ../src/shell-global.c:988
#: ../src/shell-global.c:1228
#, c-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
@ -278,7 +677,7 @@ msgstr[3] "منذ %d ساعات"
msgstr[4] "منذ %d ساعة"
msgstr[5] "منذ %d ساعة"
#: ../src/shell-global.c:993
#: ../src/shell-global.c:1233
#, c-format
msgid "%d day ago"
msgid_plural "%d days ago"
@ -289,7 +688,7 @@ msgstr[3] "منذ %d أيام"
msgstr[4] "منذ %d يوما"
msgstr[5] "منذ %d يوم"
#: ../src/shell-global.c:998
#: ../src/shell-global.c:1238
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
@ -324,6 +723,9 @@ msgstr "ابحث"
msgid "%1$s: %2$s"
msgstr "%1$s: %2$s"
#~ msgid "Account Information..."
#~ msgstr "معلومات الحساب..."
#~ msgid "%H:%M"
#~ msgstr "%OH:%OM"

413
po/bg.po
View File

@ -7,10 +7,11 @@ msgid ""
msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-03-18 13:09+0200\n"
"PO-Revision-Date: 2010-03-18 11:30+0200\n"
"POT-Creation-Date: 2010-07-25 18:40+0300\n"
"PO-Revision-Date: 2010-07-25 18:35+0300\n"
"Last-Translator: Ivaylo Valkov <ivaylo@e-valkov.org>\n"
"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@ -24,32 +25,260 @@ msgstr "Обвивка на GNOME"
msgid "Window management and application launching"
msgstr "Управление на прозорци и стартиране на програми"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:1
msgid "Clock"
msgstr "Часовник"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:2
msgid "Customize the panel clock"
msgstr "Персонализиране на часовника в панела"
#: ../data/org.gnome.shell.gschema.xml.in.h:1
msgid ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog."
msgstr ""
"Разрешава достъпа до вътрешни инструменти за наблюдение и изчистване грешки "
"чрез Alt-F2."
#: ../data/org.gnome.shell.gschema.xml.in.h:2
msgid "Custom format of the clock"
msgstr "Личен формат за часовника"
#: ../data/org.gnome.shell.gschema.xml.in.h:3
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr ""
"Включване на вътрешни инструменти полезни за разработчици и изпитатели чрез "
"Alt-F2"
#: ../data/org.gnome.shell.gschema.xml.in.h:4
msgid "File extension used for storing the screencast"
msgstr "Разширение на файла за съхранение на записите"
#: ../data/org.gnome.shell.gschema.xml.in.h:5
msgid "Framerate used for recording screencasts."
msgstr "Честота на кадрите за създаваните записи"
#: ../data/org.gnome.shell.gschema.xml.in.h:6
msgid ""
"GNOME Shell extensions have a uuid property; this key lists extensions which "
"should not be loaded."
msgstr ""
"Разширенията на Обвивката на GNOME имат идентификатор (uuid). Този ключ "
"съдържа списък на разширенията, които да не се зареждат."
#: ../data/org.gnome.shell.gschema.xml.in.h:7
msgid "History for command (Alt-F2) dialog"
msgstr "История на командата Alt-F2"
#: ../data/org.gnome.shell.gschema.xml.in.h:8
msgid "Hour format"
msgstr "Формат на часа"
#: ../data/org.gnome.shell.gschema.xml.in.h:9
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display date in the "
"clock, in addition to time."
msgstr ""
"Показване на дата в допълнение към времето, ако е зададено „истина“ и "
"форматът е „12-hour“ или „24-hour“."
#: ../data/org.gnome.shell.gschema.xml.in.h:10
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display seconds in "
"time."
msgstr ""
"Показване на секунди към времето, ако е зададено „истина“ и форматът е „12-"
"hour“ или „24-hour“."
#: ../data/org.gnome.shell.gschema.xml.in.h:11
msgid "If true, display the ISO week date in the calendar."
msgstr "Показване на деня от седмицата по ISO, ако е зададено „истина“."
#: ../data/org.gnome.shell.gschema.xml.in.h:12
msgid "List of desktop file IDs for favorite applications"
msgstr ""
"Списък на идентификаторите на файловете във формат .desktop за любими "
"програми"
#: ../data/org.gnome.shell.gschema.xml.in.h:13
msgid "Overview workspace view mode"
msgstr "Цялостен преглед на режима на изглед на работния плот"
#: ../data/org.gnome.shell.gschema.xml.in.h:14
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 ! theoraenc ! oggmux' and records to Ogg Theora."
msgstr ""
"Задава конвейера на GStreamer, който ще се използва за кодиране на записите. "
"Използвайте синтаксиса на gst-launch. Конвейерът трябва да бъде с несвързан "
"блок-приемник, където се записва видеото. Обикновено конвейерът е с "
"несвързан блок-източник. Изходът от този блок ще бъде записан в изходния "
"файл. Въпреки това конвейерът може да задава собствен изход — това може да "
"се използва за изпращане на изхода към icecast сървър чрез „shout2send“ или "
"подобен елемент. Когато този ключ не е зададен или стойността му e празна, "
"се използва стандартния конвейер. За момента това е „videorate ! theoraenc ! "
"oggmux“ и записва видео във формат Ogg Theora."
#: ../data/org.gnome.shell.gschema.xml.in.h:15
msgid "Show date in clock"
msgstr "Показване на дата в часовника"
#: ../data/org.gnome.shell.gschema.xml.in.h:16
msgid "Show the week date in the calendar"
msgstr "Показване на деня от седмицата в календара"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "Show time with seconds"
msgstr "Показване на секунди към времето"
#: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid ""
"The applications corresponding to these identifiers will be displayed in the "
"favorites area."
msgstr ""
"Програмите, които отговарят на тези идентификатор, ще бъдат показани в "
"областта „Любими“."
#: ../data/org.gnome.shell.gschema.xml.in.h:19
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 ""
"Разширението ще се използва към името на файла за създадените записи на "
"екрана, което ще бъде уникално и ще зависи от текущата дата. Трябва да го "
"промените, когато записвате в различен формат на контейнера."
#: ../data/org.gnome.shell.gschema.xml.in.h:20
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
msgstr ""
"Честота на кадрите за записа на екрана създаден от записващата програма на "
"Обвивката на GNOME в кадри за секунда."
#: ../data/org.gnome.shell.gschema.xml.in.h:21
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "Конвейерът на gstreamer използван за кодиране на записа на екрана"
#: ../data/org.gnome.shell.gschema.xml.in.h:22
msgid ""
"The selected workspace view mode in the overview. Supported values are "
"\"single\" and \"grid\"."
msgstr ""
"Избраният режим на изглед на работния плот в прозореца за цялостен преглед. "
"Поддържаните стойности са „single“ и „grid“"
#: ../data/org.gnome.shell.gschema.xml.in.h:23
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 ""
"Обикновено обвивката наблюдава работещите програми, за да представя най-"
"често използваните (например в стартери). Въпреки, че тази информация се "
"пази в тайна, може да желаете да изключите тази функционалност, за да "
"защитите личните си данни. Забележете, че дори да го направите, това няма да "
"премахне вече запазените данни."
#: ../data/org.gnome.shell.gschema.xml.in.h:24
msgid ""
"This key specifies the format used by the panel clock when the format key is "
"set to \"custom\". You can use conversion specifiers understood by strftime"
"() to obtain a specific format. See the strftime() manual for more "
"information."
msgstr ""
"Този ключ определя форма̀та използван от часовника в панела, когато ключът за "
"форма̀та е настроен на „custom“ (личен). Може да използвате форматиращите "
"знаци ползвани от strftime(), за да получите определен формат. За повече "
"информация погледнете страницата от ръководството за strftime()."
#: ../data/org.gnome.shell.gschema.xml.in.h:25
msgid ""
"This key specifies the hour format used by the panel clock. Possible values "
"are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", "
"the clock will display time in seconds since Epoch, i.e. 1970-01-01. If set "
"to \"custom\", the clock will display time according to the format specified "
"in the custom_format key. Note that if set to either \"unix\" or \"custom\", "
"the show_date and show_seconds keys are ignored."
msgstr ""
"Този ключ определя форма̀та на часа използван от часовника в панела. "
"Възможните стойности са „12-hour“, „24-hour“, „unix“ и „custom“. Ако е "
"настроен на „unix“, часовникът ще показва времето от епохата, примерно: "
"1970-01-01. Ако е настроен на „custom“, часовникът ще показва времето според "
"форма̀та определен в ключа custom_format. Ако е настроен на „unix“ или "
"„custom“, ключовете show_data и show_seconds се пренебрегват."
#: ../data/org.gnome.shell.gschema.xml.in.h:26
msgid "Uuids of extensions to disable"
msgstr "Идентификатори (uuid) на приставки, които да бъдат изключени"
#: ../data/org.gnome.shell.gschema.xml.in.h:27
msgid "Whether to collect stats about applications usage"
msgstr "Дали да се събира статистика за използването на програми"
#: ../data/clock-preferences.ui.h:1
msgid "Clock Format"
msgstr "Формат на часовника"
#: ../data/clock-preferences.ui.h:2
msgid "Clock Preferences"
msgstr "Настройки на часовника"
#: ../data/clock-preferences.ui.h:3
msgid "Panel Display"
msgstr "Изглед на панела"
#: ../data/clock-preferences.ui.h:4
msgid "Show seco_nds"
msgstr "Показване на _секундите"
#: ../data/clock-preferences.ui.h:5
msgid "Show the _date"
msgstr "Показване на _датата"
#: ../data/clock-preferences.ui.h:6
msgid "_12 hour format"
msgstr "12-_часов формат"
#: ../data/clock-preferences.ui.h:7
msgid "_24 hour format"
msgstr "24-ч_асов формат"
#. **** Applications ****
#: ../js/ui/appDisplay.js:311 ../js/ui/dash.js:852
#: ../js/ui/appDisplay.js:384 ../js/ui/dash.js:773
msgid "APPLICATIONS"
msgstr "ПРОГРАМИ"
#: ../js/ui/appDisplay.js:343
#: ../js/ui/appDisplay.js:416
msgid "PREFERENCES"
msgstr "ПРЕДПОЧИТАНИЯ"
#: ../js/ui/appDisplay.js:728
#: ../js/ui/appDisplay.js:721
msgid "New Window"
msgstr "Нов прозорец"
#: ../js/ui/appDisplay.js:732
#: ../js/ui/appDisplay.js:725
msgid "Remove from Favorites"
msgstr "Премахване от „Любими“"
#: ../js/ui/appDisplay.js:733
#: ../js/ui/appDisplay.js:726
msgid "Add to Favorites"
msgstr "Добавяне в „Любими“"
#: ../js/ui/appDisplay.js:1085
#: ../js/ui/appDisplay.js:1033
msgid "Drag here to add favorites"
msgstr "Довлачете до тук обектите за да ги добавите към „Любими“"
#: ../js/ui/appFavorites.js:89
#: ../js/ui/appFavorites.js:88
#, c-format
msgid "%s has been added to your favorites."
msgstr "Програмата „%s“ беше добавена в „Любими“"
@ -59,179 +288,235 @@ msgstr "Програмата „%s“ беше добавена в „Любим
msgid "%s has been removed from your favorites."
msgstr "Програмата „%s“ беше премахната от „Любими“"
#: ../js/ui/dash.js:194
#: ../js/ui/dash.js:142
msgid "Find"
msgstr "Търсене"
#: ../js/ui/dash.js:507
#: ../js/ui/dash.js:471
msgid "Searching..."
msgstr "Търсене…"
#: ../js/ui/dash.js:521
#: ../js/ui/dash.js:485
msgid "No matching results."
msgstr "Няма съвпадения."
#. **** Places ****
#. Translators: This is in the sense of locations for documents,
#. network locations, etc.
#: ../js/ui/dash.js:871 ../js/ui/placeDisplay.js:536
#: ../js/ui/dash.js:792 ../js/ui/placeDisplay.js:550
msgid "PLACES & DEVICES"
msgstr "МЕСТА И УСТРОЙСТВА"
#. **** Documents ****
#: ../js/ui/dash.js:878 ../js/ui/docDisplay.js:488
#: ../js/ui/dash.js:799 ../js/ui/docDisplay.js:494
msgid "RECENT ITEMS"
msgstr "СКОРО ОТВАРЯНИ"
#: ../js/ui/lookingGlass.js:363
#: ../js/ui/lookingGlass.js:471
msgid "No extensions installed"
msgstr "Няма инсталирани разширения"
#: ../js/ui/lookingGlass.js:400
#: ../js/ui/lookingGlass.js:508
msgid "Enabled"
msgstr "Включено"
#: ../js/ui/lookingGlass.js:402
#: ../js/ui/lookingGlass.js:510
msgid "Disabled"
msgstr "Изключено"
#: ../js/ui/lookingGlass.js:404
#: ../js/ui/lookingGlass.js:512
msgid "Error"
msgstr "Грешка"
#: ../js/ui/lookingGlass.js:406
#: ../js/ui/lookingGlass.js:514
msgid "Out of date"
msgstr "Остаряло"
#: ../js/ui/lookingGlass.js:431
#: ../js/ui/lookingGlass.js:539
msgid "View Source"
msgstr "Преглед на програмния код"
#: ../js/ui/lookingGlass.js:437
#: ../js/ui/lookingGlass.js:545
msgid "Web Page"
msgstr "Домашна страница"
#: ../js/ui/overview.js:182
#: ../js/ui/overview.js:159
msgid "Undo"
msgstr "Отмяна"
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:385
msgid "Activities"
msgstr "Дейности"
#. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:473
#, c-format
msgid "Quit %s"
msgstr "Спиране на програмата „%s“"
#. Translators: This is the time format used in 24-hour mode.
#: ../js/ui/panel.js:616
#: ../js/ui/panel.js:498
msgid "Preferences"
msgstr "Настройки"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/panel.js:584
msgid "%a %b %e, %R:%S"
msgstr "%a, %e %b, %R:%S"
#: ../js/ui/panel.js:585
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/panel.js:589
msgid "%a %R:%S"
msgstr "%a, %R:%S"
#: ../js/ui/panel.js:590
msgid "%a %R"
msgstr "%a, %R"
#. Translators: This is a time format used for AM/PM.
#: ../js/ui/panel.js:619
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/panel.js:597
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a, %e %b, %l:%M:%S %p"
#: ../js/ui/panel.js:598
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/panel.js:602
msgid "%a %l:%M:%S %p"
msgstr "%a %l:%M:%S %p"
#: ../js/ui/panel.js:603
msgid "%a %l:%M %p"
msgstr "%a, %H:%M"
#: ../js/ui/placeDisplay.js:103
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:741
msgid "Activities"
msgstr "Дейности"
#: ../js/ui/placeDisplay.js:107
#, c-format
msgid "Failed to unmount '%s'"
msgstr "Неуспех при демонтиране на „%s“"
#: ../js/ui/placeDisplay.js:106
#: ../js/ui/placeDisplay.js:110
msgid "Retry"
msgstr "Повторен опит"
#: ../js/ui/placeDisplay.js:151
#: ../js/ui/placeDisplay.js:155
msgid "Connect to..."
msgstr "Свързване към…"
#: ../js/ui/runDialog.js:221
#. Translators: the "ON" and "OFF" strings are used in the
#. toggle switches in the status area menus, and must be SHORT.
#. If you don't have suitable short words, consider initials,
#. "0"/"1", "⚪"/"⚫", etc.
#: ../js/ui/popupMenu.js:30 ../js/ui/popupMenu.js:40
msgid "ON"
msgstr "ВКЛ"
#: ../js/ui/popupMenu.js:31 ../js/ui/popupMenu.js:45
msgid "OFF"
msgstr "ИЗКЛ"
#: ../js/ui/runDialog.js:233
msgid "Please enter a command:"
msgstr "Въведете команда:"
#: ../js/ui/runDialog.js:344
#: ../js/ui/runDialog.js:378
#, c-format
msgid "Execution of '%s' failed:"
msgstr "Неуспешно изпълнение на „%s“:"
#: ../js/ui/statusMenu.js:107
#: ../js/ui/statusMenu.js:91
msgid "Available"
msgstr "Налично"
#: ../js/ui/statusMenu.js:112
#: ../js/ui/statusMenu.js:95
msgid "Busy"
msgstr "Заето"
#: ../js/ui/statusMenu.js:117
#: ../js/ui/statusMenu.js:99
msgid "Invisible"
msgstr "Невидимо"
#: ../js/ui/statusMenu.js:126
#: ../js/ui/statusMenu.js:106
msgid "Account Information..."
msgstr "Информация за настройките на потребителя…"
#: ../js/ui/statusMenu.js:132
msgid "Sidebar"
msgstr "Странична лента"
#: ../js/ui/statusMenu.js:142
#: ../js/ui/statusMenu.js:110
msgid "System Preferences..."
msgstr "Системни настройки…"
#: ../js/ui/statusMenu.js:151
#: ../js/ui/statusMenu.js:117
msgid "Lock Screen"
msgstr "Заключване на екрана"
#: ../js/ui/statusMenu.js:156
#: ../js/ui/statusMenu.js:121
msgid "Switch User"
msgstr "Смяна на потребител"
#: ../js/ui/statusMenu.js:162
#: ../js/ui/statusMenu.js:126
msgid "Log Out..."
msgstr "Изход…"
#: ../js/ui/statusMenu.js:167
#: ../js/ui/statusMenu.js:130
msgid "Shut Down..."
msgstr "Изключване на компютъра…"
#. Translators: This is a time format.
#: ../js/ui/widget.js:163
msgid "%H:%M"
msgstr "%H:%M"
#: ../js/ui/windowAttentionHandler.js:45
#, c-format
msgid "%s has finished starting"
msgstr "Програмата „%s“ стартира успешно"
#: ../js/ui/widget.js:317
msgid "Applications"
msgstr "Програми"
#: ../js/ui/windowAttentionHandler.js:47
#, c-format
msgid "'%s' is ready"
msgstr "Програмата „%s“ е готова за употреба"
#: ../js/ui/widget.js:339
msgid "Recent Documents"
msgstr "Скоро отваряни документи"
#: ../js/ui/workspacesView.js:230
msgid ""
"Can't add a new workspace because maximum workspaces limit has been reached."
msgstr ""
"Неуспех при добавяне на нов работен плот. Достигнат е максималният брой на "
"възможните работни плотове."
#: ../src/shell-global.c:967
#: ../js/ui/workspacesView.js:247
msgid "Can't remove the first workspace."
msgstr "Премахването на първия работен плот не е възможно."
#: ../src/shell-global.c:1105
msgid "Less than a minute ago"
msgstr "Преди по-малко от минута"
#: ../src/shell-global.c:971
#: ../src/shell-global.c:1109
#, c-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "преди %d минута"
msgstr[1] "преди %d минути"
#: ../src/shell-global.c:976
#: ../src/shell-global.c:1114
#, c-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
msgstr[0] "преди %d час"
msgstr[1] "преди %d часа"
#: ../src/shell-global.c:981
#: ../src/shell-global.c:1119
#, c-format
msgid "%d day ago"
msgid_plural "%d days ago"
msgstr[0] "преди %d ден"
msgstr[1] "преди %d дни"
#: ../src/shell-global.c:986
#: ../src/shell-global.c:1124
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"

655
po/cs.po
View File

@ -7,15 +7,16 @@ msgid ""
msgstr ""
"Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-03-29 00:49+0200\n"
"PO-Revision-Date: 2010-03-29 00:49+0200\n"
"POT-Creation-Date: 2010-10-31 12:09+0100\n"
"PO-Revision-Date: 2010-10-31 12:09+0100\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"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Lokalize 1.0\n"
"X-Generator: Lokalize 1.1\n"
#: ../data/gnome-shell.desktop.in.in.h:1
msgid "GNOME Shell"
@ -25,32 +26,380 @@ msgstr "Prostředí GNOME Shell"
msgid "Window management and application launching"
msgstr "Správa oken a spouštění aplikací"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:1
msgid "Clock"
msgstr "Hodiny"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:2
msgid "Customize the panel clock"
msgstr "Přizpůsobit hodiny na panelu"
#: ../data/org.gnome.shell.gschema.xml.in.h:1
msgid ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog."
msgstr ""
"Poskytuje přístup k vnitřním ladicím a monitorovacím nástrojům pomocí okna "
"ovládaného přes Alt-F2."
#: ../data/org.gnome.shell.gschema.xml.in.h:2
msgid "Custom format of the clock"
msgstr "Vlastní formát hodin"
#: ../data/org.gnome.shell.gschema.xml.in.h:3
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr "Povolit přes Alt-F2 vnitřní nástroje určené pro vývojáře a testery"
#: ../data/org.gnome.shell.gschema.xml.in.h:4
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:5
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:6
msgid ""
"GNOME Shell extensions have a uuid property; this key lists extensions which "
"should not be loaded."
msgstr ""
"Rozšíření GNOME Shell mají vlastnost uuid; tento klíč uvádí rozšíření, která "
"by neměla být načítána."
#: ../data/org.gnome.shell.gschema.xml.in.h:7
msgid "History for command (Alt-F2) dialog"
msgstr "Historie příkazového dialogového okna (Alt-F2)"
#: ../data/org.gnome.shell.gschema.xml.in.h:8
msgid "Hour format"
msgstr "Formát hodin"
#: ../data/org.gnome.shell.gschema.xml.in.h:9
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display date in the "
"clock, in addition to time."
msgstr ""
"Je-li \"true\" a formát je buď \"12-hour\" nebo \"24-hour\", zobrazovat v "
"hodinách kromě času i datum."
#: ../data/org.gnome.shell.gschema.xml.in.h:10
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display seconds in "
"time."
msgstr ""
"Je-li \"true\" a formát je buď \"12-hour\" nebo \"24-hour\", zobrazovat čas "
"včetně sekund."
#: ../data/org.gnome.shell.gschema.xml.in.h:11
msgid "If true, display the ISO week date in the calendar."
msgstr "Je-li \"true\", zobrazovat v kalendáři čísla týdnů dle ISO."
#: ../data/org.gnome.shell.gschema.xml.in.h:12
msgid "List of desktop file IDs for favorite applications"
msgstr "Seznam ID souboru desktop oblíbených aplikací"
#: ../data/org.gnome.shell.gschema.xml.in.h:13
msgid "Overview workspace view mode"
msgstr "Režim přehledu pracovních ploch"
#: ../data/org.gnome.shell.gschema.xml.in.h:14
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 ! theoraenc ! oggmux' and records to Ogg Theora."
msgstr ""
"Nastavuje rouru systému GStreamer určenou ke kódování nahrávek. Respektuje "
"syntax gst-launch. Roura by měla mít nepřipojený cíl, ve kterém se video "
"nahrává. Obvykle má nepřipojený zdroj; výstup z takového zdroje bude "
"zapisován do výstupního souboru. Roura je ale schopna zabezpečit i vlastní "
"výstup, což lze využít při odeslání výstupu na server icecast přes "
"shout2send apod. Není-li nastaveno nebo je-li nastaveno na prázdnou hodnotu, "
"bude použita výchozí roura. Aktuálně to je 'videorate ! theoraenc ! oggmux' "
"s nahráváním do Ogg Theora."
#: ../data/org.gnome.shell.gschema.xml.in.h:15
msgid "Show date in clock"
msgstr "Zobrazovat v hodinách datum"
#: ../data/org.gnome.shell.gschema.xml.in.h:16
msgid "Show the week date in the calendar"
msgstr "Zobrazovat v kalendáři čísla týdnů"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "Show time with seconds"
msgstr "Zobrazovat čas včetně sekund"
#: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid ""
"The applications corresponding to these identifiers will be displayed in the "
"favorites area."
msgstr ""
"Aplikace odpovídající těmto identifikátorům budou zobrazeny oblasti "
"oblíbených."
#: ../data/org.gnome.shell.gschema.xml.in.h:19
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 ""
"Název souboru nahraných dění na obrazovce se bude sestávat z jedinečného "
"názvu vycházejícího z aktuálního data a bude používat tuto příponu. Při "
"nahrávání do jiného formátu kontejneru by měla být provedena úprava pravidel."
#: ../data/org.gnome.shell.gschema.xml.in.h:20
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
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:21
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:22
msgid ""
"The selected workspace view mode in the overview. Supported values are "
"\"single\" and \"grid\"."
msgstr ""
"Vybraný režim zobrazení pracovních ploch v přehledu. Podporované hodnoty "
"jsou \"single\" a \"grid\"."
#: ../data/org.gnome.shell.gschema.xml.in.h:23
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 ""
"Program GNOME Shell obvykle sleduje aktivní aplikace, aby mohl nabídnout ty "
"nejpoužívanější (např. ve spouštěčích). Data budou uchovávána v soukromí, "
"přesto ale můžete z důvodu ochrany soukromí tuto funkci zakázat. Vezměte "
"prosím v potaz skutečnost, že zakázaní funkce neodstraní již uložená data."
#: ../data/org.gnome.shell.gschema.xml.in.h:24
msgid ""
"This key specifies the format used by the panel clock when the format key is "
"set to \"custom\". You can use conversion specifiers understood by strftime"
"() to obtain a specific format. See the strftime() manual for more "
"information."
msgstr ""
"Tento klíč určuje formát používaný hodinami na panelu, když je klíč format "
"nastaven na \"custom\". K získání konkrétního formátu můžete použít "
"specifikátory převodu, kterým rozumí strftime(). Více informací viz manuál k "
"strftime()."
#: ../data/org.gnome.shell.gschema.xml.in.h:25
msgid ""
"This key specifies the hour format used by the panel clock. Possible values "
"are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", "
"the clock will display time in seconds since Epoch, i.e. 1970-01-01. If set "
"to \"custom\", the clock will display time according to the format specified "
"in the custom_format key. Note that if set to either \"unix\" or \"custom\", "
"the show_date and show_seconds keys are ignored."
msgstr ""
"Tento klíč určuje formát používaný hodinami na panelu. Možné hodnoty jsou "
"\"12-hour\", \"24-hour\", \"unix\" a \"custom\". Je-li nastaven na \"unix\", "
"hodiny budou zobrazovat čas v sekundách od počátku epochy, tj. 1970-01-01. "
"Je-li nastaven na \"custom\", hodiny budou zobrazovat čas s ohledem na "
"formát určený klíčem custom_format key. Je-li klíč nastaven buď na \"unix\" "
"nebo \"custom\", budou ignorovány klíče show_date a show_seconds."
#: ../data/org.gnome.shell.gschema.xml.in.h:26
msgid "Uuids of extensions to disable"
msgstr "Uuid rozšíření určených k vypnutí"
#: ../data/org.gnome.shell.gschema.xml.in.h:27
msgid "Whether to collect stats about applications usage"
msgstr "Zda sbírat statistická data o používání aplikací"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:1
msgid "Clip the crosshairs at the center"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:2
msgid "Color of the crosshairs"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:3
msgid ""
"Determines the length of the vertical and horizontal lines that make up the "
"crosshairs."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:4
msgid ""
"Determines the position of the magnified mouse image within the magnified "
"view and how it reacts to system mouse movement. The values are - none: no "
"mouse tracking; - centered: the mouse image is displayed at the center of "
"the zoom region (which also represents the point under the system mouse) and "
"the magnified contents are scrolled as the system mouse moves; - "
"proportional: the position of the magnified mouse in the zoom region is "
"proportionally the same as the position of the system mouse on screen; - "
"push: when the magnified mouse intersects a boundary of the zoom region, the "
"contents are scrolled into view."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:5
msgid ""
"Determines the transparency of the crosshairs, from fully opaque to fully "
"transparent."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:6
msgid ""
"Determines whether the crosshairs intersect the magnified mouse sprite, or "
"are clipped such that the ends of the horizontal and vertical lines surround "
"the mouse image."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:7
#, fuzzy
msgid "Enable lens mode"
msgstr "Povoleno"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:8
msgid ""
"Enables/disables display of crosshairs centered on the magnified mouse "
"sprite."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:9
msgid ""
"For centered mouse tracking, when the system pointer is at or near the edge "
"of the screen, the magnified contents continue to scroll such that the "
"screen edge moves into the magnified view."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:10
msgid "Length of the crosshairs"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:11
msgid "Magnification factor"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:12
msgid "Mouse Tracking Mode"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:13
msgid "Opacity of the crosshairs"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:14
msgid "Screen position"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:15
msgid "Scroll magnified contents beyond the edges of the desktop"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:16
msgid "Show or hide crosshairs"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:17
msgid "Show or hide the magnifier"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:18
msgid "Show or hide the magnifier and all of its zoom regions."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:19
msgid ""
"The color of the the vertical and horizontal lines that make up the "
"crosshairs."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:20
msgid ""
"The magnified view either fills the entire screen, or occupies the top-half, "
"bottom-half, left-half, or right-half of the screen."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:21
msgid ""
"The power of the magnification. A value of 1.0 means no magnification. A "
"value of 2.0 doubles the size."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:22
msgid "Thickness of the crosshairs"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:23
msgid ""
"Whether the magnified view should be centered over the location of the "
"system mouse and move with it."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:24
msgid "Width of the vertical and horizontal lines that make up the crosshairs."
msgstr ""
#: ../data/clock-preferences.ui.h:1
msgid "Clock Format"
msgstr "Formát hodin"
#: ../data/clock-preferences.ui.h:2
msgid "Clock Preferences"
msgstr "Předvolby hodin"
#: ../data/clock-preferences.ui.h:3
msgid "Panel Display"
msgstr "Zobrazení panelu"
#: ../data/clock-preferences.ui.h:4
msgid "Show seco_nds"
msgstr "Zobrazit seku_ndy"
#: ../data/clock-preferences.ui.h:5
msgid "Show the _date"
msgstr "Zobrazit _datum"
#: ../data/clock-preferences.ui.h:6
msgid "_12 hour format"
msgstr "_12hodinový formát"
#: ../data/clock-preferences.ui.h:7
msgid "_24 hour format"
msgstr "_24hodinový formát"
#. **** Applications ****
#: ../js/ui/appDisplay.js:312 ../js/ui/dash.js:855
#: ../js/ui/appDisplay.js:316 ../js/ui/dash.js:778
msgid "APPLICATIONS"
msgstr "APLIKACE"
#: ../js/ui/appDisplay.js:344
#: ../js/ui/appDisplay.js:348
msgid "PREFERENCES"
msgstr "PŘEDVOLBY"
#: ../js/ui/appDisplay.js:756
#: ../js/ui/appDisplay.js:647
msgid "New Window"
msgstr "Nové okno"
#: ../js/ui/appDisplay.js:760
#: ../js/ui/appDisplay.js:651
msgid "Remove from Favorites"
msgstr "Odstranit z oblíbených"
#: ../js/ui/appDisplay.js:761
#: ../js/ui/appDisplay.js:652
msgid "Add to Favorites"
msgstr "Přidat mezi oblíbené"
#: ../js/ui/appDisplay.js:1113
#: ../js/ui/appDisplay.js:829
msgid "Drag here to add favorites"
msgstr "Oblíbené přidáte přetažením sem"
#: ../js/ui/appFavorites.js:89
#: ../js/ui/appFavorites.js:88
#, c-format
msgid "%s has been added to your favorites."
msgstr "%s byl přidán mezi oblíbené."
@ -60,170 +409,297 @@ msgstr "%s byl přidán mezi oblíbené."
msgid "%s has been removed from your favorites."
msgstr "%s byl odstraněn z oblíbených."
#: ../js/ui/dash.js:194
#: ../js/ui/dash.js:142
msgid "Find"
msgstr "Najít"
#: ../js/ui/dash.js:510
#: ../js/ui/dash.js:473
msgid "Searching..."
msgstr "Hledá se..."
#: ../js/ui/dash.js:524
#: ../js/ui/dash.js:487
msgid "No matching results."
msgstr "Neodpovídá ani jeden z výsledků."
#. **** Places ****
#. Translators: This is in the sense of locations for documents,
#. network locations, etc.
#: ../js/ui/dash.js:874 ../js/ui/placeDisplay.js:582
#: ../js/ui/dash.js:797 ../js/ui/placeDisplay.js:554
msgid "PLACES & DEVICES"
msgstr "MÍSTA A ZAŘÍZENÍ"
#. **** Documents ****
#: ../js/ui/dash.js:881 ../js/ui/docDisplay.js:488
#: ../js/ui/dash.js:804 ../js/ui/docDisplay.js:494
msgid "RECENT ITEMS"
msgstr "NEDÁVNÉ POLOŽKY"
#: ../js/ui/lookingGlass.js:363
#: ../js/ui/lookingGlass.js:552
msgid "No extensions installed"
msgstr "Nejsou nainstalována žádná rozšíření"
#: ../js/ui/lookingGlass.js:400
#: ../js/ui/lookingGlass.js:589
msgid "Enabled"
msgstr "Povoleno"
#: ../js/ui/lookingGlass.js:402
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:591 ../src/gvc/gvc-mixer-control.c:1087
msgid "Disabled"
msgstr "Zakázáno"
#: ../js/ui/lookingGlass.js:404
#: ../js/ui/lookingGlass.js:593
msgid "Error"
msgstr "Chyba"
#: ../js/ui/lookingGlass.js:406
#: ../js/ui/lookingGlass.js:595
msgid "Out of date"
msgstr "Neaktuální"
#: ../js/ui/lookingGlass.js:431
#: ../js/ui/lookingGlass.js:620
msgid "View Source"
msgstr "Zobrazit zdroj"
#: ../js/ui/lookingGlass.js:437
#: ../js/ui/lookingGlass.js:626
msgid "Web Page"
msgstr "Webová stránka"
#: ../js/ui/overview.js:182
#: ../js/ui/overview.js:160
msgid "Undo"
msgstr "Zpět"
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:385
msgid "Activities"
msgstr "Činnosti"
#. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:469
#, c-format
msgid "Quit %s"
msgstr "Ukončit %s"
#: ../js/ui/panel.js:494
msgid "Preferences"
msgstr "Předvolby"
# Not sure whether we've enough space for it, but anyway, looks more aesthetically with "%A".
#. Translators: This is the time format used in 24-hour mode.
#: ../js/ui/panel.js:616
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/panel.js:580
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/panel.js:581
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/panel.js:585
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/panel.js:586
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 used for AM/PM.
#: ../js/ui/panel.js:619
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/panel.js:593
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/panel.js:594
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/panel.js:598
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/panel.js:599
msgid "%a %l:%M %p"
msgstr "%A, %l:%M %p"
#: ../js/ui/placeDisplay.js:108
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:744
msgid "Activities"
msgstr "Činnosti"
#: ../js/ui/placeDisplay.js:111
#, c-format
msgid "Failed to unmount '%s'"
msgstr "Nelze odpojit \"%s\""
#: ../js/ui/placeDisplay.js:111
#: ../js/ui/placeDisplay.js:114
msgid "Retry"
msgstr "Opakovat"
#: ../js/ui/placeDisplay.js:156
#: ../js/ui/placeDisplay.js:159
msgid "Connect to..."
msgstr "Připojit se k..."
#: ../js/ui/runDialog.js:232
#. Translators: this MUST be either "toggle-switch-us"
#. (for toggle switches containing the English words
#. "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:33
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
#: ../js/ui/runDialog.js:233
msgid "Please enter a command:"
msgstr "Zadejte prosím příkaz:"
#: ../js/ui/runDialog.js:376
#: ../js/ui/runDialog.js:378
#, c-format
msgid "Execution of '%s' failed:"
msgstr "Vykonání \"%s\" selhalo:"
#: ../js/ui/statusMenu.js:107
#: ../js/ui/statusMenu.js:101
msgid "Available"
msgstr "Přítomen"
#: ../js/ui/statusMenu.js:112
#: ../js/ui/statusMenu.js:106
msgid "Busy"
msgstr "Zaneprázdněn"
#: ../js/ui/statusMenu.js:117
#: ../js/ui/statusMenu.js:111
msgid "Invisible"
msgstr "Neviditelný"
#: ../js/ui/statusMenu.js:126
msgid "Account Information..."
msgstr "Informace o účtu..."
#: ../js/ui/statusMenu.js:119
msgid "My Account..."
msgstr "Můj účet..."
#: ../js/ui/statusMenu.js:132
msgid "Sidebar"
msgstr "Postranní lišta"
#: ../js/ui/statusMenu.js:123
msgid "System Settings..."
msgstr "Nastavení systému..."
#: ../js/ui/statusMenu.js:142
msgid "System Preferences..."
msgstr "Předvolby systému..."
#: ../js/ui/statusMenu.js:151
#: ../js/ui/statusMenu.js:130
msgid "Lock Screen"
msgstr "Uzamknout obrazovku"
#: ../js/ui/statusMenu.js:156
#: ../js/ui/statusMenu.js:134
msgid "Switch User"
msgstr "Přepnout uživatele"
#: ../js/ui/statusMenu.js:162
#: ../js/ui/statusMenu.js:139
msgid "Log Out..."
msgstr "Odhlásit..."
#: ../js/ui/statusMenu.js:167
#: ../js/ui/statusMenu.js:146
msgid "Suspend"
msgstr "Uspat do paměti"
#: ../js/ui/statusMenu.js:150
msgid "Restart..."
msgstr "Restartovat..."
#: ../js/ui/statusMenu.js:154
msgid "Shut Down..."
msgstr "Vypnout..."
#. Translators: This is a time format.
#: ../js/ui/widget.js:163
msgid "%H:%M"
msgstr "%H:%M"
#: ../js/ui/status/accessibility.js:88
msgid "Screen Reader"
msgstr "Čtení obrazovky"
#: ../js/ui/widget.js:317
msgid "Applications"
msgstr "Aplikace"
#: ../js/ui/status/accessibility.js:91
msgid "Screen Keyboard"
msgstr "Klávesnice na obrazovce"
#: ../js/ui/widget.js:339
msgid "Recent Documents"
msgstr "Nedávné dokumenty"
#: ../js/ui/status/accessibility.js:94
msgid "Visual Alerts"
msgstr "Vizuální upozornění"
#: ../js/ui/windowAttentionHandler.js:47
#: ../js/ui/status/accessibility.js:97
msgid "Sticky Keys"
msgstr "Lepící klávesy"
#: ../js/ui/status/accessibility.js:100
msgid "Slow Keys"
msgstr "Pomalé klávesy"
#: ../js/ui/status/accessibility.js:103
msgid "Bounce Keys"
msgstr "Vícenásobné stisky kláves"
#: ../js/ui/status/accessibility.js:106
msgid "Mouse Keys"
msgstr "Myš klávesnicí"
#: ../js/ui/status/accessibility.js:110
msgid "Universal Access Settings"
msgstr "Nastavení zpřístupnění"
#: ../js/ui/status/accessibility.js:163
msgid "High Contrast"
msgstr "Vysoký kontrast"
#: ../js/ui/status/accessibility.js:202
msgid "Large Text"
msgstr "Styl velkého textu"
#: ../js/ui/status/accessibility.js:223
msgid "Zoom"
msgstr "Zvětšení"
#: ../js/ui/windowAttentionHandler.js:43
#, c-format
msgid "%s has finished starting"
msgstr "Spouštění %s dokončeno"
#: ../js/ui/windowAttentionHandler.js:49
#: ../js/ui/windowAttentionHandler.js:45
#, c-format
msgid "'%s' is ready"
msgstr "Připraveno \"%s\""
#: ../src/shell-global.c:967
#: ../js/ui/workspacesView.js:229
msgid ""
"Can't add a new workspace because maximum workspaces limit has been reached."
msgstr ""
"Novou pracovní plochu nelze přidat, jelikož byl dosažen maximální počet "
"pracovních ploch."
#: ../js/ui/workspacesView.js:246
msgid "Can't remove the first workspace."
msgstr "Nelze odstranit první pracovní plochu."
#. translators:
#. * The number of sound outputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1094
#, c-format
msgid "%u Output"
msgid_plural "%u Outputs"
msgstr[0] "%u výstup"
msgstr[1] "%u výstupy"
msgstr[2] "%u výstupů"
#. translators:
#. * The number of sound inputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1104
#, c-format
msgid "%u Input"
msgid_plural "%u Inputs"
msgstr[0] "%u vstup"
msgstr[1] "%u vstupy"
msgstr[2] "%u vstupů"
#: ../src/gvc/gvc-mixer-control.c:1402
msgid "System Sounds"
msgstr "Systémové zvuky"
#: ../src/shell-global.c:1219
msgid "Less than a minute ago"
msgstr "Před méně než minutou"
#: ../src/shell-global.c:971
#: ../src/shell-global.c:1223
#, c-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
@ -231,7 +707,7 @@ msgstr[0] "Před %d minutou"
msgstr[1] "Před %d minutami"
msgstr[2] "Před %d minutami"
#: ../src/shell-global.c:976
#: ../src/shell-global.c:1228
#, c-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
@ -239,7 +715,7 @@ msgstr[0] "Před %d hodinou"
msgstr[1] "Před %d hodinami"
msgstr[2] "Před %d hodinami"
#: ../src/shell-global.c:981
#: ../src/shell-global.c:1233
#, c-format
msgid "%d day ago"
msgid_plural "%d days ago"
@ -247,7 +723,7 @@ msgstr[0] "Před %d dnem"
msgstr[1] "Před %d dny"
msgstr[2] "Před %d dny"
#: ../src/shell-global.c:986
#: ../src/shell-global.c:1238
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
@ -279,38 +755,5 @@ msgstr "Hledat"
msgid "%1$s: %2$s"
msgstr "%1$s: %2$s"
#~ msgid "Frequent"
#~ msgstr "Časté"
#~ msgid "More"
#~ msgstr "Více"
#~ msgid "(see all)"
#~ msgstr "(zobrazit vše)"
#~ msgid "PLACES"
#~ msgstr "MÍSTA"
#~ msgid "SEARCH RESULTS"
#~ msgstr "VÝSLEDKY HLEDÁNÍ"
#~ msgid "Unknown"
#~ msgstr "Neznámé"
#~ msgid "Can't lock screen: %s"
#~ msgstr "Nelze uzamknout obrazovku: %s"
#~ msgid "Can't temporarily set screensaver to blank screen: %s"
#~ msgstr "Šetřič obrazovky nelze dočasně nastavit na prázdnou obrazovku: %s"
#~ msgid "Can't logout: %s"
#~ msgstr "Nelze se odhlásit: %s"
#~ msgid "Browse"
#~ msgstr "Procházet"
#~ msgid "Manager"
#~ msgstr "Správce"
#~ msgid "The user manager object this user is controlled by."
#~ msgstr "Objekt správce uživatele, kterým je tento uživatel ovládán."
#~ msgid "Account Information..."
#~ msgstr "Informace o účtu..."

502
po/de.po
View File

@ -7,6 +7,7 @@
# Hendrik Brandt <heb@gnome-de.org>, 2009.
# Hendrik Richter <hendrikr@gnome.org>, 2009.
# Mario Blättermann <mariobl@gnome.org>, 2009, 2010.
# Mario Klug <mario@klug.me>, 2010.
# Christian Kirbach <Christian.Kirbach@googlemail.com>, 2009, 2010.
#
msgid ""
@ -14,9 +15,9 @@ msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&component=general\n"
"POT-Creation-Date: 2010-05-17 18:24+0000\n"
"PO-Revision-Date: 2010-05-18 22:06+0100\n"
"Last-Translator: Mario Blättermann <mariobl@gnome.org>\n"
"POT-Creation-Date: 2010-10-10 03:14+0000\n"
"PO-Revision-Date: 2010-10-10 20:23+0200\n"
"Last-Translator: Christian Kirbach <Christian.Kirbach@googlemail.com>\n"
"Language-Team: Deutsch <gnome-de@gnome.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -41,8 +42,359 @@ msgstr "Uhr"
msgid "Customize the panel clock"
msgstr "Die Uhr im Panel anpassen"
#: ../data/org.gnome.shell.gschema.xml.in.h:1
msgid ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog."
msgstr "Erlaubt Zugriff auf interne Fehlerdiagnose- und Überwachungswerkzeuge"
#: ../data/org.gnome.shell.gschema.xml.in.h:2
msgid "Custom format of the clock"
msgstr "Benutzerdefiniertes Uhrenformat"
#: ../data/org.gnome.shell.gschema.xml.in.h:3
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr "Interne Werkzeuge für Entwickler und Tester mit Alt+F2 aktivieren"
#: ../data/org.gnome.shell.gschema.xml.in.h:4
msgid "File extension used for storing the screencast"
msgstr "Die Dateiendung zum Speichern des Screencast"
#: ../data/org.gnome.shell.gschema.xml.in.h:5
msgid "Framerate used for recording screencasts."
msgstr "Bildwiederholungsrate zur Aufnahme von Screencasts"
#: ../data/org.gnome.shell.gschema.xml.in.h:6
msgid ""
"GNOME Shell extensions have a uuid property; this key lists extensions which "
"should not be loaded."
msgstr ""
"Die Erweiterungen der GNOME-Shell besitzen eine UUID. Dieser Schlüssel "
"listet Erweiterungen auf, welche nicht geladen werden sollen."
#: ../data/org.gnome.shell.gschema.xml.in.h:7
msgid "History for command (Alt-F2) dialog"
msgstr "Verlauf des Befehlsdialogs (Alt+F2)"
#: ../data/org.gnome.shell.gschema.xml.in.h:8
msgid "Hour format"
msgstr "Stundenformat"
#: ../data/org.gnome.shell.gschema.xml.in.h:9
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display date in the "
"clock, in addition to time."
msgstr ""
"Wenn dieser Wert und das Format entweder auf »12 Stunden« oder »24 Stunden« "
"gesetzt ist, wird das Datum zusätzlich zur Uhrzeit angezeigt."
#: ../data/org.gnome.shell.gschema.xml.in.h:10
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display seconds in "
"time."
msgstr ""
"Wenn dieser Wert und das Format entweder auf »12 Stunden« oder »24 Stunden« "
"gesetzt ist, wird die Zeit in Sekunden angezeigt."
#: ../data/org.gnome.shell.gschema.xml.in.h:11
msgid "If true, display the ISO week date in the calendar."
msgstr ""
"Wenn dieser Wert gesetzt ist, wird der ISO-Wochentag im Kalender angezeigt."
#: ../data/org.gnome.shell.gschema.xml.in.h:12
msgid "List of desktop file IDs for favorite applications"
msgstr "Liste der Kennungen der Desktop-Dateien für bevorzugte Anwendungen"
#: ../data/org.gnome.shell.gschema.xml.in.h:13
msgid "Overview workspace view mode"
msgstr "Modus des Arbeitsflächen-Überblicks"
# Hier blicke ich überhaupt nicht durch.
#: ../data/org.gnome.shell.gschema.xml.in.h:14
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 ! theoraenc ! oggmux' and records to Ogg Theora."
msgstr ""
"Gibt die GStreamer-Weiterleitung zur Enkodierung von Aufzeichnungen an. Hier "
"wird die Syntax von gst-launch verwendet. Die Weiterleitung sollte über eine "
"nicht verbundene Ziel-Auffüllung verfügen, wo das aufgenommene Video "
"aufgezeichnet wird. Normalerweise wird es eine nicht verbundene Quell-"
"Auffüllung haben; die Ausgabe dieser Auffüllung wird in die Ausgabedatei "
"geschrieben. Die Weiterleitung kann auch mit ihrer eigenen Ausgabe umgehen. "
"Das kann zum Senden der Ausgabe über shout2send an einen Icecast-Server oder "
"Ähnliches verwendet werden. Falls nicht (oder auf einen leeren Wert) "
"gesetzt, so wird die vorgegebene Weiterleitung verwendet, welche derzeit "
"»videorate ! theoraenc ! oggmux« lautet und die Aufnahme im Ogg-Theora-Format "
"speichert."
#: ../data/org.gnome.shell.gschema.xml.in.h:15
msgid "Show date in clock"
msgstr "Datum in der Uhr anzeigen"
#: ../data/org.gnome.shell.gschema.xml.in.h:16
msgid "Show the week date in the calendar"
msgstr "Wochentag im Kalender anzeigen"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "Show time with seconds"
msgstr "Zeit sekundengenau anzeigen"
#: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid ""
"The applications corresponding to these identifiers will be displayed in the "
"favorites area."
msgstr ""
"Programme, welche auf diese Bezeichner zutreffen, werden im Favoriten-"
"Bereich angezeigt."
#: ../data/org.gnome.shell.gschema.xml.in.h:19
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 ""
"Die aufgenommenen Screencasts erhalten einen eindeutigen Dateinamen mit "
"dieser Dateiendung erhalten, basierend auf dem aktuellen Datum. Dieser "
"Dateiname sollte geändert werden, wenn Sie in einem anderen Containerformat "
"aufnehmen."
#: ../data/org.gnome.shell.gschema.xml.in.h:20
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
msgstr ""
"Die Bildwiederholrate des Screencasts, der durch den Screencast-Aufzeichner "
"der GNOME-Shell aufgezeichnet werden soll, in Einzelbildern pro Sekunde."
# hmm Enkodieren oder Kodieren?
#: ../data/org.gnome.shell.gschema.xml.in.h:21
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "Die GStreamer-Weiterleitung zur Enkodierung des Screencasts"
#: ../data/org.gnome.shell.gschema.xml.in.h:22
msgid ""
"The selected workspace view mode in the overview. Supported values are "
"\"single\" and \"grid\"."
msgstr ""
"Die gewählte Ansicht des Arbeitsflächen-Überblicks. Mögliche Werte sind "
"»single« (einfach) und »grid« (Raster)."
#: ../data/org.gnome.shell.gschema.xml.in.h:23
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 ""
"Die Shell überwacht normalerweise aktive Anwendungen, wobei die "
"meistgenutzten zuerst erfasst werden (z.B. in Anwendungsstartern). Zwar "
"werden diese Daten privat gespeichert, doch möglicherweise wollen Sie dies "
"deaktivieren, um Ihre Privatsphäre zu schützen. Bitte beachten Sie, dass "
"bereits gespeicherte Daten hiervon nicht beeinflusst werden."
#: ../data/org.gnome.shell.gschema.xml.in.h:24
msgid ""
"This key specifies the format used by the panel clock when the format key is "
"set to \"custom\". You can use conversion specifiers understood by strftime"
"() to obtain a specific format. See the strftime() manual for more "
"information."
msgstr ""
"Dieser Schlüssel legt das Format fest, das von der Panel-Uhr verwendet wird, "
"wenn der Format-Schlüssel auf »custom« (benutzerdefiniert) gesetzt ist. Sie "
"können Umwandlungsbezeichner aus strftime() verwenden, um ein bestimmtes "
"Format zu erhalten. Weitere Informationen finden Sie in der Handbuchseite zu "
"strftime()."
#: ../data/org.gnome.shell.gschema.xml.in.h:25
msgid ""
"This key specifies the hour format used by the panel clock. Possible values "
"are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", "
"the clock will display time in seconds since Epoch, i.e. 1970-01-01. If set "
"to \"custom\", the clock will display time according to the format specified "
"in the custom_format key. Note that if set to either \"unix\" or \"custom\", "
"the show_date and show_seconds keys are ignored."
msgstr ""
"Dieser Schlüssel legt das Stundenformat für die Anzeige der Panel-Uhr fest. "
"Mögliche Werte sind »12-hour«, »24-hour«, »unix« und »custom«. Wenn Sie »unix« "
"verwenden, zeigt die Uhr die Sekunden seit Epoch, dem Beginn der Unix-"
"Zeitrechnung am 1. Januar 1970 an. Wenn Sie »custom« (benutzerdefiniert) "
"verwenden, zeigt die Uhr die Zeit gemäß dem im Schlüssel »custom_format« "
"angegebenen Format an. Beachten Sie, dass bei »unix« oder »custom« die "
"Schlüssel »show_date« und »show_seconds« ignoriert werden."
#: ../data/org.gnome.shell.gschema.xml.in.h:26
msgid "Uuids of extensions to disable"
msgstr "UUIDs der zu deaktivierenden Erweiterungen"
#: ../data/org.gnome.shell.gschema.xml.in.h:27
msgid "Whether to collect stats about applications usage"
msgstr "Legt fest, ob der Status der Anwendungsnutzung erfasst werden soll"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:1
msgid "Clip the crosshairs at the center"
msgstr "Fadenkreuz in der Mitte anheften"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:2
msgid "Color of the crosshairs"
msgstr "Farbe des Fadenkreuzes"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:3
msgid ""
"Determines the length of the vertical and horizontal lines that make up the "
"crosshairs."
msgstr ""
"Legt die Länge der senkrechten und waagerechten Linien fest, die das "
"Fadenkreuz bilden."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:4
msgid ""
"Determines the position of the magnified mouse image within the magnified "
"view and how it reacts to system mouse movement. The values are - none: no "
"mouse tracking; - centered: the mouse image is displayed at the center of "
"the zoom region (which also represents the point under the system mouse) and "
"the magnified contents are scrolled as the system mouse moves; - "
"proportional: the position of the magnified mouse in the zoom region is "
"proportionally the same as the position of the system mouse on screen; - "
"push: when the magnified mouse intersects a boundary of the zoom region, the "
"contents are scrolled into view."
msgstr ""
"Legt die Position des vergrößerten Bildes der Maus innerhalb der "
"vergrößerten Ansicht fest, und wie die Maus auf die Mausbewegungen des "
"Systems reagiert. Folgende Werte sind möglich: »none« - keine Mausverfolgung; "
"»centered« - das Mausbild wird in der Mitte des vergrößerten Bereiches "
"dargestellt (welche auch den Zeiger der Systemmaus darstellt), wobei der "
"vergrößerte Inhalt gerollt wird, sobald die Systemmaus bewegt wird; "
"»proportional« - die Position der vergrößerten Maus im vergrößerten Bereich "
"ist proportional zur Position der Systemmaus auf dem Bildschirm; »push« - "
"wenn die vergrößerte Maus einen der Ränder des vergrößerten Bereichs "
"berührt, wird der entsprechende Inhalt in die Ansicht geschoben."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:5
msgid ""
"Determines the transparency of the crosshairs, from fully opaque to fully "
"transparent."
msgstr ""
"Legt die Transparenz des Fadenkreuzes fest, von vollständig deckend bis "
"vollständig transparent."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:6
msgid ""
"Determines whether the crosshairs intersect the magnified mouse sprite, or "
"are clipped such that the ends of the horizontal and vertical lines surround "
"the mouse image."
msgstr ""
"Legt fest, ob das Fadenkreuz das Bild der vergrößerten Maus überlagern darf "
"oder die waagerechten und senkrechten Linien vor dem Mausbild abgeschnitten "
"werden."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:7
msgid "Enable lens mode"
msgstr "Vergrößerungsmodus aktivieren"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:8
msgid ""
"Enables/disables display of crosshairs centered on the magnified mouse "
"sprite."
msgstr ""
"Aktiviert oder deaktiviert die Anzeige des Fadenkreuzes zentriert im "
"vergrößerten Mausbild."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:9
msgid ""
"For centered mouse tracking, when the system pointer is at or near the edge "
"of the screen, the magnified contents continue to scroll such that the "
"screen edge moves into the magnified view."
msgstr ""
"Bei zentrierter Mausverfolgung werden die vergrößerten Bildschirminhalte "
"weiterhin in die vergrößerte Ansicht hineingerollt, sobald sich der "
"Systemzeiger einem der Ränder der Arbeitsfläche nähert, so dass der "
"Bildschirmrand in der vergrößerten Ansicht zu sehen ist."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:10
msgid "Length of the crosshairs"
msgstr "Länge der Fadenkreuzlinien"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:11
msgid "Magnification factor"
msgstr "Vergrößerungsfaktor"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:12
msgid "Mouse Tracking Mode"
msgstr "Mausverfolgungsmodus"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:13
msgid "Opacity of the crosshairs"
msgstr "Deckkraft des Fadenkreuzes"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:14
msgid "Screen position"
msgstr "Bildschirmposition"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:15
msgid "Scroll magnified contents beyond the edges of the desktop"
msgstr "Vergrößerte Inhalte über die Ränder der Arbeitsfläche hinaus rollen"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:16
msgid "Show or hide crosshairs"
msgstr "Fadenkreuz anzeigen oder verbergen"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:17
msgid "Show or hide the magnifier"
msgstr "Bildschirmlupe anzeigen oder verbergen"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:18
msgid "Show or hide the magnifier and all of its zoom regions."
msgstr ""
"Die Bildschirmlupe und deren vergrößerte Bereiche anzeigen oder verbergen."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:19
msgid ""
"The color of the the vertical and horizontal lines that make up the "
"crosshairs."
msgstr ""
"Die Farbe der senkrechten und waagerechten Linien, die das Fadenkreuz bilden."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:20
msgid ""
"The magnified view either fills the entire screen, or occupies the top-half, "
"bottom-half, left-half, or right-half of the screen."
msgstr ""
"Die vergrößerte Ansicht füllt entweder den ganzen Bildschirm, die obere "
"Hälfte, die untere Hälfte, die linke Hälfte oder die rechte Hälfte des "
"Bildschirms."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:21
msgid ""
"The power of the magnification. A value of 1.0 means no magnification. A "
"value of 2.0 doubles the size."
msgstr ""
"Der Faktor der Vergrößerung. Ein Wert von 1.0 bedeutet hierbei keine "
"Vergrößerung, während ein Wert von 2.0 die Ansichtsgröße verdoppelt."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:22
msgid "Thickness of the crosshairs"
msgstr "Dicke der Fadenkreuzlinien"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:23
msgid ""
"Whether the magnified view should be centered over the location of the "
"system mouse and move with it."
msgstr ""
"Legt fest, ob die vergrößerte Ansicht über der Position der Systemmaus "
"zentriert werden soll und mit dieser mitbewegt werden soll."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:24
msgid "Width of the vertical and horizontal lines that make up the crosshairs."
msgstr ""
"Dicke der senkrechten und waagerechten Linien, die das Fadenkreuz bilden."
#: ../data/clock-preferences.ui.h:1
#| msgid "<b>Clock Format</b>"
msgid "Clock Format"
msgstr "Uhr-Format"
@ -51,7 +403,6 @@ msgid "Clock Preferences"
msgstr "Uhr-Einstellungen"
#: ../data/clock-preferences.ui.h:3
#| msgid "<b>Panel Display</b>"
msgid "Panel Display"
msgstr "Panel-Anzeige"
@ -72,31 +423,31 @@ msgid "_24 hour format"
msgstr "_24-Stunden-Format"
#. **** Applications ****
#: ../js/ui/appDisplay.js:306 ../js/ui/dash.js:850
#: ../js/ui/appDisplay.js:316 ../js/ui/dash.js:778
msgid "APPLICATIONS"
msgstr "ANWENDUNGEN"
#: ../js/ui/appDisplay.js:338
#: ../js/ui/appDisplay.js:348
msgid "PREFERENCES"
msgstr "EINSTELLUNGEN"
#: ../js/ui/appDisplay.js:705
#: ../js/ui/appDisplay.js:648
msgid "New Window"
msgstr "Neues Fenster"
#: ../js/ui/appDisplay.js:709
#: ../js/ui/appDisplay.js:652
msgid "Remove from Favorites"
msgstr "Aus Favoriten entfernen"
#: ../js/ui/appDisplay.js:710
#: ../js/ui/appDisplay.js:653
msgid "Add to Favorites"
msgstr "Zu Favoriten hinzufügen"
#: ../js/ui/appDisplay.js:1037
#: ../js/ui/appDisplay.js:830
msgid "Drag here to add favorites"
msgstr "Hier ablegen, um zu Favoriten hinzuzufügen"
#: ../js/ui/appFavorites.js:89
#: ../js/ui/appFavorites.js:88
#, c-format
msgid "%s has been added to your favorites."
msgstr "%s wurde zu Ihren Favoriten hinzugefügt"
@ -106,217 +457,232 @@ msgstr "%s wurde zu Ihren Favoriten hinzugefügt"
msgid "%s has been removed from your favorites."
msgstr "%s wurde aus Ihren Favoriten entfernt"
#: ../js/ui/dash.js:189
#: ../js/ui/dash.js:142
msgid "Find"
msgstr "Suchen"
#: ../js/ui/dash.js:505
#: ../js/ui/dash.js:473
msgid "Searching..."
msgstr "Suche läuft …"
#: ../js/ui/dash.js:519
#: ../js/ui/dash.js:487
msgid "No matching results."
msgstr "Keine passenden Ergebnisse."
#. **** Places ****
#. Translators: This is in the sense of locations for documents,
#. network locations, etc.
#: ../js/ui/dash.js:869 ../js/ui/placeDisplay.js:543
#: ../js/ui/dash.js:797 ../js/ui/placeDisplay.js:554
msgid "PLACES & DEVICES"
msgstr "ORTE UND GERÄTE"
#. **** Documents ****
#: ../js/ui/dash.js:876 ../js/ui/docDisplay.js:489
#: ../js/ui/dash.js:804 ../js/ui/docDisplay.js:494
msgid "RECENT ITEMS"
msgstr "ZULETZT GEÖFFNETE DOKUMENTE"
#: ../js/ui/lookingGlass.js:466
#: ../js/ui/lookingGlass.js:552
msgid "No extensions installed"
msgstr "Keine Erweiterungen installiert"
#: ../js/ui/lookingGlass.js:503
#: ../js/ui/lookingGlass.js:589
msgid "Enabled"
msgstr "Aktiviert"
#: ../js/ui/lookingGlass.js:505
#: ../js/ui/lookingGlass.js:591
msgid "Disabled"
msgstr "Deaktiviert"
#: ../js/ui/lookingGlass.js:507
#: ../js/ui/lookingGlass.js:593
msgid "Error"
msgstr "Fehler"
#: ../js/ui/lookingGlass.js:509
#: ../js/ui/lookingGlass.js:595
msgid "Out of date"
msgstr "Veraltet"
#: ../js/ui/lookingGlass.js:534
#: ../js/ui/lookingGlass.js:620
msgid "View Source"
msgstr "Quelle zeigen"
#: ../js/ui/lookingGlass.js:540
#: ../js/ui/lookingGlass.js:626
msgid "Web Page"
msgstr "Webseite"
#: ../js/ui/overview.js:161
#: ../js/ui/overview.js:160
msgid "Undo"
msgstr "Rückgängig"
#: ../js/ui/panel.js:535
msgid "Quit"
msgstr "Beenden"
#. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:468
#, c-format
msgid "Quit %s"
msgstr "%s beenden"
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:740
msgid "Activities"
msgstr "Aktivitäten"
#: ../js/ui/panel.js:493
msgid "Preferences"
msgstr "Einstellungen"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/panel.js:955
#: ../js/ui/panel.js:579
msgid "%a %b %e, %R:%S"
msgstr "%a, %e. %b, %R:%S"
#: ../js/ui/panel.js:956
#: ../js/ui/panel.js:580
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/panel.js:960
#: ../js/ui/panel.js:584
msgid "%a %R:%S"
msgstr "%a %R:%S"
#: ../js/ui/panel.js:961
#: ../js/ui/panel.js:585
msgid "%a %R"
msgstr "%a %R"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/panel.js:968
#: ../js/ui/panel.js:592
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a, %e. %b, %H:%M:%S"
#: ../js/ui/panel.js:969
#: ../js/ui/panel.js:593
msgid "%a %b %e, %l:%M %p"
msgstr "%a, %e. %b, %H:%M"
#. Translators: This is a time format without date used
#. for AM/PM.
#: ../js/ui/panel.js:973
#: ../js/ui/panel.js:597
msgid "%a %l:%M:%S %p"
msgstr "%a %H:%M:%S"
#: ../js/ui/panel.js:974
#: ../js/ui/panel.js:598
msgid "%a %l:%M %p"
msgstr "%a %H:%M"
#: ../js/ui/placeDisplay.js:108
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:743
msgid "Activities"
msgstr "Aktivitäten"
#: ../js/ui/placeDisplay.js:111
#, c-format
msgid "Failed to unmount '%s'"
msgstr "»%s« konnte nicht ausgehängt werden"
#: ../js/ui/placeDisplay.js:111
#: ../js/ui/placeDisplay.js:114
msgid "Retry"
msgstr "Erneut versuchen"
#: ../js/ui/placeDisplay.js:156
#: ../js/ui/placeDisplay.js:159
msgid "Connect to..."
msgstr "Verbinden mit …"
#: ../js/ui/runDialog.js:231
#. Translators: this MUST be either "toggle-switch-us"
#. (for toggle switches containing the English words
#. "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:33
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
#: ../js/ui/runDialog.js:233
msgid "Please enter a command:"
msgstr "Bitte geben Sie einen Befehl ein:"
#: ../js/ui/runDialog.js:375
#: ../js/ui/runDialog.js:378
#, c-format
msgid "Execution of '%s' failed:"
msgstr "Ausführung von »%s« ist gescheitert:"
#: ../js/ui/statusMenu.js:90
#: ../js/ui/statusMenu.js:91
msgid "Available"
msgstr "Verfügbar"
#: ../js/ui/statusMenu.js:94
#: ../js/ui/statusMenu.js:95
msgid "Busy"
msgstr "Beschäftigt"
#: ../js/ui/statusMenu.js:98
#: ../js/ui/statusMenu.js:99
msgid "Invisible"
msgstr "Unsichtbar"
#: ../js/ui/statusMenu.js:105
#: ../js/ui/statusMenu.js:106
msgid "Account Information..."
msgstr "Benutzerinformationen …"
#: ../js/ui/statusMenu.js:109
msgid "System Preferences..."
#: ../js/ui/statusMenu.js:110
msgid "System Settings..."
msgstr "Systemeinstellungen …"
#: ../js/ui/statusMenu.js:116
#: ../js/ui/statusMenu.js:117
msgid "Lock Screen"
msgstr "Bildschirm sperren"
#: ../js/ui/statusMenu.js:120
#: ../js/ui/statusMenu.js:121
msgid "Switch User"
msgstr "Benutzer wechseln"
#: ../js/ui/statusMenu.js:125
#: ../js/ui/statusMenu.js:126
msgid "Log Out..."
msgstr "Abmelden …"
#: ../js/ui/statusMenu.js:129
#: ../js/ui/statusMenu.js:130
msgid "Shut Down..."
msgstr "Ausschalten …"
#: ../js/ui/windowAttentionHandler.js:47
#: ../js/ui/windowAttentionHandler.js:43
#, c-format
msgid "%s has finished starting"
msgstr "Start von %s ist abgeschlossen"
#: ../js/ui/windowAttentionHandler.js:49
#: ../js/ui/windowAttentionHandler.js:45
#, c-format
msgid "'%s' is ready"
msgstr "»%s« ist bereit"
#: ../js/ui/workspacesView.js:239
#: ../js/ui/workspacesView.js:230
msgid ""
"Can't add a new workspace because maximum workspaces limit has been reached."
msgstr ""
"Es kann keine weitere Arbeitsfläche hinzugefügt werden, weil das Maximum an "
"Arbeitsflächen erreicht worden ist."
#: ../js/ui/workspacesView.js:256
#: ../js/ui/workspacesView.js:247
msgid "Can't remove the first workspace."
msgstr "Die erste Arbeitsfläche kann nicht entfernt werden."
#: ../src/shell-global.c:976
#: ../src/shell-global.c:1196
msgid "Less than a minute ago"
msgstr "Vor weniger als einer Minute"
#: ../src/shell-global.c:980
#: ../src/shell-global.c:1200
#, c-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "Vor %d Minute"
msgstr[1] "Vor %d Minuten"
#: ../src/shell-global.c:985
#: ../src/shell-global.c:1205
#, c-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
msgstr[0] "Vor %d Stunde"
msgstr[1] "Vor %d Stunden"
#: ../src/shell-global.c:990
#: ../src/shell-global.c:1210
#, c-format
msgid "%d day ago"
msgid_plural "%d days ago"
msgstr[0] "Vor %d Tag"
msgstr[1] "Vor %d Tagen"
#: ../src/shell-global.c:995
#: ../src/shell-global.c:1215
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
@ -347,6 +713,12 @@ msgstr "Suchen"
msgid "%1$s: %2$s"
msgstr "%1$s: %2$s"
#~ msgid "ON"
#~ msgstr "EIN"
#~ msgid "OFF"
#~ msgstr "AUS"
#~ msgid "Sidebar"
#~ msgstr "Seitenleiste"

452
po/el.po
View File

@ -4,14 +4,15 @@
# This file is distributed under the same license as the gnome-shell package.
#
# Jennie Petoumenou <epetoumenou@gmail.com>, 2009.
# Fotis Tsamis <ftsamis@gmail.com>, 2010.
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell.po.master\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-03-28 10:46+0300\n"
"PO-Revision-Date: 2010-03-28 10:53+0200\n"
"Last-Translator: Kostas Papadimas <pkst@gnome.org>\n"
"Language-Team: Greek <<team AT BLOCKSPAM gnome DOT gr>>\n"
"POT-Creation-Date: 2010-08-31 23:35+0300\n"
"PO-Revision-Date: 2010-08-31 23:29+0200\n"
"Last-Translator: Michael Kotsarinis <mk73628@gmail.com>\n"
"Language-Team: Greek <team@gnome.gr>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@ -26,33 +27,267 @@ msgstr "Κέλυφος GNOME"
msgid "Window management and application launching"
msgstr "Διαχείριση παραθύρων και εκκίνηση εφαρμογών"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:1
msgid "Clock"
msgstr "Ρολόι"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:2
msgid "Customize the panel clock"
msgstr "Προσαρμογή του ρολογιού του πίνακα εφαρμογών"
#: ../data/org.gnome.shell.gschema.xml.in.h:1
msgid ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog."
msgstr ""
"Επιτρέπει την πρόσβαση σε εσωτερικά εργαλεία αποσφαλμάτωσης και "
"παρακολούθησης με τη χρήση του διαλόγου Alt-F2."
#: ../data/org.gnome.shell.gschema.xml.in.h:2
msgid "Custom format of the clock"
msgstr "Προσαρμοσμένη μορφή του ρολογιού"
#: ../data/org.gnome.shell.gschema.xml.in.h:3
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr ""
"Ενεργοποίηση εσωτερικών εργαλείων χρήσιμων για τους προγραμματιστές και τους "
"δοκιμαστές με το Alt-F2"
#: ../data/org.gnome.shell.gschema.xml.in.h:4
msgid "File extension used for storing the screencast"
msgstr ""
"Επέκταση αρχείου που θα χρησιμοποιηθεί για την αποθήκευση του στιγμιότπου "
"οθόνης"
#: ../data/org.gnome.shell.gschema.xml.in.h:5
msgid "Framerate used for recording screencasts."
msgstr ""
"Ο ρυθμός καρέ που θα χρησιμποιηθεί για την καταγραφή των στιγμιοτύπων οθόνης."
#: ../data/org.gnome.shell.gschema.xml.in.h:6
msgid ""
"GNOME Shell extensions have a uuid property; this key lists extensions which "
"should not be loaded."
msgstr ""
"Οι επεκτάσεις του κελύφους του GNOME έχουν μια ιδιότητα uuid. Αυτό το κλειδί "
"απαριθμεί ποιες επεκτάσεις δεν θα πρέπει να φορτωθούν."
#: ../data/org.gnome.shell.gschema.xml.in.h:7
msgid "History for command (Alt-F2) dialog"
msgstr "Ιστορικό του διαλόγου εντολών (Alt-F2)"
#: ../data/org.gnome.shell.gschema.xml.in.h:8
msgid "Hour format"
msgstr "Μορφή ώρας"
#: ../data/org.gnome.shell.gschema.xml.in.h:9
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display date in the "
"clock, in addition to time."
msgstr ""
"Αν αληθές και η μορφοποίηση είναι «12-ωρο» ή «24-ωρο», εμφανίζει τη ημερομηνία "
"στο ρολόι επιπλέον της ώρας."
#: ../data/org.gnome.shell.gschema.xml.in.h:10
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display seconds in "
"time."
msgstr ""
"Αν αληθές και η μορφοποίηση είναι «12-ωρο» ή «24-ωρο», εμφανίζει δευτερόλεπτα "
"στην ώρα."
#: ../data/org.gnome.shell.gschema.xml.in.h:11
msgid "If true, display the ISO week date in the calendar."
msgstr ""
"Αν αληθές, εμφανίζει τον αριθμό εβδομάδας σύμφωνα με το ISO στο ημερολόγιο."
#: ../data/org.gnome.shell.gschema.xml.in.h:12
msgid "List of desktop file IDs for favorite applications"
msgstr "Λίστα ID αρχείων επιφάνειας εργασίας για προτιμώμενες εφαρμογές"
#: ../data/org.gnome.shell.gschema.xml.in.h:13
msgid "Overview workspace view mode"
msgstr "Κατάσταση προβολής επισκόπησης του χώρου εργασίας"
#: ../data/org.gnome.shell.gschema.xml.in.h:14
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 ! theoraenc ! oggmux' and records to Ogg Theora."
msgstr ""
"Ορίζει το δίαυλο του GStreamer που θα χρησιμοποιηθεί για την κωδικοποίηση "
"των εγγραφών. Ακολουθεί το συντακτικό που χρησιμοποιείται για το gst-launch. "
"Ο δίαυλος θα πρέπει να έχει έναν μη συνδεδεμένο απαγωγέα όπου θα εγγράφεται "
"το καταγραφέν βίντεο. Φυσιολογικά θα έχει μια μη συνδεδεμένη πηγή. Η έξοδος "
"της πηγής θα εγγράφεται στο αρχείο εξόδου. Όμως, ο δίαυλος μπορεί να "
"επιληφθεί της δικής του εξόδου - αυτό μπορεί να χρησιμποιηθεί για την "
"αποστολή της εξόσου σε έναν διακομιστή icecast μέσω του shout2send ή κάποιου "
"παρόμοιου. Όταν δεν έχει ορισθεί ή έχει ορισθεί σε κενή τιμή, θα "
"χρησιμοποιηθεί ο προεπιλεγμένος δίαυλος. Αυτός είναι αυτή τη στιγμή ο "
"'videorate ! theoraenc ! oggmux' και εγγράφει σε Ogg Theora."
#: ../data/org.gnome.shell.gschema.xml.in.h:15
msgid "Show date in clock"
msgstr "Εμφάνιση ημερομηνίας στο ρολόι"
#: ../data/org.gnome.shell.gschema.xml.in.h:16
msgid "Show the week date in the calendar"
msgstr "Εμφάνιση του αριθμού εβδομάδας στο ημερολόγιο"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "Show time with seconds"
msgstr "Εμφάνιση ώρας με δευτερόλεπτα"
#: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid ""
"The applications corresponding to these identifiers will be displayed in the "
"favorites area."
msgstr ""
"Οι εφαρμογές που αντιστοιχούν σε αυτούς τους ταυτοποιητές θα εμφανισθούν "
"στην περιοχή αγαπημένων."
#: ../data/org.gnome.shell.gschema.xml.in.h:19
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 ""
"Το όνομα αρχείου για τα καταγεγραμμένα στιγμιότυπα οθόνης θα είναι μοναδικό, "
"βασισμένο στην τρέχουσα ημερομηνία και θα χρησιμοποιεί αυτή την επέκταση. Θα "
"πρέπει να αλλάζει όταν γίνεται εγγραφή σε διαφορετικό πρότυπο περιέκτη."
#: ../data/org.gnome.shell.gschema.xml.in.h:20
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
msgstr ""
"Ο ρυθμός καρέ του στιγμιοτύπου που παράγεται από τον εγγραφέα στιγμιοτύπων "
"οθόνης του Κελύφους του GNOME σε καρέ ανά δευτερόλεπτο."
#: ../data/org.gnome.shell.gschema.xml.in.h:21
msgid "The gstreamer pipeline used to encode the screencast"
msgstr ""
"Ο δίαυλος του gstreamer που χρησιμοποιήθηκε για την κωδικοποίηση του "
"στιγμιοτύπου"
#: ../data/org.gnome.shell.gschema.xml.in.h:22
msgid ""
"The selected workspace view mode in the overview. Supported values are "
"\"single\" and \"grid\"."
msgstr ""
"Η επιλεγμένη κατάσταση προβολής του χώρου εργασίας. Υποστηριζόμενες τιμές "
"είναι οι \"single\" και \"grid\"."
#: ../data/org.gnome.shell.gschema.xml.in.h:23
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 ""
"Το κέλυφος κανονικά παρακολουθεί τις ενεργές εφαρμογές για να παρουσιάσει "
"τις πιο συχνά χρησιμοποιούμενες (π.χ. στους εκκινητές). Παρόλο που αυτά τα "
"δεδομένα θα παραμείνουν ιδιωτικά, μπορεί να επιθυμείτε να απενεργοποιήσετε "
"αυτή τη λειτουργία για λόγους ιδιωτικότητας. Παρακαλούμε έχετε υπ' όψιν ότι "
"η απενεργοποίηση δεν θα αφιαρέσει τα ήδη αποθηκευμένα δεδομένα."
#: ../data/org.gnome.shell.gschema.xml.in.h:24
msgid ""
"This key specifies the format used by the panel clock when the format key is "
"set to \"custom\". You can use conversion specifiers understood by strftime"
"() to obtain a specific format. See the strftime() manual for more "
"information."
msgstr ""
"Αυτό το κλειδί καθορίζει τη μορφοποίηση που θα χρησιμοποιηθεί από το ρολόι "
"όταν το κλειδί μορφοποίησης έχει ορισθεί σε \"custom\". Μπορεί να "
"χρησιμοποιήσετε καθοριστές μετατροπής που γίνονται αντιληπτοί από την "
"strftime() για να έχετε μια συγκεκριμένη μορφή. Δείτε το εγχειρίδιο της "
"strftime() για περισσότερες πληροφορίες."
#: ../data/org.gnome.shell.gschema.xml.in.h:25
msgid ""
"This key specifies the hour format used by the panel clock. Possible values "
"are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", "
"the clock will display time in seconds since Epoch, i.e. 1970-01-01. If set "
"to \"custom\", the clock will display time according to the format specified "
"in the custom_format key. Note that if set to either \"unix\" or \"custom\", "
"the show_date and show_seconds keys are ignored."
msgstr ""
"Αυτό το κλειδί καθορίζει τη μορφή της ώρας του θα χρησιμοποιεί το ρολόι του "
"πίνακα. Δυνατές τιμές είναι \"12-hour\", \"24-hour\", \"unix\" και \"custom"
"\". Αν ορισθεί σε \"unix\", το ρολόι θα εμφανίζει την ώρα σε δευτερόλεπτα "
"από την ημερομηνία αναφοράς, δηλαδή την 01-01-1970. Αν ορισθεί σε \"custom"
"\", το ρολόι θα εμφανίζει την ώρα σύμφωνα με τη μορφοποίηση που ορίζεται στο "
"κλειδί custom_format. Σημειώστε ότι αν το κλειδί ορισθεί σε \"unix\" ή "
"\"custom\", τα κλειδιά show_date και show_seconds αγνοούνται."
#: ../data/org.gnome.shell.gschema.xml.in.h:26
msgid "Uuids of extensions to disable"
msgstr "Uuid των επεκτάσεων που θα απενεργοποιηθούν"
#: ../data/org.gnome.shell.gschema.xml.in.h:27
msgid "Whether to collect stats about applications usage"
msgstr "Εάν θα συλλέγονται στατιστικά χρήσης των εφαρμογών"
#: ../data/clock-preferences.ui.h:1
msgid "Clock Format"
msgstr "Μορφή ρολογιού"
#: ../data/clock-preferences.ui.h:2
msgid "Clock Preferences"
msgstr "Προτιμήσεις ρολογιού"
#: ../data/clock-preferences.ui.h:3
msgid "Panel Display"
msgstr "Εμφάνιση πίνακα εφαρμογών"
#: ../data/clock-preferences.ui.h:4
msgid "Show seco_nds"
msgstr "Εμφάνιση _δευτερολέπτων"
#: ../data/clock-preferences.ui.h:5
msgid "Show the _date"
msgstr "Εμφάνιση της _ημερομηνίας"
#: ../data/clock-preferences.ui.h:6
msgid "_12 hour format"
msgstr "Μορφή _12 ωρών"
#: ../data/clock-preferences.ui.h:7
msgid "_24 hour format"
msgstr "Μορφή _24 ωρών"
#. **** Applications ****
#: ../js/ui/appDisplay.js:312
#: ../js/ui/dash.js:855
#: ../js/ui/appDisplay.js:384 ../js/ui/dash.js:778
msgid "APPLICATIONS"
msgstr "ΕΦΑΡΜΟΓΕΣ"
#: ../js/ui/appDisplay.js:344
#: ../js/ui/appDisplay.js:416
msgid "PREFERENCES"
msgstr "ΠΡΟΤΙΜΗΣΕΙΣ"
#: ../js/ui/appDisplay.js:756
#: ../js/ui/appDisplay.js:721
msgid "New Window"
msgstr "Νέο παράθυρο"
#: ../js/ui/appDisplay.js:760
#: ../js/ui/appDisplay.js:725
msgid "Remove from Favorites"
msgstr "Αφαίρεση από τα αγαπημένα"
#: ../js/ui/appDisplay.js:761
#: ../js/ui/appDisplay.js:726
msgid "Add to Favorites"
msgstr "Προσθήκη στα αγαπημένα"
#: ../js/ui/appDisplay.js:1113
#: ../js/ui/appDisplay.js:1033
msgid "Drag here to add favorites"
msgstr "Σύρετε εδώ για να προσθέσετε αγαπημένα"
#: ../js/ui/appFavorites.js:89
#: ../js/ui/appFavorites.js:88
#, c-format
msgid "%s has been added to your favorites."
msgstr "%s προστέθηκε στα αγαπημένα σας"
@ -62,191 +297,235 @@ msgstr "%s προστέθηκε στα αγαπημένα σας"
msgid "%s has been removed from your favorites."
msgstr "%s αφαιρέθηκε από τα αγαπημένα σας"
#: ../js/ui/dash.js:194
#: ../js/ui/dash.js:142
msgid "Find"
msgstr "Εύρεση"
#: ../js/ui/dash.js:510
#: ../js/ui/dash.js:473
msgid "Searching..."
msgstr "Αναζήτηση..."
#: ../js/ui/dash.js:524
#: ../js/ui/dash.js:487
msgid "No matching results."
msgstr "Δεν βρέθηκαν ταιριάσματα."
#. **** Places ****
#. Translators: This is in the sense of locations for documents,
#. network locations, etc.
#: ../js/ui/dash.js:874
#: ../js/ui/placeDisplay.js:582
#: ../js/ui/dash.js:797 ../js/ui/placeDisplay.js:554
msgid "PLACES & DEVICES"
msgstr "ΤΟΠΟΘΕΣΙΕΣ $ ΣΥΣΚΕΥΕΣ"
#. **** Documents ****
#: ../js/ui/dash.js:881
#: ../js/ui/docDisplay.js:488
#: ../js/ui/dash.js:804 ../js/ui/docDisplay.js:494
msgid "RECENT ITEMS"
msgstr "ΠΡΟΣΦΑΤΑ ΑΝΤΙΚΕΙΜΕΝΑ"
#: ../js/ui/lookingGlass.js:363
#: ../js/ui/lookingGlass.js:552
msgid "No extensions installed"
msgstr "Δεν υπάρχουν εγκατεστημένες επεκτάσεις"
#: ../js/ui/lookingGlass.js:400
#: ../js/ui/lookingGlass.js:589
msgid "Enabled"
msgstr ""
msgstr "Ενεργοποιημένο"
#: ../js/ui/lookingGlass.js:402
#: ../js/ui/lookingGlass.js:591
msgid "Disabled"
msgstr ""
msgstr "Απενεργοποιημένο"
#: ../js/ui/lookingGlass.js:404
#: ../js/ui/lookingGlass.js:593
msgid "Error"
msgstr "Σφάλμα"
#: ../js/ui/lookingGlass.js:406
#: ../js/ui/lookingGlass.js:595
msgid "Out of date"
msgstr ""
msgstr "Μη ενημερωμένο"
#: ../js/ui/lookingGlass.js:431
#: ../js/ui/lookingGlass.js:620
msgid "View Source"
msgstr "Προβολή πηγής"
#: ../js/ui/lookingGlass.js:437
#: ../js/ui/lookingGlass.js:626
msgid "Web Page"
msgstr "Ιστοσελίδα"
#: ../js/ui/overview.js:182
#: ../js/ui/overview.js:160
msgid "Undo"
msgstr "Αναίρεση"
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:385
msgid "Activities"
msgstr "Δραστηριότητες"
#. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:473
#, c-format
msgid "Quit %s"
msgstr "Έξοδος %s"
#. Translators: This is the time format used in 24-hour mode.
#: ../js/ui/panel.js:616
#: ../js/ui/panel.js:498
msgid "Preferences"
msgstr "Προτιμήσεις"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/panel.js:584
msgid "%a %b %e, %R:%S"
msgstr "%a %e %b, %R:%S"
#: ../js/ui/panel.js:585
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/panel.js:589
msgid "%a %R:%S"
msgstr "%a %R%a %R:%S"
#: ../js/ui/panel.js:590
msgid "%a %R"
msgstr "%a %R"
#. Translators: This is a time format used for AM/PM.
#: ../js/ui/panel.js:619
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/panel.js:597
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a %e %b, %l:%M:%S %p"
#: ../js/ui/panel.js:598
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/panel.js:602
msgid "%a %l:%M:%S %p"
msgstr "%a %l:%M:%S %p"
#: ../js/ui/panel.js:603
msgid "%a %l:%M %p"
msgstr "%a %l:%M %p"
#: ../js/ui/placeDisplay.js:108
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:748
msgid "Activities"
msgstr "Δραστηριότητες"
#: ../js/ui/placeDisplay.js:111
#, c-format
msgid "Failed to unmount '%s'"
msgstr "Αποτυχία αποπροσάρτησης '%s'"
#: ../js/ui/placeDisplay.js:111
#: ../js/ui/placeDisplay.js:114
msgid "Retry"
msgstr "Προσπάθεια ξανά"
#: ../js/ui/placeDisplay.js:156
#: ../js/ui/placeDisplay.js:159
msgid "Connect to..."
msgstr "Σύνδεση σε..."
#: ../js/ui/runDialog.js:232
#. Translators: the "ON" and "OFF" strings are used in the
#. toggle switches in the status area menus, and must be SHORT.
#. If you don't have suitable short words, consider initials,
#. "0"/"1", "⚪"/"⚫", etc.
#: ../js/ui/popupMenu.js:30 ../js/ui/popupMenu.js:40
msgid "ON"
msgstr "ON"
#: ../js/ui/popupMenu.js:31 ../js/ui/popupMenu.js:45
msgid "OFF"
msgstr "OFF"
#: ../js/ui/runDialog.js:233
msgid "Please enter a command:"
msgstr "Παρακαλώ εισάγετε μία εντολή:"
#: ../js/ui/runDialog.js:376
#: ../js/ui/runDialog.js:378
#, c-format
msgid "Execution of '%s' failed:"
msgstr "Η εκτέλεση του '%s' απέτυχε:"
#: ../js/ui/statusMenu.js:107
#: ../js/ui/statusMenu.js:91
msgid "Available"
msgstr "Διαθέσιμος"
#: ../js/ui/statusMenu.js:112
#: ../js/ui/statusMenu.js:95
msgid "Busy"
msgstr "Απασχολημένος"
#: ../js/ui/statusMenu.js:117
#: ../js/ui/statusMenu.js:99
msgid "Invisible"
msgstr "Αόρατος"
#: ../js/ui/statusMenu.js:126
#: ../js/ui/statusMenu.js:106
msgid "Account Information..."
msgstr "Πληροφορίες λογαριασμού..."
#: ../js/ui/statusMenu.js:132
msgid "Sidebar"
msgstr "Πλευρική στήλη"
#: ../js/ui/statusMenu.js:142
#: ../js/ui/statusMenu.js:110
msgid "System Preferences..."
msgstr "Προστιμήσεις συστήματος..."
#: ../js/ui/statusMenu.js:151
#: ../js/ui/statusMenu.js:117
msgid "Lock Screen"
msgstr "Κλείδωμα οθόνης"
#: ../js/ui/statusMenu.js:156
#: ../js/ui/statusMenu.js:121
msgid "Switch User"
msgstr "Αλλαγή χρήστη"
#: ../js/ui/statusMenu.js:162
#: ../js/ui/statusMenu.js:126
msgid "Log Out..."
msgstr "Αποσύνδεση..."
#: ../js/ui/statusMenu.js:167
#: ../js/ui/statusMenu.js:130
msgid "Shut Down..."
msgstr "Τερματισμός..."
#. Translators: This is a time format.
#: ../js/ui/widget.js:163
msgid "%H:%M"
msgstr ""
#: ../js/ui/widget.js:317
msgid "Applications"
msgstr "Εφαρμογές"
#: ../js/ui/widget.js:339
msgid "Recent Documents"
msgstr "Πρόσφατα έγγραφα"
#: ../js/ui/windowAttentionHandler.js:47
#: ../js/ui/windowAttentionHandler.js:43
#, c-format
msgid "%s has finished starting"
msgstr "%s ολοκλήρωσε την εκκίνηση "
#: ../js/ui/windowAttentionHandler.js:49
#: ../js/ui/windowAttentionHandler.js:45
#, c-format
msgid "'%s' is ready"
msgstr ""
msgstr "Το '%s' είναι έτοιμο"
#: ../src/shell-global.c:967
#: ../js/ui/workspacesView.js:230
msgid ""
"Can't add a new workspace because maximum workspaces limit has been reached."
msgstr ""
"Αδυναμία προσθήκης νέου χώρου εργασίας επειδή έχετε φτάσει το μέγιστο αριθμό "
"χώρων εργασίας."
#: ../js/ui/workspacesView.js:247
msgid "Can't remove the first workspace."
msgstr "Δεν είναι δυνατή η αφαίρεση του πρώτου χώρου εργασίας."
#: ../src/shell-global.c:1105
msgid "Less than a minute ago"
msgstr "Λιγότερο από ένα λεπτό πριν"
#: ../src/shell-global.c:971
#: ../src/shell-global.c:1109
#, c-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "%d λεπτό πριν"
msgstr[1] "%d λεπτά πριν"
#: ../src/shell-global.c:976
#: ../src/shell-global.c:1114
#, c-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
msgstr[0] "%d ώρα πριν"
msgstr[1] "%d ώρες πριν"
#: ../src/shell-global.c:981
#: ../src/shell-global.c:1119
#, c-format
msgid "%d day ago"
msgid_plural "%d days ago"
msgstr[0] "%d ημέρα πριν"
msgstr[1] "%d ημέρες πριν"
#: ../src/shell-global.c:986
#: ../src/shell-global.c:1124
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
@ -277,22 +556,37 @@ msgstr "Αναζήτηση"
msgid "%1$s: %2$s"
msgstr "%1$s: %2$s"
#~ msgid "Sidebar"
#~ msgstr "Πλευρική στήλη"
#~ msgid "Applications"
#~ msgstr "Εφαρμογές"
#~ msgid "Recent Documents"
#~ msgstr "Πρόσφατα έγγραφα"
#~ msgid "More"
#~ msgstr "Περισσότερα"
#~ msgid "(see all)"
#~ msgstr "(εμφάνιση όλων)"
#~ msgid "PLACES"
#~ msgstr "ΤΟΠΟΘΕΣΙΕΣ"
#~ msgid "SEARCH RESULTS"
#~ msgstr "ΑΠΟΤΕΛΕΣΜΑΤΑ ΑΝΑΖΗΤΗΣΗΣ"
#~ msgid "Unknown"
#~ msgstr "Άγνωστο"
#~ msgid "Can't lock screen: %s"
#~ msgstr "Αδύνατο το κλείδωμα της οθόνης: %s"
#~ msgid "Can't temporarily set screensaver to blank screen: %s"
#~ msgstr ""
#~ "Δεν είναι δυνατή η προσωρινή ρύθμιση της προστασίας οθόνης σε κενή οθόνη: "
#~ "%s"
#~ msgid "Can't logout: %s"
#~ msgstr "Αδύνατη η αποσύνδεση: %s"

View File

@ -1,16 +1,15 @@
# British English translation for gnome-shell.
# Copyright (C) 2009 gnome-shell's COPYRIGHT HOLDER
# This file is distributed under the same license as the gnome-shell package.
# Philip Withnall <philip@tecnocode.co.uk>, 2009.
# Philip Withnall <philip@tecnocode.co.uk>, 2009, 2010.
# Bruce Cowan <bcowan@fastmail.co.uk>, 2010.
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&component=general\n"
"POT-Creation-Date: 2010-03-20 22:31+0000\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-08-31 09:25+0100\n"
"PO-Revision-Date: 2010-03-20 22:32+0100\n"
"Last-Translator: Bruce Cowan <bcowan@fastmail.co.uk>\n"
"Last-Translator: Philip Withnall <philip@tecnocode.co.uk>\n"
"Language-Team: British English <en@li.org>\n"
"Language: en_GB\n"
"MIME-Version: 1.0\n"
@ -27,32 +26,254 @@ msgstr "GNOME Shell"
msgid "Window management and application launching"
msgstr "Window management and application launching"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:1
msgid "Clock"
msgstr "Clock"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:2
msgid "Customize the panel clock"
msgstr "Customise the panel clock"
#: ../data/org.gnome.shell.gschema.xml.in.h:1
msgid ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog."
msgstr ""
"Allows access to internal debugging and monitoring tools using the Alt+F2 "
"dialogue."
#: ../data/org.gnome.shell.gschema.xml.in.h:2
msgid "Custom format of the clock"
msgstr "Custom format of the clock"
#: ../data/org.gnome.shell.gschema.xml.in.h:3
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr "Enable internal tools useful for developers and testers from Alt+F2"
#: ../data/org.gnome.shell.gschema.xml.in.h:4
msgid "File extension used for storing the screencast"
msgstr "File extension used for storing the screencast"
#: ../data/org.gnome.shell.gschema.xml.in.h:5
msgid "Framerate used for recording screencasts."
msgstr "Framerate used for recording screencasts."
#: ../data/org.gnome.shell.gschema.xml.in.h:6
msgid ""
"GNOME Shell extensions have a uuid property; this key lists extensions which "
"should not be loaded."
msgstr ""
"GNOME Shell extensions have a 'uuid' property; this key lists extensions which "
"should not be loaded."
#: ../data/org.gnome.shell.gschema.xml.in.h:7
msgid "History for command (Alt-F2) dialog"
msgstr "History for command (Alt+F2) dialogue"
#: ../data/org.gnome.shell.gschema.xml.in.h:8
msgid "Hour format"
msgstr "Hour format"
#: ../data/org.gnome.shell.gschema.xml.in.h:9
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display date in the "
"clock, in addition to time."
msgstr ""
"If true and format is either \"12-hour\" or \"24-hour\", display date in the "
"clock, in addition to time."
#: ../data/org.gnome.shell.gschema.xml.in.h:10
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display seconds in "
"time."
msgstr ""
"If true and format is either \"12-hour\" or \"24-hour\", display seconds in "
"time."
#: ../data/org.gnome.shell.gschema.xml.in.h:11
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:12
msgid "List of desktop file IDs for favorite applications"
msgstr "List of desktop file IDs for favourite applications"
#: ../data/org.gnome.shell.gschema.xml.in.h:13
msgid "Overview workspace view mode"
msgstr "Overview workspace view mode"
#: ../data/org.gnome.shell.gschema.xml.in.h:14
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 ! theoraenc ! oggmux' and records to Ogg Theora."
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 "
"'videorate ! theoraenc ! oggmux' and records to Ogg Theora."
#: ../data/org.gnome.shell.gschema.xml.in.h:15
msgid "Show date in clock"
msgstr "Show date in clock"
#: ../data/org.gnome.shell.gschema.xml.in.h:16
msgid "Show the week date in the calendar"
msgstr "Show the week date in the calendar"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "Show time with seconds"
msgstr "Show time with seconds"
#: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid ""
"The applications corresponding to these identifiers will be displayed in the "
"favorites area."
msgstr ""
"The applications corresponding to these identifiers will be displayed in the "
"favourites area."
#: ../data/org.gnome.shell.gschema.xml.in.h:19
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 ""
"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."
#: ../data/org.gnome.shell.gschema.xml.in.h:20
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
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:21
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:22
msgid ""
"The selected workspace view mode in the overview. Supported values are "
"\"single\" and \"grid\"."
msgstr ""
"The selected workspace view mode in the overview. Supported values are "
"\"single\" and \"grid\"."
#: ../data/org.gnome.shell.gschema.xml.in.h:23
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 ""
"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 existing data."
#: ../data/org.gnome.shell.gschema.xml.in.h:24
msgid ""
"This key specifies the format used by the panel clock when the format key is "
"set to \"custom\". You can use conversion specifiers understood by strftime"
"() to obtain a specific format. See the strftime() manual for more "
"information."
msgstr ""
"This key specifies the format used by the panel clock when the format key is "
"set to \"custom\". You can use conversion specifiers understood by strftime"
"() to obtain a specific format. See the strftime() manual for more "
"information."
#: ../data/org.gnome.shell.gschema.xml.in.h:25
msgid ""
"This key specifies the hour format used by the panel clock. Possible values "
"are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", "
"the clock will display time in seconds since Epoch, i.e. 1970-01-01. If set "
"to \"custom\", the clock will display time according to the format specified "
"in the custom_format key. Note that if set to either \"unix\" or \"custom\", "
"the show_date and show_seconds keys are ignored."
msgstr ""
"This key specifies the hour format used by the panel clock. Possible values "
"are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", "
"the clock will display time in seconds since Epoch, i.e. 1970-01-01. If set "
"to \"custom\", the clock will display time according to the format specified "
"in the custom_format key. Note that if set to either \"unix\" or \"custom\", "
"the show_date and show_seconds keys are ignored."
#: ../data/org.gnome.shell.gschema.xml.in.h:26
msgid "Uuids of extensions to disable"
msgstr "UUIDs of extensions to disable"
#: ../data/org.gnome.shell.gschema.xml.in.h:27
msgid "Whether to collect stats about applications usage"
msgstr "Whether to collect statistics about application usage"
#: ../data/clock-preferences.ui.h:1
msgid "Clock Format"
msgstr "Clock Format"
#: ../data/clock-preferences.ui.h:2
msgid "Clock Preferences"
msgstr "Clock Preferences"
#: ../data/clock-preferences.ui.h:3
msgid "Panel Display"
msgstr "Panel Display"
#: ../data/clock-preferences.ui.h:4
msgid "Show seco_nds"
msgstr "Show seco_nds"
#: ../data/clock-preferences.ui.h:5
msgid "Show the _date"
msgstr "Show the _date"
#: ../data/clock-preferences.ui.h:6
msgid "_12 hour format"
msgstr "_12 hour format"
#: ../data/clock-preferences.ui.h:7
msgid "_24 hour format"
msgstr "_24 hour format"
#. **** Applications ****
#: ../js/ui/appDisplay.js:311 ../js/ui/dash.js:852
#: ../js/ui/appDisplay.js:384 ../js/ui/dash.js:778
msgid "APPLICATIONS"
msgstr "APPLICATIONS"
#: ../js/ui/appDisplay.js:343
#: ../js/ui/appDisplay.js:416
msgid "PREFERENCES"
msgstr "PREFERENCES"
#: ../js/ui/appDisplay.js:728
#: ../js/ui/appDisplay.js:721
msgid "New Window"
msgstr "New Window"
#: ../js/ui/appDisplay.js:732
#: ../js/ui/appDisplay.js:725
msgid "Remove from Favorites"
msgstr "Remove from Favourites"
#: ../js/ui/appDisplay.js:733
#: ../js/ui/appDisplay.js:726
msgid "Add to Favorites"
msgstr "Add to Favourites"
#: ../js/ui/appDisplay.js:1085
#: ../js/ui/appDisplay.js:1033
msgid "Drag here to add favorites"
msgstr "Drag here to add favourites"
#: ../js/ui/appFavorites.js:89
#: ../js/ui/appFavorites.js:88
#, c-format
msgid "%s has been added to your favorites."
msgstr "%s has been added to your favourites."
@ -62,179 +283,234 @@ msgstr "%s has been added to your favourites."
msgid "%s has been removed from your favorites."
msgstr "%s has been removed from your favourites."
#: ../js/ui/dash.js:194
#: ../js/ui/dash.js:142
msgid "Find"
msgstr "Find"
#: ../js/ui/dash.js:507
#: ../js/ui/dash.js:473
msgid "Searching..."
msgstr "Searching…"
#: ../js/ui/dash.js:521
#: ../js/ui/dash.js:487
msgid "No matching results."
msgstr "No matching results."
#. **** Places ****
#. Translators: This is in the sense of locations for documents,
#. network locations, etc.
#: ../js/ui/dash.js:871 ../js/ui/placeDisplay.js:579
#: ../js/ui/dash.js:797 ../js/ui/placeDisplay.js:554
msgid "PLACES & DEVICES"
msgstr "PLACES & DEVICES"
#. **** Documents ****
#: ../js/ui/dash.js:878 ../js/ui/docDisplay.js:488
#: ../js/ui/dash.js:804 ../js/ui/docDisplay.js:494
msgid "RECENT ITEMS"
msgstr "RECENT ITEMS"
#: ../js/ui/lookingGlass.js:363
#: ../js/ui/lookingGlass.js:552
msgid "No extensions installed"
msgstr "No extensions installed"
#: ../js/ui/lookingGlass.js:400
#: ../js/ui/lookingGlass.js:589
msgid "Enabled"
msgstr "Enabled"
#: ../js/ui/lookingGlass.js:402
#: ../js/ui/lookingGlass.js:591
msgid "Disabled"
msgstr "Disabled"
#: ../js/ui/lookingGlass.js:404
#: ../js/ui/lookingGlass.js:593
msgid "Error"
msgstr "Error"
#: ../js/ui/lookingGlass.js:406
#: ../js/ui/lookingGlass.js:595
msgid "Out of date"
msgstr "Out of date"
#: ../js/ui/lookingGlass.js:431
#: ../js/ui/lookingGlass.js:620
msgid "View Source"
msgstr "View Source"
#: ../js/ui/lookingGlass.js:437
#: ../js/ui/lookingGlass.js:626
msgid "Web Page"
msgstr "Web Page"
#: ../js/ui/overview.js:182
#: ../js/ui/overview.js:160
msgid "Undo"
msgstr "Undo"
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:385
msgid "Activities"
msgstr "Activities"
#. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:473
#, c-format
msgid "Quit %s"
msgstr "Quit %s"
#. Translators: This is the time format used in 24-hour mode.
#: ../js/ui/panel.js:616
#: ../js/ui/panel.js:498
msgid "Preferences"
msgstr "Preferences"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/panel.js:584
msgid "%a %b %e, %R:%S"
msgstr "%a %e %b, %R:%S"
#: ../js/ui/panel.js:585
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/panel.js:589
msgid "%a %R:%S"
msgstr "%a %R:%S"
#: ../js/ui/panel.js:590
msgid "%a %R"
msgstr "%a %R"
#. Translators: This is a time format used for AM/PM.
#: ../js/ui/panel.js:619
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/panel.js:597
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a %e %b, %l:%M:%S %p"
#: ../js/ui/panel.js:598
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/panel.js:602
msgid "%a %l:%M:%S %p"
msgstr "%a %l:%M:%S %p"
#: ../js/ui/panel.js:603
msgid "%a %l:%M %p"
msgstr "%a %l:%M %p"
#: ../js/ui/placeDisplay.js:103
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:748
msgid "Activities"
msgstr "Activities"
#: ../js/ui/placeDisplay.js:111
#, c-format
msgid "Failed to unmount '%s'"
msgstr "Failed to unmount '%s'"
#: ../js/ui/placeDisplay.js:106
#: ../js/ui/placeDisplay.js:114
msgid "Retry"
msgstr "Retry"
#: ../js/ui/placeDisplay.js:151
#: ../js/ui/placeDisplay.js:159
msgid "Connect to..."
msgstr "Connect to…"
#: ../js/ui/runDialog.js:232
#. Translators: the "ON" and "OFF" strings are used in the
#. toggle switches in the status area menus, and must be SHORT.
#. If you don't have suitable short words, consider initials,
#. "0"/"1", "⚪"/"⚫", etc.
#: ../js/ui/popupMenu.js:30 ../js/ui/popupMenu.js:40
msgid "ON"
msgstr "ON"
#: ../js/ui/popupMenu.js:31 ../js/ui/popupMenu.js:45
msgid "OFF"
msgstr "OFF"
#: ../js/ui/runDialog.js:233
msgid "Please enter a command:"
msgstr "Please enter a command:"
#: ../js/ui/runDialog.js:374
#: ../js/ui/runDialog.js:378
#, c-format
msgid "Execution of '%s' failed:"
msgstr "Execution of '%s' failed:"
#: ../js/ui/statusMenu.js:107
#: ../js/ui/statusMenu.js:91
msgid "Available"
msgstr "Available"
#: ../js/ui/statusMenu.js:112
#: ../js/ui/statusMenu.js:95
msgid "Busy"
msgstr "Busy"
#: ../js/ui/statusMenu.js:117
#: ../js/ui/statusMenu.js:99
msgid "Invisible"
msgstr "Invisible"
#: ../js/ui/statusMenu.js:126
#: ../js/ui/statusMenu.js:106
msgid "Account Information..."
msgstr "Account Information…"
#: ../js/ui/statusMenu.js:132
msgid "Sidebar"
msgstr "Sidebar"
#: ../js/ui/statusMenu.js:142
#: ../js/ui/statusMenu.js:110
msgid "System Preferences..."
msgstr "System Preferences…"
#: ../js/ui/statusMenu.js:151
#: ../js/ui/statusMenu.js:117
msgid "Lock Screen"
msgstr "Lock Screen"
#: ../js/ui/statusMenu.js:156
#: ../js/ui/statusMenu.js:121
msgid "Switch User"
msgstr "Switch User"
#: ../js/ui/statusMenu.js:162
#: ../js/ui/statusMenu.js:126
msgid "Log Out..."
msgstr "Log Out…"
#: ../js/ui/statusMenu.js:167
#: ../js/ui/statusMenu.js:130
msgid "Shut Down..."
msgstr "Shut Down…"
#. Translators: This is a time format.
#: ../js/ui/widget.js:163
msgid "%H:%M"
msgstr "%H:%M"
#: ../js/ui/windowAttentionHandler.js:43
#, c-format
msgid "%s has finished starting"
msgstr "%s has finished starting"
#: ../js/ui/widget.js:317
msgid "Applications"
msgstr "Applications"
#: ../js/ui/windowAttentionHandler.js:45
#, c-format
msgid "'%s' is ready"
msgstr "'%s' is ready"
#: ../js/ui/widget.js:339
msgid "Recent Documents"
msgstr "Recent Documents"
#: ../js/ui/workspacesView.js:230
msgid ""
"Can't add a new workspace because maximum workspaces limit has been reached."
msgstr ""
"Can't add a new workspace because maximum workspaces limit has been reached."
#: ../src/shell-global.c:967
#: ../js/ui/workspacesView.js:247
msgid "Can't remove the first workspace."
msgstr "Can't remove the first workspace."
#: ../src/shell-global.c:1105
msgid "Less than a minute ago"
msgstr "Less than a minute ago"
#: ../src/shell-global.c:971
#: ../src/shell-global.c:1109
#, c-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "%d minute ago"
msgstr[1] "%d minutes ago"
#: ../src/shell-global.c:976
#: ../src/shell-global.c:1114
#, c-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
msgstr[0] "%d hour ago"
msgstr[1] "%d hours ago"
#: ../src/shell-global.c:981
#: ../src/shell-global.c:1119
#, c-format
msgid "%d day ago"
msgid_plural "%d days ago"
msgstr[0] "%d day ago"
msgstr[1] "%d days ago"
#: ../src/shell-global.c:986
#: ../src/shell-global.c:1124
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
@ -265,6 +541,18 @@ msgstr "Search"
msgid "%1$s: %2$s"
msgstr "%1$s: %2$s"
#~ msgid "Sidebar"
#~ msgstr "Sidebar"
#~ msgid "%H:%M"
#~ msgstr "%H:%M"
#~ msgid "Applications"
#~ msgstr "Applications"
#~ msgid "Recent Documents"
#~ msgstr "Recent Documents"
#~ msgid "Browse"
#~ msgstr "Browse"

433
po/es.po
View File

@ -5,11 +5,11 @@
#
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Project-Id-Version: gnome-shell.master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&component=general\n"
"POT-Creation-Date: 2010-06-18 18:29+0000\n"
"PO-Revision-Date: 2010-06-22 23:07+0200\n"
"POT-Creation-Date: 2010-10-30 17:51+0000\n"
"PO-Revision-Date: 2010-10-31 21:36+0100\n"
"Last-Translator: Jorge González <jorgegonz@svn.gnome.org>\n"
"Language-Team: Español <gnome-es-list@gnome.org>\n"
"MIME-Version: 1.0\n"
@ -42,7 +42,6 @@ msgstr ""
"usando el diálogo Alt+F2"
#: ../data/org.gnome.shell.gschema.xml.in.h:2
#| msgid "Customize the panel clock"
msgid "Custom format of the clock"
msgstr "Formato personalizado del reloj"
@ -65,13 +64,14 @@ msgid ""
"GNOME Shell extensions have a uuid property; this key lists extensions which "
"should not be loaded."
msgstr ""
"Las extensiones de GNOME Shell tienen una propiedad uuid; esta clave lista "
"las extensiones que no se deben cargar."
#: ../data/org.gnome.shell.gschema.xml.in.h:7
msgid "History for command (Alt-F2) dialog"
msgstr ""
msgstr "Histórico del diálogo de comandos (Alt+F2)"
#: ../data/org.gnome.shell.gschema.xml.in.h:8
#| msgid "_12 hour format"
msgid "Hour format"
msgstr "Formato de la hora"
@ -80,24 +80,28 @@ msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display date in the "
"clock, in addition to time."
msgstr ""
"Si es cierta y el formato es «12-horas» o «24-horas», muestra la fecha en el "
"reloj, además de la hora."
#: ../data/org.gnome.shell.gschema.xml.in.h:10
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display seconds in "
"time."
msgstr ""
"Si es cierta y el formato es «12-horas» o «24-horas», muestra los segundos "
"en la hora."
#: ../data/org.gnome.shell.gschema.xml.in.h:11
msgid "If true, display the ISO week date in the calendar."
msgstr ""
msgstr "Si es cierta muestra la fecha de semana ISO en el calendario."
#: ../data/org.gnome.shell.gschema.xml.in.h:12
msgid "List of desktop file IDs for favorite applications"
msgstr ""
msgstr "Lista de ID de archivos de escritorio para las aplicaciones favoritas"
#: ../data/org.gnome.shell.gschema.xml.in.h:13
msgid "Overview workspace view mode"
msgstr ""
msgstr "Modo de visualización de la vista previa del área de trabajo"
#: ../data/org.gnome.shell.gschema.xml.in.h:14
msgid ""
@ -110,6 +114,16 @@ msgid ""
"to an empty value, the default pipeline will be used. This is currently "
"'videorate ! theoraenc ! oggmux' and records to Ogg Theora."
msgstr ""
"Establece la tubería GStreamer usada para codificar grabaciones. Sigue la "
"sintaxis usada para gst-launch. La tubería debería tener un sumidero "
"(«sink») de ensamblaje/sesensamblaje donde el vídeo que se está grabando se "
"graba. Generalmente tendrá un origen de ensamblado/desensamblado; la salida "
"de ese punto se escibirá en el archivo de salida. No obstante la tubería "
"también puede tomar parte en su propia salida; esto se puede usar para "
"enviar la salida a un servidor «icecast» a través de shout2send o similar. "
"Cuando no está establecido o lo está a un valor vacío, se usará la tubería "
"predeterminada. Actualmente es «videorate ! theoraenc ! oggmux» y greba en "
"Ogg Theora."
#: ../data/org.gnome.shell.gschema.xml.in.h:15
msgid "Show date in clock"
@ -120,7 +134,6 @@ msgid "Show the week date in the calendar"
msgstr "Mostrar la fecha de la semana en el calendario"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
#| msgid "Show seco_nds"
msgid "Show time with seconds"
msgstr "Mostrar la hora con segundos"
@ -129,6 +142,8 @@ msgid ""
"The applications corresponding to these identifiers will be displayed in the "
"favorites area."
msgstr ""
"Las aplicaciones correspondientes con esos identificadores se mostrarán en "
"el área de favoritos."
#: ../data/org.gnome.shell.gschema.xml.in.h:19
msgid ""
@ -136,12 +151,17 @@ msgid ""
"current date, and use this extension. It should be changed when recording to "
"a different container format."
msgstr ""
"El nombre de archivo para los «screencast» será un nombre de archivo único "
"basado en la fecha actual y usará esta extensión. Se debería cambiar al "
"grabar en otro formato contenedor diferente."
#: ../data/org.gnome.shell.gschema.xml.in.h:20
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
msgstr ""
"La tasa de fotogramas de la grabación resultante grabada por el grabador de "
"«screencast» de GNOME Shell, en fotogramas por segundo."
#: ../data/org.gnome.shell.gschema.xml.in.h:21
msgid "The gstreamer pipeline used to encode the screencast"
@ -152,6 +172,8 @@ msgid ""
"The selected workspace view mode in the overview. Supported values are "
"\"single\" and \"grid\"."
msgstr ""
"El modo de vista del área de trabajo seleccionada en la vista general. Los "
"valores soportados son «single» (sencillo) y «grid» (rejilla)."
#: ../data/org.gnome.shell.gschema.xml.in.h:23
msgid ""
@ -160,6 +182,10 @@ msgid ""
"want to disable this for privacy reasons. Please note that doing so won't "
"remove already saved data."
msgstr ""
"La «shell» normalmente monitoriza todas las aplicaciones activas para "
"presentar las más usadas (ej. en los lanzadores). Aunque estos datos se "
"mantienen de forma privada, puede querer desactivarlo por razones de "
"privacidad. Note que haciéndolo no eliminará los datos ya guardados."
#: ../data/org.gnome.shell.gschema.xml.in.h:24
msgid ""
@ -168,6 +194,11 @@ msgid ""
"() to obtain a specific format. See the strftime() manual for more "
"information."
msgstr ""
"Esta clave especifica el formato usado por el reloj del panel cuando la "
"clave del formato se establece a «custom» (personalizado). Puede usar "
"especificadores de conversión que entienda strftime() para obtener un "
"formato específico. Consulte el manual de strftime() para obtener más "
"información."
#: ../data/org.gnome.shell.gschema.xml.in.h:25
msgid ""
@ -178,9 +209,15 @@ msgid ""
"in the custom_format key. Note that if set to either \"unix\" or \"custom\", "
"the show_date and show_seconds keys are ignored."
msgstr ""
"Esta clave especifica el formato de la hora especificado por el reloj del "
"panel. Los valores posibles son «12-hour» (12 horas), «24-hour» (24 horas), "
"«unix» y «custom» (personalizado).Si se establece a «unix» el reloj mostrará "
"la hora en segundos desde la época (1 de enero de 1970). Si se establece a "
"«custom» el reloj mostrará la hora según el formato especificado en la clave "
"«custom_format». Note que si se establece a «unix» o «custom» se ignoran las "
"claves «show_date» y «show_seconds»."
#: ../data/org.gnome.shell.gschema.xml.in.h:26
#| msgid "No extensions installed"
msgid "Uuids of extensions to disable"
msgstr "Uuid de las extensiones que desactivar"
@ -189,6 +226,163 @@ msgid "Whether to collect stats about applications usage"
msgstr ""
"Indica si se deben recolectar estadísticas acerca del uso de las aplicaciones"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:1
msgid "Clip the crosshairs at the center"
msgstr "Fijar los cursores en el centro"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:2
msgid "Color of the crosshairs"
msgstr "Color de las cruces"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:3
msgid ""
"Determines the length of the vertical and horizontal lines that make up the "
"crosshairs."
msgstr ""
"Determina la longitud de las líneas verticales y horizontales que conforman "
"los cursores."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:4
msgid ""
"Determines the position of the magnified mouse image within the magnified "
"view and how it reacts to system mouse movement. The values are - none: no "
"mouse tracking; - centered: the mouse image is displayed at the center of "
"the zoom region (which also represents the point under the system mouse) and "
"the magnified contents are scrolled as the system mouse moves; - "
"proportional: the position of the magnified mouse in the zoom region is "
"proportionally the same as the position of the system mouse on screen; - "
"push: when the magnified mouse intersects a boundary of the zoom region, the "
"contents are scrolled into view."
msgstr ""
"Determina la posición de la imagen magnificada del ratón dentro de la vista "
"magnificada y cómo reacciona al movimiento del ratón del sistema. Los "
"valores son «none» (ninguno): sin seguimiento del ratón; "
"«centered» (centrado): la imagen del ratón se muestra en el centro de la "
"región ampliada (que también representa el punto bajo el ratón del sistema) "
"y el contenido magnificado se desliza según se mueve el ratón del sistema; "
"«proporcional»: la posición del ratón magnificado en la región de ampliación "
"es proporcionalmente la misma que la posición del ratón del sistema en el "
"ratón; «push» (empujar): cuando el ratón magnificado cruza un límite de la "
"región de ampliación, el contenido se desliza en la vista."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:5
msgid ""
"Determines the transparency of the crosshairs, from fully opaque to fully "
"transparent."
msgstr ""
"Determina la transparencia de los cursores, de completamente opacos a "
"completamente transparentes."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:6
msgid ""
"Determines whether the crosshairs intersect the magnified mouse sprite, or "
"are clipped such that the ends of the horizontal and vertical lines surround "
"the mouse image."
msgstr ""
"Determina si las cruces cruzan el «sprite» magnificado del ratón o se fijan "
"de tal forma que los finales de las líneas horizontales y verticales rodean "
"la imagen del ratón."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:7
msgid "Enable lens mode"
msgstr "Activar el modo lente"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:8
msgid ""
"Enables/disables display of crosshairs centered on the magnified mouse "
"sprite."
msgstr ""
"Activa/desactiva el mostrado de los cursores centrados en el «sprite» "
"magnificado del ratón."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:9
msgid ""
"For centered mouse tracking, when the system pointer is at or near the edge "
"of the screen, the magnified contents continue to scroll such that the "
"screen edge moves into the magnified view."
msgstr ""
"Para el seguimiento del centro del ratón, cuando el puntero del sistema está "
"cerca del borde de la pantalla, el contenido magnificado continúa "
"desplazándose de tal forma que el borde de la pantalla se mueve dentro de la "
"vista magnificada."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:10
msgid "Length of the crosshairs"
msgstr "Longitud de las cruces"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:11
msgid "Magnification factor"
msgstr "Factor de magnificación"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:12
msgid "Mouse Tracking Mode"
msgstr "Modo de seguimiento del ratón"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:13
msgid "Opacity of the crosshairs"
msgstr "Opacidad de las cruces"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:14
msgid "Screen position"
msgstr "Posición de la pantalla"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:15
msgid "Scroll magnified contents beyond the edges of the desktop"
msgstr ""
"Desplazar el contenido magnificado más allá de los bordes del escritorio"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:16
msgid "Show or hide crosshairs"
msgstr "Mostrar u ocultar las cruces"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:17
msgid "Show or hide the magnifier"
msgstr "Mostrar u ocultar el magnificador"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:18
msgid "Show or hide the magnifier and all of its zoom regions."
msgstr "Mostrar u ocultar el magnificador y todas sus regiones de ampliación."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:19
msgid ""
"The color of the the vertical and horizontal lines that make up the "
"crosshairs."
msgstr ""
"El color de las líneas verticales y horizontales que conforman las cruces."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:20
msgid ""
"The magnified view either fills the entire screen, or occupies the top-half, "
"bottom-half, left-half, or right-half of the screen."
msgstr ""
"La vista magnificada o llena la pantalla u ocupa la mitad superior, mitad "
"inferior, mitad izquierda o mitad derecha de la pantalla."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:21
msgid ""
"The power of the magnification. A value of 1.0 means no magnification. A "
"value of 2.0 doubles the size."
msgstr ""
"El poder de la magnificación. Un valor de 1.0 significa sin magnificación. "
"Un valor de 2.0 duplica el tamaño."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:22
msgid "Thickness of the crosshairs"
msgstr "Grosor de las cruces"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:23
msgid ""
"Whether the magnified view should be centered over the location of the "
"system mouse and move with it."
msgstr ""
"Indica si la vista magnificada se debe centrar sobre la ubicación del ratón "
"del sistema y moverse con ella."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:24
msgid "Width of the vertical and horizontal lines that make up the crosshairs."
msgstr ""
"Anchura de las líneas verticales y horizontales que conforman las cruces."
#: ../data/clock-preferences.ui.h:1
msgid "Clock Format"
msgstr "Formato del reloj"
@ -218,27 +412,27 @@ msgid "_24 hour format"
msgstr "Formato _24 horas"
#. **** Applications ****
#: ../js/ui/appDisplay.js:388 ../js/ui/dash.js:767
#: ../js/ui/appDisplay.js:316 ../js/ui/dash.js:778
msgid "APPLICATIONS"
msgstr "APLICACIONES"
#: ../js/ui/appDisplay.js:420
#: ../js/ui/appDisplay.js:348
msgid "PREFERENCES"
msgstr "PREFERENCIAS"
#: ../js/ui/appDisplay.js:726
#: ../js/ui/appDisplay.js:647
msgid "New Window"
msgstr "Ventana nueva"
#: ../js/ui/appDisplay.js:730
#: ../js/ui/appDisplay.js:651
msgid "Remove from Favorites"
msgstr "Quitar de los favoritos"
#: ../js/ui/appDisplay.js:731
#: ../js/ui/appDisplay.js:652
msgid "Add to Favorites"
msgstr "Añadir a los favoritos"
#: ../js/ui/appDisplay.js:1038
#: ../js/ui/appDisplay.js:829
msgid "Drag here to add favorites"
msgstr "Arrastrar aquí para añadir a los favoritos"
@ -247,222 +441,314 @@ msgstr "Arrastrar aquí para añadir a los favoritos"
msgid "%s has been added to your favorites."
msgstr "Se ha añadido %s a sus favoritos."
#: ../js/ui/appFavorites.js:106
#: ../js/ui/appFavorites.js:107
#, c-format
msgid "%s has been removed from your favorites."
msgstr "Se ha quitado %s de sus favoritos."
#: ../js/ui/dash.js:146
#: ../js/ui/dash.js:142
msgid "Find"
msgstr "Buscar"
#: ../js/ui/dash.js:465
#: ../js/ui/dash.js:473
msgid "Searching..."
msgstr "Buscando…"
#: ../js/ui/dash.js:479
#: ../js/ui/dash.js:487
msgid "No matching results."
msgstr "No se encontró ningún resultado coincidente."
#. **** Places ****
#. Translators: This is in the sense of locations for documents,
#. network locations, etc.
#: ../js/ui/dash.js:786 ../js/ui/placeDisplay.js:552
#: ../js/ui/dash.js:797 ../js/ui/placeDisplay.js:554
msgid "PLACES & DEVICES"
msgstr "LUGARES Y DISPOSITIVOS"
#. **** Documents ****
#: ../js/ui/dash.js:793 ../js/ui/docDisplay.js:497
#: ../js/ui/dash.js:804 ../js/ui/docDisplay.js:494
msgid "RECENT ITEMS"
msgstr "ELEMENTOS RECIENTES"
#: ../js/ui/lookingGlass.js:471
#: ../js/ui/lookingGlass.js:552
msgid "No extensions installed"
msgstr "No hay extensiones instaladas"
#: ../js/ui/lookingGlass.js:508
#: ../js/ui/lookingGlass.js:589
msgid "Enabled"
msgstr "Activado"
#: ../js/ui/lookingGlass.js:510
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:591 ../src/gvc/gvc-mixer-control.c:1087
msgid "Disabled"
msgstr "Desactivado"
#: ../js/ui/lookingGlass.js:512
#: ../js/ui/lookingGlass.js:593
msgid "Error"
msgstr "Error"
#: ../js/ui/lookingGlass.js:514
#: ../js/ui/lookingGlass.js:595
msgid "Out of date"
msgstr "Caducado"
#: ../js/ui/lookingGlass.js:539
#: ../js/ui/lookingGlass.js:620
msgid "View Source"
msgstr "Ver fuente"
#: ../js/ui/lookingGlass.js:545
#: ../js/ui/lookingGlass.js:626
msgid "Web Page"
msgstr "Página web"
#: ../js/ui/overview.js:165
#: ../js/ui/overview.js:160
msgid "Undo"
msgstr "Deshacer"
#: ../js/ui/panel.js:519
#. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:469
#, c-format
msgid "Quit %s"
msgstr "Salir de %s"
#: ../js/ui/panel.js:494
msgid "Preferences"
msgstr "Preferencias"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/panel.js:605
#: ../js/ui/panel.js:580
msgid "%a %b %e, %R:%S"
msgstr "%a %e de %b, %R:%S"
#: ../js/ui/panel.js:606
#: ../js/ui/panel.js:581
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/panel.js:610
#: ../js/ui/panel.js:585
msgid "%a %R:%S"
msgstr "%a %R:%S"
#: ../js/ui/panel.js:611
#: ../js/ui/panel.js:586
msgid "%a %R"
msgstr "%a %R"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/panel.js:618
#: ../js/ui/panel.js:593
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a %e de %b, %H:%M:%S"
#: ../js/ui/panel.js:619
#: ../js/ui/panel.js:594
msgid "%a %b %e, %l:%M %p"
msgstr "%a %e de %b, %H:%M"
#. Translators: This is a time format without date used
#. for AM/PM.
#: ../js/ui/panel.js:623
#: ../js/ui/panel.js:598
msgid "%a %l:%M:%S %p"
msgstr "%a %H:%M:%S"
#: ../js/ui/panel.js:624
#: ../js/ui/panel.js:599
msgid "%a %l:%M %p"
msgstr "%a %H:%M"
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:726
#: ../js/ui/panel.js:744
msgid "Activities"
msgstr "Actividades"
#: ../js/ui/placeDisplay.js:109
#: ../js/ui/placeDisplay.js:111
#, c-format
msgid "Failed to unmount '%s'"
msgstr "Falló al desmontar «%s»"
#: ../js/ui/placeDisplay.js:112
#: ../js/ui/placeDisplay.js:114
msgid "Retry"
msgstr "Reintentar"
#: ../js/ui/placeDisplay.js:157
#: ../js/ui/placeDisplay.js:159
msgid "Connect to..."
msgstr "Conectar a…"
#: ../js/ui/runDialog.js:234
#. Translators: this MUST be either "toggle-switch-us"
#. (for toggle switches containing the English words
#. "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:33
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
#: ../js/ui/runDialog.js:233
msgid "Please enter a command:"
msgstr "Introduzca un comando:"
#: ../js/ui/runDialog.js:379
#: ../js/ui/runDialog.js:378
#, c-format
msgid "Execution of '%s' failed:"
msgstr "Falló la ejecución de «%s»:"
#: ../js/ui/statusMenu.js:91
#: ../js/ui/statusMenu.js:101
msgid "Available"
msgstr "Disponible"
#: ../js/ui/statusMenu.js:95
#: ../js/ui/statusMenu.js:106
msgid "Busy"
msgstr "Ocupado"
#: ../js/ui/statusMenu.js:99
#: ../js/ui/statusMenu.js:111
msgid "Invisible"
msgstr "Invisible"
#: ../js/ui/statusMenu.js:106
msgid "Account Information..."
msgstr "Información de la cuenta…"
#: ../js/ui/statusMenu.js:119
msgid "My Account..."
msgstr "Mi cuenta…"
#: ../js/ui/statusMenu.js:110
msgid "System Preferences..."
msgstr "Preferencias del sistema…"
#: ../js/ui/statusMenu.js:123
#| msgid "System Preferences..."
msgid "System Settings..."
msgstr "Ajustes del sistema…"
#: ../js/ui/statusMenu.js:117
#: ../js/ui/statusMenu.js:130
msgid "Lock Screen"
msgstr "Bloquear la pantalla"
#: ../js/ui/statusMenu.js:121
#: ../js/ui/statusMenu.js:134
msgid "Switch User"
msgstr "Cambiar de usuario"
#: ../js/ui/statusMenu.js:126
#: ../js/ui/statusMenu.js:139
msgid "Log Out..."
msgstr "Salir…"
#: ../js/ui/statusMenu.js:130
#: ../js/ui/statusMenu.js:146
msgid "Suspend"
msgstr "Suspender"
#: ../js/ui/statusMenu.js:150
msgid "Restart..."
msgstr "Reiniciar…"
#: ../js/ui/statusMenu.js:154
msgid "Shut Down..."
msgstr "Apagar…"
#: ../js/ui/windowAttentionHandler.js:47
#: ../js/ui/status/accessibility.js:88
msgid "Screen Reader"
msgstr "Lector de pantalla"
#: ../js/ui/status/accessibility.js:91
msgid "Screen Keyboard"
msgstr "Teclado en pantalla"
#: ../js/ui/status/accessibility.js:94
msgid "Visual Alerts"
msgstr "Alertas visuales"
#: ../js/ui/status/accessibility.js:97
msgid "Sticky Keys"
msgstr "Teclas persistentes"
#: ../js/ui/status/accessibility.js:100
msgid "Slow Keys"
msgstr "Teclas lentas"
#: ../js/ui/status/accessibility.js:103
msgid "Bounce Keys"
msgstr "Rechazo de teclas"
#: ../js/ui/status/accessibility.js:106
msgid "Mouse Keys"
msgstr "Teclas del ratón"
#: ../js/ui/status/accessibility.js:110
msgid "Universal Access Settings"
msgstr "Preferencias del acceso universal"
#: ../js/ui/status/accessibility.js:163
msgid "High Contrast"
msgstr "Contraste alto"
#: ../js/ui/status/accessibility.js:202
msgid "Large Text"
msgstr "<b>Texto:</b>"
#: ../js/ui/status/accessibility.js:223
msgid "Zoom"
msgstr "Ampliación"
#: ../js/ui/windowAttentionHandler.js:43
#, c-format
msgid "%s has finished starting"
msgstr "%s finalizó su lanzamiento"
#: ../js/ui/windowAttentionHandler.js:49
#: ../js/ui/windowAttentionHandler.js:45
#, c-format
msgid "'%s' is ready"
msgstr "«%s» está preparado"
#: ../js/ui/workspacesView.js:237
#: ../js/ui/workspacesView.js:229
msgid ""
"Can't add a new workspace because maximum workspaces limit has been reached."
msgstr ""
"No se puede añadir un área de trabajo nueva porque se ha llegado al límite "
"de áreas de trabajo."
#: ../js/ui/workspacesView.js:254
#: ../js/ui/workspacesView.js:246
msgid "Can't remove the first workspace."
msgstr "No se puede quitar el primer área de trabajo."
#: ../src/shell-global.c:1039
#. translators:
#. * The number of sound outputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1094
#, c-format
msgid "%u Output"
msgid_plural "%u Outputs"
msgstr[0] "%u salida"
msgstr[1] "%u salidas"
#. translators:
#. * The number of sound inputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1104
#, c-format
msgid "%u Input"
msgid_plural "%u Inputs"
msgstr[0] "%u entrada"
msgstr[1] "%u entradas"
#: ../src/gvc/gvc-mixer-control.c:1402
msgid "System Sounds"
msgstr "Sonidos del sistema"
#: ../src/shell-global.c:1219
msgid "Less than a minute ago"
msgstr "Hace menos de un minuto"
#: ../src/shell-global.c:1043
#: ../src/shell-global.c:1223
#, c-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "Hace %d minuto"
msgstr[1] "Hace %d minutos"
#: ../src/shell-global.c:1048
#: ../src/shell-global.c:1228
#, c-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
msgstr[0] "Hace %d hora"
msgstr[1] "Hace %d horas"
#: ../src/shell-global.c:1053
#: ../src/shell-global.c:1233
#, c-format
msgid "%d day ago"
msgid_plural "%d days ago"
msgstr[0] "Hace %d día"
msgstr[1] "Hace %d días"
#: ../src/shell-global.c:1058
#: ../src/shell-global.c:1238
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
@ -493,9 +779,14 @@ msgstr "Buscar"
msgid "%1$s: %2$s"
msgstr "%1$s: %2$s"
#~| msgid "Quit"
#~ msgid "Quit %s"
#~ msgstr "Salir de %s"
#~ msgid "Account Information..."
#~ msgstr "Información de la cuenta…"
#~ msgid "ON"
#~ msgstr "ENCENDIDO"
#~ msgid "OFF"
#~ msgstr "APAGADO"
#~ msgid "Sidebar"
#~ msgstr "Barra lateral"

520
po/et.po Normal file
View File

@ -0,0 +1,520 @@
# Estonian translation for gnome-shell.
# Copyright (C) 2010 The Gnome Project
# This file is distributed under the same license as the gnome-shell package.
# Mattias Põldaru <mahfiaz gmail com>, 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&component=general\n"
"POT-Creation-Date: 2010-10-16 19:24+0000\n"
"PO-Revision-Date: 2010-10-17 17:16+0300\n"
"Last-Translator: Mattias Põldaru <mahfiaz gmail com>\n"
"Language-Team: Estonian <gnome-et@linux.ee>\n"
"Language: et\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Poedit-Language: Estonian\n"
"X-Poedit-Country: Estonia\n"
msgid "GNOME Shell"
msgstr "GNOME kest"
msgid "Window management and application launching"
msgstr "Aknahaldur ja rakenduste käivitaja"
msgid "Clock"
msgstr "Kell"
msgid "Customize the panel clock"
msgstr "Paneelikella kohandamine"
msgid ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog."
msgstr ""
"Lubab ligipääsu sisemistele silumise ja monitoorimise tööriistadele Alt-F2 "
"dialoogi kaudu."
msgid "Custom format of the clock"
msgstr "Kellaaaja kohandatud vorming"
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr ""
"Arendajate ja testijate jaoks sisemiste tööriistade lubamine Alt-F2 alt"
msgid "File extension used for storing the screencast"
msgstr "Faililaiend, mida kasutatakse ekraanivideo salvestamisel"
msgid "Framerate used for recording screencasts."
msgstr "Ekraanivideo lindistamisel kasutatav kaadrikiirus."
msgid ""
"GNOME Shell extensions have a uuid property; this key lists extensions which "
"should not be loaded."
msgstr ""
msgid "History for command (Alt-F2) dialog"
msgstr "Käsudialoogi (Alt-F2) ajalugu"
msgid "Hour format"
msgstr "Tundide vorming"
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display date in the "
"clock, in addition to time."
msgstr ""
"Kui tõene ja vorming on kas \"12-tundi\" või \"24-tundi\", kuvatakse "
"kellaaja kõrval ka kuupäeva."
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display seconds in "
"time."
msgstr ""
"Kui tõene ja vorming on kas \"12-tundi\" või \"24-tundi\", kuvatakse "
"kellaaega koos sekunditega."
msgid "If true, display the ISO week date in the calendar."
msgstr "Kui tõene, kuvatakse kalendris kuupäeva ISO nädalate järgi."
msgid "List of desktop file IDs for favorite applications"
msgstr "Lemmikrakenduste töölauafailide ID-de loend"
msgid "Overview workspace view mode"
msgstr ""
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 ! theoraenc ! oggmux' and records to Ogg Theora."
msgstr ""
msgid "Show date in clock"
msgstr "Kell näitab kuupäeva"
msgid "Show the week date in the calendar"
msgstr "Kalendris näidatakse nädala kuupäeva"
msgid "Show time with seconds"
msgstr "Kellaaega näidatakse sekunditega"
msgid ""
"The applications corresponding to these identifiers will be displayed in the "
"favorites area."
msgstr ""
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 ""
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
msgstr ""
msgid "The gstreamer pipeline used to encode the screencast"
msgstr ""
msgid ""
"The selected workspace view mode in the overview. Supported values are "
"\"single\" and \"grid\"."
msgstr ""
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 ""
msgid ""
"This key specifies the format used by the panel clock when the format key is "
"set to \"custom\". You can use conversion specifiers understood by strftime"
"() to obtain a specific format. See the strftime() manual for more "
"information."
msgstr ""
msgid ""
"This key specifies the hour format used by the panel clock. Possible values "
"are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", "
"the clock will display time in seconds since Epoch, i.e. 1970-01-01. If set "
"to \"custom\", the clock will display time according to the format specified "
"in the custom_format key. Note that if set to either \"unix\" or \"custom\", "
"the show_date and show_seconds keys are ignored."
msgstr ""
msgid "Uuids of extensions to disable"
msgstr "Keelatavate laienduste UUID-d"
msgid "Whether to collect stats about applications usage"
msgstr ""
msgid "Clip the crosshairs at the center"
msgstr "Niitristi keskel on auk"
msgid "Color of the crosshairs"
msgstr "Niitristi värvus"
msgid ""
"Determines the length of the vertical and horizontal lines that make up the "
"crosshairs."
msgstr ""
msgid ""
"Determines the position of the magnified mouse image within the magnified "
"view and how it reacts to system mouse movement. The values are - none: no "
"mouse tracking; - centered: the mouse image is displayed at the center of "
"the zoom region (which also represents the point under the system mouse) and "
"the magnified contents are scrolled as the system mouse moves; - "
"proportional: the position of the magnified mouse in the zoom region is "
"proportionally the same as the position of the system mouse on screen; - "
"push: when the magnified mouse intersects a boundary of the zoom region, the "
"contents are scrolled into view."
msgstr ""
msgid ""
"Determines the transparency of the crosshairs, from fully opaque to fully "
"transparent."
msgstr ""
"Määrab niitristi läbipaistvuse, alates täiesti läbipaistmatust kuni täiesti "
"läbipaistvani."
msgid ""
"Determines whether the crosshairs intersect the magnified mouse sprite, or "
"are clipped such that the ends of the horizontal and vertical lines surround "
"the mouse image."
msgstr ""
"Määrab, kas niitrist kattub suurendatud hiire pildiga või on keskelt ära "
"lõigatud nii, et jooned ümbritsevad hiirekursori pilti."
msgid "Enable lens mode"
msgstr "Läätsede režiimi lubamine"
msgid ""
"Enables/disables display of crosshairs centered on the magnified mouse "
"sprite."
msgstr "Lubab/keelab niitristi kuvamise suurendatud hiirekursori kohal."
msgid ""
"For centered mouse tracking, when the system pointer is at or near the edge "
"of the screen, the magnified contents continue to scroll such that the "
"screen edge moves into the magnified view."
msgstr ""
msgid "Length of the crosshairs"
msgstr "Niitristi pikkus"
msgid "Magnification factor"
msgstr "Suurendustegur"
msgid "Mouse Tracking Mode"
msgstr "Hiire jälitamise režiim"
msgid "Opacity of the crosshairs"
msgstr "Niitristi läbipaistvus"
msgid "Screen position"
msgstr "Ekraani asukoht"
msgid "Scroll magnified contents beyond the edges of the desktop"
msgstr "Suurendusklaas võib liikuda töölauapiiridest väljapoole"
msgid "Show or hide crosshairs"
msgstr "Niitristi kuvamine või peitmine"
msgid "Show or hide the magnifier"
msgstr "Suurendusklaasi kuvamine või peitmine"
msgid "Show or hide the magnifier and all of its zoom regions."
msgstr ""
"Suurendusklaasi ja selle kõigi suurenduspiirkondade kuvamine või peitmine."
msgid ""
"The color of the the vertical and horizontal lines that make up the "
"crosshairs."
msgstr "Niitristi püst- ja rõhtjoone värvus."
msgid ""
"The magnified view either fills the entire screen, or occupies the top-half, "
"bottom-half, left-half, or right-half of the screen."
msgstr ""
"Suurendatud vaade täidab kas kogu ekraani või täidab ülemise, alumise, "
"vasaku või parema ekraanipoole."
msgid ""
"The power of the magnification. A value of 1.0 means no magnification. A "
"value of 2.0 doubles the size."
msgstr "Suurendustegur. 1,0 tähendab originaalsuurust. 2,0 muudab kaks korda."
msgid "Thickness of the crosshairs"
msgstr "Niitristi paksus"
msgid ""
"Whether the magnified view should be centered over the location of the "
"system mouse and move with it."
msgstr ""
"Kas suurendatud vaate keskkoht peaks asetsema süsteemi hiire kohal ning "
"liikuma sellega kaasa."
msgid "Width of the vertical and horizontal lines that make up the crosshairs."
msgstr "Niitristi moodustavate püst- ja rõhtjoone laius"
msgid "Clock Format"
msgstr "Kella formaat"
msgid "Clock Preferences"
msgstr "Kella eelistused"
msgid "Panel Display"
msgstr "Paneelikuva"
msgid "Show seco_nds"
msgstr "_Sekundeid näidatakse"
msgid "Show the _date"
msgstr "_Kuupäeva näidatakse"
msgid "_12 hour format"
msgstr "_12 tunni vorming"
msgid "_24 hour format"
msgstr "_24 tunni vorming"
#. **** Applications ****
msgid "APPLICATIONS"
msgstr "Rakendused"
msgid "PREFERENCES"
msgstr "Eelistused"
msgid "New Window"
msgstr "Uus aken"
msgid "Remove from Favorites"
msgstr "Eemalda lemmikutest"
msgid "Add to Favorites"
msgstr "Lisa lemmikutesse"
msgid "Drag here to add favorites"
msgstr "Lemmikute lisamiseks lohista need siia"
#, c-format
msgid "%s has been added to your favorites."
msgstr "%s lisati lemmikutesse."
#, c-format
msgid "%s has been removed from your favorites."
msgstr "%s eemaldati lemmikutest."
msgid "Find"
msgstr "Otsi"
msgid "Searching..."
msgstr "Otsimine..."
msgid "No matching results."
msgstr "Tulemused puuduvad."
#. **** Places ****
#. Translators: This is in the sense of locations for documents,
#. network locations, etc.
msgid "PLACES & DEVICES"
msgstr "Asukohad ja seadmed"
#. **** Documents ****
msgid "RECENT ITEMS"
msgstr "Hiljutised dokumendid"
msgid "No extensions installed"
msgstr "Ühtegi laiendust pole paigaldatud"
msgid "Enabled"
msgstr "Lubatud"
msgid "Disabled"
msgstr "Keelatud"
msgid "Error"
msgstr "Viga"
msgid "Out of date"
msgstr "Pole värske"
msgid "View Source"
msgstr "Kuva lähtekoodi"
msgid "Web Page"
msgstr "Veebileht"
msgid "Undo"
msgstr "Võta tagasi"
#. TODO - _quit() doesn't really work on apps in state STARTING yet
#, c-format
msgid "Quit %s"
msgstr "Lõpeta %s"
msgid "Preferences"
msgstr "Eelistused"
#. Translators: This is the time format with date used
#. in 24-hour mode.
msgid "%a %b %e, %R:%S"
msgstr "%a, %e. %b, %R:%S"
msgid "%a %b %e, %R"
msgstr "%a, %e. %b, %R"
#. Translators: This is the time format without date used
#. in 24-hour mode.
msgid "%a %R:%S"
msgstr "%A %R:%S"
msgid "%a %R"
msgstr "%A %R"
#. Translators: This is a time format with date used
#. for AM/PM.
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a, %e. %b, %l:%M:%S %p"
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.
msgid "%a %l:%M:%S %p"
msgstr "%A, %l:%M:%S %p"
msgid "%a %l:%M %p"
msgstr "%A, %l:%M %p"
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
msgid "Activities"
msgstr "Tegevused"
#, c-format
msgid "Failed to unmount '%s'"
msgstr "'%s' lahtihaakimine nurjus"
msgid "Retry"
msgstr "Proovi uuesti"
msgid "Connect to..."
msgstr "Ühendumine..."
#. Translators: this MUST be either "toggle-switch-us"
#. (for toggle switches containing the English words
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
#. switches containing "◯" and "|"). Other values will
#. simply result in invisible toggle switches.
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
msgid "Please enter a command:"
msgstr "Palun sisesta käsk:"
#, c-format
msgid "Execution of '%s' failed:"
msgstr "'%s' käivitamine nurjus:"
msgid "Available"
msgstr "Saadaval"
msgid "Busy"
msgstr "Hõivatud"
msgid "Invisible"
msgstr "Nähtamatu"
msgid "Account Information..."
msgstr "Konto andmed..."
msgid "System Settings..."
msgstr "Süsteemi sätted..."
msgid "Lock Screen"
msgstr "Lukusta ekraan"
msgid "Switch User"
msgstr "Vaheta kasutajat"
msgid "Log Out..."
msgstr "Logi välja..."
msgid "Shut Down..."
msgstr "Lülita välja..."
#, c-format
msgid "%s has finished starting"
msgstr "%s läks käima"
#, c-format
msgid "'%s' is ready"
msgstr "'%s' on valmis"
msgid ""
"Can't add a new workspace because maximum workspaces limit has been reached."
msgstr "Pole võimalik uut tööala lisada, kuna tööalade piir on saavutatud."
msgid "Can't remove the first workspace."
msgstr "Esimest tööala pole võimalik eemaldada."
msgid "Less than a minute ago"
msgstr "Vähem kui minuti eest"
#, c-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "%d minut tagasi"
msgstr[1] "%d minutit tagasi"
#, c-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
msgstr[0] "%d tund tagasi"
msgstr[1] "%d tundi tagasi"
#, c-format
msgid "%d day ago"
msgid_plural "%d days ago"
msgstr[0] "%d päev tagasi"
msgstr[1] "%d päeva tagasi"
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
msgstr[0] "%d nädal tagasi"
msgstr[1] "%d nädalat tagasi"
msgid "Home Folder"
msgstr "Kodukaust"
#. Translators: this is the same string as the one found in
#. * nautilus
msgid "File System"
msgstr "Failisüsteem"
msgid "Search"
msgstr "Otsing"
#. Translators: the first string is the name of a gvfs
#. * 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.
#.
#, c-format
msgid "%1$s: %2$s"
msgstr "%1$s: %2$s"

343
po/fr.po
View File

@ -11,8 +11,8 @@ msgstr ""
"Project-Id-Version: gnome-shell master fr\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&component=general\n"
"POT-Creation-Date: 2010-05-15 22:41+0000\n"
"PO-Revision-Date: 2010-03-09 22:55+0100\n"
"POT-Creation-Date: 2010-09-22 15:13+0000\n"
"PO-Revision-Date: 2010-09-05 21:03+0200\n"
"Last-Translator: Claude Paroz <claude@2xlibre.net>\n"
"Language-Team: GNOME French Team <gnomefr@traduc.org>\n"
"MIME-Version: 1.0\n"
@ -36,18 +36,215 @@ msgstr "Horloge"
msgid "Customize the panel clock"
msgstr "Personnaliser l'horloge du tableau de bord"
#: ../data/org.gnome.shell.gschema.xml.in.h:1
msgid ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog."
msgstr ""
"Autoriser l'accès aux outils internes de débogage et de surveillance grâce à "
"la boîte de dialogue de lancement d'application (Alt-F2)."
#: ../data/org.gnome.shell.gschema.xml.in.h:2
msgid "Custom format of the clock"
msgstr "Format personnalisé de l'horloge"
#: ../data/org.gnome.shell.gschema.xml.in.h:3
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr ""
"Activer les outils internes pour les développeurs et les testeurs depuis Alt-"
"F2"
#: ../data/org.gnome.shell.gschema.xml.in.h:4
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:5
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:6
msgid ""
"GNOME Shell extensions have a uuid property; this key lists extensions which "
"should not be loaded."
msgstr ""
"Les extensions GNOME Shell ont une propriété uuid ; cette clé énumère les "
"extensions qui ne doivent pas être chargées."
#: ../data/org.gnome.shell.gschema.xml.in.h:7
msgid "History for command (Alt-F2) dialog"
msgstr "Historique de la boîte de dialogue des commandes (Alt-F2)"
#: ../data/org.gnome.shell.gschema.xml.in.h:8
msgid "Hour format"
msgstr "Mode d'affichage de l'heure"
#: ../data/org.gnome.shell.gschema.xml.in.h:9
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display date in the "
"clock, in addition to time."
msgstr ""
"Si vrai (case cochée) et que le mode d'affichage de l'heure est « 12 heures » "
"ou « 24 heures », la date est affichée dans l'horloge, en plus de l'heure."
#: ../data/org.gnome.shell.gschema.xml.in.h:10
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display seconds in "
"time."
msgstr ""
"Si vrai (case cochée) et que le mode d'affichage de l'heure est « 12 heures » "
"ou « 24 heures », les secondes sont affichées avec l'heure."
#: ../data/org.gnome.shell.gschema.xml.in.h:11
msgid "If true, display the ISO week date in the calendar."
msgstr ""
"Si vrai (case cochée), le calendrier utilise la numérotation ISO des "
"semaines."
#: ../data/org.gnome.shell.gschema.xml.in.h:12
msgid "List of desktop file IDs for favorite applications"
msgstr ""
"Liste d'identifiants de fichiers desktop pour les applications favorites"
#: ../data/org.gnome.shell.gschema.xml.in.h:13
msgid "Overview workspace view mode"
msgstr "Mode d'aperçu des espaces de travail"
#: ../data/org.gnome.shell.gschema.xml.in.h:14
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 ! theoraenc ! oggmux' and records to Ogg Theora."
msgstr ""
"Définition du pipeline GStreamer utilisé pour coder les enregistrements "
"vidéo. La syntaxe est identique à celle de gst-launch. Le connecteur "
"d'entrée (sink pad) du pipeline devrait être non connecté là où la vidéo est "
"enregistrée. Le connecteur source devrait normalement être non connecté ; la "
"sortie de ce connecteur est écrite dans le fichier de sortie. Cependant, le "
"pipeline peut aussi se charger de sa propre sortie, par exemple pour diriger "
"la sortie vers un serveur icecast via shout2send ou autre. Si cette clé "
"n'est pas définie ou si elle est vide, c'est le pipeline par défaut qui est "
"utilisé. Celui-ci est actuellement « videorate ! theoraenc ! oggmux » et "
"l'enregistrement utilise le format Ogg Theora."
#: ../data/org.gnome.shell.gschema.xml.in.h:15
msgid "Show date in clock"
msgstr "Afficher la date dans l'horloge"
#: ../data/org.gnome.shell.gschema.xml.in.h:16
msgid "Show the week date in the calendar"
msgstr "Afficher la numérotation des semaines dans le calendrier"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "Show time with seconds"
msgstr "Afficher l'heure avec les secondes"
#: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid ""
"The applications corresponding to these identifiers will be displayed in the "
"favorites area."
msgstr ""
"Les applications correspondant à ces identifiants sont affichées dans la "
"zone des favoris."
#: ../data/org.gnome.shell.gschema.xml.in.h:19
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 ""
"Le nom de fichier des animations d'écran est unique, se base sur la date, et "
"utilise cette extension. Elle devrait être modifiée si le format du "
"conteneur utilisé pour l'enregistrement est différent."
#: ../data/org.gnome.shell.gschema.xml.in.h:20
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
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:21
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:22
msgid ""
"The selected workspace view mode in the overview. Supported values are "
"\"single\" and \"grid\"."
msgstr ""
"Le mode d'aperçu des espaces de travail. Les valeurs prises en charge sont : "
 single » (unique) et « grid » (grille)."
#: ../data/org.gnome.shell.gschema.xml.in.h:23
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 ""
"GNOME Shell surveille normalement les applications actives afin de "
"déterminer les plus utilisées (par ex. pour les lanceurs). Bien que ces "
"données sont gardées secrètes, des motifs de confidentialité peuvent vous "
"pousser à désactiver cette fonctionnalité. Remarquez que cette désactivation "
"ne supprime pas d'éventuelles données déjà enregistrées."
#: ../data/org.gnome.shell.gschema.xml.in.h:24
msgid ""
"This key specifies the format used by the panel clock when the format key is "
"set to \"custom\". You can use conversion specifiers understood by strftime"
"() to obtain a specific format. See the strftime() manual for more "
"information."
msgstr ""
"Cette clé définit le format utilisé par l'horloge du tableau de bord quand "
"le format de l'heure est « custom » (personnalisé). Vous pouvez utiliser des "
"indicateurs de conversion que strftime() comprend afin d'obtenir un format "
"particulier. Consultez le manuel de strftime() pour plus d'informations."
#: ../data/org.gnome.shell.gschema.xml.in.h:25
msgid ""
"This key specifies the hour format used by the panel clock. Possible values "
"are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", "
"the clock will display time in seconds since Epoch, i.e. 1970-01-01. If set "
"to \"custom\", the clock will display time according to the format specified "
"in the custom_format key. Note that if set to either \"unix\" or \"custom\", "
"the show_date and show_seconds keys are ignored."
msgstr ""
"Cette clé définit le format de l'heure utilisé par l'horloge du tableau de "
"bord. Les valeurs possibles sont « 12-hour » (12 heures), « 24-hour » (24 "
"heures), « unix » et « custom » (personnalisé). Si vous choisissez « unix », "
"l'horloge affiche l'heure en secondes depuis Epoch, c'est-à-dire le "
"01/01/1970. Si vous choisissez « custom », l'horloge affiche la date et "
"l'heure selon le format défini dans la clé « custom_format ». Remarquez que "
"si vous choisissez « unix » ou « custom », les clés « show_date » et "
 show_seconds » seront ignorées."
#: ../data/org.gnome.shell.gschema.xml.in.h:26
msgid "Uuids of extensions to disable"
msgstr "Identifiants UUID des extensions à désactiver"
#: ../data/org.gnome.shell.gschema.xml.in.h:27
msgid "Whether to collect stats about applications usage"
msgstr "Collecter des statistiques sur l'utilisation des applications"
#: ../data/clock-preferences.ui.h:1
msgid "Clock Format"
msgstr "Format de l'horloge"
#: ../data/clock-preferences.ui.h:2
msgid "Panel Display"
msgstr "Affichage dans le tableau de bord"
#: ../data/clock-preferences.ui.h:3
msgid "Clock Preferences"
msgstr "Préférences de l'horloge"
#: ../data/clock-preferences.ui.h:3
msgid "Panel Display"
msgstr "Affichage dans le tableau de bord"
#: ../data/clock-preferences.ui.h:4
msgid "Show seco_nds"
msgstr "Afficher les _secondes"
@ -65,31 +262,31 @@ msgid "_24 hour format"
msgstr "Format _24 heures"
#. **** Applications ****
#: ../js/ui/appDisplay.js:306 ../js/ui/dash.js:850
#: ../js/ui/appDisplay.js:316 ../js/ui/dash.js:778
msgid "APPLICATIONS"
msgstr "APPLICATIONS"
#: ../js/ui/appDisplay.js:338
#: ../js/ui/appDisplay.js:348
msgid "PREFERENCES"
msgstr "PRÉFÉRENCES"
#: ../js/ui/appDisplay.js:705
#: ../js/ui/appDisplay.js:653
msgid "New Window"
msgstr "Nouvelle fenêtre"
#: ../js/ui/appDisplay.js:709
#: ../js/ui/appDisplay.js:657
msgid "Remove from Favorites"
msgstr "Enlever des favoris"
#: ../js/ui/appDisplay.js:710
#: ../js/ui/appDisplay.js:658
msgid "Add to Favorites"
msgstr "Ajouter aux favoris"
#: ../js/ui/appDisplay.js:1037
#: ../js/ui/appDisplay.js:986
msgid "Drag here to add favorites"
msgstr "Glisser ici pour ajouter aux favoris"
#: ../js/ui/appFavorites.js:89
#: ../js/ui/appFavorites.js:88
#, c-format
msgid "%s has been added to your favorites."
msgstr "%s a été ajouté à vos favoris."
@ -99,217 +296,232 @@ msgstr "%s a été ajouté à vos favoris."
msgid "%s has been removed from your favorites."
msgstr "%s a été supprimé de vos favoris."
#: ../js/ui/dash.js:189
#: ../js/ui/dash.js:142
msgid "Find"
msgstr "Rechercher"
#: ../js/ui/dash.js:505
#: ../js/ui/dash.js:473
msgid "Searching..."
msgstr "Recherche en cours..."
#: ../js/ui/dash.js:519
#: ../js/ui/dash.js:487
msgid "No matching results."
msgstr "Aucun résultat correspondant."
#. **** Places ****
#. Translators: This is in the sense of locations for documents,
#. network locations, etc.
#: ../js/ui/dash.js:869 ../js/ui/placeDisplay.js:543
#: ../js/ui/dash.js:797 ../js/ui/placeDisplay.js:554
msgid "PLACES & DEVICES"
msgstr "RACCOURCIS et PÉRIPHÉRIQUES"
#. **** Documents ****
#: ../js/ui/dash.js:876 ../js/ui/docDisplay.js:489
#: ../js/ui/dash.js:804 ../js/ui/docDisplay.js:494
msgid "RECENT ITEMS"
msgstr "ÉLÉMENTS RÉCENTS"
#: ../js/ui/lookingGlass.js:354
#: ../js/ui/lookingGlass.js:552
msgid "No extensions installed"
msgstr "Aucune extension installée"
#: ../js/ui/lookingGlass.js:391
#: ../js/ui/lookingGlass.js:589
msgid "Enabled"
msgstr "Activé"
#: ../js/ui/lookingGlass.js:393
#: ../js/ui/lookingGlass.js:591
msgid "Disabled"
msgstr "Désactivé"
#: ../js/ui/lookingGlass.js:395
#: ../js/ui/lookingGlass.js:593
msgid "Error"
msgstr "Erreur"
#: ../js/ui/lookingGlass.js:397
#: ../js/ui/lookingGlass.js:595
msgid "Out of date"
msgstr "Périmé"
#: ../js/ui/lookingGlass.js:422
#: ../js/ui/lookingGlass.js:620
msgid "View Source"
msgstr "Afficher la source"
#: ../js/ui/lookingGlass.js:428
#: ../js/ui/lookingGlass.js:626
msgid "Web Page"
msgstr "Page Web"
#: ../js/ui/overview.js:161
#: ../js/ui/overview.js:160
msgid "Undo"
msgstr "Annuler"
#: ../js/ui/panel.js:535
msgid "Quit"
msgstr "Quitter"
#. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:467
#, c-format
msgid "Quit %s"
msgstr "Quitter %s"
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:740
msgid "Activities"
msgstr "Activités"
#: ../js/ui/panel.js:492
msgid "Preferences"
msgstr "Préférences"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/panel.js:955
#: ../js/ui/panel.js:578
msgid "%a %b %e, %R:%S"
msgstr "%a %e %b, %R:%S"
#: ../js/ui/panel.js:956
#: ../js/ui/panel.js:579
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/panel.js:960
#: ../js/ui/panel.js:583
msgid "%a %R:%S"
msgstr "%a %R:%S"
#: ../js/ui/panel.js:961
#: ../js/ui/panel.js:584
msgid "%a %R"
msgstr "%a %R"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/panel.js:968
#: ../js/ui/panel.js:591
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a %e %b, %l:%M:%S %p"
#: ../js/ui/panel.js:969
#: ../js/ui/panel.js:592
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/panel.js:973
#: ../js/ui/panel.js:596
msgid "%a %l:%M:%S %p"
msgstr "%a %l:%M:%S %p"
#: ../js/ui/panel.js:974
#: ../js/ui/panel.js:597
msgid "%a %l:%M %p"
msgstr "%a %l:%M %p"
#: ../js/ui/placeDisplay.js:108
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:742
msgid "Activities"
msgstr "Activités"
#: ../js/ui/placeDisplay.js:111
#, c-format
msgid "Failed to unmount '%s'"
msgstr "Impossible de monter « %s »"
#: ../js/ui/placeDisplay.js:111
#: ../js/ui/placeDisplay.js:114
msgid "Retry"
msgstr "Réessayer"
#: ../js/ui/placeDisplay.js:156
#: ../js/ui/placeDisplay.js:159
msgid "Connect to..."
msgstr "Connexion à..."
#: ../js/ui/runDialog.js:231
#. Translators: this MUST be either "toggle-switch-us"
#. (for toggle switches containing the English words
#. "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:32
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
#: ../js/ui/runDialog.js:233
msgid "Please enter a command:"
msgstr "Veuillez saisir une commande :"
#: ../js/ui/runDialog.js:375
#: ../js/ui/runDialog.js:378
#, c-format
msgid "Execution of '%s' failed:"
msgstr "Exécution de « %s » impossible :"
#: ../js/ui/statusMenu.js:90
#: ../js/ui/statusMenu.js:91
msgid "Available"
msgstr "Disponible"
#: ../js/ui/statusMenu.js:94
#: ../js/ui/statusMenu.js:95
msgid "Busy"
msgstr "Occupé"
#: ../js/ui/statusMenu.js:98
#: ../js/ui/statusMenu.js:99
msgid "Invisible"
msgstr "Invisible"
#: ../js/ui/statusMenu.js:105
#: ../js/ui/statusMenu.js:106
msgid "Account Information..."
msgstr "Informations personnelles..."
#: ../js/ui/statusMenu.js:109
#: ../js/ui/statusMenu.js:110
msgid "System Preferences..."
msgstr "Préférences du système..."
#: ../js/ui/statusMenu.js:116
#: ../js/ui/statusMenu.js:117
msgid "Lock Screen"
msgstr "Verrouiller l'écran"
#: ../js/ui/statusMenu.js:120
#: ../js/ui/statusMenu.js:121
msgid "Switch User"
msgstr "Changer d'utilisateur"
#: ../js/ui/statusMenu.js:125
#: ../js/ui/statusMenu.js:126
msgid "Log Out..."
msgstr "Fermer la session..."
#: ../js/ui/statusMenu.js:129
#: ../js/ui/statusMenu.js:130
msgid "Shut Down..."
msgstr "Éteindre..."
#: ../js/ui/windowAttentionHandler.js:47
#: ../js/ui/windowAttentionHandler.js:43
#, c-format
msgid "%s has finished starting"
msgstr "Lancement de %s terminé"
#: ../js/ui/windowAttentionHandler.js:49
#: ../js/ui/windowAttentionHandler.js:45
#, c-format
msgid "'%s' is ready"
msgstr "« %s » est prêt"
#: ../js/ui/workspacesView.js:239
#: ../js/ui/workspacesView.js:230
msgid ""
"Can't add a new workspace because maximum workspaces limit has been reached."
msgstr ""
"Impossible d'ajouter un espace de travail car le nombre maximum d'espaces de "
"travail est atteint."
#: ../js/ui/workspacesView.js:256
#: ../js/ui/workspacesView.js:247
msgid "Can't remove the first workspace."
msgstr "Impossible de supprimer le premier espace de travail."
#: ../src/shell-global.c:979
#: ../src/shell-global.c:1189
msgid "Less than a minute ago"
msgstr "Il y a moins d'une minute"
#: ../src/shell-global.c:983
#: ../src/shell-global.c:1193
#, c-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "Il y a %d minute"
msgstr[1] "Il y a %d minutes"
#: ../src/shell-global.c:988
#: ../src/shell-global.c:1198
#, c-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
msgstr[0] "Il y a %d heure"
msgstr[1] "Il y a %d heures"
#: ../src/shell-global.c:993
#: ../src/shell-global.c:1203
#, c-format
msgid "%d day ago"
msgid_plural "%d days ago"
msgstr[0] "Il y a %d jour"
msgstr[1] "Il y a %d jours"
#: ../src/shell-global.c:998
#: ../src/shell-global.c:1208
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
@ -339,3 +551,4 @@ msgstr "Recherche"
#, c-format
msgid "%1$s: %2$s"
msgstr "%1$s : %2$s"

471
po/gl.po
View File

@ -1,6 +1,7 @@
# Galician translation for gnome-shell.
# Copyright (C) 2009 gnome-shell's COPYRIGHT HOLDER
# This file is distributed under the same license as the gnome-shell package.
#
# Anton Meixome <certima@certima.net>, 2009.
# Antón Méixome <meixome@certima.net>, 2009.
# Fran Diéguez <frandieguez@ubuntu.com>, 2009, 2010.
@ -9,15 +10,15 @@ msgid ""
msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-06-18 21:44+0200\n"
"PO-Revision-Date: 2010-06-18 21:44+0200\n"
"POT-Creation-Date: 2010-11-03 00:26+0100\n"
"PO-Revision-Date: 2010-11-03 00:28+0100\n"
"Last-Translator: Fran Diéguez <frandieguez@ubuntu.com>\n"
"Language-Team: Galician <gnome@g11.net>\n"
"Language-Team: Galician <gnome-gl-list@gnome.org>\n"
"Language: gl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: gl\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\\\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
"X-Generator: Virtaal 0.4.0\n"
#: ../data/gnome-shell.desktop.in.in.h:1
@ -42,7 +43,7 @@ msgid ""
"dialog."
msgstr ""
"Permite o acceso ás ferramentas de depuración e monitorización internas "
"usando o diálogo Alt-F2"
"usando o diálogo Alt-F2."
#: ../data/org.gnome.shell.gschema.xml.in.h:2
msgid "Custom format of the clock"
@ -60,7 +61,7 @@ msgstr "Extensión de ficheiro usada para o almacenamento da screencast"
#: ../data/org.gnome.shell.gschema.xml.in.h:5
msgid "Framerate used for recording screencasts."
msgstr "Taxa de marcos usada para gravar as capturas de pantalla"
msgstr "Taxa de marcos usada para gravar as capturas de pantalla."
#: ../data/org.gnome.shell.gschema.xml.in.h:6
msgid ""
@ -72,7 +73,7 @@ msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:7
msgid "History for command (Alt-F2) dialog"
msgstr "Hitorial do diálogo de orde (Alt-F)"
msgstr "Hitorial do diálogo de orde (Alt-F2)"
#: ../data/org.gnome.shell.gschema.xml.in.h:8
msgid "Hour format"
@ -83,7 +84,7 @@ msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display date in the "
"clock, in addition to time."
msgstr ""
"Se é verdadeiro e o formato é \"12-hour\" ou \"24-hour\" móstrase a data no "
"Se é verdadeiro e o formato é «12-hour» ou «24-hour» móstrase a data no "
"reloxo, ademais da hora."
#: ../data/org.gnome.shell.gschema.xml.in.h:10
@ -91,8 +92,8 @@ msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display seconds in "
"time."
msgstr ""
"Se é verdadeiro e o formato é \"12-hour\" ou \"24-hour\" móstranse os "
"segundos na hora."
"Se é verdadeiro e o formato é «12-hour» ou «24-hour» móstranse os segundos "
"na hora."
#: ../data/org.gnome.shell.gschema.xml.in.h:11
msgid "If true, display the ISO week date in the calendar."
@ -107,7 +108,6 @@ msgid "Overview workspace view mode"
msgstr "Modo de visualización do espazo de traballo de vista previa"
#: ../data/org.gnome.shell.gschema.xml.in.h:14
#, fuzzy
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 "
@ -118,10 +118,15 @@ msgid ""
"to an empty value, the default pipeline will be used. This is currently "
"'videorate ! theoraenc ! oggmux' and records to Ogg Theora."
msgstr ""
"Estabelece a tubería do GStreamer usado para codificar as gravacións. Segue "
"a sintaxe usada por gst-launch. A tubería debería ter un desprazamento de "
"sumideiro non conectado cando o vídeo gravado estea gravado. Normalmente "
"terá un ......."
"Estabelece a tubería GStreamer usada para codificar gravacións. Segue a "
"sintaxe usada para gst-launch. A tubería debería ter un sumideiro («sink») "
"de ensamblaxe/desensamblaxe onde o vídeo que se está gravando grávase. "
"Xeralmente terá unha orixe de ensamblado/desensamblado; a saída dese punto "
"escribirase no ficheiro de saída. Porén, a tubería tamén pode tomar parte na "
"súa propia saída; isto pódese usar para enviar a saída a un servidor "
"«icecast» a través de shout2send ou similar. Cando non está estabelecido ou "
"está a un valor baleiro, usarase a tubería predeterminada. Actualmente é "
"«videorate ! theoraenc ! oggmux» e grava en Ogg Theora."
#: ../data/org.gnome.shell.gschema.xml.in.h:15
msgid "Show date in clock"
@ -207,12 +212,12 @@ msgid ""
"the show_date and show_seconds keys are ignored."
msgstr ""
"Esta chave especifica o formato de hora usado polo reloxo do panel. Os "
"posíbeis valores son \"12-hour\", \"24-hour\", \"unix\"e \"custom\". Se está "
"estabelecido a \"unix\", o reloxo mostrará a hora en segundos desde Epoch, p."
"ex. 01-01-1970. Se está estabelecido a \"custom\", o reloxo mostrará a hora "
"posíbeis valores son «12-hour», «24-hour», «unix» e «custom». Se está "
"estabelecido a «unix», o reloxo mostrará a hora en segundos desde Epoch, p."
"ex. 01-01-1970. Se está estabelecido a «custom», o reloxo mostrará a hora "
"segundo o formato especificado na chave custom_format. Teña en conta que se "
"está estabelecido a \"unix\" ou \"custom\", as chaves show_date e "
"show_seconds ignoraranse."
"está estabelecido a «unix» ou «custom», as chaves show_date e show_seconds "
"ignoraranse."
#: ../data/org.gnome.shell.gschema.xml.in.h:26
msgid "Uuids of extensions to disable"
@ -220,7 +225,161 @@ msgstr "Os Uuid das extensións a desactivar"
#: ../data/org.gnome.shell.gschema.xml.in.h:27
msgid "Whether to collect stats about applications usage"
msgstr "Indica se recoller estatísticas sobre o uso dos aplicativos ou non."
msgstr "Indica se recoller estatísticas sobre o uso dos aplicativos"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:1
msgid "Clip the crosshairs at the center"
msgstr "Poñer o punto de mira no centro"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:2
msgid "Color of the crosshairs"
msgstr "Cor do punto de mira"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:3
msgid ""
"Determines the length of the vertical and horizontal lines that make up the "
"crosshairs."
msgstr ""
"Determina a lonxitude das liñas verticais e horizontais que contén o punto "
"de mira."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:4
msgid ""
"Determines the position of the magnified mouse image within the magnified "
"view and how it reacts to system mouse movement. The values are - none: no "
"mouse tracking; - centered: the mouse image is displayed at the center of "
"the zoom region (which also represents the point under the system mouse) and "
"the magnified contents are scrolled as the system mouse moves; - "
"proportional: the position of the magnified mouse in the zoom region is "
"proportionally the same as the position of the system mouse on screen; - "
"push: when the magnified mouse intersects a boundary of the zoom region, the "
"contents are scrolled into view."
msgstr ""
"Determina a posición da imaxe magnificada do rato dentro da vista "
"magnificada e como reacciona ao movemento do rato do sistema. Os valores son "
"«none» (ningún): sen seguimento do rato; «centered» (centrado): a imaxe do "
"rato móstrase no centro da rexión ampliada (que tamén representa o punto "
"baixo o rato do sistema) e o contido magnificado deslízase segundo se move o "
"rato do sistema; «proporcional»: a posición do rato magnificado na rexión de "
"ampliación é proporcionalmente a mesma que a posición do rato do sistema na "
"pantalla; «push» (empurrar): cando o rato magnificado cruza un límite da "
"rexión de ampliación, o contido deslízase na vista."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:5
msgid ""
"Determines the transparency of the crosshairs, from fully opaque to fully "
"transparent."
msgstr ""
"Determina a transparencia do punto de mira, desde a opacidade total á "
"transparencia total."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:6
msgid ""
"Determines whether the crosshairs intersect the magnified mouse sprite, or "
"are clipped such that the ends of the horizontal and vertical lines surround "
"the mouse image."
msgstr ""
"Determina se as cruces cruzan o «sprite» magnificado do rato ou fíxanse de "
"tal forma que os finais das liñas horizontais e verticais rodean a imaxe do "
"rato."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:7
msgid "Enable lens mode"
msgstr "Activar o modo lente"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:8
msgid ""
"Enables/disables display of crosshairs centered on the magnified mouse "
"sprite."
msgstr ""
"Activa/desactiva a visualización do punto de mira centrada no mapa de bits "
"de magnificación do rato."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:9
msgid ""
"For centered mouse tracking, when the system pointer is at or near the edge "
"of the screen, the magnified contents continue to scroll such that the "
"screen edge moves into the magnified view."
msgstr ""
"Para o seguimento do centro do rato, cando o punteiro do sistema está preto "
"do bordo da pantalla, o contido magnificado continúa desprazándose de tal "
"forma que o bordo da pantalla móvese dentro da vista magnificada."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:10
msgid "Length of the crosshairs"
msgstr "Lonxitude do punto de mira"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:11
msgid "Magnification factor"
msgstr "Factor de magnificación"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:12
msgid "Mouse Tracking Mode"
msgstr "Modo de seguimento do rato"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:13
msgid "Opacity of the crosshairs"
msgstr "Opacidade do punto de mira"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:14
msgid "Screen position"
msgstr "Posición de pantalla"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:15
msgid "Scroll magnified contents beyond the edges of the desktop"
msgstr "Mostrar os contidos magnificados máis aló dos bordos do escritorio"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:16
msgid "Show or hide crosshairs"
msgstr "Mostrar ou agochar o punto de mira"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:17
msgid "Show or hide the magnifier"
msgstr "Mostrar ou agochar o magnificador"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:18
msgid "Show or hide the magnifier and all of its zoom regions."
msgstr ""
"Mostrar ou agochar o magnificador e todas as súas rexións de magnificación."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:19
msgid ""
"The color of the the vertical and horizontal lines that make up the "
"crosshairs."
msgstr "A cor das liñas verticais e horizontais que contén o punto de mira."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:20
msgid ""
"The magnified view either fills the entire screen, or occupies the top-half, "
"bottom-half, left-half, or right-half of the screen."
msgstr ""
"A vista magnificada tanto se enche a pantalla completa, ou ocupa a metade "
"superior, metade inferior, metade da esquerda ou metade da dereita da "
"pantalla."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:21
msgid ""
"The power of the magnification. A value of 1.0 means no magnification. A "
"value of 2.0 doubles the size."
msgstr ""
"O poder da magnificación. Un valor de 1.0 desactiva a magnificación. Un "
"valor de 2.0 duplica o tamaño."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:22
msgid "Thickness of the crosshairs"
msgstr "Grosor do punto de mira"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:23
msgid ""
"Whether the magnified view should be centered over the location of the "
"system mouse and move with it."
msgstr ""
"Indica se a visualización do punto de mira debería centrarse sobre a "
"localización do rato do sistema ou moverse con el."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:24
msgid "Width of the vertical and horizontal lines that make up the crosshairs."
msgstr "Anchura das liñas verticais e horizontais que contén o punto de mira."
#: ../data/clock-preferences.ui.h:1
msgid "Clock Format"
@ -251,27 +410,27 @@ msgid "_24 hour format"
msgstr "Formato _24 horas"
#. **** Applications ****
#: ../js/ui/appDisplay.js:388 ../js/ui/dash.js:767
#: ../js/ui/appDisplay.js:316 ../js/ui/dash.js:778
msgid "APPLICATIONS"
msgstr "APLICATIVOS"
#: ../js/ui/appDisplay.js:420
#: ../js/ui/appDisplay.js:348
msgid "PREFERENCES"
msgstr "PREFERENCIAS"
#: ../js/ui/appDisplay.js:726
#: ../js/ui/appDisplay.js:647
msgid "New Window"
msgstr "Xanela nova"
#: ../js/ui/appDisplay.js:730
#: ../js/ui/appDisplay.js:651
msgid "Remove from Favorites"
msgstr "Eliminar dos favoritos"
#: ../js/ui/appDisplay.js:731
#: ../js/ui/appDisplay.js:652
msgid "Add to Favorites"
msgstr "Engadir aos favoritos"
#: ../js/ui/appDisplay.js:1038
#: ../js/ui/appDisplay.js:829
msgid "Drag here to add favorites"
msgstr "Arrastre aquí para engadir aos favoritos"
@ -280,222 +439,313 @@ msgstr "Arrastre aquí para engadir aos favoritos"
msgid "%s has been added to your favorites."
msgstr "%s foi engadido aos seus favoritos."
#: ../js/ui/appFavorites.js:106
#: ../js/ui/appFavorites.js:107
#, c-format
msgid "%s has been removed from your favorites."
msgstr "%s foi eliminado dos seus favoritos."
#: ../js/ui/dash.js:146
#: ../js/ui/dash.js:142
msgid "Find"
msgstr "Buscar"
#: ../js/ui/dash.js:465
#: ../js/ui/dash.js:473
msgid "Searching..."
msgstr "Buscando..."
#: ../js/ui/dash.js:479
#: ../js/ui/dash.js:487
msgid "No matching results."
msgstr "Non hai resultados que coincidan."
#. **** Places ****
#. Translators: This is in the sense of locations for documents,
#. network locations, etc.
#: ../js/ui/dash.js:786 ../js/ui/placeDisplay.js:552
#: ../js/ui/dash.js:797 ../js/ui/placeDisplay.js:554
msgid "PLACES & DEVICES"
msgstr "LUGARES e DISPOSITIVOS"
msgstr "LUGARES E DISPOSITIVOS"
#. **** Documents ****
#: ../js/ui/dash.js:793 ../js/ui/docDisplay.js:497
#: ../js/ui/dash.js:804 ../js/ui/docDisplay.js:494
msgid "RECENT ITEMS"
msgstr "ELEMENTOS RECENTES"
#: ../js/ui/lookingGlass.js:471
#: ../js/ui/lookingGlass.js:552
msgid "No extensions installed"
msgstr "Non hai ningunha extensión instalada"
#: ../js/ui/lookingGlass.js:508
#: ../js/ui/lookingGlass.js:589
msgid "Enabled"
msgstr "Activado"
#: ../js/ui/lookingGlass.js:510
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:591 ../src/gvc/gvc-mixer-control.c:1087
msgid "Disabled"
msgstr "Desactivado"
#: ../js/ui/lookingGlass.js:512
#: ../js/ui/lookingGlass.js:593
msgid "Error"
msgstr "Erro"
#: ../js/ui/lookingGlass.js:514
#: ../js/ui/lookingGlass.js:595
msgid "Out of date"
msgstr "Desactualizado"
#: ../js/ui/lookingGlass.js:539
#: ../js/ui/lookingGlass.js:620
msgid "View Source"
msgstr "Ver fonte"
#: ../js/ui/lookingGlass.js:545
#: ../js/ui/lookingGlass.js:626
msgid "Web Page"
msgstr "Páxina web"
#: ../js/ui/overview.js:165
#: ../js/ui/overview.js:160
msgid "Undo"
msgstr "Desfacer"
#: ../js/ui/panel.js:519
#. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:469
#, c-format
msgid "Quit %s"
msgstr "Saír de %s"
#: ../js/ui/panel.js:494
msgid "Preferences"
msgstr "Preferencias"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/panel.js:605
#: ../js/ui/panel.js:580
msgid "%a %b %e, %R:%S"
msgstr "%a %e de %b, %R:%S"
#: ../js/ui/panel.js:606
#: ../js/ui/panel.js:581
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/panel.js:610
#: ../js/ui/panel.js:585
msgid "%a %R:%S"
msgstr "%a %R:%S"
#: ../js/ui/panel.js:611
#: ../js/ui/panel.js:586
msgid "%a %R"
msgstr "%a %R"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/panel.js:618
#: ../js/ui/panel.js:593
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a %e de %b, %H:%M:%S"
#: ../js/ui/panel.js:619
#: ../js/ui/panel.js:594
msgid "%a %b %e, %l:%M %p"
msgstr "%a %e de %b, %H:%M"
#. Translators: This is a time format without date used
#. for AM/PM.
#: ../js/ui/panel.js:623
#: ../js/ui/panel.js:598
msgid "%a %l:%M:%S %p"
msgstr "%a %H:%M:%S"
#: ../js/ui/panel.js:624
#: ../js/ui/panel.js:599
msgid "%a %l:%M %p"
msgstr "%a %l:%M %p"
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:726
#: ../js/ui/panel.js:744
msgid "Activities"
msgstr "Actividades"
#: ../js/ui/placeDisplay.js:109
#: ../js/ui/placeDisplay.js:111
#, c-format
msgid "Failed to unmount '%s'"
msgstr "Produciuse un fallo ao montar '%s'"
msgstr "Produciuse un fallo ao desmontar «%s»"
#: ../js/ui/placeDisplay.js:112
#: ../js/ui/placeDisplay.js:114
msgid "Retry"
msgstr "Reintentar"
#: ../js/ui/placeDisplay.js:157
#: ../js/ui/placeDisplay.js:159
msgid "Connect to..."
msgstr "Conectar con..."
#: ../js/ui/runDialog.js:234
#. Translators: this MUST be either "toggle-switch-us"
#. (for toggle switches containing the English words
#. "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:33
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
#: ../js/ui/runDialog.js:233
msgid "Please enter a command:"
msgstr "Insira unha orde:"
#: ../js/ui/runDialog.js:379
#: ../js/ui/runDialog.js:378
#, c-format
msgid "Execution of '%s' failed:"
msgstr "Produciuse un fallo na execución de %s"
msgstr "Produciuse un fallo na execución de «%s»:"
#: ../js/ui/statusMenu.js:91
#: ../js/ui/statusMenu.js:101
msgid "Available"
msgstr "Dispoñíbel"
#: ../js/ui/statusMenu.js:95
#: ../js/ui/statusMenu.js:106
msgid "Busy"
msgstr "Ocupado"
#: ../js/ui/statusMenu.js:99
#: ../js/ui/statusMenu.js:111
msgid "Invisible"
msgstr "Invisíbel"
#: ../js/ui/statusMenu.js:106
msgid "Account Information..."
msgstr "Información da conta..."
#: ../js/ui/statusMenu.js:119
msgid "My Account..."
msgstr "A miña conta..."
#: ../js/ui/statusMenu.js:110
msgid "System Preferences..."
msgstr "Preferencias do sistema..."
#: ../js/ui/statusMenu.js:123
msgid "System Settings..."
msgstr "Configuracións do sistema..."
#: ../js/ui/statusMenu.js:117
#: ../js/ui/statusMenu.js:130
msgid "Lock Screen"
msgstr "Bloquear pantalla"
#: ../js/ui/statusMenu.js:121
#: ../js/ui/statusMenu.js:134
msgid "Switch User"
msgstr "Cambiar de usuario"
#: ../js/ui/statusMenu.js:126
#: ../js/ui/statusMenu.js:139
msgid "Log Out..."
msgstr "Saír da sesión..."
#: ../js/ui/statusMenu.js:130
#: ../js/ui/statusMenu.js:146
msgid "Suspend"
msgstr "Suspender"
#: ../js/ui/statusMenu.js:150
msgid "Restart..."
msgstr "Reiniciar..."
#: ../js/ui/statusMenu.js:154
msgid "Shut Down..."
msgstr "Apagar..."
#: ../js/ui/windowAttentionHandler.js:47
#: ../js/ui/status/accessibility.js:88
msgid "Screen Reader"
msgstr "Lector de pantalla"
#: ../js/ui/status/accessibility.js:91
msgid "Screen Keyboard"
msgstr "Teclado en pantalla"
#: ../js/ui/status/accessibility.js:94
msgid "Visual Alerts"
msgstr "Alertas visuais"
#: ../js/ui/status/accessibility.js:97
msgid "Sticky Keys"
msgstr "Teclas persistentes"
#: ../js/ui/status/accessibility.js:100
msgid "Slow Keys"
msgstr "Teclas lentas"
#: ../js/ui/status/accessibility.js:103
msgid "Bounce Keys"
msgstr "Rebote das teclas"
#: ../js/ui/status/accessibility.js:106
msgid "Mouse Keys"
msgstr "Teclas do Rato"
#: ../js/ui/status/accessibility.js:110
msgid "Universal Access Settings"
msgstr "Configuracións de acceso universal"
#: ../js/ui/status/accessibility.js:163
msgid "High Contrast"
msgstr "Alto contraste"
#: ../js/ui/status/accessibility.js:202
msgid "Large Text"
msgstr "Texto máis grande"
#: ../js/ui/status/accessibility.js:223
msgid "Zoom"
msgstr "Ampliación"
#: ../js/ui/windowAttentionHandler.js:43
#, c-format
msgid "%s has finished starting"
msgstr "%s rematou de iniarse"
#: ../js/ui/windowAttentionHandler.js:49
#: ../js/ui/windowAttentionHandler.js:45
#, c-format
msgid "'%s' is ready"
msgstr "'%s' está preparado"
msgstr "«%s» está preparado"
#: ../js/ui/workspacesView.js:237
#: ../js/ui/workspacesView.js:229
msgid ""
"Can't add a new workspace because maximum workspaces limit has been reached."
msgstr ""
"Non é posíbel engadir unha área de traballo nova porque chegouse ao límite "
"de áreas de traballo."
#: ../js/ui/workspacesView.js:254
#: ../js/ui/workspacesView.js:246
msgid "Can't remove the first workspace."
msgstr "Non é posíbel quitar a primeira área de traballo."
#: ../src/shell-global.c:1039
#. translators:
#. * The number of sound outputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1094
#, c-format
msgid "%u Output"
msgid_plural "%u Outputs"
msgstr[0] "%u saída"
msgstr[1] "%u saídas"
#. translators:
#. * The number of sound inputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1104
#, c-format
msgid "%u Input"
msgid_plural "%u Inputs"
msgstr[0] "%u entrada"
msgstr[1] "%u entradas"
#: ../src/gvc/gvc-mixer-control.c:1402
msgid "System Sounds"
msgstr "Sons do sistema"
#: ../src/shell-global.c:1219
msgid "Less than a minute ago"
msgstr "Hai menos dun minuto"
#: ../src/shell-global.c:1043
#: ../src/shell-global.c:1223
#, c-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "hai %d minuto"
msgstr[1] "hai %d minutos"
#: ../src/shell-global.c:1048
#: ../src/shell-global.c:1228
#, c-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
msgstr[0] "hai %d hora"
msgstr[1] "hai %d horas"
#: ../src/shell-global.c:1053
#: ../src/shell-global.c:1233
#, c-format
msgid "%d day ago"
msgid_plural "%d days ago"
msgstr[0] "hai %d día"
msgstr[1] "hai %d días"
#: ../src/shell-global.c:1058
#: ../src/shell-global.c:1238
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
@ -526,53 +776,14 @@ msgstr "Buscar"
msgid "%1$s: %2$s"
msgstr "%1$s: %2$s"
#~ msgid "Quit %s"
#~ msgstr "Saír de %s"
#~ msgid "System Preferences..."
#~ msgstr "Preferencias do sistema..."
#~ msgid "Sidebar"
#~ msgstr "Barra lateral"
#~ msgid "Account Information..."
#~ msgstr "Información da conta..."
#~ msgid "%H:%M"
#~ msgstr "%M:%H"
#~ msgid "ON"
#~ msgstr ""
#~ msgid "Applications"
#~ msgstr "Aplicativos"
#~ msgid "Recent Documents"
#~ msgstr "Documentos recentes"
#~ msgid "PLACES"
#~ msgstr "LUGARES"
#~ msgid "SEARCH RESULTS"
#~ msgstr "RESULTADOS DA BUSCA"
#~ msgid "Unknown"
#~ msgstr "Descoñecido"
#~ msgid "Can't lock screen: %s"
#~ msgstr "Non foi posíbel bloquear a pantalla: %s"
#~ msgid "Can't temporarily set screensaver to blank screen: %s"
#~ msgstr ""
#~ "Non foi posíbel estabelecer temporalmente o salvapantallas a unha "
#~ "pantalla en branco: %s"
#~ msgid "Can't logout: %s"
#~ msgstr "Non foi posíbel pechar a sesión: %s"
#~ msgid "Browse"
#~ msgstr "Explorar"
#~ msgid "(see all)"
#~ msgstr "(ver todos)"
#~ msgid "Find apps or documents"
#~ msgstr "Atopar aplicativos ou documentos"
#, fuzzy
#~ msgid "DOCUMENTS"
#~ msgstr "DOCUMENTOS RECENTES"
#~ msgid "Manager"
#~ msgstr "Xestor"
#~ msgid "OFF"
#~ msgstr ""

401
po/he.po
View File

@ -2,19 +2,20 @@
# Copyright (C) 2009 gnome-shell's COPYRIGHT HOLDER
# This file is distributed under the same license as the gnome-shell package.
# liel <lielft@gmail.com>, 2009.
# Yaron Shahrabani <sh.yaron@gmail.com>, 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-06-19 17:59+0300\n"
"PO-Revision-Date: 2010-06-19 18:01+0200\n"
"POT-Creation-Date: 2010-11-01 07:47+0200\n"
"PO-Revision-Date: 2010-11-01 07:48+0200\n"
"Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>\n"
"Language-Team: Hebrew <he@li.org>\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=3; plural=n==1 ? 0 : (n>2||n==0) ? 1 :2;\n"
#: ../data/gnome-shell.desktop.in.in.h:1
msgid "GNOME Shell"
@ -30,7 +31,7 @@ msgstr "שעון"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:2
msgid "Customize the panel clock"
msgstr "התאמת פאנל השעון"
msgstr "התאמת לוח השעון"
#: ../data/org.gnome.shell.gschema.xml.in.h:1
msgid ""
@ -218,6 +219,161 @@ msgstr "Uuids of extensions to disable"
msgid "Whether to collect stats about applications usage"
msgstr "Whether to collect stats about applications usage"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:1
msgid "Clip the crosshairs at the center"
msgstr "Clip the crosshairs at the center"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:2
msgid "Color of the crosshairs"
msgstr "Color of the crosshairs"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:3
msgid ""
"Determines the length of the vertical and horizontal lines that make up the "
"crosshairs."
msgstr ""
"Determines the length of the vertical and horizontal lines that make up the "
"crosshairs."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:4
msgid ""
"Determines the position of the magnified mouse image within the magnified "
"view and how it reacts to system mouse movement. The values are - none: no "
"mouse tracking; - centered: the mouse image is displayed at the center of "
"the zoom region (which also represents the point under the system mouse) and "
"the magnified contents are scrolled as the system mouse moves; - "
"proportional: the position of the magnified mouse in the zoom region is "
"proportionally the same as the position of the system mouse on screen; - "
"push: when the magnified mouse intersects a boundary of the zoom region, the "
"contents are scrolled into view."
msgstr ""
"Determines the position of the magnified mouse image within the magnified "
"view and how it reacts to system mouse movement. The values are - none: no "
"mouse tracking; - centered: the mouse image is displayed at the center of "
"the zoom region (which also represents the point under the system mouse) and "
"the magnified contents are scrolled as the system mouse moves; - "
"proportional: the position of the magnified mouse in the zoom region is "
"proportionally the same as the position of the system mouse on screen; - "
"push: when the magnified mouse intersects a boundary of the zoom region, the "
"contents are scrolled into view."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:5
msgid ""
"Determines the transparency of the crosshairs, from fully opaque to fully "
"transparent."
msgstr ""
"Determines the transparency of the crosshairs, from fully opaque to fully "
"transparent."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:6
msgid ""
"Determines whether the crosshairs intersect the magnified mouse sprite, or "
"are clipped such that the ends of the horizontal and vertical lines surround "
"the mouse image."
msgstr ""
"Determines whether the crosshairs intersect the magnified mouse sprite, or "
"are clipped such that the ends of the horizontal and vertical lines surround "
"the mouse image."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:7
msgid "Enable lens mode"
msgstr "Enable lens mode"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:8
msgid ""
"Enables/disables display of crosshairs centered on the magnified mouse "
"sprite."
msgstr ""
"Enables/disables display of crosshairs centered on the magnified mouse "
"sprite."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:9
msgid ""
"For centered mouse tracking, when the system pointer is at or near the edge "
"of the screen, the magnified contents continue to scroll such that the "
"screen edge moves into the magnified view."
msgstr ""
"For centered mouse tracking, when the system pointer is at or near the edge "
"of the screen, the magnified contents continue to scroll such that the "
"screen edge moves into the magnified view."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:10
msgid "Length of the crosshairs"
msgstr "Length of the crosshairs"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:11
msgid "Magnification factor"
msgstr "Magnification factor"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:12
msgid "Mouse Tracking Mode"
msgstr "Mouse Tracking Mode"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:13
msgid "Opacity of the crosshairs"
msgstr "Opacity of the crosshairs"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:14
msgid "Screen position"
msgstr "Screen position"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:15
msgid "Scroll magnified contents beyond the edges of the desktop"
msgstr "Scroll magnified contents beyond the edges of the desktop"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:16
msgid "Show or hide crosshairs"
msgstr "Show or hide crosshairs"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:17
msgid "Show or hide the magnifier"
msgstr "Show or hide the magnifier"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:18
msgid "Show or hide the magnifier and all of its zoom regions."
msgstr "Show or hide the magnifier and all of its zoom regions."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:19
msgid ""
"The color of the the vertical and horizontal lines that make up the "
"crosshairs."
msgstr ""
"The color of the the vertical and horizontal lines that make up the "
"crosshairs."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:20
msgid ""
"The magnified view either fills the entire screen, or occupies the top-half, "
"bottom-half, left-half, or right-half of the screen."
msgstr ""
"The magnified view either fills the entire screen, or occupies the top-half, "
"bottom-half, left-half, or right-half of the screen."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:21
msgid ""
"The power of the magnification. A value of 1.0 means no magnification. A "
"value of 2.0 doubles the size."
msgstr ""
"The power of the magnification. A value of 1.0 means no magnification. A "
"value of 2.0 doubles the size."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:22
msgid "Thickness of the crosshairs"
msgstr "Thickness of the crosshairs"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:23
msgid ""
"Whether the magnified view should be centered over the location of the "
"system mouse and move with it."
msgstr ""
"Whether the magnified view should be centered over the location of the "
"system mouse and move with it."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:24
msgid "Width of the vertical and horizontal lines that make up the crosshairs."
msgstr ""
"Width of the vertical and horizontal lines that make up the crosshairs."
#: ../data/clock-preferences.ui.h:1
msgid "Clock Format"
msgstr "מבנה השעון"
@ -228,7 +384,7 @@ msgstr "העדפות השעון"
#: ../data/clock-preferences.ui.h:3
msgid "Panel Display"
msgstr "תצוגת הפאנל"
msgstr "תצוגת הלוח"
#: ../data/clock-preferences.ui.h:4
msgid "Show seco_nds"
@ -247,254 +403,351 @@ msgid "_24 hour format"
msgstr "מבנה _24 שעות"
#. **** Applications ****
#: ../js/ui/appDisplay.js:388 ../js/ui/dash.js:767
#: ../js/ui/appDisplay.js:316 ../js/ui/dash.js:778
msgid "APPLICATIONS"
msgstr "יישומים"
#: ../js/ui/appDisplay.js:420
#: ../js/ui/appDisplay.js:348
msgid "PREFERENCES"
msgstr "העדפות"
#: ../js/ui/appDisplay.js:726
#: ../js/ui/appDisplay.js:647
msgid "New Window"
msgstr "חלון חדש"
#: ../js/ui/appDisplay.js:730
#: ../js/ui/appDisplay.js:651
msgid "Remove from Favorites"
msgstr "הסר מהמועדפים"
msgstr "הסרה מהמועדפים"
#: ../js/ui/appDisplay.js:731
#: ../js/ui/appDisplay.js:652
msgid "Add to Favorites"
msgstr "הוסף למועדפים"
msgstr "הוספה למועדפים"
#: ../js/ui/appDisplay.js:1038
#: ../js/ui/appDisplay.js:829
msgid "Drag here to add favorites"
msgstr "יש לגרור פריטים לכאן כדי להוסיף מועדפים"
#: ../js/ui/appFavorites.js:88
#, c-format
msgid "%s has been added to your favorites."
msgstr "%s נוסף למועדפים שלך"
msgstr "%s נוסף למועדפים שלך."
#: ../js/ui/appFavorites.js:106
#: ../js/ui/appFavorites.js:107
#, c-format
msgid "%s has been removed from your favorites."
msgstr "%s הוסר מהמועדפים שלך."
#: ../js/ui/dash.js:146
#: ../js/ui/dash.js:142
msgid "Find"
msgstr "חיפוש"
#: ../js/ui/dash.js:465
#: ../js/ui/dash.js:473
msgid "Searching..."
msgstr "בחיפוש..."
#: ../js/ui/dash.js:479
#: ../js/ui/dash.js:487
msgid "No matching results."
msgstr "אין תוצאות תואמות."
#. **** Places ****
#. Translators: This is in the sense of locations for documents,
#. network locations, etc.
#: ../js/ui/dash.js:786 ../js/ui/placeDisplay.js:552
#: ../js/ui/dash.js:797 ../js/ui/placeDisplay.js:554
msgid "PLACES & DEVICES"
msgstr "מקומות והתקנים"
#. **** Documents ****
#: ../js/ui/dash.js:793 ../js/ui/docDisplay.js:497
#: ../js/ui/dash.js:804 ../js/ui/docDisplay.js:494
msgid "RECENT ITEMS"
msgstr "פריטים אחרונים"
#: ../js/ui/lookingGlass.js:471
#: ../js/ui/lookingGlass.js:552
msgid "No extensions installed"
msgstr "לא מותקנות הרחבות"
#: ../js/ui/lookingGlass.js:508
#: ../js/ui/lookingGlass.js:589
msgid "Enabled"
msgstr "פעיל"
#: ../js/ui/lookingGlass.js:510
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:591 ../src/gvc/gvc-mixer-control.c:1087
msgid "Disabled"
msgstr "מנוטרל"
#: ../js/ui/lookingGlass.js:512
#: ../js/ui/lookingGlass.js:593
msgid "Error"
msgstr "שגיאה"
#: ../js/ui/lookingGlass.js:514
#: ../js/ui/lookingGlass.js:595
msgid "Out of date"
msgstr "לא בתוקף"
#: ../js/ui/lookingGlass.js:539
#: ../js/ui/lookingGlass.js:620
msgid "View Source"
msgstr "צפייה במקור"
#: ../js/ui/lookingGlass.js:545
#: ../js/ui/lookingGlass.js:626
msgid "Web Page"
msgstr "דף אינטרנט"
#: ../js/ui/overview.js:165
#: ../js/ui/overview.js:160
msgid "Undo"
msgstr "ביטול"
#: ../js/ui/panel.js:519
#. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:469
#, c-format
msgid "Quit %s"
msgstr "יציאה מ־%s"
#: ../js/ui/panel.js:494
msgid "Preferences"
msgstr "העדפות"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/panel.js:605
#: ../js/ui/panel.js:580
msgid "%a %b %e, %R:%S"
msgstr "%a %b %e, %R:%S"
#: ../js/ui/panel.js:606
#: ../js/ui/panel.js:581
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/panel.js:610
#: ../js/ui/panel.js:585
msgid "%a %R:%S"
msgstr "%a %R:%S"
#: ../js/ui/panel.js:611
#: ../js/ui/panel.js:586
msgid "%a %R"
msgstr "%a %R"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/panel.js:618
#: ../js/ui/panel.js:593
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a %b %e, %l:%M:%S %p"
#: ../js/ui/panel.js:619
#: ../js/ui/panel.js:594
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/panel.js:623
#: ../js/ui/panel.js:598
msgid "%a %l:%M:%S %p"
msgstr "%a %l:%M:%S %p"
#: ../js/ui/panel.js:624
#: ../js/ui/panel.js:599
msgid "%a %l:%M %p"
msgstr "%a %l:%M %p"
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:726
#: ../js/ui/panel.js:744
msgid "Activities"
msgstr "פעילויות"
#: ../js/ui/placeDisplay.js:109
#: ../js/ui/placeDisplay.js:111
#, c-format
msgid "Failed to unmount '%s'"
msgstr "ארע כשל בניתוק '%s'"
msgstr "אירע כשל בניתוק '%s'"
#: ../js/ui/placeDisplay.js:112
#: ../js/ui/placeDisplay.js:114
msgid "Retry"
msgstr "ניסיון חוזר"
#: ../js/ui/placeDisplay.js:157
#: ../js/ui/placeDisplay.js:159
msgid "Connect to..."
msgstr "התחבר אל..."
msgstr "התחברות אל..."
#: ../js/ui/runDialog.js:234
#. Translators: this MUST be either "toggle-switch-us"
#. (for toggle switches containing the English words
#. "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:33
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
#: ../js/ui/runDialog.js:233
msgid "Please enter a command:"
msgstr "נא להזין פקודה:"
#: ../js/ui/runDialog.js:379
#: ../js/ui/runDialog.js:378
#, c-format
msgid "Execution of '%s' failed:"
msgstr "ההרצה של '%s' נכשלה:"
#: ../js/ui/statusMenu.js:91
#: ../js/ui/statusMenu.js:101
msgid "Available"
msgstr "זמין"
#: ../js/ui/statusMenu.js:95
#: ../js/ui/statusMenu.js:106
msgid "Busy"
msgstr "עסוק"
#: ../js/ui/statusMenu.js:99
#: ../js/ui/statusMenu.js:111
msgid "Invisible"
msgstr "בלתי נראה"
#: ../js/ui/statusMenu.js:106
msgid "Account Information..."
msgstr "מידע על המשתמש..."
#: ../js/ui/statusMenu.js:119
msgid "My Account..."
msgstr "החשבון שלי..."
#: ../js/ui/statusMenu.js:110
msgid "System Preferences..."
msgstr "העדפות מערכת..."
#: ../js/ui/statusMenu.js:123
msgid "System Settings..."
msgstr "הגדרות המערכת..."
#: ../js/ui/statusMenu.js:117
#: ../js/ui/statusMenu.js:130
msgid "Lock Screen"
msgstr "נעילת המסך"
#: ../js/ui/statusMenu.js:121
#: ../js/ui/statusMenu.js:134
msgid "Switch User"
msgstr "החלף משתמש"
msgstr "החלפת משתמש"
#: ../js/ui/statusMenu.js:126
#: ../js/ui/statusMenu.js:139
msgid "Log Out..."
msgstr "ניתוק..."
#: ../js/ui/statusMenu.js:130
#: ../js/ui/statusMenu.js:146
msgid "Suspend"
msgstr "השהיה"
#: ../js/ui/statusMenu.js:150
msgid "Restart..."
msgstr "הפעלה מחדש..."
#: ../js/ui/statusMenu.js:154
msgid "Shut Down..."
msgstr "כיבוי..."
#: ../js/ui/windowAttentionHandler.js:47
#: ../js/ui/status/accessibility.js:88
msgid "Screen Reader"
msgstr "מקריא מסך"
#: ../js/ui/status/accessibility.js:91
msgid "Screen Keyboard"
msgstr "מקלדת מסך"
#: ../js/ui/status/accessibility.js:94
msgid "Visual Alerts"
msgstr "התראות חזותיות"
#: ../js/ui/status/accessibility.js:97
msgid "Sticky Keys"
msgstr "מקשים דביקים"
#: ../js/ui/status/accessibility.js:100
msgid "Slow Keys"
msgstr "מקשים אטיים"
#: ../js/ui/status/accessibility.js:103
msgid "Bounce Keys"
msgstr "מקשים קופצים"
#: ../js/ui/status/accessibility.js:106
msgid "Mouse Keys"
msgstr "מקשי עכבר"
#: ../js/ui/status/accessibility.js:110
msgid "Universal Access Settings"
msgstr "הגדרות גישה אוניברסלית"
#: ../js/ui/status/accessibility.js:163
msgid "High Contrast"
msgstr "ניגודיות גבוהה"
#: ../js/ui/status/accessibility.js:202
msgid "Large Text"
msgstr "טקסט גדול"
#: ../js/ui/status/accessibility.js:223
msgid "Zoom"
msgstr "תקריב"
#: ../js/ui/windowAttentionHandler.js:43
#, c-format
msgid "%s has finished starting"
msgstr "%s סיים את תהליך ההתחלה"
#: ../js/ui/windowAttentionHandler.js:49
#: ../js/ui/windowAttentionHandler.js:45
#, c-format
msgid "'%s' is ready"
msgstr "'%s' מוכן"
#: ../js/ui/workspacesView.js:237
#: ../js/ui/workspacesView.js:229
msgid ""
"Can't add a new workspace because maximum workspaces limit has been reached."
msgstr "לא ניתן להוסיף מרחבי עבודה כיוון שהם ממלאים את המכסה המרבית."
#: ../js/ui/workspacesView.js:254
#: ../js/ui/workspacesView.js:246
msgid "Can't remove the first workspace."
msgstr "לא ניתן להסיר את מרחב העבודה הראשון."
#: ../src/shell-global.c:1039
#. translators:
#. * The number of sound outputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1094
#, c-format
msgid "%u Output"
msgid_plural "%u Outputs"
msgstr[0] "פלט אחד"
msgstr[1] "%u פלטים"
msgstr[2] "2 פלטים"
#. translators:
#. * The number of sound inputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1104
#, c-format
msgid "%u Input"
msgid_plural "%u Inputs"
msgstr[0] "קלט אחד"
msgstr[1] "%u קלטים"
msgstr[2] "2 קלטים"
#: ../src/gvc/gvc-mixer-control.c:1402
msgid "System Sounds"
msgstr "צלילי מערכת"
#: ../src/shell-global.c:1219
msgid "Less than a minute ago"
msgstr "לפני פחות מדקה"
#: ../src/shell-global.c:1043
#: ../src/shell-global.c:1223
#, c-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "לפני דקה"
msgstr[1] "לפני %d דקות"
msgstr[2] "לפני 2 דקות"
#: ../src/shell-global.c:1048
#: ../src/shell-global.c:1228
#, c-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
msgstr[0] "לפני שעה"
msgstr[1] "לפני %d שעות"
msgstr[2] "לפני שעתיים"
#: ../src/shell-global.c:1053
#: ../src/shell-global.c:1233
#, c-format
msgid "%d day ago"
msgid_plural "%d days ago"
msgstr[0] "לפני יום"
msgstr[1] "לפני %d ימים"
msgstr[2] "לפני יומיים"
#: ../src/shell-global.c:1058
#: ../src/shell-global.c:1238
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
msgstr[0] "לפני שבוע"
msgstr[1] "לפני %d שבועות"
msgstr[2] "לפני שבועיים"
#: ../src/shell-uri-util.c:89
msgid "Home Folder"
@ -508,7 +761,7 @@ msgstr "מערכת הקבצים"
#: ../src/shell-uri-util.c:250
msgid "Search"
msgstr "חפש"
msgstr "חיפוש"
#. Translators: the first string is the name of a gvfs
#. * method, and the second string is a path. For
@ -520,8 +773,14 @@ msgstr "חפש"
msgid "%1$s: %2$s"
msgstr "%1$s: %2$s"
#~ msgid "Quit %s"
#~ msgstr "יציאה מ־%s"
#~ msgid "Account Information..."
#~ msgstr "פרטי המשתמש..."
#~ msgid "ON"
#~ msgstr "1"
#~ msgid "OFF"
#~ msgstr "0"
#~ msgid "PLACES"
#~ msgstr "מקומות"

414
po/hu.po
View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-03-24 14:25+0100\n"
"PO-Revision-Date: 2010-03-24 14:26+0100\n"
"POT-Creation-Date: 2010-08-29 19:43+0200\n"
"PO-Revision-Date: 2010-08-29 19:43+0200\n"
"Last-Translator: Gabor Kelemen <kelemeng at gnome dot hu>\n"
"Language-Team: Hungarian <gnome at fsf dot hu>\n"
"MIME-Version: 1.0\n"
@ -25,32 +25,259 @@ msgstr "GNOME Shell"
msgid "Window management and application launching"
msgstr "Ablakkezelés és alkalmazásindítás"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:1
msgid "Clock"
msgstr "Óra"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:2
msgid "Customize the panel clock"
msgstr "A panel órájának személyre szabása"
#: ../data/org.gnome.shell.gschema.xml.in.h:1
msgid ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog."
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 "Custom format of the clock"
msgstr "Egyéni óraformátum"
#: ../data/org.gnome.shell.gschema.xml.in.h:3
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:4
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:5
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:6
msgid ""
"GNOME Shell extensions have a uuid property; this key lists extensions which "
"should not be loaded."
msgstr ""
"A GNOME Shell kiterjesztések rendelkeznek egy uuid tulajdonsággal; ez a "
"kulcs felsorolja a be nem töltendő kiterjesztéseket."
#: ../data/org.gnome.shell.gschema.xml.in.h:7
msgid "History for command (Alt-F2) dialog"
msgstr "A parancsablak (Alt-F2) előzményei"
#: ../data/org.gnome.shell.gschema.xml.in.h:8
msgid "Hour format"
msgstr "Óraformátum"
#: ../data/org.gnome.shell.gschema.xml.in.h:9
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display date in the "
"clock, in addition to time."
msgstr ""
"Ha igaz, és az időformátum „12-hour” vagy „24-hour”, akkor az idő mellett a "
"dátumot is megjeleníti az óra."
#: ../data/org.gnome.shell.gschema.xml.in.h:10
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display seconds in "
"time."
msgstr ""
"Ha igaz, és az időformátum „12-hour” vagy „24-hour”, akkor az időben a "
"másodperceket is megjeleníti."
#: ../data/org.gnome.shell.gschema.xml.in.h:11
msgid "If true, display the ISO week date in the calendar."
msgstr "Ha be van állítva, a naptárban megjeleníti az ISO hétszámot."
#: ../data/org.gnome.shell.gschema.xml.in.h:12
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:13
msgid "Overview workspace view mode"
msgstr "Áttekintés munkaterületnézet-módja"
#: ../data/org.gnome.shell.gschema.xml.in.h:14
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 ! theoraenc ! oggmux' and records to Ogg Theora."
msgstr ""
"Beállítja a felvételek kódolásához használt GStreamer adatcsatornát. A gst-"
"launch szintaxisát követi. Az adatcsatornának rendelkeznie kell egy nem "
"csatlakoztatott nyelőkitöltővel, ahová a felvett videó felvételre kerül. "
"Normális esetben rendelkezni fog egy nem csatlakoztatott nyelőkitöltővel, "
"amely kitöltő kimenete a kimeneti fájlba kerül kiírásra. Azonban az "
"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: „videorate ! theoraenc ! "
"oggmux” és Ogg Theora formátumba rögzít."
#: ../data/org.gnome.shell.gschema.xml.in.h:15
msgid "Show date in clock"
msgstr "Dátum megjelenítése az órában"
#: ../data/org.gnome.shell.gschema.xml.in.h:16
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:17
msgid "Show time with seconds"
msgstr "Másodpercek megjelenítése"
#: ../data/org.gnome.shell.gschema.xml.in.h:18
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:19
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 ""
"A rögzített képernyővideók fájlneve az aktuális dátumon alapuló egyedi "
"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:20
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:21
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:22
msgid ""
"The selected workspace view mode in the overview. Supported values are "
"\"single\" and \"grid\"."
msgstr ""
"Az áttekintésben kiválasztott munkaterületnézet-mód. A támogatott értékek a "
"„single” és a „grid”."
#: ../data/org.gnome.shell.gschema.xml.in.h:23
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:24
msgid ""
"This key specifies the format used by the panel clock when the format key is "
"set to \"custom\". You can use conversion specifiers understood by strftime"
"() to obtain a specific format. See the strftime() manual for more "
"information."
msgstr ""
"Ez a kulcs megadja a panelóra által használt formátumot, ha a format kulcs "
"értéke „custom”. Használhat a strftime() által értelmezhető konverziós "
"előírásokat speciális formátumok előállításához. További információkért "
"tekintse meg az strftime() kézikönyvét."
#: ../data/org.gnome.shell.gschema.xml.in.h:25
msgid ""
"This key specifies the hour format used by the panel clock. Possible values "
"are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", "
"the clock will display time in seconds since Epoch, i.e. 1970-01-01. If set "
"to \"custom\", the clock will display time according to the format specified "
"in the custom_format key. Note that if set to either \"unix\" or \"custom\", "
"the show_date and show_seconds keys are ignored."
msgstr ""
"Ez a kulcs megadja a panelóra által használt időformátumot. Lehetséges "
"értékek: „12-hour” (12 órás), „24-hour” (24 órás), „unix” és "
"„custom” (egyéni). Ha az érték „unix”, az óra az 1970-01-01 óta eltelt időt "
"mutatja másodpercekben. Ha az érték „custom”, az óra a custom_format "
"kulcsban megadott formátumnak megfelelően fogja az időt mutatni. Ne feledje, "
"hogy ha a „unix” vagy „custom” egyikének használata esetén a show_date és "
"show_seconds kulcsok figyelmen kívül maradnak."
#: ../data/org.gnome.shell.gschema.xml.in.h:26
msgid "Uuids of extensions to disable"
msgstr "Letiltandó kiterjesztések uuid-jei"
#: ../data/org.gnome.shell.gschema.xml.in.h:27
msgid "Whether to collect stats about applications usage"
msgstr "Statisztikák gyűjtése alkalmazások használatáról"
#: ../data/clock-preferences.ui.h:1
msgid "Clock Format"
msgstr "Óraformátum"
#: ../data/clock-preferences.ui.h:2
msgid "Clock Preferences"
msgstr "Óra beállításai"
#: ../data/clock-preferences.ui.h:3
msgid "Panel Display"
msgstr "Megjelenés a panelen"
#: ../data/clock-preferences.ui.h:4
msgid "Show seco_nds"
msgstr "_Másodpercek megjelenítése"
#: ../data/clock-preferences.ui.h:5
msgid "Show the _date"
msgstr "Dát_um megjelenítése"
#: ../data/clock-preferences.ui.h:6
msgid "_12 hour format"
msgstr "_12 órás formátum"
#: ../data/clock-preferences.ui.h:7
msgid "_24 hour format"
msgstr "2_4 órás formátum"
#. **** Applications ****
#: ../js/ui/appDisplay.js:311 ../js/ui/dash.js:852
#: ../js/ui/appDisplay.js:384 ../js/ui/dash.js:778
msgid "APPLICATIONS"
msgstr "ALKALMAZÁSOK"
#: ../js/ui/appDisplay.js:343
#: ../js/ui/appDisplay.js:416
msgid "PREFERENCES"
msgstr "BEÁLLÍTÁSOK"
#: ../js/ui/appDisplay.js:729
#: ../js/ui/appDisplay.js:721
msgid "New Window"
msgstr "Új ablak"
#: ../js/ui/appDisplay.js:733
#: ../js/ui/appDisplay.js:725
msgid "Remove from Favorites"
msgstr "Eltávolítás a Kedvencek közül"
#: ../js/ui/appDisplay.js:734
#: ../js/ui/appDisplay.js:726
msgid "Add to Favorites"
msgstr "Hozzáadás a Kedvencekhez"
#: ../js/ui/appDisplay.js:1086
#: ../js/ui/appDisplay.js:1033
msgid "Drag here to add favorites"
msgstr "Ide húzással kedvenceket vehet fel"
#: ../js/ui/appFavorites.js:89
#: ../js/ui/appFavorites.js:88
#, c-format
msgid "%s has been added to your favorites."
msgstr "%s felvéve a Kedvencek közé."
@ -60,189 +287,235 @@ msgstr "%s felvéve a Kedvencek közé."
msgid "%s has been removed from your favorites."
msgstr "%s eltávolítva a Kedvencek közül"
#: ../js/ui/dash.js:194
#: ../js/ui/dash.js:142
msgid "Find"
msgstr "Keresés"
#: ../js/ui/dash.js:507
#: ../js/ui/dash.js:473
msgid "Searching..."
msgstr "Keresés…"
#: ../js/ui/dash.js:521
#: ../js/ui/dash.js:487
msgid "No matching results."
msgstr "Nincs találat."
#. **** Places ****
#. Translators: This is in the sense of locations for documents,
#. network locations, etc.
#: ../js/ui/dash.js:871 ../js/ui/placeDisplay.js:580
#: ../js/ui/dash.js:797 ../js/ui/placeDisplay.js:554
msgid "PLACES & DEVICES"
msgstr "HELYEK ÉS ESZKÖZÖK"
#. **** Documents ****
#: ../js/ui/dash.js:878 ../js/ui/docDisplay.js:488
#: ../js/ui/dash.js:804 ../js/ui/docDisplay.js:494
msgid "RECENT ITEMS"
msgstr "LEGUTÓBBI ELEMEK"
#: ../js/ui/lookingGlass.js:363
#: ../js/ui/lookingGlass.js:552
msgid "No extensions installed"
msgstr "Nincsenek kiterjesztések telepítve"
#: ../js/ui/lookingGlass.js:400
#: ../js/ui/lookingGlass.js:589
msgid "Enabled"
msgstr "Engedélyezve"
#: ../js/ui/lookingGlass.js:402
#: ../js/ui/lookingGlass.js:591
msgid "Disabled"
msgstr "Tiltva"
#: ../js/ui/lookingGlass.js:404
#: ../js/ui/lookingGlass.js:593
msgid "Error"
msgstr "Hiba"
#: ../js/ui/lookingGlass.js:406
#: ../js/ui/lookingGlass.js:595
msgid "Out of date"
msgstr "Elavult"
#: ../js/ui/lookingGlass.js:431
#: ../js/ui/lookingGlass.js:620
msgid "View Source"
msgstr "Forrás megtekintése"
#: ../js/ui/lookingGlass.js:437
#: ../js/ui/lookingGlass.js:626
msgid "Web Page"
msgstr "Weblap"
#: ../js/ui/overview.js:182
#: ../js/ui/overview.js:160
msgid "Undo"
msgstr "Visszavonás"
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:385
msgid "Activities"
msgstr "Tevékenységek"
#. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:473
#, c-format
msgid "Quit %s"
msgstr "%s bezárása"
#. Translators: This is the time format used in 24-hour mode.
#: ../js/ui/panel.js:616
#: ../js/ui/panel.js:498
msgid "Preferences"
msgstr "Beállítások"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/panel.js:584
msgid "%a %b %e, %R:%S"
msgstr "%a %b %e, %k.%M.%S"
#: ../js/ui/panel.js:585
msgid "%a %b %e, %R"
msgstr "%a %b %e, %k.%M"
#. Translators: This is the time format without date used
#. in 24-hour mode.
#: ../js/ui/panel.js:589
msgid "%a %R:%S"
msgstr "%a %k.%M.%S"
#: ../js/ui/panel.js:590
msgid "%a %R"
msgstr "%a %R"
msgstr "%a %k.%M"
#. Translators: This is a time format used for AM/PM.
#: ../js/ui/panel.js:619
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/panel.js:597
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a %b %e, %p %l.%M.%S"
#: ../js/ui/panel.js:598
msgid "%a %b %e, %l:%M %p"
msgstr "%a %b %e, %p %l.%M"
#. Translators: This is a time format without date used
#. for AM/PM.
#: ../js/ui/panel.js:602
msgid "%a %l:%M:%S %p"
msgstr "%a, %p %l.%M.%S"
#: ../js/ui/panel.js:603
msgid "%a %l:%M %p"
msgstr "%a, %p %l.%M"
#: ../js/ui/placeDisplay.js:103
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:748
msgid "Activities"
msgstr "Tevékenységek"
#: ../js/ui/placeDisplay.js:111
#, c-format
msgid "Failed to unmount '%s'"
msgstr "„%s” leválasztása meghiúsult"
#: ../js/ui/placeDisplay.js:106
#: ../js/ui/placeDisplay.js:114
msgid "Retry"
msgstr "Újra"
#: ../js/ui/placeDisplay.js:151
#: ../js/ui/placeDisplay.js:159
msgid "Connect to..."
msgstr "Kapcsolódás…"
#: ../js/ui/runDialog.js:232
#. Translators: the "ON" and "OFF" strings are used in the
#. toggle switches in the status area menus, and must be SHORT.
#. If you don't have suitable short words, consider initials,
#. "0"/"1", "⚪"/"⚫", etc.
#: ../js/ui/popupMenu.js:30 ../js/ui/popupMenu.js:40
msgid "ON"
msgstr "BE"
#: ../js/ui/popupMenu.js:31 ../js/ui/popupMenu.js:45
msgid "OFF"
msgstr "KI"
#: ../js/ui/runDialog.js:233
msgid "Please enter a command:"
msgstr "Adjon meg egy parancsot:"
#: ../js/ui/runDialog.js:376
#: ../js/ui/runDialog.js:378
#, c-format
msgid "Execution of '%s' failed:"
msgstr "„%s” végrehajtása meghiúsult:"
#: ../js/ui/statusMenu.js:107
#: ../js/ui/statusMenu.js:91
msgid "Available"
msgstr "Elérhető"
#: ../js/ui/statusMenu.js:112
#: ../js/ui/statusMenu.js:95
msgid "Busy"
msgstr "Elfoglalt"
#: ../js/ui/statusMenu.js:117
#: ../js/ui/statusMenu.js:99
msgid "Invisible"
msgstr "Láthatatlan"
#: ../js/ui/statusMenu.js:126
#: ../js/ui/statusMenu.js:106
msgid "Account Information..."
msgstr "Fiókinformációk…"
#: ../js/ui/statusMenu.js:132
msgid "Sidebar"
msgstr "Oldalsáv"
#: ../js/ui/statusMenu.js:142
#: ../js/ui/statusMenu.js:110
msgid "System Preferences..."
msgstr "Rendszerbeállítások…"
#: ../js/ui/statusMenu.js:151
#: ../js/ui/statusMenu.js:117
msgid "Lock Screen"
msgstr "Képernyő zárolása"
#: ../js/ui/statusMenu.js:156
#: ../js/ui/statusMenu.js:121
msgid "Switch User"
msgstr "Felhasználóváltás"
#: ../js/ui/statusMenu.js:162
#: ../js/ui/statusMenu.js:126
msgid "Log Out..."
msgstr "Kijelentkezés…"
#: ../js/ui/statusMenu.js:167
#: ../js/ui/statusMenu.js:130
msgid "Shut Down..."
msgstr "Leállítás…"
#. Translators: This is a time format.
#: ../js/ui/widget.js:163
msgid "%H:%M"
msgstr "%k.%M"
#: ../js/ui/widget.js:317
msgid "Applications"
msgstr "Alkalmazások"
#: ../js/ui/widget.js:339
msgid "Recent Documents"
msgstr "Legutóbbi dokumentumok"
#: ../js/ui/windowAttentionHandler.js:47
#: ../js/ui/windowAttentionHandler.js:43
#, c-format
msgid "%s has finished starting"
msgstr "%s indítása befejeződött"
#: ../js/ui/windowAttentionHandler.js:49
#: ../js/ui/windowAttentionHandler.js:45
#, c-format
msgid "'%s' is ready"
msgstr "„%s” kész"
#: ../src/shell-global.c:967
#: ../js/ui/workspacesView.js:230
msgid ""
"Can't add a new workspace because maximum workspaces limit has been reached."
msgstr ""
"Nem vehető fel új munkaterület, mert már elérte a munkaterületek számának "
"felső korlátját."
#: ../js/ui/workspacesView.js:247
msgid "Can't remove the first workspace."
msgstr "Az első munkaterület nem távolítható el."
#: ../src/shell-global.c:1105
msgid "Less than a minute ago"
msgstr "Kevesebb, mint egy perce"
#: ../src/shell-global.c:971
#: ../src/shell-global.c:1109
#, c-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "%d perce"
msgstr[1] "%d perce"
#: ../src/shell-global.c:976
#: ../src/shell-global.c:1114
#, c-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
msgstr[0] "%d órája"
msgstr[1] "%d órája"
#: ../src/shell-global.c:981
#: ../src/shell-global.c:1119
#, c-format
msgid "%d day ago"
msgid_plural "%d days ago"
msgstr[0] "%d napja"
msgstr[1] "%d napja"
#: ../src/shell-global.c:986
#: ../src/shell-global.c:1124
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
@ -272,4 +545,3 @@ msgstr "Oldalsáv"
#, c-format
msgid "%1$s: %2$s"
msgstr "%1$s: %2$s"

511
po/it.po
View File

@ -1,15 +1,16 @@
# Italian translations for gnome-shell package.
# Copyright (C) 2009 the gnome-shell copyright holder
# Copyright (C) 2009, 2010 the gnome-shell copyright holder
# This file is distributed under the same license as the gnome-shell package.
#
# Milo Casagrande <milo@ubuntu.com>, 2009, 2010.
# Luca Ferretti <elle.uca@infinito.it>, 2010.
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-06-06 14:37+0200\n"
"PO-Revision-Date: 2010-06-06 14:47+0200\n"
"Last-Translator: Milo Casagrande <milo@ubuntu.com>\n"
"POT-Creation-Date: 2010-10-18 10:54+0200\n"
"PO-Revision-Date: 2010-10-18 11:04+0200\n"
"Last-Translator: Luca Ferretti <elle.uca@infinito.it>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -22,16 +23,335 @@ msgstr "GNOME Shell"
#: ../data/gnome-shell.desktop.in.in.h:2
msgid "Window management and application launching"
msgstr "Gestione finestre e avvio applicazioni"
msgstr "Gestisce finestre e avvia applicazioni"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:1
msgid "Clock"
msgstr "Orologio\t"
msgstr "Orologio"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:2
msgid "Customize the panel clock"
msgstr "Personalizza l'orologio sul pannello"
#: ../data/org.gnome.shell.gschema.xml.in.h:1
msgid ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog."
msgstr ""
"Consente l'accesso agli strumenti interni di debug e monitoraggio "
"utilizzando il dialogo Alt-F2."
#: ../data/org.gnome.shell.gschema.xml.in.h:2
msgid "Custom format of the clock"
msgstr "Formato personalizzato dell'orologio"
#: ../data/org.gnome.shell.gschema.xml.in.h:3
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr ""
"Abilita gli strumenti interni utili a sviluppatori e beta-tester attraverso "
"Alt-F2"
#: ../data/org.gnome.shell.gschema.xml.in.h:4
msgid "File extension used for storing the screencast"
msgstr "Estensione del file utilizzato per salvare lo screencast"
#: ../data/org.gnome.shell.gschema.xml.in.h:5
msgid "Framerate used for recording screencasts."
msgstr "Framerate per la registrazione di screencast."
#: ../data/org.gnome.shell.gschema.xml.in.h:6
msgid ""
"GNOME Shell extensions have a uuid property; this key lists extensions which "
"should not be loaded."
msgstr ""
"Le estensioni per la GNOME Shell dispongono di una proprietà UUID: questa "
"chiave elenca le estensioni che non dovrebbero essere caricate."
#: ../data/org.gnome.shell.gschema.xml.in.h:7
msgid "History for command (Alt-F2) dialog"
msgstr "Cronologia per il dialogo dei comandi (Alt-F2)"
#: ../data/org.gnome.shell.gschema.xml.in.h:8
msgid "Hour format"
msgstr "Formato orario"
#: ../data/org.gnome.shell.gschema.xml.in.h:9
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display date in the "
"clock, in addition to time."
msgstr ""
"Se VERO e il formato è \"12-hour\" oppure \"24-hour\", visualizza anche la "
"data nell'orologio oltre all'orario."
#: ../data/org.gnome.shell.gschema.xml.in.h:10
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display seconds in "
"time."
msgstr ""
"Se VERO e il formato è \"12-hour\" oppure \"24-hour\", visualizza i secondi "
"nell'ora."
#: ../data/org.gnome.shell.gschema.xml.in.h:11
msgid "If true, display the ISO week date in the calendar."
msgstr "Se VERO, visualizza il giorno della settimana ISO nel calendario."
#: ../data/org.gnome.shell.gschema.xml.in.h:12
msgid "List of desktop file IDs for favorite applications"
msgstr "Elenco di ID di file desktop per le applicazioni preferite"
# (ndt) lunga, ma non è che l'originale aiuti molto...
#: ../data/org.gnome.shell.gschema.xml.in.h:13
msgid "Overview workspace view mode"
msgstr "Modalità di visualizzazione degli spazi di lavoro nella panoramica"
#: ../data/org.gnome.shell.gschema.xml.in.h:14
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 ! theoraenc ! oggmux' and records to Ogg Theora."
msgstr ""
"Imposta la pipeline di GStreamer utilizzata per codificare le registrazioni, "
"seguendo la sintassi di gst-launch. La pipeline dovrebbe disporre di un sink "
"pad scollegato dove il video viene effettivamente registrato. Dispone "
"normalmente di un pad sorgente scollegato: l'output da quel pad viene "
"scritto nel file di uscita. La pipeline può comunque gestire autonomamente "
"il proprio output: questo può essere utile per inviare l'output verso un "
"server icecast attraverso shout2send o simili. Quando non impostata o senza "
"alcun valore, viene usata la pipeline predefinita il cui valore è "
"\"videorate ! theoraenc ! oggmux\" e che registra nel formato Ogg Theora."
#: ../data/org.gnome.shell.gschema.xml.in.h:15
msgid "Show date in clock"
msgstr "Mostra la data nell'orologio"
#: ../data/org.gnome.shell.gschema.xml.in.h:16
msgid "Show the week date in the calendar"
msgstr "Mostra il giorno della settimana nel calendario"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "Show time with seconds"
msgstr "Mostra l'ora con i secondi"
#: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid ""
"The applications corresponding to these identifiers will be displayed in the "
"favorites area."
msgstr ""
"Le applicazioni che corrispondono a questi identificatori vengono "
"visualizzate nell'area dei preferiti."
#: ../data/org.gnome.shell.gschema.xml.in.h:19
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 ""
"Il nome del file degli screencast registrati è un nome unico basato sulla "
"data corrente e utilizza questa estensione. Dovrebbe essere modificato "
"quando si registra utilizzando un diverso formato contenitore."
#: ../data/org.gnome.shell.gschema.xml.in.h:20
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
msgstr ""
"Il framerate in fotogrammi al secondo dello screencast registrato attraverso "
"il registratore della GNOME Shell."
#: ../data/org.gnome.shell.gschema.xml.in.h:21
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "La pipeline di gstreamer utilizzata per codificare lo screencast"
#: ../data/org.gnome.shell.gschema.xml.in.h:22
msgid ""
"The selected workspace view mode in the overview. Supported values are "
"\"single\" and \"grid\"."
msgstr ""
"La modalità di visualizzazione degli spazi di lavoro nella panoramica. I "
"valori supportati sono \"single\" e \"grid\"."
# (ndt) quel "in launchers" non mi convince...
#: ../data/org.gnome.shell.gschema.xml.in.h:23
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 ""
"La shell controlla le applicazioni attive per poter mostrare le più usate "
"(come nei lanciatori). Anche se i dati raccolti restano privati, è possibile "
"disabilitare questa funzionalità per motivi di privacy. I dati già salvati "
"non verranno comunque rimossi."
#: ../data/org.gnome.shell.gschema.xml.in.h:24
msgid ""
"This key specifies the format used by the panel clock when the format key is "
"set to \"custom\". You can use conversion specifiers understood by strftime"
"() to obtain a specific format. See the strftime() manual for more "
"information."
msgstr ""
"Questa chiave indica il formato usato dall'orologio nel pannello quando la "
"chiave specifica è impostata a \"custom\". È possibile utilizzare gli "
"specificatori di formato compatibili con strftime(). Per maggiori "
"informazioni, consultare il manuale di strftime()."
#: ../data/org.gnome.shell.gschema.xml.in.h:25
msgid ""
"This key specifies the hour format used by the panel clock. Possible values "
"are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", "
"the clock will display time in seconds since Epoch, i.e. 1970-01-01. If set "
"to \"custom\", the clock will display time according to the format specified "
"in the custom_format key. Note that if set to either \"unix\" or \"custom\", "
"the show_date and show_seconds keys are ignored."
msgstr ""
"Questa chiave indica il formato orario usato dall'orologio. I possibili "
"valori sono \"12-hour\", \"24-hour\", \"unix\" e \"custom\". Se impostata a "
"\"unix\", l'orologio visualizza l'ora in secondi a partire dall'era Epoch, "
"cioè dal 1970-01-01. Se impostata a \"custom\", l'orologio visualizza l'ora "
"in base al formato specificato nella chiave custom_format. Notare che se "
"impostata a \"unix\" o \"custom\", le chiavi show_date e show_seconds non "
"vengono considerate."
#: ../data/org.gnome.shell.gschema.xml.in.h:26
msgid "Uuids of extensions to disable"
msgstr "UUID delle estensioni da disabilitare"
#: ../data/org.gnome.shell.gschema.xml.in.h:27
msgid "Whether to collect stats about applications usage"
msgstr ""
"Indica se raccogliere statistiche riguardo l'utilizzo delle applicazioni"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:1
msgid "Clip the crosshairs at the center"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:2
msgid "Color of the crosshairs"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:3
msgid ""
"Determines the length of the vertical and horizontal lines that make up the "
"crosshairs."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:4
msgid ""
"Determines the position of the magnified mouse image within the magnified "
"view and how it reacts to system mouse movement. The values are - none: no "
"mouse tracking; - centered: the mouse image is displayed at the center of "
"the zoom region (which also represents the point under the system mouse) and "
"the magnified contents are scrolled as the system mouse moves; - "
"proportional: the position of the magnified mouse in the zoom region is "
"proportionally the same as the position of the system mouse on screen; - "
"push: when the magnified mouse intersects a boundary of the zoom region, the "
"contents are scrolled into view."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:5
msgid ""
"Determines the transparency of the crosshairs, from fully opaque to fully "
"transparent."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:6
msgid ""
"Determines whether the crosshairs intersect the magnified mouse sprite, or "
"are clipped such that the ends of the horizontal and vertical lines surround "
"the mouse image."
msgstr ""
# (ndt) o abilitata?
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:7
msgid "Enable lens mode"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:8
msgid ""
"Enables/disables display of crosshairs centered on the magnified mouse "
"sprite."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:9
msgid ""
"For centered mouse tracking, when the system pointer is at or near the edge "
"of the screen, the magnified contents continue to scroll such that the "
"screen edge moves into the magnified view."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:10
msgid "Length of the crosshairs"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:11
msgid "Magnification factor"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:12
msgid "Mouse Tracking Mode"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:13
msgid "Opacity of the crosshairs"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:14
msgid "Screen position"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:15
msgid "Scroll magnified contents beyond the edges of the desktop"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:16
msgid "Show or hide crosshairs"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:17
msgid "Show or hide the magnifier"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:18
msgid "Show or hide the magnifier and all of its zoom regions."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:19
msgid ""
"The color of the the vertical and horizontal lines that make up the "
"crosshairs."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:20
msgid ""
"The magnified view either fills the entire screen, or occupies the top-half, "
"bottom-half, left-half, or right-half of the screen."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:21
msgid ""
"The power of the magnification. A value of 1.0 means no magnification. A "
"value of 2.0 doubles the size."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:22
msgid "Thickness of the crosshairs"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:23
msgid ""
"Whether the magnified view should be centered over the location of the "
"system mouse and move with it."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:24
msgid "Width of the vertical and horizontal lines that make up the crosshairs."
msgstr ""
#: ../data/clock-preferences.ui.h:1
msgid "Clock Format"
msgstr "Formato ora"
@ -61,31 +381,33 @@ msgid "_24 hour format"
msgstr "Formato _24 ore"
#. **** Applications ****
#: ../js/ui/appDisplay.js:366 ../js/ui/dash.js:858
#: ../js/ui/appDisplay.js:316 ../js/ui/dash.js:778
msgid "APPLICATIONS"
msgstr "Applicazioni"
#: ../js/ui/appDisplay.js:398
#: ../js/ui/appDisplay.js:348
msgid "PREFERENCES"
msgstr "Preferenze"
#: ../js/ui/appDisplay.js:770
#: ../js/ui/appDisplay.js:648
msgid "New Window"
msgstr "Nuova finestra"
#: ../js/ui/appDisplay.js:774
#: ../js/ui/appDisplay.js:652
msgid "Remove from Favorites"
msgstr "Rimuovi dai preferiti"
#: ../js/ui/appDisplay.js:775
#: ../js/ui/appDisplay.js:653
msgid "Add to Favorites"
msgstr "Aggiungi ai preferiti"
#: ../js/ui/appDisplay.js:1102
#: ../js/ui/appDisplay.js:830
msgid "Drag here to add favorites"
msgstr "Trascinare qui per aggiungere ai preferiti"
#: ../js/ui/appFavorites.js:89
# (ndt) e usare:
# L'elemento %s è stato rimosso... ?
#: ../js/ui/appFavorites.js:88
#, c-format
msgid "%s has been added to your favorites."
msgstr "%s è stato aggiunto ai preferiti."
@ -95,219 +417,282 @@ msgstr "%s è stato aggiunto ai preferiti."
msgid "%s has been removed from your favorites."
msgstr "%s è stato rimosso dai preferiti."
#: ../js/ui/dash.js:189
#: ../js/ui/dash.js:142
msgid "Find"
msgstr "Trova"
#: ../js/ui/dash.js:513
#: ../js/ui/dash.js:473
msgid "Searching..."
msgstr "Ricerca..."
#: ../js/ui/dash.js:527
#: ../js/ui/dash.js:487
msgid "No matching results."
msgstr "Nessun risultato."
#. **** Places ****
#. Translators: This is in the sense of locations for documents,
#. network locations, etc.
#: ../js/ui/dash.js:877 ../js/ui/placeDisplay.js:551
#: ../js/ui/dash.js:797 ../js/ui/placeDisplay.js:554
msgid "PLACES & DEVICES"
msgstr "Risorse e dispositivi"
#. **** Documents ****
#: ../js/ui/dash.js:884 ../js/ui/docDisplay.js:497
#: ../js/ui/dash.js:804 ../js/ui/docDisplay.js:494
msgid "RECENT ITEMS"
msgstr "Elementi recenti"
#: ../js/ui/lookingGlass.js:475
#: ../js/ui/lookingGlass.js:552
msgid "No extensions installed"
msgstr "Nessuna estensione installata"
# (ndt) o abilitata?
#: ../js/ui/lookingGlass.js:512
#: ../js/ui/lookingGlass.js:589
msgid "Enabled"
msgstr "Abilitato"
# (ndt) o disabilitata?
#: ../js/ui/lookingGlass.js:514
#: ../js/ui/lookingGlass.js:591
msgid "Disabled"
msgstr "Disabilitato"
#: ../js/ui/lookingGlass.js:516
#: ../js/ui/lookingGlass.js:593
msgid "Error"
msgstr "Errore"
#: ../js/ui/lookingGlass.js:518
#: ../js/ui/lookingGlass.js:595
msgid "Out of date"
msgstr "Non aggiornato"
#: ../js/ui/lookingGlass.js:543
#: ../js/ui/lookingGlass.js:620
msgid "View Source"
msgstr "Visualizza sorgente"
#: ../js/ui/lookingGlass.js:549
#: ../js/ui/lookingGlass.js:626
msgid "Web Page"
msgstr "Pagina web"
#: ../js/ui/overview.js:161
#: ../js/ui/overview.js:160
msgid "Undo"
msgstr "Annulla"
#. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:468
#, c-format
msgid "Quit %s"
msgstr "Chiudi %s"
#: ../js/ui/panel.js:493
msgid "Preferences"
msgstr "Preferenze"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/panel.js:945
#: ../js/ui/panel.js:579
msgid "%a %b %e, %R:%S"
msgstr "%a %e %b, %k.%M.%S"
# (ndt) proviamo col k, se non funge, sappiamo il perché...
#: ../js/ui/panel.js:946
#: ../js/ui/panel.js:580
msgid "%a %b %e, %R"
msgstr "%a %e %b, %k.%M"
#. Translators: This is the time format without date used
#. in 24-hour mode.
#: ../js/ui/panel.js:950
#: ../js/ui/panel.js:584
msgid "%a %R:%S"
msgstr "%a %k.%M.%S"
#: ../js/ui/panel.js:951
#: ../js/ui/panel.js:585
msgid "%a %R"
msgstr "%a %k.%M"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/panel.js:958
#: ../js/ui/panel.js:592
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a %e %b, %l.%M.%S %P"
#: ../js/ui/panel.js:959
#: ../js/ui/panel.js:593
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/panel.js:963
#: ../js/ui/panel.js:597
msgid "%a %l:%M:%S %p"
msgstr "%a %l.%M.%S %P"
#: ../js/ui/panel.js:964
#: ../js/ui/panel.js:598
msgid "%a %l:%M %p"
msgstr "%a %l.%M %P"
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:1065
#: ../js/ui/panel.js:743
msgid "Activities"
msgstr "Attività"
# (ndt) libera, ma unmount non si può proprio vedere...
#: ../js/ui/placeDisplay.js:108
#: ../js/ui/placeDisplay.js:111
#, c-format
msgid "Failed to unmount '%s'"
msgstr "Impossibile scollegare «%s»"
#: ../js/ui/placeDisplay.js:111
#: ../js/ui/placeDisplay.js:114
msgid "Retry"
msgstr "Riprova"
#: ../js/ui/placeDisplay.js:156
#: ../js/ui/placeDisplay.js:159
msgid "Connect to..."
msgstr "Connetti a..."
#: ../js/ui/runDialog.js:231
#. Translators: this MUST be either "toggle-switch-us"
#. (for toggle switches containing the English words
#. "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:33
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
#: ../js/ui/runDialog.js:233
msgid "Please enter a command:"
msgstr "Inserire un comando:"
#: ../js/ui/runDialog.js:375
#: ../js/ui/runDialog.js:378
#, c-format
msgid "Execution of '%s' failed:"
msgstr "Esecuzione di «%s» non riuscita:"
#: ../js/ui/statusMenu.js:91
#: ../js/ui/statusMenu.js:97
msgid "Available"
msgstr "Disponibile"
#: ../js/ui/statusMenu.js:95
#: ../js/ui/statusMenu.js:101
msgid "Busy"
msgstr "Non disponibile"
#: ../js/ui/statusMenu.js:99
#: ../js/ui/statusMenu.js:105
msgid "Invisible"
msgstr "Invisibile"
#: ../js/ui/statusMenu.js:106
#: ../js/ui/statusMenu.js:112
msgid "Account Information..."
msgstr "Informazioni account..."
#: ../js/ui/statusMenu.js:110
msgid "System Preferences..."
msgstr "Preferenze di sistema..."
#: ../js/ui/statusMenu.js:116
msgid "System Settings..."
msgstr "Impostazioni di sistema..."
#: ../js/ui/statusMenu.js:117
#: ../js/ui/statusMenu.js:123
msgid "Lock Screen"
msgstr "Blocca schermo"
#: ../js/ui/statusMenu.js:121
#: ../js/ui/statusMenu.js:127
msgid "Switch User"
msgstr "Cambia utente"
#: ../js/ui/statusMenu.js:126
#: ../js/ui/statusMenu.js:132
msgid "Log Out..."
msgstr "Termina sessione..."
#: ../js/ui/statusMenu.js:130
#: ../js/ui/statusMenu.js:136
msgid "Shut Down..."
msgstr "Arresta..."
#: ../js/ui/windowAttentionHandler.js:47
#: ../js/ui/status/accessibility.js:88
msgid "Screen Reader"
msgstr "Lettore schermo"
#: ../js/ui/status/accessibility.js:91
msgid "Screen Keyboard"
msgstr "Tastiera a schermo"
#: ../js/ui/status/accessibility.js:94
msgid "Visual Alerts"
msgstr "Allerte visive"
#: ../js/ui/status/accessibility.js:97
msgid "Sticky Keys"
msgstr "Permanenza tasti"
#: ../js/ui/status/accessibility.js:100
msgid "Slow Keys"
msgstr "Rallentamento tasti"
#: ../js/ui/status/accessibility.js:103
msgid "Bounce Keys"
msgstr "Pressione ravvicinata tasti"
#: ../js/ui/status/accessibility.js:106
msgid "Mouse Keys"
msgstr "Mouse da tastiera"
#: ../js/ui/status/accessibility.js:110
msgid "Universal Access Settings"
msgstr "Impostazioni accesso universale"
#: ../js/ui/status/accessibility.js:163
msgid "High Contrast"
msgstr "Contrasto elevato"
#: ../js/ui/status/accessibility.js:202
msgid "Large Text"
msgstr "Caratteri grandi"
#: ../js/ui/status/accessibility.js:223
msgid "Zoom"
msgstr "Ingrandimento"
#: ../js/ui/windowAttentionHandler.js:43
#, c-format
msgid "%s has finished starting"
msgstr "Avvio di %s completato"
# (ndt) dovrebbe essere il nome dell'applicazione
#: ../js/ui/windowAttentionHandler.js:49
#: ../js/ui/windowAttentionHandler.js:45
#, c-format
msgid "'%s' is ready"
msgstr "«%s» è pronto"
# (ndt) un po' liberetta...
#: ../js/ui/workspacesView.js:237
#: ../js/ui/workspacesView.js:230
msgid ""
"Can't add a new workspace because maximum workspaces limit has been reached."
msgstr ""
"Impossibile aggiungere un nuovo spazio di lavoro: raggiunto il limite "
"massimo consentito."
#: ../js/ui/workspacesView.js:254
#: ../js/ui/workspacesView.js:247
msgid "Can't remove the first workspace."
msgstr "Impossibile rimuovere il primo spazio di lavoro."
#: ../src/shell-global.c:1025
#: ../src/shell-global.c:1196
msgid "Less than a minute ago"
msgstr "Meno di un minuto fa"
#: ../src/shell-global.c:1029
#: ../src/shell-global.c:1200
#, c-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "%d minuto fa"
msgstr[1] "%d minuti fa"
#: ../src/shell-global.c:1034
#: ../src/shell-global.c:1205
#, c-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
msgstr[0] "%d ora fa"
msgstr[1] "%d ore fa"
#: ../src/shell-global.c:1039
#: ../src/shell-global.c:1210
#, c-format
msgid "%d day ago"
msgid_plural "%d days ago"
msgstr[0] "%d giorno fa"
msgstr[1] "%d giorni fa"
#: ../src/shell-global.c:1044
#: ../src/shell-global.c:1215
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
@ -338,3 +723,9 @@ msgstr "Cerca"
#, c-format
msgid "%1$s: %2$s"
msgstr "%1$s: %2$s"
#~ msgid "ON"
#~ msgstr "On"
#~ msgid "OFF"
#~ msgstr "Off"

515
po/ja.po Normal file
View File

@ -0,0 +1,515 @@
# Japanese translation of gnome-shell package.
# Copyright (C) 2009-2010 the gnome-shell copyright holder.
# This file is distributed under the same license as the gnome-shell package.
# Nishio Futoshi <fut_nis@d3.dion.ne.jp>, 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&component=general\n"
"POT-Creation-Date: 2010-08-21 12:43+0000\n"
"PO-Revision-Date: 2010-08-23 01:21+0900\n"
"Last-Translator: Nishio Futoshi <fut_nis@d3.dion.ne.jp>\n"
"Language-Team: Japanese <gnome-translation@gnome.gr.jp>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: ../data/gnome-shell.desktop.in.in.h:1
msgid "GNOME Shell"
msgstr "GNOME Shell"
#: ../data/gnome-shell.desktop.in.in.h:2
msgid "Window management and application launching"
msgstr "ウィンドウ管理とアプリケーションの起動"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:1
msgid "Clock"
msgstr "時計"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:2
msgid "Customize the panel clock"
msgstr "パネルの時計をカスタマイズする"
#: ../data/org.gnome.shell.gschema.xml.in.h:1
msgid ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:2
#, fuzzy
msgid "Custom format of the clock"
msgstr "パネルの時計をカスタマイズする"
#: ../data/org.gnome.shell.gschema.xml.in.h:3
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:4
msgid "File extension used for storing the screencast"
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:5
msgid "Framerate used for recording screencasts."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:6
msgid ""
"GNOME Shell extensions have a uuid property; this key lists extensions which "
"should not be loaded."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:7
msgid "History for command (Alt-F2) dialog"
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:8
#, fuzzy
msgid "Hour format"
msgstr "12時間形式(_1)"
#: ../data/org.gnome.shell.gschema.xml.in.h:9
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display date in the "
"clock, in addition to time."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:10
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display seconds in "
"time."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:11
msgid "If true, display the ISO week date in the calendar."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:12
msgid "List of desktop file IDs for favorite applications"
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:13
msgid "Overview workspace view mode"
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:14
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 ! theoraenc ! oggmux' and records to Ogg Theora."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:15
msgid "Show date in clock"
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:16
msgid "Show the week date in the calendar"
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:17
#, fuzzy
msgid "Show time with seconds"
msgstr "秒の表示(_n)"
#: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid ""
"The applications corresponding to these identifiers will be displayed in the "
"favorites area."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:19
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 ""
#: ../data/org.gnome.shell.gschema.xml.in.h:20
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:21
msgid "The gstreamer pipeline used to encode the screencast"
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:22
msgid ""
"The selected workspace view mode in the overview. Supported values are "
"\"single\" and \"grid\"."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:23
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 ""
#: ../data/org.gnome.shell.gschema.xml.in.h:24
msgid ""
"This key specifies the format used by the panel clock when the format key is "
"set to \"custom\". You can use conversion specifiers understood by strftime"
"() to obtain a specific format. See the strftime() manual for more "
"information."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:25
msgid ""
"This key specifies the hour format used by the panel clock. Possible values "
"are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", "
"the clock will display time in seconds since Epoch, i.e. 1970-01-01. If set "
"to \"custom\", the clock will display time according to the format specified "
"in the custom_format key. Note that if set to either \"unix\" or \"custom\", "
"the show_date and show_seconds keys are ignored."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:26
#, fuzzy
msgid "Uuids of extensions to disable"
msgstr "機能拡張はインストールされていません"
#: ../data/org.gnome.shell.gschema.xml.in.h:27
msgid "Whether to collect stats about applications usage"
msgstr ""
#: ../data/clock-preferences.ui.h:1
msgid "Clock Format"
msgstr "時計の表示形式"
#: ../data/clock-preferences.ui.h:2
msgid "Clock Preferences"
msgstr "時計の設定"
#: ../data/clock-preferences.ui.h:3
msgid "Panel Display"
msgstr "パネルディスプレイ"
#: ../data/clock-preferences.ui.h:4
msgid "Show seco_nds"
msgstr "秒の表示(_n)"
#: ../data/clock-preferences.ui.h:5
msgid "Show the _date"
msgstr "日付の表示(_d)"
#: ../data/clock-preferences.ui.h:6
msgid "_12 hour format"
msgstr "12時間形式(_1)"
#: ../data/clock-preferences.ui.h:7
msgid "_24 hour format"
msgstr "24時間形式(_2)"
#. **** Applications ****
#: ../js/ui/appDisplay.js:384 ../js/ui/dash.js:778
msgid "APPLICATIONS"
msgstr "アプリケーション"
#: ../js/ui/appDisplay.js:416
msgid "PREFERENCES"
msgstr "お気に入り"
#: ../js/ui/appDisplay.js:721
msgid "New Window"
msgstr "新規ウィンドウ"
#: ../js/ui/appDisplay.js:725
msgid "Remove from Favorites"
msgstr "お気に入りから削除"
#: ../js/ui/appDisplay.js:726
msgid "Add to Favorites"
msgstr "お気に入りに追加"
#: ../js/ui/appDisplay.js:1033
msgid "Drag here to add favorites"
msgstr "お気に入りをここにドラッグしてください"
#: ../js/ui/appFavorites.js:88
#, c-format
msgid "%s has been added to your favorites."
msgstr "%sがお気に入りに追加されました"
#: ../js/ui/appFavorites.js:107
#, c-format
msgid "%s has been removed from your favorites."
msgstr "%sはお気に入りから削除されました"
#: ../js/ui/dash.js:142
msgid "Find"
msgstr "検索"
#: ../js/ui/dash.js:473
msgid "Searching..."
msgstr "検索中..."
#: ../js/ui/dash.js:487
msgid "No matching results."
msgstr "一致しませんでした。"
#. **** Places ****
#. Translators: This is in the sense of locations for documents,
#. network locations, etc.
#: ../js/ui/dash.js:797 ../js/ui/placeDisplay.js:554
msgid "PLACES & DEVICES"
msgstr "場所とデバイス"
#. **** Documents ****
#: ../js/ui/dash.js:804 ../js/ui/docDisplay.js:494
msgid "RECENT ITEMS"
msgstr "最近使用した項目"
#: ../js/ui/lookingGlass.js:471
msgid "No extensions installed"
msgstr "機能拡張はインストールされていません"
#: ../js/ui/lookingGlass.js:508
msgid "Enabled"
msgstr "利用可能にする"
#: ../js/ui/lookingGlass.js:510
msgid "Disabled"
msgstr "利用不可能にする"
#: ../js/ui/lookingGlass.js:512
msgid "Error"
msgstr "エラー"
#: ../js/ui/lookingGlass.js:514
msgid "Out of date"
msgstr "最新ではありません"
#: ../js/ui/lookingGlass.js:539
msgid "View Source"
msgstr "ソースの表示"
#: ../js/ui/lookingGlass.js:545
msgid "Web Page"
msgstr "ウェブページ"
#: ../js/ui/overview.js:160
msgid "Undo"
msgstr "戻る"
#. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:473
#, c-format
msgid "Quit %s"
msgstr ""
#: ../js/ui/panel.js:498
#, fuzzy
msgid "Preferences"
msgstr "時計の設定"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/panel.js:584
msgid "%a %b %e, %R:%S"
msgstr "%a %b %e, %R:%S"
#: ../js/ui/panel.js:585
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/panel.js:589
msgid "%a %R:%S"
msgstr "%a %R:%S"
#: ../js/ui/panel.js:590
msgid "%a %R"
msgstr "%a %R"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/panel.js:597
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a %b %e, %l:%M:%S %p"
#: ../js/ui/panel.js:598
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/panel.js:602
msgid "%a %l:%M:%S %p"
msgstr "%a %l:%M:%S %p"
#: ../js/ui/panel.js:603
msgid "%a %l:%M %p"
msgstr "%a %l:%M %p"
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:748
msgid "Activities"
msgstr "Activities"
#: ../js/ui/placeDisplay.js:111
#, c-format
msgid "Failed to unmount '%s'"
msgstr "'%s'のアンマウントに失敗しました"
#: ../js/ui/placeDisplay.js:114
msgid "Retry"
msgstr "もう一度試す"
#: ../js/ui/placeDisplay.js:159
msgid "Connect to..."
msgstr "接続します..."
#. Translators: the "ON" and "OFF" strings are used in the
#. toggle switches in the status area menus, and must be SHORT.
#. If you don't have suitable short words, consider initials,
#. "0"/"1", "⚪"/"⚫", etc.
#: ../js/ui/popupMenu.js:30 ../js/ui/popupMenu.js:40
msgid "ON"
msgstr ""
#: ../js/ui/popupMenu.js:31 ../js/ui/popupMenu.js:45
msgid "OFF"
msgstr ""
#: ../js/ui/runDialog.js:233
msgid "Please enter a command:"
msgstr "コマンドを入力してください:"
#: ../js/ui/runDialog.js:378
#, c-format
msgid "Execution of '%s' failed:"
msgstr "'%s'の実行に失敗しました:"
#: ../js/ui/statusMenu.js:91
msgid "Available"
msgstr "利用可能"
#: ../js/ui/statusMenu.js:95
msgid "Busy"
msgstr "ビジー"
#: ../js/ui/statusMenu.js:99
msgid "Invisible"
msgstr "不可視"
#: ../js/ui/statusMenu.js:106
msgid "Account Information..."
msgstr "アカウント情報..."
#: ../js/ui/statusMenu.js:110
msgid "System Preferences..."
msgstr "システム設定..."
#: ../js/ui/statusMenu.js:117
msgid "Lock Screen"
msgstr "画面のロック"
#: ../js/ui/statusMenu.js:121
msgid "Switch User"
msgstr "ユーザ切り替え"
#: ../js/ui/statusMenu.js:126
msgid "Log Out..."
msgstr "ログアウト..."
#: ../js/ui/statusMenu.js:130
msgid "Shut Down..."
msgstr "シャットダウン..."
#: ../js/ui/windowAttentionHandler.js:45
#, c-format
msgid "%s has finished starting"
msgstr "%s の開始が完了しました"
#: ../js/ui/windowAttentionHandler.js:47
#, c-format
msgid "'%s' is ready"
msgstr "'%s' は準備完了です"
#: ../js/ui/workspacesView.js:230
msgid ""
"Can't add a new workspace because maximum workspaces limit has been reached."
msgstr ""
"ワークスペースの最大値に達したので、新しいワークスペースを追加できません。"
#: ../js/ui/workspacesView.js:247
msgid "Can't remove the first workspace."
msgstr "最初のワークスペースは削除できません。"
#: ../src/shell-global.c:1105
msgid "Less than a minute ago"
msgstr "1分以内"
#: ../src/shell-global.c:1109
#, c-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "%d分前"
#: ../src/shell-global.c:1114
#, c-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
msgstr[0] "%d時間前"
#: ../src/shell-global.c:1119
#, c-format
msgid "%d day ago"
msgid_plural "%d days ago"
msgstr[0] "%d日前"
#: ../src/shell-global.c:1124
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
msgstr[0] "%d週前"
#: ../src/shell-uri-util.c:89
msgid "Home Folder"
msgstr "ホームフォルダー"
#. Translators: this is the same string as the one found in
#. * nautilus
#: ../src/shell-uri-util.c:104
msgid "File System"
msgstr "ファイルシステム"
#: ../src/shell-uri-util.c:250
msgid "Search"
msgstr "検索"
#. Translators: the first string is the name of a gvfs
#. * 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-uri-util.c:300
#, c-format
msgid "%1$s: %2$s"
msgstr "%1$s: %2$s"
#~ msgid "Sidebar"
#~ msgstr "サイドバー"
#~ msgid "%H:%M"
#~ msgstr "%H:%M"
#~ msgid "Applications"
#~ msgstr "アプリケーション"
#~ msgid "Recent Documents"
#~ msgstr "最近利用したドキュメント"

345
po/nb.po
View File

@ -1,16 +1,17 @@
# Norwegian bokmål translation of gnome-shell.
# Copyright (C) 2009 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the gnome-shell package.
# Kjartan Maraas <kmaraas@broadpark.no>, 2009-2010.
# Kjartan Maraas <kmaraas@gnome.org>, 2009-2010.
#
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell 2.28.x\n"
"Project-Id-Version: gnome-shell 2.31.x\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-06-19 16:41+0200\n"
"PO-Revision-Date: 2010-06-19 16:43+0200\n"
"Last-Translator: Kjartan Maraas <kmaraas@broadpark.no>\n"
"POT-Creation-Date: 2010-10-28 17:35+0200\n"
"PO-Revision-Date: 2010-10-28 17:38+0200\n"
"Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
"Language-Team: Norwegian bokmål <i18n-nb@lister.ping.uio.no>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@ -37,6 +38,8 @@ msgid ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog."
msgstr ""
"Tillat tilgang til interne feilsøkings og overvåkingsverktøy ved å bruke Alt-"
"F2-dialogen."
#: ../data/org.gnome.shell.gschema.xml.in.h:2
msgid "Custom format of the clock"
@ -172,12 +175,136 @@ msgid ""
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:26
#, fuzzy
msgid "Uuids of extensions to disable"
msgstr "Ingen utvidelser installert"
msgstr "Uuider på utvidelser som skal slås av"
#: ../data/org.gnome.shell.gschema.xml.in.h:27
msgid "Whether to collect stats about applications usage"
msgstr "Om det skal samles statistikk om bruk av programmer"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:1
msgid "Clip the crosshairs at the center"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:2
msgid "Color of the crosshairs"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:3
msgid ""
"Determines the length of the vertical and horizontal lines that make up the "
"crosshairs."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:4
msgid ""
"Determines the position of the magnified mouse image within the magnified "
"view and how it reacts to system mouse movement. The values are - none: no "
"mouse tracking; - centered: the mouse image is displayed at the center of "
"the zoom region (which also represents the point under the system mouse) and "
"the magnified contents are scrolled as the system mouse moves; - "
"proportional: the position of the magnified mouse in the zoom region is "
"proportionally the same as the position of the system mouse on screen; - "
"push: when the magnified mouse intersects a boundary of the zoom region, the "
"contents are scrolled into view."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:5
msgid ""
"Determines the transparency of the crosshairs, from fully opaque to fully "
"transparent."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:6
msgid ""
"Determines whether the crosshairs intersect the magnified mouse sprite, or "
"are clipped such that the ends of the horizontal and vertical lines surround "
"the mouse image."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:7
msgid "Enable lens mode"
msgstr "Slå på linsemodus"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:8
msgid ""
"Enables/disables display of crosshairs centered on the magnified mouse "
"sprite."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:9
msgid ""
"For centered mouse tracking, when the system pointer is at or near the edge "
"of the screen, the magnified contents continue to scroll such that the "
"screen edge moves into the magnified view."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:10
msgid "Length of the crosshairs"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:11
msgid "Magnification factor"
msgstr "Forstørrelsesfaktor"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:12
msgid "Mouse Tracking Mode"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:13
msgid "Opacity of the crosshairs"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:14
msgid "Screen position"
msgstr "Skjermposisjon"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:15
msgid "Scroll magnified contents beyond the edges of the desktop"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:16
msgid "Show or hide crosshairs"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:17
msgid "Show or hide the magnifier"
msgstr "Vis eller skjul forstørrelsesglass"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:18
msgid "Show or hide the magnifier and all of its zoom regions."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:19
msgid ""
"The color of the the vertical and horizontal lines that make up the "
"crosshairs."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:20
msgid ""
"The magnified view either fills the entire screen, or occupies the top-half, "
"bottom-half, left-half, or right-half of the screen."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:21
msgid ""
"The power of the magnification. A value of 1.0 means no magnification. A "
"value of 2.0 doubles the size."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:22
msgid "Thickness of the crosshairs"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:23
msgid ""
"Whether the magnified view should be centered over the location of the "
"system mouse and move with it."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:24
msgid "Width of the vertical and horizontal lines that make up the crosshairs."
msgstr ""
#: ../data/clock-preferences.ui.h:1
@ -209,27 +336,27 @@ msgid "_24 hour format"
msgstr "_24-timers format"
#. **** Applications ****
#: ../js/ui/appDisplay.js:388 ../js/ui/dash.js:767
#: ../js/ui/appDisplay.js:316 ../js/ui/dash.js:778
msgid "APPLICATIONS"
msgstr "PROGRAMMER"
#: ../js/ui/appDisplay.js:420
#: ../js/ui/appDisplay.js:348
msgid "PREFERENCES"
msgstr "BRUKERVALG"
#: ../js/ui/appDisplay.js:726
#: ../js/ui/appDisplay.js:648
msgid "New Window"
msgstr "Nytt vindu"
#: ../js/ui/appDisplay.js:730
#: ../js/ui/appDisplay.js:652
msgid "Remove from Favorites"
msgstr "Fjern fra favoritter"
#: ../js/ui/appDisplay.js:731
#: ../js/ui/appDisplay.js:653
msgid "Add to Favorites"
msgstr "Legg til i favoritter"
#: ../js/ui/appDisplay.js:1038
#: ../js/ui/appDisplay.js:830
msgid "Drag here to add favorites"
msgstr "Dra hit for å legge til favoritter"
@ -238,222 +365,313 @@ msgstr "Dra hit for å legge til favoritter"
msgid "%s has been added to your favorites."
msgstr "%s ble lagt til i dine favoritter."
#: ../js/ui/appFavorites.js:106
#: ../js/ui/appFavorites.js:107
#, c-format
msgid "%s has been removed from your favorites."
msgstr "%s ble fjernet fra dine favoritter."
#: ../js/ui/dash.js:146
#: ../js/ui/dash.js:142
msgid "Find"
msgstr "Finn"
#: ../js/ui/dash.js:465
#: ../js/ui/dash.js:473
msgid "Searching..."
msgstr "Søker..."
#: ../js/ui/dash.js:479
#: ../js/ui/dash.js:487
msgid "No matching results."
msgstr "Ingen treff."
#. **** Places ****
#. Translators: This is in the sense of locations for documents,
#. network locations, etc.
#: ../js/ui/dash.js:786 ../js/ui/placeDisplay.js:552
#: ../js/ui/dash.js:797 ../js/ui/placeDisplay.js:554
msgid "PLACES & DEVICES"
msgstr "STEDER & ENHETER"
#. **** Documents ****
#: ../js/ui/dash.js:793 ../js/ui/docDisplay.js:497
#: ../js/ui/dash.js:804 ../js/ui/docDisplay.js:494
msgid "RECENT ITEMS"
msgstr "SISTE OPPFØRINGER"
#: ../js/ui/lookingGlass.js:471
#: ../js/ui/lookingGlass.js:552
msgid "No extensions installed"
msgstr "Ingen utvidelser installert"
#: ../js/ui/lookingGlass.js:508
#: ../js/ui/lookingGlass.js:589
msgid "Enabled"
msgstr "Aktivert"
#: ../js/ui/lookingGlass.js:510
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:591 ../src/gvc/gvc-mixer-control.c:1087
msgid "Disabled"
msgstr "Deaktivert"
#: ../js/ui/lookingGlass.js:512
#: ../js/ui/lookingGlass.js:593
msgid "Error"
msgstr "Feil"
#: ../js/ui/lookingGlass.js:514
#: ../js/ui/lookingGlass.js:595
msgid "Out of date"
msgstr "Utdatert"
#: ../js/ui/lookingGlass.js:539
#: ../js/ui/lookingGlass.js:620
msgid "View Source"
msgstr "Vis kildekode"
#: ../js/ui/lookingGlass.js:545
#: ../js/ui/lookingGlass.js:626
msgid "Web Page"
msgstr "Nettside"
#: ../js/ui/overview.js:165
#: ../js/ui/overview.js:160
msgid "Undo"
msgstr "Angre"
#: ../js/ui/panel.js:519
#. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:469
#, c-format
msgid "Quit %s"
msgstr "Avslutt %s"
#: ../js/ui/panel.js:494
msgid "Preferences"
msgstr "Brukervalg"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/panel.js:605
#: ../js/ui/panel.js:580
msgid "%a %b %e, %R:%S"
msgstr "%a %e %b, %R.%S"
#: ../js/ui/panel.js:606
#: ../js/ui/panel.js:581
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/panel.js:610
#: ../js/ui/panel.js:585
msgid "%a %R:%S"
msgstr "%a %R.%S"
#: ../js/ui/panel.js:611
#: ../js/ui/panel.js:586
msgid "%a %R"
msgstr "%a %R"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/panel.js:618
#: ../js/ui/panel.js:593
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a %e %b, %l.%M.%S %p"
#: ../js/ui/panel.js:619
#: ../js/ui/panel.js:594
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/panel.js:623
#: ../js/ui/panel.js:598
msgid "%a %l:%M:%S %p"
msgstr "%a %l.%M.%S %p"
#: ../js/ui/panel.js:624
#: ../js/ui/panel.js:599
msgid "%a %l:%M %p"
msgstr "%a %l.%M %p"
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:726
#: ../js/ui/panel.js:744
msgid "Activities"
msgstr "Aktiviteter"
#: ../js/ui/placeDisplay.js:109
#: ../js/ui/placeDisplay.js:111
#, c-format
msgid "Failed to unmount '%s'"
msgstr "Klarte ikke å avmontere «%s»"
#: ../js/ui/placeDisplay.js:112
#: ../js/ui/placeDisplay.js:114
msgid "Retry"
msgstr "Prøv igjen"
#: ../js/ui/placeDisplay.js:157
#: ../js/ui/placeDisplay.js:159
msgid "Connect to..."
msgstr "Koble til..."
#: ../js/ui/runDialog.js:234
#. Translators: this MUST be either "toggle-switch-us"
#. (for toggle switches containing the English words
#. "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:33
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
#: ../js/ui/runDialog.js:233
msgid "Please enter a command:"
msgstr "Oppgi en kommando:"
#: ../js/ui/runDialog.js:379
#: ../js/ui/runDialog.js:378
#, c-format
msgid "Execution of '%s' failed:"
msgstr "Kjøring av «%s» feilet:"
#: ../js/ui/statusMenu.js:91
#: ../js/ui/statusMenu.js:101
msgid "Available"
msgstr "Tilgjengelig"
#: ../js/ui/statusMenu.js:95
#: ../js/ui/statusMenu.js:106
msgid "Busy"
msgstr "Opptatt"
#: ../js/ui/statusMenu.js:99
#: ../js/ui/statusMenu.js:111
msgid "Invisible"
msgstr "Usynlig"
#: ../js/ui/statusMenu.js:106
msgid "Account Information..."
msgstr "Kontoinformasjon..."
#: ../js/ui/statusMenu.js:119
msgid "My Account..."
msgstr "Min konto..."
#: ../js/ui/statusMenu.js:110
#: ../js/ui/statusMenu.js:123
msgid "System Preferences..."
msgstr "Brukervalg for systemet..."
#: ../js/ui/statusMenu.js:117
#: ../js/ui/statusMenu.js:130
msgid "Lock Screen"
msgstr "Lås skjerm"
#: ../js/ui/statusMenu.js:121
#: ../js/ui/statusMenu.js:134
msgid "Switch User"
msgstr "Bytt bruker"
#: ../js/ui/statusMenu.js:126
#: ../js/ui/statusMenu.js:139
msgid "Log Out..."
msgstr "Logg ut..."
#: ../js/ui/statusMenu.js:130
#: ../js/ui/statusMenu.js:146
msgid "Suspend"
msgstr "Hvilemodus"
#: ../js/ui/statusMenu.js:150
msgid "Restart..."
msgstr "Start på nytt..."
#: ../js/ui/statusMenu.js:154
msgid "Shut Down..."
msgstr "Avslutt..."
#: ../js/ui/windowAttentionHandler.js:47
#: ../js/ui/status/accessibility.js:88
msgid "Screen Reader"
msgstr "Skjermleser"
#: ../js/ui/status/accessibility.js:91
msgid "Screen Keyboard"
msgstr "Tastatur på skjermen"
#: ../js/ui/status/accessibility.js:94
msgid "Visual Alerts"
msgstr "Synlig varsling"
#: ../js/ui/status/accessibility.js:97
msgid "Sticky Keys"
msgstr "Klebrige taster"
#: ../js/ui/status/accessibility.js:100
msgid "Slow Keys"
msgstr "Trege taster"
#: ../js/ui/status/accessibility.js:103
msgid "Bounce Keys"
msgstr "Spretne taster"
#: ../js/ui/status/accessibility.js:106
msgid "Mouse Keys"
msgstr "Mustaster"
#: ../js/ui/status/accessibility.js:110
msgid "Universal Access Settings"
msgstr "Innstillinger for tilgjengelighet"
#: ../js/ui/status/accessibility.js:163
msgid "High Contrast"
msgstr "Høy kontrast"
#: ../js/ui/status/accessibility.js:202
msgid "Large Text"
msgstr "Stor tekst"
#: ../js/ui/status/accessibility.js:223
msgid "Zoom"
msgstr "Zoom"
#: ../js/ui/windowAttentionHandler.js:43
#, c-format
msgid "%s has finished starting"
msgstr "%s er ferdig startet"
#: ../js/ui/windowAttentionHandler.js:49
#: ../js/ui/windowAttentionHandler.js:45
#, c-format
msgid "'%s' is ready"
msgstr "«%s» er klar"
#: ../js/ui/workspacesView.js:237
#: ../js/ui/workspacesView.js:229
msgid ""
"Can't add a new workspace because maximum workspaces limit has been reached."
msgstr ""
"Kan ikke legge til nytt arbeidsområde fordi grensen for maksimalt antall "
"arbeidsområder er nådd."
#: ../js/ui/workspacesView.js:254
#: ../js/ui/workspacesView.js:246
msgid "Can't remove the first workspace."
msgstr "Kan ikke fjerne første arbeidsområde"
#: ../src/shell-global.c:1039
#. translators:
#. * The number of sound outputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1094
#, c-format
msgid "%u Output"
msgid_plural "%u Outputs"
msgstr[0] "%u utgang"
msgstr[1] "%u utganger"
#. translators:
#. * The number of sound inputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1104
#, c-format
msgid "%u Input"
msgid_plural "%u Inputs"
msgstr[0] "%u inngang"
msgstr[1] "%u innganger"
#: ../src/gvc/gvc-mixer-control.c:1402
msgid "System Sounds"
msgstr "Systemlyder"
#: ../src/shell-global.c:1204
msgid "Less than a minute ago"
msgstr "Mindre enn ett minutt siden"
#: ../src/shell-global.c:1043
#: ../src/shell-global.c:1208
#, c-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "%d minutt siden"
msgstr[1] "%d minutter siden"
#: ../src/shell-global.c:1048
#: ../src/shell-global.c:1213
#, c-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
msgstr[0] "%d time siden"
msgstr[1] "%d timer siden"
#: ../src/shell-global.c:1053
#: ../src/shell-global.c:1218
#, c-format
msgid "%d day ago"
msgid_plural "%d days ago"
msgstr[0] "%d dag siden"
msgstr[1] "%d dager siden"
#: ../src/shell-global.c:1058
#: ../src/shell-global.c:1223
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
@ -483,6 +701,3 @@ msgstr "Søk"
#, c-format
msgid "%1$s: %2$s"
msgstr "%1$s: %2$s"
#~ msgid "Quit %s"
#~ msgstr "Avslutt %s"

579
po/nl.po
View File

@ -3,14 +3,16 @@
# This file is distributed under the same license as the gnome-shell package.
#
# Sander Dijkhuis <sander.dijkhuis@gmail.com>, 2009, 2010.
# Reinout van Schouwen <reinouts@gnome.org>, 2010
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-03-31 13:34+0200\n"
"PO-Revision-Date: 2010-04-02 22:18+0200\n"
"Last-Translator: Sander Dijkhuis <sander.dijkhuis@gmail.com>\n"
"POT-Creation-Date: 2010-10-19 23:19+0200\n"
"PO-Revision-Date: 2010-10-19 14:12+0100\n"
"Last-Translator: Reinout van Schouwen <reinouts@gnome.org>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@ -24,32 +26,369 @@ msgstr "Gnome Shell"
msgid "Window management and application launching"
msgstr "Vensterbeheer en toepassingen starten"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:1
msgid "Clock"
msgstr "Klok"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:2
msgid "Customize the panel clock"
msgstr "De paneelklok aanpassen"
#: ../data/org.gnome.shell.gschema.xml.in.h:1
msgid ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog."
msgstr ""
"Geeft toegang tot interne debugging- en observatieprogramma's met behulp van "
"het Alt-F2-dialoogvenster."
#: ../data/org.gnome.shell.gschema.xml.in.h:2
msgid "Custom format of the clock"
msgstr "Aangepaste indeling van de klok"
#: ../data/org.gnome.shell.gschema.xml.in.h:3
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr ""
"Interne hulpprogramma's inschakelen die nuttig zijn voor gebruikers en "
"testers van Alt-F2"
#: ../data/org.gnome.shell.gschema.xml.in.h:4
msgid "File extension used for storing the screencast"
msgstr "Bestandsextensie voor het opslaan van de screencast"
#: ../data/org.gnome.shell.gschema.xml.in.h:5
msgid "Framerate used for recording screencasts."
msgstr "Framerate voor het opnemen van de screencasts."
#: ../data/org.gnome.shell.gschema.xml.in.h:6
msgid ""
"GNOME Shell extensions have a uuid property; this key lists extensions which "
"should not be loaded."
msgstr ""
"Gnome Shell-uitbreidingen hebben een uuid-eigenschap; deze sleutel toont "
"uitbreidingen die niet geladen mogen worden."
#: ../data/org.gnome.shell.gschema.xml.in.h:7
msgid "History for command (Alt-F2) dialog"
msgstr "Geschiedenis voor het opdracht-dialoogvenster (Alt-F2)"
#: ../data/org.gnome.shell.gschema.xml.in.h:8
msgid "Hour format"
msgstr "Uurindeling"
#: ../data/org.gnome.shell.gschema.xml.in.h:9
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display date in the "
"clock, in addition to time."
msgstr ""
"Indien ingeschakeld en de indeling is ofwel 12-uur of 24-uur, behalve de "
"tijd ook de datum in de klok weergeven."
#: ../data/org.gnome.shell.gschema.xml.in.h:10
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display seconds in "
"time."
msgstr ""
"Indien ingeschakeld en de indeling is ofwel 12-uur of 24-uur, seconden "
"in de klok weergeven."
#: ../data/org.gnome.shell.gschema.xml.in.h:11
msgid "If true, display the ISO week date in the calendar."
msgstr "Indien ingeschakeld worden weeknummers in de kalender getoond."
#: ../data/org.gnome.shell.gschema.xml.in.h:12
msgid "List of desktop file IDs for favorite applications"
msgstr "Lijst van desktopbestand-id's voor favoriete toepassingen"
#: ../data/org.gnome.shell.gschema.xml.in.h:13
msgid "Overview workspace view mode"
msgstr "Werkbladoverzichtsmodus"
#: ../data/org.gnome.shell.gschema.xml.in.h:14
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 ! theoraenc ! oggmux' and records to Ogg Theora."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:15
msgid "Show date in clock"
msgstr "Datum tonen in klok"
#: ../data/org.gnome.shell.gschema.xml.in.h:16
msgid "Show the week date in the calendar"
msgstr "Weeknummers tonen in kalender"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "Show time with seconds"
msgstr "Tijd tonen inclusief seconden"
#: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid ""
"The applications corresponding to these identifiers will be displayed in the "
"favorites area."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:19
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 ""
#: ../data/org.gnome.shell.gschema.xml.in.h:20
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:21
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "De gstreamer-pijplijn voor het coderen van de screencast"
#: ../data/org.gnome.shell.gschema.xml.in.h:22
msgid ""
"The selected workspace view mode in the overview. Supported values are "
"\"single\" and \"grid\"."
msgstr ""
"De geselecteerde werkbladmodus in het overzicht. Ondersteunde waarden zijn "
"single en grid."
#: ../data/org.gnome.shell.gschema.xml.in.h:23
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 ""
#: ../data/org.gnome.shell.gschema.xml.in.h:24
msgid ""
"This key specifies the format used by the panel clock when the format key is "
"set to \"custom\". You can use conversion specifiers understood by strftime"
"() to obtain a specific format. See the strftime() manual for more "
"information."
msgstr ""
"Deze sleutel geeft aan welke weergave de paneelklok gebruikt wanneer de "
"weergavesleutel is ingsteld op custom. U kunt opmaakcodes voor de functie "
"strftime() gebruiken om een bepaalde weergave te verkrijgen. Zie de "
"handleiding van strftime() voor meer informatie."
#: ../data/org.gnome.shell.gschema.xml.in.h:25
msgid ""
"This key specifies the hour format used by the panel clock. Possible values "
"are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", "
"the clock will display time in seconds since Epoch, i.e. 1970-01-01. If set "
"to \"custom\", the clock will display time according to the format specified "
"in the custom_format key. Note that if set to either \"unix\" or \"custom\", "
"the show_date and show_seconds keys are ignored."
msgstr ""
"Deze sleutel geeft de uurindeling aan van de paneelklok. Mogelijke waarden "
"zijn 12-hour, 24-hour, unix en custom. Als ingesteld op unix geeft "
"de klok tijd weer in seconden sinds Epoch, oftewel 01-01-1970. Als ingesteld "
"op custom dan geeft de klok tijd weer aan de hand van de indeling die is "
"gespecificeerd in de sleutel custom_format. Merk op dat de sleutels "
"show_date en show_seconds worden genegeerd als de waarde staat op unix of "
"custom."
#: ../data/org.gnome.shell.gschema.xml.in.h:26
msgid "Uuids of extensions to disable"
msgstr "Uuid's van uit te schakelen uitbreidingen"
#: ../data/org.gnome.shell.gschema.xml.in.h:27
msgid "Whether to collect stats about applications usage"
msgstr "Of statistieken worden bijgehouden over toepassingsgebruik"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:1
msgid "Clip the crosshairs at the center"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:2
#, fuzzy
msgid "Color of the crosshairs"
msgstr "Intersecties (kruisjes)"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:3
msgid ""
"Determines the length of the vertical and horizontal lines that make up the "
"crosshairs."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:4
msgid ""
"Determines the position of the magnified mouse image within the magnified "
"view and how it reacts to system mouse movement. The values are - none: no "
"mouse tracking; - centered: the mouse image is displayed at the center of "
"the zoom region (which also represents the point under the system mouse) and "
"the magnified contents are scrolled as the system mouse moves; - "
"proportional: the position of the magnified mouse in the zoom region is "
"proportionally the same as the position of the system mouse on screen; - "
"push: when the magnified mouse intersects a boundary of the zoom region, the "
"contents are scrolled into view."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:5
msgid ""
"Determines the transparency of the crosshairs, from fully opaque to fully "
"transparent."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:6
msgid ""
"Determines whether the crosshairs intersect the magnified mouse sprite, or "
"are clipped such that the ends of the horizontal and vertical lines surround "
"the mouse image."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:7
msgid "Enable lens mode"
msgstr "Lensmodus inschakelen"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:8
msgid ""
"Enables/disables display of crosshairs centered on the magnified mouse "
"sprite."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:9
msgid ""
"For centered mouse tracking, when the system pointer is at or near the edge "
"of the screen, the magnified contents continue to scroll such that the "
"screen edge moves into the magnified view."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:10
#, fuzzy
msgid "Length of the crosshairs"
msgstr "Intersecties (kruisjes)"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:11
msgid "Magnification factor"
msgstr "Vergrotingsfactor"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:12
msgid "Mouse Tracking Mode"
msgstr "Muisvolgmodus"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:13
#, fuzzy
msgid "Opacity of the crosshairs"
msgstr "Intersecties (kruisjes)"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:14
msgid "Screen position"
msgstr "Schermpositie"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:15
msgid "Scroll magnified contents beyond the edges of the desktop"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:16
#, fuzzy
msgid "Show or hide crosshairs"
msgstr "De statusbalk tonen of verbergen"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:17
#, fuzzy
msgid "Show or hide the magnifier"
msgstr "De statusbalk tonen of verbergen"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:18
msgid "Show or hide the magnifier and all of its zoom regions."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:19
msgid ""
"The color of the the vertical and horizontal lines that make up the "
"crosshairs."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:20
msgid ""
"The magnified view either fills the entire screen, or occupies the top-half, "
"bottom-half, left-half, or right-half of the screen."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:21
msgid ""
"The power of the magnification. A value of 1.0 means no magnification. A "
"value of 2.0 doubles the size."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:22
#, fuzzy
msgid "Thickness of the crosshairs"
msgstr "Intersecties (kruisjes)"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:23
msgid ""
"Whether the magnified view should be centered over the location of the "
"system mouse and move with it."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:24
msgid "Width of the vertical and horizontal lines that make up the crosshairs."
msgstr ""
#: ../data/clock-preferences.ui.h:1
msgid "Clock Format"
msgstr "Klokweergave"
#: ../data/clock-preferences.ui.h:2
msgid "Clock Preferences"
msgstr "Klok-voorkeuren"
#: ../data/clock-preferences.ui.h:3
msgid "Panel Display"
msgstr "Paneelweergave"
#: ../data/clock-preferences.ui.h:4
msgid "Show seco_nds"
msgstr "_Seconden tonen"
#: ../data/clock-preferences.ui.h:5
msgid "Show the _date"
msgstr "_Datum tonen"
#: ../data/clock-preferences.ui.h:6
msgid "_12 hour format"
msgstr "_12-uursklok"
#: ../data/clock-preferences.ui.h:7
msgid "_24 hour format"
msgstr "_24-uursklok"
#. **** Applications ****
#: ../js/ui/appDisplay.js:312 ../js/ui/dash.js:855
#: ../js/ui/appDisplay.js:316 ../js/ui/dash.js:778
msgid "APPLICATIONS"
msgstr "TOEPASSINGEN"
#: ../js/ui/appDisplay.js:344
#: ../js/ui/appDisplay.js:348
msgid "PREFERENCES"
msgstr "VOORKEUREN"
#: ../js/ui/appDisplay.js:734
#: ../js/ui/appDisplay.js:648
msgid "New Window"
msgstr "Nieuw venster"
#: ../js/ui/appDisplay.js:738
#: ../js/ui/appDisplay.js:652
msgid "Remove from Favorites"
msgstr "Uit favorieten verwijderen"
#: ../js/ui/appDisplay.js:739
#: ../js/ui/appDisplay.js:653
msgid "Add to Favorites"
msgstr "Aan favorieten toevoegen"
#: ../js/ui/appDisplay.js:1091
#: ../js/ui/appDisplay.js:830
msgid "Drag here to add favorites"
msgstr "Hierheen slepen om favorieten toe te voegen"
#: ../js/ui/appFavorites.js:89
#: ../js/ui/appFavorites.js:88
#, c-format
msgid "%s has been added to your favorites."
msgstr "%s is toegevoegd aan uw favorieten."
@ -59,189 +398,275 @@ msgstr "%s is toegevoegd aan uw favorieten."
msgid "%s has been removed from your favorites."
msgstr "%s is verwijderd uit uw favorieten."
#: ../js/ui/dash.js:194
#: ../js/ui/dash.js:142
msgid "Find"
msgstr "Zoeken"
#: ../js/ui/dash.js:510
#: ../js/ui/dash.js:473
msgid "Searching..."
msgstr "Zoeken…"
#: ../js/ui/dash.js:524
#: ../js/ui/dash.js:487
msgid "No matching results."
msgstr "Geen overeenkomende resultaten."
#. **** Places ****
#. Translators: This is in the sense of locations for documents,
#. network locations, etc.
#: ../js/ui/dash.js:874 ../js/ui/placeDisplay.js:543
#: ../js/ui/dash.js:797 ../js/ui/placeDisplay.js:554
msgid "PLACES & DEVICES"
msgstr "LOCATIES & APPARATEN"
#. **** Documents ****
#: ../js/ui/dash.js:881 ../js/ui/docDisplay.js:489
#: ../js/ui/dash.js:804 ../js/ui/docDisplay.js:494
msgid "RECENT ITEMS"
msgstr "RECENTE ITEMS"
#: ../js/ui/lookingGlass.js:363
#: ../js/ui/lookingGlass.js:552
msgid "No extensions installed"
msgstr "Geen uitbreidingen geïnstalleerd"
#: ../js/ui/lookingGlass.js:400
#: ../js/ui/lookingGlass.js:589
msgid "Enabled"
msgstr "Ingeschakeld"
#: ../js/ui/lookingGlass.js:402
#: ../js/ui/lookingGlass.js:591
msgid "Disabled"
msgstr "Uitgeschakeld"
#: ../js/ui/lookingGlass.js:404
#: ../js/ui/lookingGlass.js:593
msgid "Error"
msgstr "Fout"
#: ../js/ui/lookingGlass.js:406
#: ../js/ui/lookingGlass.js:595
msgid "Out of date"
msgstr "Gedateerd"
#: ../js/ui/lookingGlass.js:431
#: ../js/ui/lookingGlass.js:620
msgid "View Source"
msgstr "Broncode weergeven"
#: ../js/ui/lookingGlass.js:437
#: ../js/ui/lookingGlass.js:626
msgid "Web Page"
msgstr "Webpagina"
#: ../js/ui/overview.js:182
#: ../js/ui/overview.js:160
msgid "Undo"
msgstr "Ongedaan maken"
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:388
msgid "Activities"
msgstr "Activiteiten"
#. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:468
#, c-format
msgid "Quit %s"
msgstr "%s afsluiten"
#. Translators: This is the time format used in 24-hour mode.
#: ../js/ui/panel.js:619
#: ../js/ui/panel.js:493
msgid "Preferences"
msgstr "Voorkeuren"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/panel.js:579
msgid "%a %b %e, %R:%S"
msgstr "%a %e %b, %R:%S"
#: ../js/ui/panel.js:580
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/panel.js:584
msgid "%a %R:%S"
msgstr "%a %R:%S"
#: ../js/ui/panel.js:585
msgid "%a %R"
msgstr "%a %R"
#. Translators: This is a time format used for AM/PM.
#: ../js/ui/panel.js:622
msgid "%a %l:%M %p"
msgstr "%a %k:%M %p"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/panel.js:592
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a %e %b, %l:%M:%S %p"
#: ../js/ui/placeDisplay.js:108
#: ../js/ui/panel.js:593
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/panel.js:597
msgid "%a %l:%M:%S %p"
msgstr "%a %l:%M:%S %p"
#: ../js/ui/panel.js:598
msgid "%a %l:%M %p"
msgstr "%a %l:%M %p"
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:743
msgid "Activities"
msgstr "Activiteiten"
#: ../js/ui/placeDisplay.js:111
#, c-format
msgid "Failed to unmount '%s'"
msgstr "Ontkoppelen van %s mislukt"
#: ../js/ui/placeDisplay.js:111
#: ../js/ui/placeDisplay.js:114
msgid "Retry"
msgstr "Opnieuw"
#: ../js/ui/placeDisplay.js:156
#: ../js/ui/placeDisplay.js:159
msgid "Connect to..."
msgstr "Verbinding maken met…"
#: ../js/ui/runDialog.js:232
#. Translators: this MUST be either "toggle-switch-us"
#. (for toggle switches containing the English words
#. "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:31
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
#: ../js/ui/runDialog.js:233
msgid "Please enter a command:"
msgstr "Voer een opdracht in:"
#: ../js/ui/runDialog.js:376
#: ../js/ui/runDialog.js:378
#, c-format
msgid "Execution of '%s' failed:"
msgstr "Uitvoeren van %s mislukt:"
#: ../js/ui/statusMenu.js:107
#: ../js/ui/statusMenu.js:97
msgid "Available"
msgstr "Beschikbaar"
#: ../js/ui/statusMenu.js:112
#: ../js/ui/statusMenu.js:101
msgid "Busy"
msgstr "Bezig"
#: ../js/ui/statusMenu.js:117
#: ../js/ui/statusMenu.js:105
msgid "Invisible"
msgstr "Onzichtbaar"
#: ../js/ui/statusMenu.js:126
#: ../js/ui/statusMenu.js:112
msgid "Account Information..."
msgstr "Accountinformatie…"
#: ../js/ui/statusMenu.js:132
msgid "Sidebar"
msgstr "Zijbalk"
#: ../js/ui/statusMenu.js:116
msgid "System Settings..."
msgstr "Systeeminstellingen…"
#: ../js/ui/statusMenu.js:142
msgid "System Preferences..."
msgstr "Systeemvoorkeuren…"
#: ../js/ui/statusMenu.js:151
#: ../js/ui/statusMenu.js:123
msgid "Lock Screen"
msgstr "Scherm vergrendelen"
#: ../js/ui/statusMenu.js:156
#: ../js/ui/statusMenu.js:127
msgid "Switch User"
msgstr "Gebruiker wisselen"
#: ../js/ui/statusMenu.js:162
#: ../js/ui/statusMenu.js:132
msgid "Log Out..."
msgstr "Afmelden…"
#: ../js/ui/statusMenu.js:167
#: ../js/ui/statusMenu.js:136
msgid "Shut Down..."
msgstr "Afsluiten…"
#. Translators: This is a time format.
#: ../js/ui/widget.js:163
msgid "%H:%M"
msgstr "%H:%M"
#: ../js/ui/status/accessibility.js:88
msgid "Screen Reader"
msgstr "Schermlezer"
#: ../js/ui/widget.js:317
msgid "Applications"
msgstr "Toepassingen"
#: ../js/ui/status/accessibility.js:91
msgid "Screen Keyboard"
msgstr "Schermtoetsenbord"
#: ../js/ui/widget.js:339
msgid "Recent Documents"
msgstr "Recente documenten"
#: ../js/ui/status/accessibility.js:94
msgid "Visual Alerts"
msgstr "Visuele attenderingen"
#: ../js/ui/windowAttentionHandler.js:47
#: ../js/ui/status/accessibility.js:97
msgid "Sticky Keys"
msgstr "PlakToetsen"
#: ../js/ui/status/accessibility.js:100
msgid "Slow Keys"
msgstr "Trage Toetsen"
#: ../js/ui/status/accessibility.js:103
msgid "Bounce Keys"
msgstr "Springende toetsen"
#: ../js/ui/status/accessibility.js:106
msgid "Mouse Keys"
msgstr "MuisToetsen"
#: ../js/ui/status/accessibility.js:110
msgid "Universal Access Settings"
msgstr "Toegankelijkheidsinstellingen"
#: ../js/ui/status/accessibility.js:163
msgid "High Contrast"
msgstr "Hoog contrast"
#: ../js/ui/status/accessibility.js:202
msgid "Large Text"
msgstr "Grote tekst"
#: ../js/ui/status/accessibility.js:223
msgid "Zoom"
msgstr "Zoomen"
#: ../js/ui/windowAttentionHandler.js:43
#, c-format
msgid "%s has finished starting"
msgstr "%s is opgestart"
#: ../js/ui/windowAttentionHandler.js:49
#: ../js/ui/windowAttentionHandler.js:45
#, c-format
msgid "'%s' is ready"
msgstr "%s is klaar"
#: ../src/shell-global.c:967
#: ../js/ui/workspacesView.js:230
msgid ""
"Can't add a new workspace because maximum workspaces limit has been reached."
msgstr ""
"Kan geen nieuw werkblad toevoegen omdat maximum aantal werkbladen is bereikt."
#: ../js/ui/workspacesView.js:247
msgid "Can't remove the first workspace."
msgstr "Kan het eerste werkblad niet verwijderen"
#: ../src/shell-global.c:1196
msgid "Less than a minute ago"
msgstr "Minder dan een minuut geleden"
#: ../src/shell-global.c:971
#: ../src/shell-global.c:1200
#, c-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "%d minuut geleden"
msgstr[1] "%d minuten geleden"
#: ../src/shell-global.c:976
#: ../src/shell-global.c:1205
#, c-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
msgstr[0] "%d uur geleden"
msgstr[1] "%d uur geleden"
#: ../src/shell-global.c:981
#: ../src/shell-global.c:1210
#, c-format
msgid "%d day ago"
msgid_plural "%d days ago"
msgstr[0] "%d dag geleden"
msgstr[1] "%d dagen geleden"
#: ../src/shell-global.c:986
#: ../src/shell-global.c:1215
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
@ -271,3 +696,15 @@ msgstr "Zoeken"
#, c-format
msgid "%1$s: %2$s"
msgstr "%1$s: %2$s"
#~ msgid "Sidebar"
#~ msgstr "Zijbalk"
#~ msgid "%H:%M"
#~ msgstr "%H:%M"
#~ msgid "Applications"
#~ msgstr "Toepassingen"
#~ msgid "Recent Documents"
#~ msgstr "Recente documenten"

548
po/nn.po Normal file
View File

@ -0,0 +1,548 @@
# Norwegian Nynorsk translation for gnome-shell.
# Copyright (C) 2010 gnome-shell's COPYRIGHT HOLDER
# This file is distributed under the same license as the gnome-shell package.
# Torstein Adolf Winterseth <kvikende@fsfe.org>, 2010.
# Torstein Winterseth <kvikende@fsfe.org>, 2010.
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&component=general\n"
"POT-Creation-Date: 2010-09-01 16:14+0000\n"
"PO-Revision-Date: 2010-09-01 19:53+0200\n"
"Last-Translator: Torstein Winterseth <kvikende@fsfe.org>\n"
"Language-Team: i18n-nn@lister.ping.uio.no\n"
"Language: nn\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Virtaal 0.6.1\n"
#: ../data/gnome-shell.desktop.in.in.h:1
msgid "GNOME Shell"
msgstr "GNOME skal"
#: ../data/gnome-shell.desktop.in.in.h:2
msgid "Window management and application launching"
msgstr "Vindaugshandsaming og programstarting"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:1
msgid "Clock"
msgstr "Klokke"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:2
msgid "Customize the panel clock"
msgstr "Tilpass panelklokka"
#: ../data/org.gnome.shell.gschema.xml.in.h:1
msgid ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog."
msgstr ""
"Tillèt tilgang til interne feilfiksings- og overvakingsverktøy gjennom «Alt "
"+ F2»-dialogvindauget."
#: ../data/org.gnome.shell.gschema.xml.in.h:2
msgid "Custom format of the clock"
msgstr "Tilpassa klokkeformat"
#: ../data/org.gnome.shell.gschema.xml.in.h:3
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr "Slå på interne verktøy for utviklarar og testarar frå Alt + F2"
#: ../data/org.gnome.shell.gschema.xml.in.h:4
msgid "File extension used for storing the screencast"
msgstr "Filtype brukt for å lagra skjermvideoen"
#: ../data/org.gnome.shell.gschema.xml.in.h:5
msgid "Framerate used for recording screencasts."
msgstr "Biletrate brukt for filming av skjermvideo."
#: ../data/org.gnome.shell.gschema.xml.in.h:6
msgid ""
"GNOME Shell extensions have a uuid property; this key lists extensions which "
"should not be loaded."
msgstr ""
"GNOME Skall-utvidingar har ein uuid-eigenskap; denne nøkkelen listar "
"utvidingar som ikkje skal lastast."
#: ../data/org.gnome.shell.gschema.xml.in.h:7
msgid "History for command (Alt-F2) dialog"
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:8
msgid "Hour format"
msgstr "Timeformat"
#: ../data/org.gnome.shell.gschema.xml.in.h:9
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display date in the "
"clock, in addition to time."
msgstr ""
"Viss sann og format er anten «12-hour» (12-timar) eller «24-hour» "
"(24-timar), vis dato saman tida i klokka."
#: ../data/org.gnome.shell.gschema.xml.in.h:10
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display seconds in "
"time."
msgstr ""
"Viss sann og format er anten «12-hour» (12-timar) eller «24-hour» "
"(24-timar), vis sekund òg."
#: ../data/org.gnome.shell.gschema.xml.in.h:11
msgid "If true, display the ISO week date in the calendar."
msgstr "Viss sann, vis ISO-vekedag i kalenderen."
#: ../data/org.gnome.shell.gschema.xml.in.h:12
msgid "List of desktop file IDs for favorite applications"
msgstr "Liste over skrivebordsfil-ID-ar for favorittprogram"
#: ../data/org.gnome.shell.gschema.xml.in.h:13
msgid "Overview workspace view mode"
msgstr "Oversiktmodus over arbeidsområde"
#: ../data/org.gnome.shell.gschema.xml.in.h:14
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 ! theoraenc ! oggmux' and records to Ogg Theora."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:15
msgid "Show date in clock"
msgstr "Vis dato i klokka"
#: ../data/org.gnome.shell.gschema.xml.in.h:16
msgid "Show the week date in the calendar"
msgstr "Vis vekedag i kalenderen"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "Show time with seconds"
msgstr "Vis tid med sekund"
#: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid ""
"The applications corresponding to these identifiers will be displayed in the "
"favorites area."
msgstr ""
"Programma som korresponderer til desse identifikatorane vil verta viste i "
"favorittområdet."
#: ../data/org.gnome.shell.gschema.xml.in.h:19
#, fuzzy
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 ""
"Filnamnet for filma skjermkastar vil vera eit unikt filnamn basert på den "
"aktuelle datoen og denne utvidinga. Det bør endrast når du filmar til eit "
"anna behalderformat"
#: ../data/org.gnome.shell.gschema.xml.in.h:20
#, fuzzy
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
msgstr ""
"Biletraten til det resulterande skjermkastet oppteken av "
"skjermkastopptakaren til GNOME Skal i bilete-per-sekund"
#: ../data/org.gnome.shell.gschema.xml.in.h:21
#, fuzzy
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "GStreamer-kanalen brukt for å koda skjermkastet"
#: ../data/org.gnome.shell.gschema.xml.in.h:22
msgid ""
"The selected workspace view mode in the overview. Supported values are "
"\"single\" and \"grid\"."
msgstr ""
"Modusen for å sjå arbeidsområde. Støtta verdiar er «single» (enkel) og "
"«grid» (rutenett)"
#: ../data/org.gnome.shell.gschema.xml.in.h:23
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 ""
"Skalet overvakar aktive program for å visa dei mest brukte (t.d. i "
"oppstararen). Sjølv om desse data vil vera private så kan det henda at du "
"ønskjer å slå dette av til omsyn av personvern. Legg merke til at det vil "
"ikkje fjerna data som alt er lagra."
#: ../data/org.gnome.shell.gschema.xml.in.h:24
msgid ""
"This key specifies the format used by the panel clock when the format key is "
"set to \"custom\". You can use conversion specifiers understood by strftime"
"() to obtain a specific format. See the strftime() manual for more "
"information."
msgstr ""
"Denne nøkkelen angjev formatet brukt av panelklokka når formatnøkkelen er "
"seten til «custom» (sjølvvald). Du kan bruka konverteringsspesifikatorane "
"som strftime() forstår for å få eit spesifikt format. Sjå "
"strftime()-manualen for meir informasjon."
#: ../data/org.gnome.shell.gschema.xml.in.h:25
msgid ""
"This key specifies the hour format used by the panel clock. Possible values "
"are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", "
"the clock will display time in seconds since Epoch, i.e. 1970-01-01. If set "
"to \"custom\", the clock will display time according to the format specified "
"in the custom_format key. Note that if set to either \"unix\" or \"custom\", "
"the show_date and show_seconds keys are ignored."
msgstr ""
"Denne nøkkelen angjev timeformatet brukt av panelklokka. Moglege verdiar er "
"«12-hour» (12-timar), «24-hour» (24-timar), «unix» og «custom» (sjølvvald). "
"Er han seten til «unix» vil klokka visa tida i sekund sidan Epoch, den 1. 1. "
"1970. Er han seten til «custom» (sjølvvald) vil klokka visa tida slik "
"angjeve av formatet spesifisert i «custom_format»-nøkkelen. Legg merke til "
"at om seten til anten «unix» eller «custom» vil «show_date»- og "
"«show_seconds»-nøklane ignorerast."
#: ../data/org.gnome.shell.gschema.xml.in.h:26
msgid "Uuids of extensions to disable"
msgstr "Uuid-ar til utvidingar å slå av"
#: ../data/org.gnome.shell.gschema.xml.in.h:27
msgid "Whether to collect stats about applications usage"
msgstr "Om statistikk om programbruk skal innsamlast"
#: ../data/clock-preferences.ui.h:1
msgid "Clock Format"
msgstr "Klokkeformat"
#: ../data/clock-preferences.ui.h:2
msgid "Clock Preferences"
msgstr "Brukarval for klokka"
#: ../data/clock-preferences.ui.h:3
msgid "Panel Display"
msgstr "Panelvising"
#: ../data/clock-preferences.ui.h:4
msgid "Show seco_nds"
msgstr "Vis _sekund"
#: ../data/clock-preferences.ui.h:5
msgid "Show the _date"
msgstr "Vis _datoen"
#: ../data/clock-preferences.ui.h:6
msgid "_12 hour format"
msgstr "_12-timars format"
#: ../data/clock-preferences.ui.h:7
msgid "_24 hour format"
msgstr "_24-timars format"
#. **** Applications ****
#: ../js/ui/appDisplay.js:384 ../js/ui/dash.js:778
msgid "APPLICATIONS"
msgstr "PROGRAM"
#: ../js/ui/appDisplay.js:416
msgid "PREFERENCES"
msgstr "INNSTILLINGAR"
#: ../js/ui/appDisplay.js:721
msgid "New Window"
msgstr "Nytt vindauge"
#: ../js/ui/appDisplay.js:725
msgid "Remove from Favorites"
msgstr "Fjern frå favorittar"
#: ../js/ui/appDisplay.js:726
msgid "Add to Favorites"
msgstr "Legg til i favorittar"
#: ../js/ui/appDisplay.js:1033
msgid "Drag here to add favorites"
msgstr "Drag hit for å leggja til i favorittar"
#: ../js/ui/appFavorites.js:88
#, c-format
msgid "%s has been added to your favorites."
msgstr "%s har vorte lagt til i dine favorittar."
#: ../js/ui/appFavorites.js:107
#, c-format
msgid "%s has been removed from your favorites."
msgstr "%s har vorte fjerna frå dine favorittar."
#: ../js/ui/dash.js:142
msgid "Find"
msgstr "Finn"
#: ../js/ui/dash.js:473
msgid "Searching..."
msgstr "Søker …"
#: ../js/ui/dash.js:487
msgid "No matching results."
msgstr "Ingen treff."
#. **** Places ****
#. Translators: This is in the sense of locations for documents,
#. network locations, etc.
#: ../js/ui/dash.js:797 ../js/ui/placeDisplay.js:554
msgid "PLACES & DEVICES"
msgstr "PLASSERING OG EININGAR"
#. **** Documents ****
#: ../js/ui/dash.js:804 ../js/ui/docDisplay.js:494
msgid "RECENT ITEMS"
msgstr "NYLEG BRUKTE ELEMENT"
#: ../js/ui/lookingGlass.js:552
msgid "No extensions installed"
msgstr "Ingen utvidingar er installerte"
#: ../js/ui/lookingGlass.js:589
msgid "Enabled"
msgstr "Påslått"
#: ../js/ui/lookingGlass.js:591
msgid "Disabled"
msgstr "Avslått"
#: ../js/ui/lookingGlass.js:593
msgid "Error"
msgstr "Feil"
#: ../js/ui/lookingGlass.js:595
msgid "Out of date"
msgstr "Utgått på dato"
#: ../js/ui/lookingGlass.js:620
msgid "View Source"
msgstr "Vis kjeldekode"
#: ../js/ui/lookingGlass.js:626
msgid "Web Page"
msgstr "Nettside"
#: ../js/ui/overview.js:160
msgid "Undo"
msgstr "Angra"
#. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:473
#, c-format
msgid "Quit %s"
msgstr "Avslutt %s"
#: ../js/ui/panel.js:498
msgid "Preferences"
msgstr "Innstillingar"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/panel.js:584
#, fuzzy
msgid "%a %b %e, %R:%S"
msgstr "%a %b %e, %R.%S"
#: ../js/ui/panel.js:585
#, fuzzy
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/panel.js:589
#, fuzzy
msgid "%a %R:%S"
msgstr "%a %R.%S"
#: ../js/ui/panel.js:590
#, fuzzy
msgid "%a %R"
msgstr "%a %R"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/panel.js:597
#, fuzzy
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a %b %e, %l.%M.%S %p"
#: ../js/ui/panel.js:598
#, fuzzy
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/panel.js:602
#, fuzzy
msgid "%a %l:%M:%S %p"
msgstr "%a %l.%M.%S %p"
#: ../js/ui/panel.js:603
#, fuzzy
msgid "%a %l:%M %p"
msgstr "%a %l.%M %p"
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:748
msgid "Activities"
msgstr "Aktivitetar"
#: ../js/ui/placeDisplay.js:111
#, c-format
msgid "Failed to unmount '%s'"
msgstr "Klarte ikkje avmontera «%s»"
#: ../js/ui/placeDisplay.js:114
msgid "Retry"
msgstr "Prøv på nytt"
#: ../js/ui/placeDisplay.js:159
msgid "Connect to..."
msgstr "Kopla til …"
#. Translators: the "ON" and "OFF" strings are used in the
#. toggle switches in the status area menus, and must be SHORT.
#. If you don't have suitable short words, consider initials,
#. "0"/"1", "⚪"/"⚫", etc.
#: ../js/ui/popupMenu.js:30 ../js/ui/popupMenu.js:40
msgid "ON"
msgstr "PÅ"
#: ../js/ui/popupMenu.js:31 ../js/ui/popupMenu.js:45
msgid "OFF"
msgstr "AV"
#: ../js/ui/runDialog.js:233
msgid "Please enter a command:"
msgstr "Skriv inn kommando:"
#: ../js/ui/runDialog.js:378
#, c-format
msgid "Execution of '%s' failed:"
msgstr "Klarte ikkje køyra «%s»:"
#: ../js/ui/statusMenu.js:91
msgid "Available"
msgstr "Tilgjengeleg"
#: ../js/ui/statusMenu.js:95
msgid "Busy"
msgstr "Oppteken"
#: ../js/ui/statusMenu.js:99
msgid "Invisible"
msgstr "Usynleg"
#: ../js/ui/statusMenu.js:106
msgid "Account Information..."
msgstr "Kontoinformasjon …"
#: ../js/ui/statusMenu.js:110
msgid "System Preferences..."
msgstr "Systeminnstillingar …"
#: ../js/ui/statusMenu.js:117
msgid "Lock Screen"
msgstr "Lås skjerm"
#: ../js/ui/statusMenu.js:121
msgid "Switch User"
msgstr "Byt brukar"
#: ../js/ui/statusMenu.js:126
msgid "Log Out..."
msgstr "Logg ut …"
#: ../js/ui/statusMenu.js:130
msgid "Shut Down..."
msgstr "Slå av …"
#: ../js/ui/windowAttentionHandler.js:43
#, c-format
msgid "%s has finished starting"
msgstr "%s har starta ferdig"
#: ../js/ui/windowAttentionHandler.js:45
#, c-format
msgid "'%s' is ready"
msgstr "«%s» er klar"
#: ../js/ui/workspacesView.js:230
msgid ""
"Can't add a new workspace because maximum workspaces limit has been reached."
msgstr ""
"Klarte ikkje leggja til fleire arbeidsområde fordi grensa på talet "
"arbeidsområde har vorte nått."
#: ../js/ui/workspacesView.js:247
msgid "Can't remove the first workspace."
msgstr "Klarte ikkje fjerna det første arbeidsområdet."
#: ../src/shell-global.c:1105
msgid "Less than a minute ago"
msgstr "Mindre enn eitt minutt sidan"
#: ../src/shell-global.c:1109
#, c-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "%d minutt sidan"
msgstr[1] "%d minutt sidan"
#: ../src/shell-global.c:1114
#, c-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
msgstr[0] "%d time sidan"
msgstr[1] "%d timar sidan"
#: ../src/shell-global.c:1119
#, c-format
msgid "%d day ago"
msgid_plural "%d days ago"
msgstr[0] "%d dag sidan"
msgstr[1] "%d dagar sidan"
#: ../src/shell-global.c:1124
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
msgstr[0] "%d veke sidan"
msgstr[1] "%d veker sidan"
#: ../src/shell-uri-util.c:89
msgid "Home Folder"
msgstr "Heimemappe"
#. Translators: this is the same string as the one found in
#. * nautilus
#: ../src/shell-uri-util.c:104
msgid "File System"
msgstr "Filsystem"
#: ../src/shell-uri-util.c:250
msgid "Search"
msgstr "Søk"
#. Translators: the first string is the name of a gvfs
#. * 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-uri-util.c:300
#, c-format
msgid "%1$s: %2$s"
msgstr "%1$s: %2$s"

496
po/pa.po
View File

@ -8,15 +8,15 @@ msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug."
"cgi?product=gnome-shell&component=general\n"
"POT-Creation-Date: 2010-06-08 15:19+0000\n"
"PO-Revision-Date: 2010-06-09 10:44+0530\n"
"POT-Creation-Date: 2010-10-27 23:15+0000\n"
"PO-Revision-Date: 2010-10-29 08:13+0530\n"
"Last-Translator: A S Alam <aalam@users.sf.net>\n"
"Language-Team: Punjabi/Panjabi <punjabi-users@lists.sf.net>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Lokalize 1.0\n"
"X-Generator: Lokalize 1.1\n"
#: ../data/gnome-shell.desktop.in.in.h:1
msgid "GNOME Shell"
@ -34,6 +34,292 @@ msgstr "ਘੜੀ"
msgid "Customize the panel clock"
msgstr "ਪੈਨਲ ਘੜੀ ਕਸਟਮਾਈਜ਼ ਕਰੋ"
#: ../data/org.gnome.shell.gschema.xml.in.h:1
msgid ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog."
msgstr "Alt-F2 ਡਾਈਲਾਗ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਅੰਦਰੂਨੀ ਡੀਬੱਗਿਗ ਤੇ ਮਾਨੀਟਰਿੰਗ ਟੂਲ ਵਰਤੋਂ ਕਰਨ ਲਈ ਸਹਾਇਕ ਹੈ"
#: ../data/org.gnome.shell.gschema.xml.in.h:2
msgid "Custom format of the clock"
msgstr "ਘੜੀ ਲਈ ਪਸੰਦੀਦਾ ਫਾਰਮੈਟ"
#: ../data/org.gnome.shell.gschema.xml.in.h:3
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr "Alt-F2 ਤੋਂ ਡਿਵੈਲਪਰਾਂ ਤੇ ਟੈਸਟਰਾਂ ਲਈ ਫਾਇਦੇਮੰਦ ਅੰਦਰੂਨੀ ਟੂਲ ਚਾਲੂ ਕਰਦਾ ਹੈ"
#: ../data/org.gnome.shell.gschema.xml.in.h:4
msgid "File extension used for storing the screencast"
msgstr "ਸਕਰੀਨਕਾਸਟ ਸੰਭਾਲਣ ਲਈ ਵਰਤਣ ਵਾਸਤੇ ਫਾਇਲ ਇਕਟੈਨਸ਼ਨ"
#: ../data/org.gnome.shell.gschema.xml.in.h:5
msgid "Framerate used for recording screencasts."
msgstr "ਸਕਰੀਨਕਾਸਟ ਰਿਕਾਰਡ ਕਰਨ ਲਈ ਫਰੇਮਰੇਟ ਹੈ।"
#: ../data/org.gnome.shell.gschema.xml.in.h:6
msgid ""
"GNOME Shell extensions have a uuid property; this key lists extensions which "
"should not be loaded."
msgstr ""
"ਗਨੋਮ ਸ਼ੈਲ ਇਕਸਟੈਨਸ਼ਨ ਲਈ ਇੱਕ uuid ਵਿਸ਼ੇਸ਼ਤਾ ਹੈ; ਇਹ ਕੁੰਜੀ ਇਕਸਟੈਨਸ਼ਨ ਦਰਸਾਉਂਦੀ ਹੈ, ਜੋ ਲੋਡ ਨਹੀਂ ਹਨ।"
#: ../data/org.gnome.shell.gschema.xml.in.h:7
msgid "History for command (Alt-F2) dialog"
msgstr "ਕਮਾਂਡ (Alt-F2) ਡਾਈਲਾਗ ਲਈ ਅਤੀਤ"
#: ../data/org.gnome.shell.gschema.xml.in.h:8
msgid "Hour format"
msgstr "ਘੰਟਾ ਫਾਰਮੈਟ"
#: ../data/org.gnome.shell.gschema.xml.in.h:9
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display date in the "
"clock, in addition to time."
msgstr "ਜੇ ਚੋਣ ਕੀਤੀ ਤਾਂ ਘੜੀ ਵਿੱਚ \"12-hour\" ਜਾਂ \" 24-hour\" ਸਮੇਂ ਦੇ ਨਾਲ ਵੇਖਾਏ ਜਾਣਗੇ।"
#: ../data/org.gnome.shell.gschema.xml.in.h:10
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display seconds in "
"time."
msgstr "ਜੇ ਚੋਣ ਕੀਤੀ ਤਾਂ ਸਮੇਂ ਵਿੱਚ \"12-hour\" ਜਾਂ \" 24-hour\" ਸਕਿੰਟ ਵੇਖਾਏ ਜਾਣਗੇ।"
#: ../data/org.gnome.shell.gschema.xml.in.h:11
msgid "If true, display the ISO week date in the calendar."
msgstr "ਜੇ ਚੋਣ ਕੀਤੀ ਤਾਂ ਕੈਲੰਡਰ ਵਿੱਚ ISO ਹਫਤਾ ਮਿਤੀ ਵੇਖਾਈ ਜਾਵੇਗੀ।"
#: ../data/org.gnome.shell.gschema.xml.in.h:12
msgid "List of desktop file IDs for favorite applications"
msgstr "ਪਸੰਦੀਦਾ ਐਪਲੀਕੇਸ਼ਨ ਲਈ ਡੈਸਕਟਾਪ ਫਾਇਲ ID ਦੀ ਲਿਸਟ ਹੈ"
#: ../data/org.gnome.shell.gschema.xml.in.h:13
msgid "Overview workspace view mode"
msgstr "ਵਰਕਸਪੇਸ ਝਲਕ ਮੋਡ ਦੀ ਝਲਕ"
#: ../data/org.gnome.shell.gschema.xml.in.h:14
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 ! theoraenc ! oggmux' and records to Ogg Theora."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:15
msgid "Show date in clock"
msgstr "ਘੜੀ ਵਿੱਚ ਮਿਤੀ ਵੇਖੋ"
#: ../data/org.gnome.shell.gschema.xml.in.h:16
msgid "Show the week date in the calendar"
msgstr "ਕੈਲੰਡਰ ਵਿੱਚ ਹਫ਼ਤਾ ਮਿਤੀ ਵੇਖੋ"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "Show time with seconds"
msgstr "ਸਮਾਂ ਵਿੱਚ ਸਕਿੰਟ ਵੇਖੋ"
#: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid ""
"The applications corresponding to these identifiers will be displayed in the "
"favorites area."
msgstr "ਇਹਨਾਂ ਐਂਡਟਟੀਫਾਇਰ ਨਾਲ ਸਬੰਧਿਤ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਪਸੰਦੀਦਾ ਖੇਤਰ 'ਚ ਵੇਖਾਇਆ ਜਾਵੇਗਾ।"
#: ../data/org.gnome.shell.gschema.xml.in.h:19
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 ""
#: ../data/org.gnome.shell.gschema.xml.in.h:20
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:21
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "ਸਕਰੀਨਕਾਸਟ ਇੰਕੋਡ ਕਰਨ ਲਈ ਵਰਤਣ ਵਾਸਤੇ ਜੀਸਟਰੀਮਰ ਪਾਇਪਲਾਇਨ"
#: ../data/org.gnome.shell.gschema.xml.in.h:22
msgid ""
"The selected workspace view mode in the overview. Supported values are "
"\"single\" and \"grid\"."
msgstr ""
"ਸੰਖੇਪ ਵਿੱਚ ਚੁਣੇ ਵਰਕਸਪੇਸ ਝਲਕ ਮੋਡ ਹੈ। ਸਹਾਇਕ ਮੁੱਲ ਹਨ \"single\"(ਇੱਕਲਾ) ਜਾਂ \"grid\" (ਗਰਿੱਡ)।"
#: ../data/org.gnome.shell.gschema.xml.in.h:23
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 ""
#: ../data/org.gnome.shell.gschema.xml.in.h:24
msgid ""
"This key specifies the format used by the panel clock when the format key is "
"set to \"custom\". You can use conversion specifiers understood by strftime"
"() to obtain a specific format. See the strftime() manual for more "
"information."
msgstr ""
"ਇਹ ਕੁੰਜੀ ਪੈਨਲ ਘੜੀ ਲਈ ਵਰਤਣ ਵਾਸਤੇ ਫਾਰਮੈਟ ਦਿੰਦੀ ਹੈ, ਜਦੋਂ ਕਿ ਫਾਰਮੈਟ ਕੁੰਜੀ \"ਕਸਟਮ\" ਸੈੱਟ ਕੀਤੀ "
"ਹੋਵੇ। ਤੁਸੀਂ ਖਾਸ ਫਾਰਮੈਟ ਦੇਣ ਲਈ ਹਦਾਇਤਾਂ ਵਾਸਤੇ strftime () ਨੂੰ ਵਰਤ ਸਕਦੇ ਹੋ। ਹੋਰ ਜਾਣਕਾਰੀ ਲਈ "
"strftime () ਦਸਤਾਵੇਜ਼ ਵੇਖੋ।"
#: ../data/org.gnome.shell.gschema.xml.in.h:25
msgid ""
"This key specifies the hour format used by the panel clock. Possible values "
"are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", "
"the clock will display time in seconds since Epoch, i.e. 1970-01-01. If set "
"to \"custom\", the clock will display time according to the format specified "
"in the custom_format key. Note that if set to either \"unix\" or \"custom\", "
"the show_date and show_seconds keys are ignored."
msgstr ""
"ਇਹ ਕੁੰਜੀ ਤਹਿ ਕਰਦੀ ਹੈ ਕਿ ਕਿਹੜਾ ਪੈਨਲ ਘੜੀ ਵਿੱਚ ਘੰਟਾ ਫਾਰਮੈਟ ਵਰਤਿਆ ਜਾਵੇ। ਸੰਭਵ ਮੁੱਲ ਹਨ \"12-"
"hour\"(੧੨-ਘੰਟੇ), \"24-hour\" (੨੪-ਘੰਟੇ), \"unix\" (ਯੂਨੈਕਸ) ਅਤੇ \"custom\" (ਪਸੰਦੀਦਾ)। "
"ਜੇ \"ਯੂਨੈਕਸ\" ਸੈੱਟ ਕੀਤਾ ਗਿਆ ਤਾਂ ਘੜੀ ਨੂੰ ਈਪੋਚ (-ਜਨਵਰੀ-੧੯੭੦) ਤੋਂ ਵੇਖਾਇਆ\n"
"ਜਾਵੇਗਾ। ਜੇ \"ਪਸੰਦੀਦਾ\" ਲਈ ਸੈੱਟ ਕੀਤਾ ਗਿਆ ਤਾਂ, ਘੜੀ ਨੂੰ custom_format ਕੁੰਜੀ ਵਿੱਚ ਦਿੱਤੇ ਫਾਰਮੈਟ "
"ਮੁਤਾਬਕ ਵੇਖਾਇਆ ਜਾਵੇਗਾ। ਯਾਦ ਰੱਖੋ ਕਿ ਜੇ \"ਯੂਨੈਕਸ\" ਜਾਂ \"ਪਸੰਦੀਦਾ\" ਸੈੱਟ ਕੀਤਾ ਤਾਂ ਅੱਪਗਰੇਡ ਮਿਤੀ "
"ਵੇਖਾਓ ਤੇ ਸਕਿੰਟ ਵੇਖਾਓ ਨੂੰ ਅਣਡਿੱਠਾ ਕੀਤਾ ਜਾਵੇਗਾ।"
#: ../data/org.gnome.shell.gschema.xml.in.h:26
msgid "Uuids of extensions to disable"
msgstr "ਇਕਟੈਨਸ਼ਨ ਦੀ Uuids ਬੰਦ ਹੈ"
#: ../data/org.gnome.shell.gschema.xml.in.h:27
msgid "Whether to collect stats about applications usage"
msgstr "ਐਪਲੀਕੇਸ਼ਨ ਵਰਤੋਂ ਬਾਰੇ ਅੰਕੜੇ ਇੱਕਠੇ ਕਰਨੇ ਹਨ"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:1
msgid "Clip the crosshairs at the center"
msgstr "ਸੈਂਟਰ ਉੱਤੇ ਕਰਾਂਸਹੇਅਰ ਕਲਿੱਪ ਕਰੋ"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:2
msgid "Color of the crosshairs"
msgstr "ਕਰਾਂਸਹੇਅਰ ਦਾ ਰੰਗ"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:3
msgid ""
"Determines the length of the vertical and horizontal lines that make up the "
"crosshairs."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:4
msgid ""
"Determines the position of the magnified mouse image within the magnified "
"view and how it reacts to system mouse movement. The values are - none: no "
"mouse tracking; - centered: the mouse image is displayed at the center of "
"the zoom region (which also represents the point under the system mouse) and "
"the magnified contents are scrolled as the system mouse moves; - "
"proportional: the position of the magnified mouse in the zoom region is "
"proportionally the same as the position of the system mouse on screen; - "
"push: when the magnified mouse intersects a boundary of the zoom region, the "
"contents are scrolled into view."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:5
msgid ""
"Determines the transparency of the crosshairs, from fully opaque to fully "
"transparent."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:6
msgid ""
"Determines whether the crosshairs intersect the magnified mouse sprite, or "
"are clipped such that the ends of the horizontal and vertical lines surround "
"the mouse image."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:7
#| msgid "Enabled"
msgid "Enable lens mode"
msgstr "ਲੈਨਜ਼ ਮੋਡ ਚਾਲੂ"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:8
msgid ""
"Enables/disables display of crosshairs centered on the magnified mouse "
"sprite."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:9
msgid ""
"For centered mouse tracking, when the system pointer is at or near the edge "
"of the screen, the magnified contents continue to scroll such that the "
"screen edge moves into the magnified view."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:10
msgid "Length of the crosshairs"
msgstr "ਕਰਾਂਸਹੇਅਰ ਦੀ ਲੰਬਾਈ"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:11
msgid "Magnification factor"
msgstr "ਵੱਡਦਰਸ਼ੀ ਗੁਣਾਂਕ"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:12
msgid "Mouse Tracking Mode"
msgstr "ਮਾਊਸ ਟਰੈਕਿੰਗ ਮੋਡ"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:13
msgid "Opacity of the crosshairs"
msgstr "ਕਰਾਂਸਹੇਅਰ ਦਾ ਧੁੰਦਲਾਪਨ"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:14
msgid "Screen position"
msgstr "ਸਕਰੀਨ ਸਥਿਤੀ"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:15
msgid "Scroll magnified contents beyond the edges of the desktop"
msgstr "ਡੈਸਕਟਾਪ ਦੇ ਕੋਨਿਆਂ ਤੋਂ ਪਾਰ ਵੱਡਦਰਸ਼ੀ ਸਮੱਗਰੀ ਸਕਰੋਲ ਕਰੋ"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:16
msgid "Show or hide crosshairs"
msgstr "ਕਰਾਂਸਹੇਅਰ ਵੇਖੋ ਜਾਂ ਓਹਲੇ ਕਰੋ"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:17
msgid "Show or hide the magnifier"
msgstr "ਵੱਡਦਰਸ਼ੀ ਵੇਖੋ ਜਾਂ ਓਹਲੇ ਕਰੋ"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:18
msgid "Show or hide the magnifier and all of its zoom regions."
msgstr "ਵੱਡਦਰਸ਼ੀ ਵੇਖੋ ਜਾਂ ਓਹਲੇ ਕਰੋ ਤੇ ਇਸ ਦੇ ਸਭ ਖੇਤਰਾਂ ਨੂੰ ਜ਼ੂਮ ਕਰੋ।"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:19
msgid ""
"The color of the the vertical and horizontal lines that make up the "
"crosshairs."
msgstr "ਵਰਟੀਕਲ ਤੇ ਹਰੀਜੱਟਲ ਲਾਈਨਾਂ ਦਾ ਰੰਗ, ਜੋ ਕਿ ਕਰਾਂਸਹੇਅਰ ਬਣਾਉਂਦੀਆਂ ਹਨ"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:20
msgid ""
"The magnified view either fills the entire screen, or occupies the top-half, "
"bottom-half, left-half, or right-half of the screen."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:21
msgid ""
"The power of the magnification. A value of 1.0 means no magnification. A "
"value of 2.0 doubles the size."
msgstr "ਵੱਡਦਰਸ਼ੀ ਦੀ ਤਾਕਤ ਹੈ। . ਦਾ ਮਤਲਬ ਹੈ ਕਿ ਕੋਈ ਵੀ ਨਹੀਂ। ੨. ਦਾ ਮਤਲਬ ਹੈ ਆਕਾਰ ਦਾ ਦੋ ਗੁਣਾ।"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:22
msgid "Thickness of the crosshairs"
msgstr "ਕਰਾਂਸਹੇਅਰ ਦੀ ਮੋਟਾਈ"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:23
msgid ""
"Whether the magnified view should be centered over the location of the "
"system mouse and move with it."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:24
msgid "Width of the vertical and horizontal lines that make up the crosshairs."
msgstr "ਵਰਟੀਕਲ ਤੇ ਹਰੀਜੱਟਲ ਲਾਈਨਾਂ ਦੀ ਚੌੜਾਈ, ਜੋ ਕਿ ਕਰਾਂਸਹੇਅਰ ਬਣਾਉਂਦੀਆਂ ਹਨ"
#: ../data/clock-preferences.ui.h:1
msgid "Clock Format"
msgstr "ਘੜੀ ਫਾਰਮੈਟ"
@ -63,31 +349,31 @@ msgid "_24 hour format"
msgstr "_੨ ਘੰਟੇ ਫਾਰਮੈਟ"
#. **** Applications ****
#: ../js/ui/appDisplay.js:366 ../js/ui/dash.js:858
#: ../js/ui/appDisplay.js:316 ../js/ui/dash.js:778
msgid "APPLICATIONS"
msgstr "ਐਪਲੀਕੇਸ਼ਨ"
#: ../js/ui/appDisplay.js:398
#: ../js/ui/appDisplay.js:348
msgid "PREFERENCES"
msgstr "ਪਸੰਦ"
#: ../js/ui/appDisplay.js:770
#: ../js/ui/appDisplay.js:648
msgid "New Window"
msgstr "ਨਵੀਂ ਵਿੰਡੋ"
#: ../js/ui/appDisplay.js:774
#: ../js/ui/appDisplay.js:652
msgid "Remove from Favorites"
msgstr "ਪਸੰਦ ਵਿੱਚੋਂ ਹਟਾਓ"
#: ../js/ui/appDisplay.js:775
#: ../js/ui/appDisplay.js:653
msgid "Add to Favorites"
msgstr "ਪਸੰਦ 'ਚ ਸ਼ਾਮਲ ਕਰੋ"
#: ../js/ui/appDisplay.js:1102
#: ../js/ui/appDisplay.js:830
msgid "Drag here to add favorites"
msgstr "ਪਸੰਦ ਵਿੱਚ ਜੋੜਨ ਲਈ ਇੱਥੇ ਸੁੱਟੋ"
#: ../js/ui/appFavorites.js:89
#: ../js/ui/appFavorites.js:88
#, c-format
msgid "%s has been added to your favorites."
msgstr "%s ਨੂੰ ਤੁਹਾਡੀ ਪਸੰਦ ਵਿੱਚ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ।"
@ -97,220 +383,307 @@ msgstr "%s ਨੂੰ ਤੁਹਾਡੀ ਪਸੰਦ ਵਿੱਚ ਸ਼ਾਮ
msgid "%s has been removed from your favorites."
msgstr "%s ਨੂੰ ਤੁਹਾਡੀ ਪਸੰਦ ਤੋਂ ਹਟਾਇਆ ਜਾ ਚੁੱਕਿਆ ਹੈ।"
#: ../js/ui/dash.js:189
#: ../js/ui/dash.js:142
msgid "Find"
msgstr "ਖੋਜ"
#: ../js/ui/dash.js:513
#: ../js/ui/dash.js:473
msgid "Searching..."
msgstr "ਖੋਜ ਜਾਰੀ ਹੈ..."
#: ../js/ui/dash.js:527
#: ../js/ui/dash.js:487
msgid "No matching results."
msgstr "ਕੋਈ ਨਤੀਜਾ ਨਹੀਂ ਲੱਭਿਆ।"
#. **** Places ****
#. Translators: This is in the sense of locations for documents,
#. network locations, etc.
#: ../js/ui/dash.js:877 ../js/ui/placeDisplay.js:551
#: ../js/ui/dash.js:797 ../js/ui/placeDisplay.js:554
msgid "PLACES & DEVICES"
msgstr "ਥਾਵਾਂ ਤੇ ਜੰਤਰ"
#. **** Documents ****
#: ../js/ui/dash.js:884 ../js/ui/docDisplay.js:497
#: ../js/ui/dash.js:804 ../js/ui/docDisplay.js:494
msgid "RECENT ITEMS"
msgstr "ਤਾਜ਼ਾ ਆਈਟਮਾਂ"
#: ../js/ui/lookingGlass.js:475
#: ../js/ui/lookingGlass.js:552
msgid "No extensions installed"
msgstr "ਕੋਈ ਇਕਸਟੈਨਸ਼ਨ ਇੰਸਟਾਲ ਨਹੀਂ ਹੈ"
#: ../js/ui/lookingGlass.js:512
#: ../js/ui/lookingGlass.js:589
msgid "Enabled"
msgstr "ਚਾਲੂ ਹੈ"
#: ../js/ui/lookingGlass.js:514
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:591 ../src/gvc/gvc-mixer-control.c:1087
msgid "Disabled"
msgstr "ਬੰਦ ਹੈ"
#: ../js/ui/lookingGlass.js:516
#: ../js/ui/lookingGlass.js:593
msgid "Error"
msgstr "ਗਲਤੀ"
#: ../js/ui/lookingGlass.js:518
#: ../js/ui/lookingGlass.js:595
msgid "Out of date"
msgstr "ਪੁਰਾਣਾ"
#: ../js/ui/lookingGlass.js:543
#: ../js/ui/lookingGlass.js:620
msgid "View Source"
msgstr "ਸਰੋਤ ਵੇਖੋ"
#: ../js/ui/lookingGlass.js:549
#: ../js/ui/lookingGlass.js:626
msgid "Web Page"
msgstr "ਵੈੱਬ ਪੇਜ਼"
#: ../js/ui/overview.js:162
#: ../js/ui/overview.js:160
msgid "Undo"
msgstr "ਵਾਪਸ"
#: ../js/ui/panel.js:818
#. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:469
#, c-format
msgid "Quit %s"
msgstr "%s ਬੰਦ ਕਰੋ"
#: ../js/ui/panel.js:838
#| msgid "Clock Preferences"
#: ../js/ui/panel.js:494
msgid "Preferences"
msgstr "ਮੇਰੀ ਪਸੰਦ"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/panel.js:945
#: ../js/ui/panel.js:580
msgid "%a %b %e, %R:%S"
msgstr "%a, %e %b %R:%S"
#: ../js/ui/panel.js:946
#: ../js/ui/panel.js:581
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/panel.js:950
#: ../js/ui/panel.js:585
msgid "%a %R:%S"
msgstr "%a %R:%S"
#: ../js/ui/panel.js:951
#: ../js/ui/panel.js:586
msgid "%a %R"
msgstr "%a %R"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/panel.js:958
#: ../js/ui/panel.js:593
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a %e %b, %l:%M:%S %p"
#: ../js/ui/panel.js:959
#: ../js/ui/panel.js:594
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/panel.js:963
#: ../js/ui/panel.js:598
msgid "%a %l:%M:%S %p"
msgstr "%a %l:%M:%S %p"
#: ../js/ui/panel.js:964
#: ../js/ui/panel.js:599
msgid "%a %l:%M %p"
msgstr "%a %l:%M %p"
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:1065
#: ../js/ui/panel.js:744
msgid "Activities"
msgstr "ਸਰਗਰਮੀਆਂ"
#: ../js/ui/placeDisplay.js:108
#: ../js/ui/placeDisplay.js:111
#, c-format
msgid "Failed to unmount '%s'"
msgstr "'%s' ਅਣ-ਮਾਊਂਟ ਕਰਨ ਲਈ ਫੇਲ੍ਹ"
#: ../js/ui/placeDisplay.js:111
#: ../js/ui/placeDisplay.js:114
msgid "Retry"
msgstr "ਮੁੜ-ਕੋਸ਼ਿਸ਼"
#: ../js/ui/placeDisplay.js:156
#: ../js/ui/placeDisplay.js:159
msgid "Connect to..."
msgstr "...ਨਾਲ ਕੁਨੈਕਟ ਕਰੋ"
#: ../js/ui/runDialog.js:231
#. Translators: this MUST be either "toggle-switch-us"
#. (for toggle switches containing the English words
#. "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:33
msgid "toggle-switch-us"
msgstr "toggle-switch-us"
#: ../js/ui/runDialog.js:233
msgid "Please enter a command:"
msgstr "ਕਮਾਂਡ ਦਿਓ ਜੀ:"
#: ../js/ui/runDialog.js:375
#: ../js/ui/runDialog.js:378
#, c-format
msgid "Execution of '%s' failed:"
msgstr "'%s' ਚਲਾਉਣ ਲਈ ਫੇਲ੍ਹ:"
#: ../js/ui/statusMenu.js:91
#: ../js/ui/statusMenu.js:101
msgid "Available"
msgstr "ਉਪਲੱਬਧ"
#: ../js/ui/statusMenu.js:95
#: ../js/ui/statusMenu.js:106
msgid "Busy"
msgstr "ਰੁਝਿਆ"
#: ../js/ui/statusMenu.js:99
#: ../js/ui/statusMenu.js:111
msgid "Invisible"
msgstr "ਅਦਿੱਖ"
#: ../js/ui/statusMenu.js:106
msgid "Account Information..."
msgstr "ਅਕਾਊਂਟ ਜਾਣਕਾਰੀ..."
#: ../js/ui/statusMenu.js:119
msgid "My Account..."
msgstr "...ਮੇਰਾ ਅਕਾਊਂਟ"
#: ../js/ui/statusMenu.js:110
#: ../js/ui/statusMenu.js:123
#| msgid "Preferences"
msgid "System Preferences..."
msgstr "ਸਿਸਟਮ ਪਸੰਦ..."
#: ../js/ui/statusMenu.js:117
#: ../js/ui/statusMenu.js:130
msgid "Lock Screen"
msgstr "ਸਕਰੀਨ ਲਾਕ ਕਰੋ"
#: ../js/ui/statusMenu.js:121
#: ../js/ui/statusMenu.js:134
msgid "Switch User"
msgstr "ਯੂਜ਼ਰ ਬਦਲੋ"
#: ../js/ui/statusMenu.js:126
#: ../js/ui/statusMenu.js:139
msgid "Log Out..."
msgstr "ਲਾਗਆਉਟ..."
#: ../js/ui/statusMenu.js:130
#: ../js/ui/statusMenu.js:146
msgid "Suspend"
msgstr "ਸਸਪੈਂਡ"
#: ../js/ui/statusMenu.js:150
msgid "Restart..."
msgstr "...ਮੁੜ-ਚਾਲੂ"
#: ../js/ui/statusMenu.js:154
msgid "Shut Down..."
msgstr "ਬੰਦ ਕਰੋ..."
#: ../js/ui/windowAttentionHandler.js:47
#: ../js/ui/status/accessibility.js:88
msgid "Screen Reader"
msgstr "ਸਕਰੀਨ ਰੀਡਰ"
#: ../js/ui/status/accessibility.js:91
msgid "Screen Keyboard"
msgstr "ਸਕਰੀਨ ਕੀਬੋਰਡ"
#: ../js/ui/status/accessibility.js:94
msgid "Visual Alerts"
msgstr "ਦਿੱਖ ਚੇਤਾਵਨੀ"
#: ../js/ui/status/accessibility.js:97
msgid "Sticky Keys"
msgstr "ਸਟਿੱਕੀ ਸਵਿੱਚਾਂ"
#: ../js/ui/status/accessibility.js:100
msgid "Slow Keys"
msgstr "ਹੌਲੀ ਸਵਿੱਚਾਂ"
#: ../js/ui/status/accessibility.js:103
msgid "Bounce Keys"
msgstr "ਬਾਊਂਸ ਸਵਿੱਚਾਂ"
#: ../js/ui/status/accessibility.js:106
msgid "Mouse Keys"
msgstr "ਮਾਊਸ ਸਵਿੱਚਾਂ"
#: ../js/ui/status/accessibility.js:110
msgid "Universal Access Settings"
msgstr "ਯੂਨੀਵਰਸਲ ਅਸੈੱਸ ਸੈਟਿੰਗ"
#: ../js/ui/status/accessibility.js:163
msgid "High Contrast"
msgstr "ਵੱਧ ਕਨਟਰਾਸਟ"
#: ../js/ui/status/accessibility.js:202
msgid "Large Text"
msgstr "ਵੱਡੇ ਅੱਖਰ"
#: ../js/ui/status/accessibility.js:223
msgid "Zoom"
msgstr "ਜ਼ੂਮ"
#: ../js/ui/windowAttentionHandler.js:43
#, c-format
msgid "%s has finished starting"
msgstr "%s ਸ਼ੁਰੂ ਹੋਣਾ ਖਤਮ ਹੋਇਆ"
#: ../js/ui/windowAttentionHandler.js:49
#: ../js/ui/windowAttentionHandler.js:45
#, c-format
msgid "'%s' is ready"
msgstr "'%s' ਤਿਆਰ ਹੈ"
#: ../js/ui/workspacesView.js:237
#: ../js/ui/workspacesView.js:229
msgid "Can't add a new workspace because maximum workspaces limit has been reached."
msgstr "ਨਵਾਂ ਵਰਕਸਪੇਸ ਜੋੜਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ, ਕਿਉਂਕਿ ਵਰਕਸਪੇਸਾਂ ਦੀ ਵੱਧੋ-ਵੱਧ ਗਿਣਤੀ ਪੂਰੀ ਹੋ ਚੁੱਕੀ ਹੈ।"
#: ../js/ui/workspacesView.js:254
#: ../js/ui/workspacesView.js:246
msgid "Can't remove the first workspace."
msgstr "ਪਹਿਲਾਂ ਵਰਕਸਪੇਸ ਨਹੀਂ ਹਟਾਇਆ ਜਾ ਸਕਦਾ।"
#: ../src/shell-global.c:1025
#. translators:
#. * The number of sound outputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1094
#, c-format
msgid "%u Output"
msgid_plural "%u Outputs"
msgstr[0] "%u ਆਉਟਪੁੱਟ"
msgstr[1] "%u ਆਉਟਪੁੱਟ"
#. translators:
#. * The number of sound inputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1104
#, c-format
msgid "%u Input"
msgid_plural "%u Inputs"
msgstr[0] "%u ਇੰਪੁੱਟ"
msgstr[1] "%u ਇੰਪੁੱਟ"
#: ../src/gvc/gvc-mixer-control.c:1402
#| msgid "System Settings..."
msgid "System Sounds"
msgstr "ਸਿਸਟਮ ਸਾਊਂਡ"
#: ../src/shell-global.c:1204
msgid "Less than a minute ago"
msgstr "ਇੱਕ ਮਿੰਟ ਤੋਂ ਘੱਟ ਚਿਰ ਪਹਿਲਾਂ"
#: ../src/shell-global.c:1029
#: ../src/shell-global.c:1208
#, c-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "%d ਮਿੰਟ ਪਹਿਲਾਂ"
msgstr[1] "%d ਮਿੰਟ ਪਹਿਲਾਂ"
#: ../src/shell-global.c:1034
#: ../src/shell-global.c:1213
#, c-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
msgstr[0] "%d ਘੰਟਾ ਪਹਿਲਾਂ"
msgstr[1] "%d ਘੰਟੇ ਪਹਿਲਾਂ"
#: ../src/shell-global.c:1039
#: ../src/shell-global.c:1218
#, c-format
msgid "%d day ago"
msgid_plural "%d days ago"
msgstr[0] "%d ਦਿਨ ਪਹਿਲਾਂ"
msgstr[1] "%d ਦਿਨ ਪਹਿਲਾਂ"
#: ../src/shell-global.c:1044
#: ../src/shell-global.c:1223
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
@ -341,6 +714,9 @@ msgstr "ਖੋਜ"
msgid "%1$s: %2$s"
msgstr "%1$s: %2$s"
#~ msgid "Account Information..."
#~ msgstr "ਅਕਾਊਂਟ ਜਾਣਕਾਰੀ..."
#~ msgid "Sidebar"
#~ msgstr "ਬਾਹੀ"

336
po/pl.po
View File

@ -7,14 +7,16 @@
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-05-27 23:18+0200\n"
"PO-Revision-Date: 2010-05-25 21:36+0200\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&component=general\n"
"POT-Creation-Date: 2010-09-22 15:13+0000\n"
"PO-Revision-Date: 2010-09-22 18:14+0200\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Polish <gnomepl@aviary.pl>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: pl\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n"
"X-Poedit-Language: Polish\n"
@ -36,6 +38,197 @@ msgstr "Zegar"
msgid "Customize the panel clock"
msgstr "Dostosowanie panelu zegara"
#: ../data/org.gnome.shell.gschema.xml.in.h:1
msgid ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog."
msgstr ""
"Umożliwia dostęp do wewnętrznych narzędzi debugowania i monitorowania "
"używając okna dialogowego Alt-F2."
#: ../data/org.gnome.shell.gschema.xml.in.h:2
msgid "Custom format of the clock"
msgstr "Własny format zegara"
#: ../data/org.gnome.shell.gschema.xml.in.h:3
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr ""
"Włącza wewnętrzne narzędzia przydatne programistom i testerom w oknie "
"dialogowym Alt-F2"
#: ../data/org.gnome.shell.gschema.xml.in.h:4
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:5
msgid "Framerate used for recording screencasts."
msgstr "Liczba klatek na sekundę do nagrywania pulpitu."
#: ../data/org.gnome.shell.gschema.xml.in.h:6
msgid ""
"GNOME Shell extensions have a uuid property; this key lists extensions which "
"should not be loaded."
msgstr ""
"Rozszerzenia powłoki GNOME posiadają własność UUID; ten klucz zawiera "
"rozszerzenia, które nie powinny zostać wczytane."
#: ../data/org.gnome.shell.gschema.xml.in.h:7
msgid "History for command (Alt-F2) dialog"
msgstr "Historia okna dialogowego poleceń (Alt-F2)"
#: ../data/org.gnome.shell.gschema.xml.in.h:8
msgid "Hour format"
msgstr "Format godziny"
#: ../data/org.gnome.shell.gschema.xml.in.h:9
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display date in the "
"clock, in addition to time."
msgstr ""
"Jeśli jest ustawione na \"true\", a format to \"12-hour\" (zegar "
"dwunastogodzinny) lub \"24-hour\" (zegar dwudziestoczterogodzinny), to "
"wyświetla datę w zegarze, dodatkowo do czasu."
#: ../data/org.gnome.shell.gschema.xml.in.h:10
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display seconds in "
"time."
msgstr ""
"Jeśli jest ustawione na \"true\", a format to \"12-hour\" (czas "
"dwunastogodzinny) lub \"24-hour\" (czas dwudziestoczterogodzinny), to "
"wyświetla sekundy."
#: ../data/org.gnome.shell.gschema.xml.in.h:11
msgid "If true, display the ISO week date in the calendar."
msgstr ""
"Jeśli jest ustawione na \"true\", to wyświetla dzień tygodnia w formacie ISO "
"w kalendarzu."
#: ../data/org.gnome.shell.gschema.xml.in.h:12
msgid "List of desktop file IDs for favorite applications"
msgstr "Lista identyfikatorów plików .desktop ulubionych programów"
#: ../data/org.gnome.shell.gschema.xml.in.h:13
msgid "Overview workspace view mode"
msgstr "Tryb wyświetlania obszarów roboczych w podglądzie"
#: ../data/org.gnome.shell.gschema.xml.in.h:14
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 ! theoraenc ! oggmux' and records to Ogg Theora."
msgstr ""
"Ustawia potok biblioteki GStreamer używany do zakodowania nagrań. Używa "
"składni programu gst-launch. Potok powinien posiadać niepołączony odpływ, "
"gdzie jest nagrywane. Zwykle taki posiada, a wyjście będzie zapisywane do "
"pliku wyjściowego. Mimo, że potok może sam zająć się swoim wyjściem, można "
"także wysłać wyjście do serwera icecast przez polecenie shout2send lub "
"podobne. Jeśli nie zostanie ustawione lub ustawione na pustą wartość, to "
"zostanie użyty domyślny potok. Jest nim obecnie \"videorate ! theoraenc ! "
"oggmux\" i nagrywa do formatu Ogg Theora."
#: ../data/org.gnome.shell.gschema.xml.in.h:15
msgid "Show date in clock"
msgstr "Wyświetlanie daty w zegarze"
#: ../data/org.gnome.shell.gschema.xml.in.h:16
msgid "Show the week date in the calendar"
msgstr "Wyświetlanie dnia tygodnia w kalendarzu"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "Show time with seconds"
msgstr "Wyświetlanie czasu z sekundami"
#: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid ""
"The applications corresponding to these identifiers will be displayed in the "
"favorites area."
msgstr ""
"Programy odpowiadające tym identyfikatorom będą wyświetlane w obszarze "
"ulubionych."
#: ../data/org.gnome.shell.gschema.xml.in.h:19
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 ""
"Nazwa pliku dla nagrań pulpitu będzie unikalną nazwą opartą na bieżącej "
"dacie, i używającej tego rozszerzenia. Rozszerzenie powinno zostać "
"zmienione, aby nagrywać w innym formacie kontenera."
#: ../data/org.gnome.shell.gschema.xml.in.h:20
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:21
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:22
msgid ""
"The selected workspace view mode in the overview. Supported values are "
"\"single\" and \"grid\"."
msgstr ""
"Wybrany tryb wyświetlania obszarów roboczych. Obsługiwane wartości to "
"\"single\" (pojedynczy obszar) i \"grid\" (siatka obszarów)."
#: ../data/org.gnome.shell.gschema.xml.in.h:23
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 ""
"Powłoka zwykle monitoruje aktywne programy, aby przedstawiać najczęściej "
"używane (np. aktywatory programów). Mimo, że te dane nie są publiczne, można "
"wyłączyć je z powodu prywatności. Proszę zauważyć, że wyłączenie nie "
"spowoduje usunięcia zapisanych danych."
#: ../data/org.gnome.shell.gschema.xml.in.h:24
msgid ""
"This key specifies the format used by the panel clock when the format key is "
"set to \"custom\". You can use conversion specifiers understood by strftime"
"() to obtain a specific format. See the strftime() manual for more "
"information."
msgstr ""
"Ten klucz określa format używany przez zegar panelu, kiedy klucz formatu "
"ustawiony jest na \"custom\" (własny). Można użyć znaczników używanych przez "
"funkcję strftime(), aby uzyskać konkretny format. Proszę zobaczyć podręcznik "
"funkcji strftime(), aby dowiedzieć się więcej."
#: ../data/org.gnome.shell.gschema.xml.in.h:25
msgid ""
"This key specifies the hour format used by the panel clock. Possible values "
"are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", "
"the clock will display time in seconds since Epoch, i.e. 1970-01-01. If set "
"to \"custom\", the clock will display time according to the format specified "
"in the custom_format key. Note that if set to either \"unix\" or \"custom\", "
"the show_date and show_seconds keys are ignored."
msgstr ""
"Ten klucz określa format godzin używany przez zegar panelu. Możliwe wartości "
"to \"12-hour\" (czas dwunastogodzinny) lub \"24-hour\" (czas "
"dwudziestoczterogodzinny), \"unix\" (czas uniksowy) i \"custom\" (własny "
"format). Jeśli zostanie ustawione na \"custom\", zegar będzie wyświetlał "
"czas zgodnie z formatem określonym w kluczu \"custom_format\". Proszę "
"zauważyć, że jeśli zostanie ustawione \"unix\" lub \"custom\", klucze "
"\"show_date\" i \"show_seconds\" będą ignorowane."
#: ../data/org.gnome.shell.gschema.xml.in.h:26
msgid "Uuids of extensions to disable"
msgstr "Lista UUID rozszerzeń do wyłączenia"
#: ../data/org.gnome.shell.gschema.xml.in.h:27
msgid "Whether to collect stats about applications usage"
msgstr "Określa, czy zbierać statystyki o użyciu programów"
#: ../data/clock-preferences.ui.h:1
msgid "Clock Format"
msgstr "Format zegara"
@ -65,31 +258,31 @@ msgid "_24 hour format"
msgstr "_24 godzinny"
#. **** Applications ****
#: ../js/ui/appDisplay.js:306 ../js/ui/dash.js:858
#: ../js/ui/appDisplay.js:316 ../js/ui/dash.js:778
msgid "APPLICATIONS"
msgstr "Programy"
#: ../js/ui/appDisplay.js:338
#: ../js/ui/appDisplay.js:348
msgid "PREFERENCES"
msgstr "Preferencje"
#: ../js/ui/appDisplay.js:710
#: ../js/ui/appDisplay.js:653
msgid "New Window"
msgstr "Nowe okno"
#: ../js/ui/appDisplay.js:714
#: ../js/ui/appDisplay.js:657
msgid "Remove from Favorites"
msgstr "Usuń z ulubionych"
#: ../js/ui/appDisplay.js:715
#: ../js/ui/appDisplay.js:658
msgid "Add to Favorites"
msgstr "Dodaj do ulubionych"
#: ../js/ui/appDisplay.js:1042
#: ../js/ui/appDisplay.js:986
msgid "Drag here to add favorites"
msgstr "Przeciągnięcie tutaj doda do ulubionych"
#: ../js/ui/appFavorites.js:89
#: ../js/ui/appFavorites.js:88
#, c-format
msgid "%s has been added to your favorites."
msgstr "Program %s został dodany do ulubionych."
@ -99,192 +292,211 @@ msgstr "Program %s został dodany do ulubionych."
msgid "%s has been removed from your favorites."
msgstr "Program %s został usunięty z ulubionych."
#: ../js/ui/dash.js:189
#: ../js/ui/dash.js:142
msgid "Find"
msgstr "Znajdź"
msgstr "Wyszukiwanie"
#: ../js/ui/dash.js:513
#: ../js/ui/dash.js:473
msgid "Searching..."
msgstr "Wyszukiwanie..."
#: ../js/ui/dash.js:527
#: ../js/ui/dash.js:487
msgid "No matching results."
msgstr "Brak wyników."
#. **** Places ****
#. Translators: This is in the sense of locations for documents,
#. network locations, etc.
#: ../js/ui/dash.js:877 ../js/ui/placeDisplay.js:551
#: ../js/ui/dash.js:797 ../js/ui/placeDisplay.js:554
msgid "PLACES & DEVICES"
msgstr "Miejsca i urządzenia"
#. **** Documents ****
#: ../js/ui/dash.js:884 ../js/ui/docDisplay.js:497
#: ../js/ui/dash.js:804 ../js/ui/docDisplay.js:494
msgid "RECENT ITEMS"
msgstr "Ostatnie dokumenty"
msgstr "Ostatnie elementy"
#: ../js/ui/lookingGlass.js:466
#: ../js/ui/lookingGlass.js:552
msgid "No extensions installed"
msgstr "Nie zainstalowano rozszerzeń"
#: ../js/ui/lookingGlass.js:503
#: ../js/ui/lookingGlass.js:589
msgid "Enabled"
msgstr "Włączone"
#: ../js/ui/lookingGlass.js:505
#: ../js/ui/lookingGlass.js:591
msgid "Disabled"
msgstr "Wyłączone"
#: ../js/ui/lookingGlass.js:507
#: ../js/ui/lookingGlass.js:593
msgid "Error"
msgstr "Błąd"
#: ../js/ui/lookingGlass.js:509
#: ../js/ui/lookingGlass.js:595
msgid "Out of date"
msgstr "Nieaktualne"
#: ../js/ui/lookingGlass.js:534
#: ../js/ui/lookingGlass.js:620
msgid "View Source"
msgstr "Wyświetl źródło"
#: ../js/ui/lookingGlass.js:540
#: ../js/ui/lookingGlass.js:626
msgid "Web Page"
msgstr "Strona WWW"
#: ../js/ui/overview.js:161
#: ../js/ui/overview.js:160
msgid "Undo"
msgstr "Cofnij"
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:903
msgid "Activities"
msgstr "Podgląd"
#. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:467
#, c-format
msgid "Quit %s"
msgstr "Zakończ program %s"
#: ../js/ui/panel.js:492
msgid "Preferences"
msgstr "Preferencje"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/panel.js:1118
#: ../js/ui/panel.js:578
msgid "%a %b %e, %R:%S"
msgstr "%a %e %b, %R:%S"
#: ../js/ui/panel.js:1119
#: ../js/ui/panel.js:579
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/panel.js:1123
#: ../js/ui/panel.js:583
msgid "%a %R:%S"
msgstr "%a, %R:%S"
#: ../js/ui/panel.js:1124
#: ../js/ui/panel.js:584
msgid "%a %R"
msgstr "%a, %R"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/panel.js:1131
#: ../js/ui/panel.js:591
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a %e %b, %H:%M:%S %p"
#: ../js/ui/panel.js:1132
#: ../js/ui/panel.js:592
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/panel.js:1136
#: ../js/ui/panel.js:596
msgid "%a %l:%M:%S %p"
msgstr "%a, %l:%M:%S %p"
#: ../js/ui/panel.js:1137
#: ../js/ui/panel.js:597
msgid "%a %l:%M %p"
msgstr "%a, %l:%M %p"
#: ../js/ui/placeDisplay.js:108
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:742
msgid "Activities"
msgstr "Podgląd"
#: ../js/ui/placeDisplay.js:111
#, c-format
msgid "Failed to unmount '%s'"
msgstr "Odmontowanie \"%s\" się nie powiodło"
#: ../js/ui/placeDisplay.js:111
#: ../js/ui/placeDisplay.js:114
msgid "Retry"
msgstr "Ponów"
#: ../js/ui/placeDisplay.js:156
#: ../js/ui/placeDisplay.js:159
msgid "Connect to..."
msgstr "Połącz z..."
#: ../js/ui/runDialog.js:231
#. Translators: this MUST be either "toggle-switch-us"
#. (for toggle switches containing the English words
#. "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:32
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
#: ../js/ui/runDialog.js:233
msgid "Please enter a command:"
msgstr "Proszę wprowadzić polecenie:"
#: ../js/ui/runDialog.js:375
#: ../js/ui/runDialog.js:378
#, c-format
msgid "Execution of '%s' failed:"
msgstr "Wykonanie \"%s\" się nie powiodło:"
msgstr "Wykonanie polecenia \"%s\" się nie powiodło:"
#: ../js/ui/statusMenu.js:90
#: ../js/ui/statusMenu.js:91
msgid "Available"
msgstr "Dostępny"
#: ../js/ui/statusMenu.js:94
#: ../js/ui/statusMenu.js:95
msgid "Busy"
msgstr "Zajęty"
#: ../js/ui/statusMenu.js:98
#: ../js/ui/statusMenu.js:99
msgid "Invisible"
msgstr "Niewidoczny"
#: ../js/ui/statusMenu.js:105
#: ../js/ui/statusMenu.js:106
msgid "Account Information..."
msgstr "Informacje o koncie..."
#: ../js/ui/statusMenu.js:109
#: ../js/ui/statusMenu.js:110
msgid "System Preferences..."
msgstr "Preferencje systemu..."
#: ../js/ui/statusMenu.js:116
#: ../js/ui/statusMenu.js:117
msgid "Lock Screen"
msgstr "Zablokuj ekran"
#: ../js/ui/statusMenu.js:120
#: ../js/ui/statusMenu.js:121
msgid "Switch User"
msgstr "Przełącz użytkownika"
#: ../js/ui/statusMenu.js:125
#: ../js/ui/statusMenu.js:126
msgid "Log Out..."
msgstr "Wyloguj się..."
#: ../js/ui/statusMenu.js:129
#: ../js/ui/statusMenu.js:130
msgid "Shut Down..."
msgstr "Wyłącz komputer..."
#: ../js/ui/windowAttentionHandler.js:47
#: ../js/ui/windowAttentionHandler.js:43
#, c-format
msgid "%s has finished starting"
msgstr "Ukończono uruchamianie programu %s"
#: ../js/ui/windowAttentionHandler.js:49
#: ../js/ui/windowAttentionHandler.js:45
#, c-format
msgid "'%s' is ready"
msgstr "Program \"%s\" jest gotowy"
#: ../js/ui/workspacesView.js:237
#: ../js/ui/workspacesView.js:230
msgid ""
"Can't add a new workspace because maximum workspaces limit has been reached."
msgstr ""
"Nie można dodać nowego obszaru roboczego, ponieważ osiągnięto ograniczenie "
"maksymalnej liczby obszarów."
#: ../js/ui/workspacesView.js:254
#: ../js/ui/workspacesView.js:247
msgid "Can't remove the first workspace."
msgstr "Nie można usunąć pierwszego obszaru roboczego."
#: ../src/shell-global.c:1027
#: ../src/shell-global.c:1189
msgid "Less than a minute ago"
msgstr "Mniej niż minutę temu"
#: ../src/shell-global.c:1031
#: ../src/shell-global.c:1193
#, c-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
@ -292,7 +504,7 @@ msgstr[0] "%d minuta temu"
msgstr[1] "%d minuty temu"
msgstr[2] "%d minut temu"
#: ../src/shell-global.c:1036
#: ../src/shell-global.c:1198
#, c-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
@ -300,7 +512,7 @@ msgstr[0] "%d godzina temu"
msgstr[1] "%d godziny temu"
msgstr[2] "%d godzin temu"
#: ../src/shell-global.c:1041
#: ../src/shell-global.c:1203
#, c-format
msgid "%d day ago"
msgid_plural "%d days ago"
@ -308,7 +520,7 @@ msgstr[0] "%d dzień temu"
msgstr[1] "%d dni temu"
msgstr[2] "%d dni temu"
#: ../src/shell-global.c:1046
#: ../src/shell-global.c:1208
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"

546
po/pt.po Normal file
View File

@ -0,0 +1,546 @@
# gnome-shell's Portuguese translation.
# Copyright © 2010 gnome-shell
# This file is distributed under the same license as the gnome-shell package.
# Duarte Loreto <happyguy_pt@hotmail.com>, 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: 2.32\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-09-10 21:45+0100\n"
"PO-Revision-Date: 2010-09-09 01:18+0000\n"
"Last-Translator: Duarte Loreto <happyguy_pt@hotmail.com>\n"
"Language-Team: Portuguese <gnome_pt@yahoogroups.com>\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"
#: ../data/gnome-shell.desktop.in.in.h:1
msgid "GNOME Shell"
msgstr "Interface GNOME"
#: ../data/gnome-shell.desktop.in.in.h:2
msgid "Window management and application launching"
msgstr "Gestão de janelas e iniciação de aplicações"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:1
msgid "Clock"
msgstr "Relógio"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:2
msgid "Customize the panel clock"
msgstr "Personalizar o relógio do painel"
#: ../data/org.gnome.shell.gschema.xml.in.h:1
msgid ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog."
msgstr ""
"Permite o acesso a ferramentas internas de depuração e monitorização "
"utilizando o diálogo Alt-F2."
#: ../data/org.gnome.shell.gschema.xml.in.h:2
msgid "Custom format of the clock"
msgstr "Formato personalizado do relógio"
#: ../data/org.gnome.shell.gschema.xml.in.h:3
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr ""
"Activa, a partir do Alt-F2, ferramentas internas úteis para programadores e "
"quem realiza testes"
#: ../data/org.gnome.shell.gschema.xml.in.h:4
msgid "File extension used for storing the screencast"
msgstr "Extensão de ficheiro utilizado para armazenar a transmissão de ecrã"
#: ../data/org.gnome.shell.gschema.xml.in.h:5
msgid "Framerate used for recording screencasts."
msgstr "Taxa de imagens utilizada para a gravação das transmissões de ecrã."
#: ../data/org.gnome.shell.gschema.xml.in.h:6
msgid ""
"GNOME Shell extensions have a uuid property; this key lists extensions which "
"should not be loaded."
msgstr ""
"As extensões da Interface GNOME têm uma propriedade uuid; esta chave lista "
"as extensões que não deverão ser lidas."
#: ../data/org.gnome.shell.gschema.xml.in.h:7
msgid "History for command (Alt-F2) dialog"
msgstr "Histórico do diálogo de comando (Alt-F2)"
#: ../data/org.gnome.shell.gschema.xml.in.h:8
msgid "Hour format"
msgstr "Formato de hora"
#: ../data/org.gnome.shell.gschema.xml.in.h:9
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display date in the "
"clock, in addition to time."
msgstr ""
"Se verdadeiro e o formato for \"12-hour\" ou \"24-hour\", apresentar a data "
"no relógio, além da hora."
#: ../data/org.gnome.shell.gschema.xml.in.h:10
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display seconds in "
"time."
msgstr ""
"Se verdadeiro e o formato for \"12-hour\" ou \"24-hour\", apresentar os "
"segundos na hora."
#: ../data/org.gnome.shell.gschema.xml.in.h:11
msgid "If true, display the ISO week date in the calendar."
msgstr "Se verdadeiro, apresentar o número ISO da semana no calendário."
#: ../data/org.gnome.shell.gschema.xml.in.h:12
msgid "List of desktop file IDs for favorite applications"
msgstr "Lista de IDs de ficheiros desktop das aplicações favoritas"
#: ../data/org.gnome.shell.gschema.xml.in.h:13
msgid "Overview workspace view mode"
msgstr "Modo de vista da visão geral da área de trabalho"
#: ../data/org.gnome.shell.gschema.xml.in.h:14
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 ! theoraenc ! oggmux' and records to Ogg Theora."
msgstr ""
"Define o canal GStreamer utilizado para codificar as gravações. Segue a "
"sintaxe utilizada para o gst-launch. O canal deverá ter um ponto de saída "
"desligado onde o vídeo gravado é gravado. Terá normalmente um ponto de "
"entrada desligado; o resultado desse ponto será escrito no ficheiro de "
"saída. No entanto o canal poderá tratar da sua própria saída - tal poderá "
"ser utilizado para enviar o resultado para um servidor icecast através do "
"shout2send ou semelhante. Quando não definido ou definido com um valor "
"vazio, será utilizado o canal por omissão. Este é actualmente 'videorate ! "
"theoraenc ! oggmux' e grava em Ogg Theora."
#: ../data/org.gnome.shell.gschema.xml.in.h:15
msgid "Show date in clock"
msgstr "Apresentar data no relógio"
#: ../data/org.gnome.shell.gschema.xml.in.h:16
msgid "Show the week date in the calendar"
msgstr "Apresentar o número da semana no calendário"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "Show time with seconds"
msgstr "Apresentar hora com segundos"
#: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid ""
"The applications corresponding to these identifiers will be displayed in the "
"favorites area."
msgstr ""
"As aplicações correspondentes a estes identificadores serão apresentadas na "
"área de favoritas."
#: ../data/org.gnome.shell.gschema.xml.in.h:19
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 ""
"O nome do ficheiro da transmissão de ecrã gravada será um nome único baseado "
"na data actual e utilizará esta extensão. Deverá ser alterada quando se "
"gravar para um formato de conteúdo diferente."
#: ../data/org.gnome.shell.gschema.xml.in.h:20
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
msgstr ""
"A taxa de imagens da transmissão de ecrã resultante gravada através do "
"gravador de transmissões de ecrã do Interface GNOME, em imagens por segundo."
#: ../data/org.gnome.shell.gschema.xml.in.h:21
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "O canal gstreamer utilizado para codificar a transmissão de ecrã"
#: ../data/org.gnome.shell.gschema.xml.in.h:22
msgid ""
"The selected workspace view mode in the overview. Supported values are "
"\"single\" and \"grid\"."
msgstr ""
"O modo de visão geral de área de trabalho seleccionado. Os valores "
"suportados são \"single\" e \"grid\"."
#: ../data/org.gnome.shell.gschema.xml.in.h:23
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 ""
"O interface normalmente monitoriza aplicações activas de forma a apresentar "
"as mais utilizadas (por ex: nos iniciadores). Apesar destes dados "
"permanecerem privados, poderá desejar desactivar a funcionalidade por "
"questões de privacidade. Note que ao fazê-lo não irá remover os dados até à "
"data gravados."
#: ../data/org.gnome.shell.gschema.xml.in.h:24
msgid ""
"This key specifies the format used by the panel clock when the format key is "
"set to \"custom\". You can use conversion specifiers understood by strftime"
"() to obtain a specific format. See the strftime() manual for more "
"information."
msgstr ""
"Esta chave especifica o formato utilizado pelo relógio do painel quando a "
"chave de formato está definida como \"custom\". Pode utilizar "
"especificadores de conversão válidos para o strftime() para obter um formato "
"específico. Consulte o manual do strftime() para mais informações."
#: ../data/org.gnome.shell.gschema.xml.in.h:25
msgid ""
"This key specifies the hour format used by the panel clock. Possible values "
"are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", "
"the clock will display time in seconds since Epoch, i.e. 1970-01-01. If set "
"to \"custom\", the clock will display time according to the format specified "
"in the custom_format key. Note that if set to either \"unix\" or \"custom\", "
"the show_date and show_seconds keys are ignored."
msgstr ""
"Esta chave especifica o formato de hora utilizado pelo relógio do painel. "
"Valores possíveis são \"12-hour\", \"24-hour\", \"unix\" e \"custom\". Se "
"definido como \"unix\", o relógio irá apresentar o tempo em segundos desde a "
"Epoch, isto é 1970/01/01. Se definido como \"custom\", o relógio apresentará "
"as horas de acordo com o formato especificado na chave custom_format. Note "
"que se definido como \"unix\" ou \"custom\", as chaves show_date e "
"show_seconds são ignoradas."
#: ../data/org.gnome.shell.gschema.xml.in.h:26
msgid "Uuids of extensions to disable"
msgstr "Uuids das extensões a desactivar"
#: ../data/org.gnome.shell.gschema.xml.in.h:27
msgid "Whether to collect stats about applications usage"
msgstr "Se recolher ou não estatísticas sobre a utilização das aplicações"
#: ../data/clock-preferences.ui.h:1
msgid "Clock Format"
msgstr "Formato do Relógio"
#: ../data/clock-preferences.ui.h:2
msgid "Clock Preferences"
msgstr "Preferências de Relógio"
#: ../data/clock-preferences.ui.h:3
msgid "Panel Display"
msgstr "Apresentação no Painel"
#: ../data/clock-preferences.ui.h:4
msgid "Show seco_nds"
msgstr "Apresentar os segu_ndos"
#: ../data/clock-preferences.ui.h:5
msgid "Show the _date"
msgstr "Apresentar a _data"
#: ../data/clock-preferences.ui.h:6
msgid "_12 hour format"
msgstr "Formato de _12 horas"
#: ../data/clock-preferences.ui.h:7
msgid "_24 hour format"
msgstr "Formato de _24 horas"
#. **** Applications ****
#: ../js/ui/appDisplay.js:384 ../js/ui/dash.js:778
msgid "APPLICATIONS"
msgstr "APLICAÇÕES"
#: ../js/ui/appDisplay.js:416
msgid "PREFERENCES"
msgstr "PREFERÊNCIAS"
#: ../js/ui/appDisplay.js:721
msgid "New Window"
msgstr "Nova Janela"
#: ../js/ui/appDisplay.js:725
msgid "Remove from Favorites"
msgstr "Remover dos Favoritos"
#: ../js/ui/appDisplay.js:726
msgid "Add to Favorites"
msgstr "Adicionar aos Favoritos"
#: ../js/ui/appDisplay.js:1033
msgid "Drag here to add favorites"
msgstr "Arrastar para aqui para adicionar favoritos"
#: ../js/ui/appFavorites.js:88
#, c-format
msgid "%s has been added to your favorites."
msgstr "%s foi adicionada aos seus favoritos."
#: ../js/ui/appFavorites.js:107
#, c-format
msgid "%s has been removed from your favorites."
msgstr "%s foi removida dos seus favoritos."
#: ../js/ui/dash.js:142
msgid "Find"
msgstr "Procurar"
#: ../js/ui/dash.js:473
msgid "Searching..."
msgstr "A Procurar..."
#: ../js/ui/dash.js:487
msgid "No matching results."
msgstr "Nenhum resultado coincidente."
#. **** Places ****
#. Translators: This is in the sense of locations for documents,
#. network locations, etc.
#: ../js/ui/dash.js:797 ../js/ui/placeDisplay.js:554
msgid "PLACES & DEVICES"
msgstr "LOCAIS & DISPOSITIVOS"
#. **** Documents ****
#: ../js/ui/dash.js:804 ../js/ui/docDisplay.js:494
msgid "RECENT ITEMS"
msgstr "ITENS RECENTES"
#: ../js/ui/lookingGlass.js:552
msgid "No extensions installed"
msgstr "Nenhuma extensão instalada"
#: ../js/ui/lookingGlass.js:589
msgid "Enabled"
msgstr "Activo"
#: ../js/ui/lookingGlass.js:591
msgid "Disabled"
msgstr "Inactivo"
#: ../js/ui/lookingGlass.js:593
msgid "Error"
msgstr "Erro"
#: ../js/ui/lookingGlass.js:595
msgid "Out of date"
msgstr "Data inválida"
#: ../js/ui/lookingGlass.js:620
msgid "View Source"
msgstr "Visualizar o Código Fonte"
#: ../js/ui/lookingGlass.js:626
msgid "Web Page"
msgstr "Página Web"
#: ../js/ui/overview.js:160
msgid "Undo"
msgstr "Desfazer"
#. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:473
#, c-format
msgid "Quit %s"
msgstr "Terminar %s"
#: ../js/ui/panel.js:498
msgid "Preferences"
msgstr "Preferências"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/panel.js:584
msgid "%a %b %e, %R:%S"
msgstr "%a %b %e, %R:%S"
#: ../js/ui/panel.js:585
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/panel.js:589
msgid "%a %R:%S"
msgstr "%a %R:%S"
#: ../js/ui/panel.js:590
msgid "%a %R"
msgstr "%a %R"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/panel.js:597
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a %b %e, %l:%M:%S %p"
#: ../js/ui/panel.js:598
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/panel.js:602
msgid "%a %l:%M:%S %p"
msgstr "%a %l:%M:%S %p"
#: ../js/ui/panel.js:603
msgid "%a %l:%M %p"
msgstr "%a %l:%M %p"
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:748
msgid "Activities"
msgstr "Actividades"
#: ../js/ui/placeDisplay.js:111
#, c-format
msgid "Failed to unmount '%s'"
msgstr "Falha ao desmontar '%s'"
#: ../js/ui/placeDisplay.js:114
msgid "Retry"
msgstr "Tentar Novamente"
#: ../js/ui/placeDisplay.js:159
msgid "Connect to..."
msgstr "Estabelecer ligação a..."
#. Translators: the "ON" and "OFF" strings are used in the
#. toggle switches in the status area menus, and must be SHORT.
#. If you don't have suitable short words, consider initials,
#. "0"/"1", "⚪"/"⚫", etc.
#: ../js/ui/popupMenu.js:30 ../js/ui/popupMenu.js:40
msgid "ON"
msgstr "⚫"
#: ../js/ui/popupMenu.js:31 ../js/ui/popupMenu.js:45
msgid "OFF"
msgstr "⚪"
#: ../js/ui/runDialog.js:233
msgid "Please enter a command:"
msgstr "Introduza um comando:"
#: ../js/ui/runDialog.js:378
#, c-format
msgid "Execution of '%s' failed:"
msgstr "Falha ao executar '%s':"
#: ../js/ui/statusMenu.js:91
msgid "Available"
msgstr "Disponível"
#: ../js/ui/statusMenu.js:95
msgid "Busy"
msgstr "Ocupado"
#: ../js/ui/statusMenu.js:99
msgid "Invisible"
msgstr "Invisível"
#: ../js/ui/statusMenu.js:106
msgid "Account Information..."
msgstr "Informação de Conta..."
#: ../js/ui/statusMenu.js:110
msgid "System Preferences..."
msgstr "Preferências do Sistema..."
#: ../js/ui/statusMenu.js:117
msgid "Lock Screen"
msgstr "Trancar o Ecrã"
#: ../js/ui/statusMenu.js:121
msgid "Switch User"
msgstr "Alternar Utilizador"
#: ../js/ui/statusMenu.js:126
msgid "Log Out..."
msgstr "Terminar Sessão..."
#: ../js/ui/statusMenu.js:130
msgid "Shut Down..."
msgstr "Desligar..."
#: ../js/ui/windowAttentionHandler.js:43
#, c-format
msgid "%s has finished starting"
msgstr "%s concluiu o seu arranque"
#: ../js/ui/windowAttentionHandler.js:45
#, c-format
msgid "'%s' is ready"
msgstr "'%s' está disponível"
#: ../js/ui/workspacesView.js:230
msgid ""
"Can't add a new workspace because maximum workspaces limit has been reached."
msgstr ""
"Incapaz de adicionar uma nova área de trabalho por ter sido atingido o seu "
"número limite."
#: ../js/ui/workspacesView.js:247
msgid "Can't remove the first workspace."
msgstr "Incapaz de remover a primeira área de trabalho."
#: ../src/shell-global.c:1189
msgid "Less than a minute ago"
msgstr "Há menos de um minuto atrás"
#: ../src/shell-global.c:1193
#, c-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "%d minuto atrás"
msgstr[1] "%d minutos atrás"
#: ../src/shell-global.c:1198
#, c-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
msgstr[0] "%d hora atrás"
msgstr[1] "%d horas atrás"
#: ../src/shell-global.c:1203
#, c-format
msgid "%d day ago"
msgid_plural "%d days ago"
msgstr[0] "%d dia atrás"
msgstr[1] "%d dias atrás"
#: ../src/shell-global.c:1208
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
msgstr[0] "%d semana atrás"
msgstr[1] "%d semanas atrás"
#: ../src/shell-uri-util.c:89
msgid "Home Folder"
msgstr "Pasta Pessoal"
#. Translators: this is the same string as the one found in
#. * nautilus
#: ../src/shell-uri-util.c:104
msgid "File System"
msgstr "Sistema de Ficheiros"
#: ../src/shell-uri-util.c:250
msgid "Search"
msgstr "Procurar"
#. Translators: the first string is the name of a gvfs
#. * 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-uri-util.c:300
#, c-format
msgid "%1$s: %2$s"
msgstr "%1$s: %2$s"

View File

@ -4,14 +4,16 @@
# Og Maciel <ogmaciel@gnome.org>, 2009.
# Rodrigo Flores <mail@rodrigoflores.org>, 2009.
# Felipe Borges <felipe10borges@gmail.com>, 2010.
# Henrique P. Machado <hpmachado@gnome.org>, 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-04-17 14:02-0300\n"
"PO-Revision-Date: 2010-03-02 20:59-0300\n"
"Last-Translator: Rodrigo Flores <rlmflores@gnome.org>\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&component=general\n"
"POT-Creation-Date: 2010-10-30 17:51+0000\n"
"PO-Revision-Date: 2010-09-02 17:36-0300\n"
"Last-Translator: Henrique P. Machado <hpmachado@gnome.org>\n"
"Language-Team: Brazilian Portuguese <gnome-pt_br-list@gnome.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -26,32 +28,386 @@ msgstr "GNOME Shell"
msgid "Window management and application launching"
msgstr "Gerenciamento de janelas e lançador de aplicativos"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:1
msgid "Clock"
msgstr "Relógio"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:2
msgid "Customize the panel clock"
msgstr "Personalizar o relógio do painel"
#: ../data/org.gnome.shell.gschema.xml.in.h:1
msgid ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog."
msgstr ""
"Permite acesso a ferramentas internas de depuração e monitoramento usando o "
"diálogo Alt-F2."
#: ../data/org.gnome.shell.gschema.xml.in.h:2
msgid "Custom format of the clock"
msgstr "Padrão personalizado do relógio"
#: ../data/org.gnome.shell.gschema.xml.in.h:3
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr ""
"Habilitar ferramentas internas úteis para desenvolvedores e testadores a "
"partir do Alt-F2"
#: ../data/org.gnome.shell.gschema.xml.in.h:4
msgid "File extension used for storing the screencast"
msgstr "Extensão de arquivo usada para armazenagem do screencast"
#: ../data/org.gnome.shell.gschema.xml.in.h:5
msgid "Framerate used for recording screencasts."
msgstr "Taxa de quadros usada para gravar screencasts."
#: ../data/org.gnome.shell.gschema.xml.in.h:6
msgid ""
"GNOME Shell extensions have a uuid property; this key lists extensions which "
"should not be loaded."
msgstr ""
"As extensões do GNOME Shell tem uma propriedade uuid; esta chave lista as "
"extensões que não devem ser carregadas."
#: ../data/org.gnome.shell.gschema.xml.in.h:7
msgid "History for command (Alt-F2) dialog"
msgstr "Histórico do diálogo comandos (Alt-F2)"
#: ../data/org.gnome.shell.gschema.xml.in.h:8
msgid "Hour format"
msgstr "Formato de horas"
#: ../data/org.gnome.shell.gschema.xml.in.h:9
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display date in the "
"clock, in addition to time."
msgstr ""
"Se verdadeiro e o formato é \"12-horas\" ou \"24-horas\", mostra a data no "
"relógio, junto com o horário."
#: ../data/org.gnome.shell.gschema.xml.in.h:10
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display seconds in "
"time."
msgstr ""
"Se verdadeiro e o formato é \"12-horas\" ou \"24-horas\", mostra os segundos "
"junto com o horário."
#: ../data/org.gnome.shell.gschema.xml.in.h:11
msgid "If true, display the ISO week date in the calendar."
msgstr "Se verdadeiro, exibe o número da semana no calendário."
#: ../data/org.gnome.shell.gschema.xml.in.h:12
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:13
msgid "Overview workspace view mode"
msgstr "Resumo do modo de visão de áreas de trabalho"
#: ../data/org.gnome.shell.gschema.xml.in.h:14
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 ! theoraenc ! oggmux' and records to Ogg Theora."
msgstr ""
"Configura a fila de processamento usada para codificar gravações. Ela segue "
"a a sintaxe usada para gst-launch. A fila de processamento deve ter um sink "
"pad onde o vídeo gravado é retido. Ele normalmente terá um source pad "
"desconectado; saídas deste pad serão gravadas no arquivo de saída. Porém, a "
"fila de processamento pode também tomar conta de sua própria saída - isto "
"poderia ser usado para enviar a saída para um servidor icecast via "
"shout2send oiu similar. Quando não definido ou definido para um valor vazio, "
"o fluxo de processamento padrão será usado. Atualmente é 'videorate ! "
"theoraenc ! oggmux' e gravação no formato Ogg Theora."
#: ../data/org.gnome.shell.gschema.xml.in.h:15
msgid "Show date in clock"
msgstr "Mostrar data no relógio"
#: ../data/org.gnome.shell.gschema.xml.in.h:16
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:17
msgid "Show time with seconds"
msgstr "Mostrar horário com segundos"
#: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid ""
"The applications corresponding to these identifiers will be displayed in the "
"favorites area."
msgstr ""
"Os aplicativos correspondentes a estes identificadores serão exibidos na "
"área de favoritos."
#: ../data/org.gnome.shell.gschema.xml.in.h:19
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 ""
"O nome de arquivo para screencasts gravados será um nome de arquivo único "
"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:20
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
msgstr ""
"A taxa de quadros do screencast resultante gravado pelo gravador de "
"screencastsdo GNOME Shell em quadros por segundo."
#: ../data/org.gnome.shell.gschema.xml.in.h:21
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:22
msgid ""
"The selected workspace view mode in the overview. Supported values are "
"\"single\" and \"grid\"."
msgstr ""
"O o modo de visão do espaço de trabalho na visão geral. Valores aceitos são: "
"\"single\" e \"grid\"."
#: ../data/org.gnome.shell.gschema.xml.in.h:23
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 ""
"O shell normalmente monitora os aplicativos em execução para apresentar os "
"mais usados (ex: em lançadores). Embora estes dados serão mantidos em em "
"segurança, você pode querer desabilitá-los por razões de privacidade. Por "
"favor, note que que ao fazer isso não removerá os dado já salvos."
#: ../data/org.gnome.shell.gschema.xml.in.h:24
msgid ""
"This key specifies the format used by the panel clock when the format key is "
"set to \"custom\". You can use conversion specifiers understood by strftime"
"() to obtain a specific format. See the strftime() manual for more "
"information."
msgstr ""
"Esta chave especifica o formato usado pelo relógio do painel quando a chave "
"de formato é atribuída como \"personalizado\". Você pode usar "
"especificadores de conversão entendidos pela função strftime() para obter um "
"formato específico. Veja o manual da strftime() para maiores informações."
#: ../data/org.gnome.shell.gschema.xml.in.h:25
msgid ""
"This key specifies the hour format used by the panel clock. Possible values "
"are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", "
"the clock will display time in seconds since Epoch, i.e. 1970-01-01. If set "
"to \"custom\", the clock will display time according to the format specified "
"in the custom_format key. Note that if set to either \"unix\" or \"custom\", "
"the show_date and show_seconds keys are ignored."
msgstr ""
"Esta chave especifica o formato de horas utilizado pelo relógio do painel. "
"Valores possíveis são \"12-hour\", \"24-hour\", \"unix\" e \"custom\". Se "
"definida como \"unix\", o relógio irá exibir as horas em segundos desde seu "
"lançamento, por exemplo 01/01/1970. Se definida como \"custom\", o relógio "
"irá exibir as horas de acordo com o formato especificado na chave "
"custom_format. Note que se definida tanto como \"unix\" ou \"custom\", as "
"chaves show_date e show_seconds serão igoradas."
#: ../data/org.gnome.shell.gschema.xml.in.h:26
msgid "Uuids of extensions to disable"
msgstr "Uuids das extensões a desabilitar"
#: ../data/org.gnome.shell.gschema.xml.in.h:27
msgid "Whether to collect stats about applications usage"
msgstr "Quando coletar dados sobre uso de aplicativos"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:1
msgid "Clip the crosshairs at the center"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:2
msgid "Color of the crosshairs"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:3
msgid ""
"Determines the length of the vertical and horizontal lines that make up the "
"crosshairs."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:4
msgid ""
"Determines the position of the magnified mouse image within the magnified "
"view and how it reacts to system mouse movement. The values are - none: no "
"mouse tracking; - centered: the mouse image is displayed at the center of "
"the zoom region (which also represents the point under the system mouse) and "
"the magnified contents are scrolled as the system mouse moves; - "
"proportional: the position of the magnified mouse in the zoom region is "
"proportionally the same as the position of the system mouse on screen; - "
"push: when the magnified mouse intersects a boundary of the zoom region, the "
"contents are scrolled into view."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:5
msgid ""
"Determines the transparency of the crosshairs, from fully opaque to fully "
"transparent."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:6
msgid ""
"Determines whether the crosshairs intersect the magnified mouse sprite, or "
"are clipped such that the ends of the horizontal and vertical lines surround "
"the mouse image."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:7
#, fuzzy
#| msgid "Enabled"
msgid "Enable lens mode"
msgstr "Habilitado"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:8
msgid ""
"Enables/disables display of crosshairs centered on the magnified mouse "
"sprite."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:9
msgid ""
"For centered mouse tracking, when the system pointer is at or near the edge "
"of the screen, the magnified contents continue to scroll such that the "
"screen edge moves into the magnified view."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:10
msgid "Length of the crosshairs"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:11
msgid "Magnification factor"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:12
msgid "Mouse Tracking Mode"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:13
msgid "Opacity of the crosshairs"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:14
msgid "Screen position"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:15
msgid "Scroll magnified contents beyond the edges of the desktop"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:16
msgid "Show or hide crosshairs"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:17
msgid "Show or hide the magnifier"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:18
msgid "Show or hide the magnifier and all of its zoom regions."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:19
msgid ""
"The color of the the vertical and horizontal lines that make up the "
"crosshairs."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:20
msgid ""
"The magnified view either fills the entire screen, or occupies the top-half, "
"bottom-half, left-half, or right-half of the screen."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:21
msgid ""
"The power of the magnification. A value of 1.0 means no magnification. A "
"value of 2.0 doubles the size."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:22
msgid "Thickness of the crosshairs"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:23
msgid ""
"Whether the magnified view should be centered over the location of the "
"system mouse and move with it."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:24
msgid "Width of the vertical and horizontal lines that make up the crosshairs."
msgstr ""
#: ../data/clock-preferences.ui.h:1
msgid "Clock Format"
msgstr "Formato do relógio"
#: ../data/clock-preferences.ui.h:2
msgid "Clock Preferences"
msgstr "Preferências do Relógio"
#: ../data/clock-preferences.ui.h:3
msgid "Panel Display"
msgstr "Mostrador do painel"
#: ../data/clock-preferences.ui.h:4
msgid "Show seco_nds"
msgstr "Mostrar segundos"
#: ../data/clock-preferences.ui.h:5
msgid "Show the _date"
msgstr "Mostrar a _data"
#: ../data/clock-preferences.ui.h:6
msgid "_12 hour format"
msgstr "Formato de _12 horas"
#: ../data/clock-preferences.ui.h:7
msgid "_24 hour format"
msgstr "Formato de _24 horas"
#. **** Applications ****
#: ../js/ui/appDisplay.js:306 ../js/ui/dash.js:850
#: ../js/ui/appDisplay.js:316 ../js/ui/dash.js:778
msgid "APPLICATIONS"
msgstr "APLICATIVOS"
#: ../js/ui/appDisplay.js:338
#: ../js/ui/appDisplay.js:348
msgid "PREFERENCES"
msgstr "PREFERÊNCIAS"
#: ../js/ui/appDisplay.js:697
#: ../js/ui/appDisplay.js:647
msgid "New Window"
msgstr "Nova janela"
#: ../js/ui/appDisplay.js:701
#: ../js/ui/appDisplay.js:651
msgid "Remove from Favorites"
msgstr "Remover dos Favoritos"
#: ../js/ui/appDisplay.js:702
#: ../js/ui/appDisplay.js:652
msgid "Add to Favorites"
msgstr "Adicionar aos Favoritos"
#: ../js/ui/appDisplay.js:1029
#: ../js/ui/appDisplay.js:829
msgid "Drag here to add favorites"
msgstr "Arraste até aqui para adicionar aos favoritos"
#: ../js/ui/appFavorites.js:89
#: ../js/ui/appFavorites.js:88
#, c-format
msgid "%s has been added to your favorites."
msgstr "%s foi adicionado aos seus favoritos."
@ -61,177 +417,314 @@ msgstr "%s foi adicionado aos seus favoritos."
msgid "%s has been removed from your favorites."
msgstr "%s foi removido dos seus favoritos."
#: ../js/ui/dash.js:189
#: ../js/ui/dash.js:142
msgid "Find"
msgstr "Localizar"
#: ../js/ui/dash.js:505
#: ../js/ui/dash.js:473
msgid "Searching..."
msgstr "Pesquisando..."
#: ../js/ui/dash.js:519
#: ../js/ui/dash.js:487
msgid "No matching results."
msgstr "Nenhum resultado encontrado."
#. **** Places ****
#. Translators: This is in the sense of locations for documents,
#. network locations, etc.
#: ../js/ui/dash.js:869 ../js/ui/placeDisplay.js:543
#: ../js/ui/dash.js:797 ../js/ui/placeDisplay.js:554
msgid "PLACES & DEVICES"
msgstr "LOCAIS & DISPOSITIVOS"
#. **** Documents ****
#: ../js/ui/dash.js:876 ../js/ui/docDisplay.js:489
#: ../js/ui/dash.js:804 ../js/ui/docDisplay.js:494
msgid "RECENT ITEMS"
msgstr "DOCUMENTOS RECENTES"
#: ../js/ui/lookingGlass.js:362
#: ../js/ui/lookingGlass.js:552
msgid "No extensions installed"
msgstr "Nenhuma extensão instalada"
#: ../js/ui/lookingGlass.js:399
#: ../js/ui/lookingGlass.js:589
msgid "Enabled"
msgstr "Habilitado"
#: ../js/ui/lookingGlass.js:401
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:591 ../src/gvc/gvc-mixer-control.c:1087
msgid "Disabled"
msgstr "Desabilitado"
#: ../js/ui/lookingGlass.js:403
#: ../js/ui/lookingGlass.js:593
msgid "Error"
msgstr "Erro"
#: ../js/ui/lookingGlass.js:405
#: ../js/ui/lookingGlass.js:595
msgid "Out of date"
msgstr "Expirado"
#: ../js/ui/lookingGlass.js:430
#: ../js/ui/lookingGlass.js:620
msgid "View Source"
msgstr "Ver fonte"
#: ../js/ui/lookingGlass.js:436
#: ../js/ui/lookingGlass.js:626
msgid "Web Page"
msgstr "Página Web"
#: ../js/ui/overview.js:181
#: ../js/ui/overview.js:160
msgid "Undo"
msgstr "Desfazer"
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:346
msgid "Activities"
msgstr "Atividades"
#. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:469
#, c-format
msgid "Quit %s"
msgstr "Sair de %s"
#. Translators: This is the time format used in 24-hour mode.
#: ../js/ui/panel.js:566
#: ../js/ui/panel.js:494
msgid "Preferences"
msgstr "Preferências"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/panel.js:580
msgid "%a %b %e, %R:%S"
msgstr "%a %b %e, %R:%S"
#: ../js/ui/panel.js:581
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/panel.js:585
msgid "%a %R:%S"
msgstr "%a %R:%S"
#: ../js/ui/panel.js:586
msgid "%a %R"
msgstr "%a %R"
#. Translators: This is a time format used for AM/PM.
#: ../js/ui/panel.js:569
msgid "%a %l:%M %p"
msgstr "%a %l:%M %p"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/panel.js:593
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a %e de %b, %H:%M:%S"
#: ../js/ui/placeDisplay.js:108
#: ../js/ui/panel.js:594
msgid "%a %b %e, %l:%M %p"
msgstr "%a %e de %b, %H:%M"
#. Translators: This is a time format without date used
#. for AM/PM.
#: ../js/ui/panel.js:598
msgid "%a %l:%M:%S %p"
msgstr "%a %H:%M:%S"
#: ../js/ui/panel.js:599
msgid "%a %l:%M %p"
msgstr "%a %H:%M"
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:744
msgid "Activities"
msgstr "Atividades"
#: ../js/ui/placeDisplay.js:111
#, c-format
msgid "Failed to unmount '%s'"
msgstr "Erro ao desmontar \"%s\""
#: ../js/ui/placeDisplay.js:111
#: ../js/ui/placeDisplay.js:114
msgid "Retry"
msgstr "Tentar novamente"
#: ../js/ui/placeDisplay.js:156
#: ../js/ui/placeDisplay.js:159
msgid "Connect to..."
msgstr "Conectar ao..."
#: ../js/ui/runDialog.js:231
#. Translators: this MUST be either "toggle-switch-us"
#. (for toggle switches containing the English words
#. "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:33
msgid "toggle-switch-us"
msgstr ""
#: ../js/ui/runDialog.js:233
msgid "Please enter a command:"
msgstr "Por favor digite um comando:"
#: ../js/ui/runDialog.js:375
#: ../js/ui/runDialog.js:378
#, c-format
msgid "Execution of '%s' failed:"
msgstr "A execução de \"%s\" falhou:"
#: ../js/ui/statusMenu.js:105
#: ../js/ui/statusMenu.js:101
msgid "Available"
msgstr "Disponível"
#: ../js/ui/statusMenu.js:110
#: ../js/ui/statusMenu.js:106
msgid "Busy"
msgstr "Ocupado"
#: ../js/ui/statusMenu.js:115
#: ../js/ui/statusMenu.js:111
msgid "Invisible"
msgstr "Invisível"
#: ../js/ui/statusMenu.js:124
msgid "Account Information..."
msgstr "Informação da conta..."
#: ../js/ui/statusMenu.js:119
msgid "My Account..."
msgstr ""
#: ../js/ui/statusMenu.js:129
msgid "System Preferences..."
msgstr "Preferências do sistema..."
#: ../js/ui/statusMenu.js:123
#| msgid "System Preferences..."
msgid "System Settings..."
msgstr "Configurações do sistema..."
#: ../js/ui/statusMenu.js:138
#: ../js/ui/statusMenu.js:130
msgid "Lock Screen"
msgstr "Travar a tela"
#: ../js/ui/statusMenu.js:143
#: ../js/ui/statusMenu.js:134
msgid "Switch User"
msgstr "Alternar usuário"
#: ../js/ui/statusMenu.js:149
#: ../js/ui/statusMenu.js:139
msgid "Log Out..."
msgstr "Encerrar sessão..."
#: ../js/ui/statusMenu.js:146
msgid "Suspend"
msgstr ""
#: ../js/ui/statusMenu.js:150
msgid "Restart..."
msgstr ""
#: ../js/ui/statusMenu.js:154
msgid "Shut Down..."
msgstr "Desligar..."
#: ../js/ui/windowAttentionHandler.js:47
#: ../js/ui/status/accessibility.js:88
msgid "Screen Reader"
msgstr ""
#: ../js/ui/status/accessibility.js:91
msgid "Screen Keyboard"
msgstr ""
#: ../js/ui/status/accessibility.js:94
msgid "Visual Alerts"
msgstr ""
#: ../js/ui/status/accessibility.js:97
msgid "Sticky Keys"
msgstr ""
#: ../js/ui/status/accessibility.js:100
msgid "Slow Keys"
msgstr ""
#: ../js/ui/status/accessibility.js:103
msgid "Bounce Keys"
msgstr ""
#: ../js/ui/status/accessibility.js:106
msgid "Mouse Keys"
msgstr ""
#: ../js/ui/status/accessibility.js:110
msgid "Universal Access Settings"
msgstr ""
#: ../js/ui/status/accessibility.js:163
msgid "High Contrast"
msgstr ""
#: ../js/ui/status/accessibility.js:202
msgid "Large Text"
msgstr ""
#: ../js/ui/status/accessibility.js:223
msgid "Zoom"
msgstr ""
#: ../js/ui/windowAttentionHandler.js:43
#, c-format
msgid "%s has finished starting"
msgstr "%s terminou sua inicialização"
#: ../js/ui/windowAttentionHandler.js:49
#: ../js/ui/windowAttentionHandler.js:45
#, c-format
msgid "'%s' is ready"
msgstr "\"%s\" está pronto"
#: ../src/shell-global.c:967
msgid "Less than a minute ago"
msgstr "Menos de um minuto atrás"
#: ../js/ui/workspacesView.js:229
msgid ""
"Can't add a new workspace because maximum workspaces limit has been reached."
msgstr ""
"Não é possível adicionar um novo espaço de trabalho porque foi atingido o "
"limite."
#: ../src/shell-global.c:971
#: ../js/ui/workspacesView.js:246
msgid "Can't remove the first workspace."
msgstr "Não é possível remover o primeiro espaço de trabalho."
#. translators:
#. * The number of sound outputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1094
#, c-format
msgid "%u Output"
msgid_plural "%u Outputs"
msgstr[0] ""
msgstr[1] ""
#. translators:
#. * The number of sound inputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1104
#, c-format
msgid "%u Input"
msgid_plural "%u Inputs"
msgstr[0] ""
msgstr[1] ""
#: ../src/gvc/gvc-mixer-control.c:1402
msgid "System Sounds"
msgstr ""
#: ../src/shell-global.c:1219
msgid "Less than a minute ago"
msgstr "Há menos de um minuto"
#: ../src/shell-global.c:1223
#, c-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "%d minuto atrás"
msgstr[1] "%d minutos atrás"
msgstr[0] "%d minuto"
msgstr[1] "%d minutos"
#: ../src/shell-global.c:976
#: ../src/shell-global.c:1228
#, c-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
msgstr[0] "%d hora atrás"
msgstr[1] "%d horas atrás"
msgstr[0] "%d hora"
msgstr[1] "%d horas"
#: ../src/shell-global.c:981
#: ../src/shell-global.c:1233
#, c-format
msgid "%d day ago"
msgid_plural "%d days ago"
msgstr[0] "%d dia atrás"
msgstr[1] "%d dias atrás"
msgstr[0] "%d dia"
msgstr[1] "%d dias"
#: ../src/shell-global.c:986
#: ../src/shell-global.c:1238
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
msgstr[0] "%d semana atrás"
msgstr[1] "%d semanas atrás"
msgstr[0] "%d semana"
msgstr[1] "%d semanas"
#: ../src/shell-uri-util.c:89
msgid "Home Folder"
@ -257,6 +750,15 @@ msgstr "Pesquisar"
msgid "%1$s: %2$s"
msgstr "%1$s: %2$s"
#~ msgid "ON"
#~ msgstr "⚪"
#~ msgid "OFF"
#~ msgstr "⚫"
#~ msgid "Account Information..."
#~ msgstr "Informação da conta..."
#~ msgid "Sidebar"
#~ msgstr "Barra lateral"

862
po/ro.po
View File

@ -1,20 +1,23 @@
# Romanian translation for gnome-shell.
# Copyright (C) 2009 gnome-shell's COPYRIGHT HOLDER
# This file is distributed under the same license as the gnome-shell package.
# Lucian Adrian Grijincu <lucian.grijincu@gmail.com>, 2009.
# Lucian Adrian Grijincu <lucian.grijincu@gmail.com>, 2009, 2010.
# Daniel Șerbănescu <cyber19rider@gmail.com>, 2010.
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-10-28 22:25+0200\n"
"PO-Revision-Date: 2009-10-28 22:33+0200\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&component=general\n"
"POT-Creation-Date: 2010-11-15 13:50+0000\n"
"PO-Revision-Date: 2010-11-15 22:34+0300\n"
"Last-Translator: Lucian Adrian Grijincu <lucian.grijincu@gmail.com>\n"
"Language-Team: Romanian <gnomero-list@lists.sourceforge.net>\n"
"Language-Team: Romanian Gnome Team <gnomero-list@lists.sourceforge.net>\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
"20)) ? 1 : 2);;\n"
"X-Generator: Virtaal 0.6.1\n"
#: ../data/gnome-shell.desktop.in.in.h:1
msgid "GNOME Shell"
@ -24,199 +27,737 @@ msgstr "GNOME Shell"
msgid "Window management and application launching"
msgstr "Administrare de ferestre și lansare de aplicații"
#: ../js/ui/appDisplay.js:332
msgid "Frequent"
msgstr "Frecvent"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:1
msgid "Clock"
msgstr "Ceas"
#: ../js/ui/appDisplay.js:867
msgid "Drag here to add favorites"
msgstr "Adăugați aici favorite cu mausul"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:2
msgid "Customize the panel clock"
msgstr "Personalizați ceasul din panou"
#: ../js/ui/appIcon.js:426
#: ../data/org.gnome.shell.gschema.xml.in.h:1
msgid ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog."
msgstr ""
"Permite accesul la informațiile interne utilitarelor de depanare și "
"monitorizare folosind dialogul Alt-F2."
#: ../data/org.gnome.shell.gschema.xml.in.h:2
msgid "Custom format of the clock"
msgstr "Format personalizat pentru ceas"
#: ../data/org.gnome.shell.gschema.xml.in.h:3
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr "Activează utilitarele interne pentru dezvoltatori și testeri din Alt-F2"
#: ../data/org.gnome.shell.gschema.xml.in.h:4
msgid "File extension used for storing the screencast"
msgstr "Extensia de fișier utilizată pentru stocarea înregistrărilor de ecran"
#: ../data/org.gnome.shell.gschema.xml.in.h:5
msgid "Framerate used for recording screencasts."
msgstr "Frecvența de cadre utilizată pentru înregistrările de ecran."
#: ../data/org.gnome.shell.gschema.xml.in.h:6
msgid ""
"GNOME Shell extensions have a uuid property; this key lists extensions which "
"should not be loaded."
msgstr ""
"Extensiile GNOME Shell au o proprietate uuid; această cheie listează "
"extensiile care nu ar trebui încărcate."
#: ../data/org.gnome.shell.gschema.xml.in.h:7
msgid "History for command (Alt-F2) dialog"
msgstr "Istoricul dialogului de comenzi (Alt-F2)"
#: ../data/org.gnome.shell.gschema.xml.in.h:8
msgid "Hour format"
msgstr "Format oră"
#: ../data/org.gnome.shell.gschema.xml.in.h:9
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display date in the "
"clock, in addition to time."
msgstr ""
"Dacă este adevărat, și formatul este fie „12-hour” fie „24-hour”, pe lângă "
"oră, în ceas se afișează și data."
#: ../data/org.gnome.shell.gschema.xml.in.h:10
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display seconds in "
"time."
msgstr ""
"Dacă este adevărat, și formatul este fie „12-hour” fie „24-hour”, pe lângă "
"oră, în ceas se afișează și secundele."
#: ../data/org.gnome.shell.gschema.xml.in.h:11
msgid "If true, display the ISO week date in the calendar."
msgstr "Dacă este adevărat, se afișează săptămâna ISO în calendar."
#: ../data/org.gnome.shell.gschema.xml.in.h:12
msgid "List of desktop file IDs for favorite applications"
msgstr "Listă de identificatori de fișiere desktop pentru aplicațiile favorite"
#: ../data/org.gnome.shell.gschema.xml.in.h:13
msgid "Overview workspace view mode"
msgstr "Modul de vizualizare a spațiilor de lucru în prezentarea generală"
#: ../data/org.gnome.shell.gschema.xml.in.h:14
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 ! theoraenc ! oggmux' and records to Ogg Theora."
msgstr ""
"Definește linia de asamblare GStreamer utilizată pentru a codifica "
"înregistrările. Folosiți aceeași sintaxă ca la gst-launch. Linia de "
"asamblare ar trebui să aibă o intrare neconectată unde va fi înregistrat "
"ecranul. În mod normal va avea o intrare neconectată și o ieșire care va fi "
"scrisă în fișierul de ieșire. Cu toate acestea, linia de asamblare poate să "
"aibă grijă de ieșirea proprie - aceasta ar putea fi utilizată pentru a "
"trimite ieșirea la un server icecast, shout2send sau un alt server similar. "
"Când este dezactivată, sau are o valoare vidă, se utilizează linia de "
"asamblare implicită. Aceasta este acum definită ca „videorate ! theoraenc ! "
"oggmux” și înregistrează în formatul Ogg Theora."
#: ../data/org.gnome.shell.gschema.xml.in.h:15
msgid "Show date in clock"
msgstr "Afișează data în ceas"
#: ../data/org.gnome.shell.gschema.xml.in.h:16
msgid "Show the week date in the calendar"
msgstr "Afișează săptămâna în calendar"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "Show time with seconds"
msgstr "Afișează timpul cu secunde "
#: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid ""
"The applications corresponding to these identifiers will be displayed in the "
"favorites area."
msgstr ""
"Aplicațiile corespunzătoare acestor identificatori vor fi afișate în zona "
"favoritelor."
#: ../data/org.gnome.shell.gschema.xml.in.h:19
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 ""
"Numele de fișier ale înregistrărilor de ecran vor fi unice, bazate pe data "
"curentă și vor folosi această extensie. Ar trebui să fie modificată când se "
"înregistrează într-un format de container diferit."
#: ../data/org.gnome.shell.gschema.xml.in.h:20
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
msgstr ""
"Frecvența de cadre a înregistrărilor de ecran efectuare de Înregistratorul "
"de ecran al GNOME Shell, în cadre pe secundă."
#: ../data/org.gnome.shell.gschema.xml.in.h:21
msgid "The gstreamer pipeline used to encode the screencast"
msgstr ""
"Linia de asamblare gstreamer folosită pentru a codifica înregistrarea de "
"ecran"
#: ../data/org.gnome.shell.gschema.xml.in.h:22
msgid ""
"The selected workspace view mode in the overview. Supported values are "
"\"single\" and \"grid\"."
msgstr ""
"Modul de vizualizare a spațiilor de lucru în prezentarea generală. Valorile "
"suportate sunt „single” și „grid”."
#: ../data/org.gnome.shell.gschema.xml.in.h:23
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 ""
"În mod normal, shell-ul monitorizează aplicațiile active pentru a le "
"prezenta pe cele mai utilizate (de ex. în lansatoare de aplicații). Deși "
"aceste date vor fi păstrate în mod privat, s-ar putea să doriți să "
"dezactivați această funcționalitate din motive de intimitate. Dezactivarea "
"nu va șterge datele deja salvate."
#: ../data/org.gnome.shell.gschema.xml.in.h:24
msgid ""
"This key specifies the format used by the panel clock when the format key is "
"set to \"custom\". You can use conversion specifiers understood by strftime"
"() to obtain a specific format. See the strftime() manual for more "
"information."
msgstr ""
"Această cheie specifică formatul utilizat în ceasul de panou când cheia de "
"format are valoarea „custom”. Puteți utiliza specificatorii de conversie "
"specifici strftime() pentru a obține un anumit format. Consultați manualul "
"strftime() pentru mai multe informații."
#: ../data/org.gnome.shell.gschema.xml.in.h:25
msgid ""
"This key specifies the hour format used by the panel clock. Possible values "
"are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", "
"the clock will display time in seconds since Epoch, i.e. 1970-01-01. If set "
"to \"custom\", the clock will display time according to the format specified "
"in the custom_format key. Note that if set to either \"unix\" or \"custom\", "
"the show_date and show_seconds keys are ignored."
msgstr ""
"Această cheie specifică formatul orei afișate de ceasul din panou. Valorile "
"posibile sunt „12-hour”, „24-hour”, „unix” și „custom”. Dacă valoarea este "
"„unix”, ceasul va afișa timpul în secunde de la începutul Epocii Unix (1 "
"ianuarie 1970). Dacă valoarea este „custom”, ceasul va afișa timpul conform "
"formatului din cheia custom_format. Dacă valoarea este fie „unix” fie "
"„custom” se ignoră valoarea cheilor show_date și show_seconds."
#: ../data/org.gnome.shell.gschema.xml.in.h:26
msgid "Uuids of extensions to disable"
msgstr "Uuid-urile extensiilor de dezactivat"
#: ../data/org.gnome.shell.gschema.xml.in.h:27
msgid "Whether to collect stats about applications usage"
msgstr "Dacă să se colecteze statistici despre utilizarea aplicațiilor"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:1
msgid "Clip the crosshairs at the center"
msgstr "Prinde reticulele în centru"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:2
msgid "Color of the crosshairs"
msgstr "Culoarea reticulelor"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:3
msgid ""
"Determines the length of the vertical and horizontal lines that make up the "
"crosshairs."
msgstr ""
"Determină lungimea liniilor verticale și orizontale care alcătuiesc "
"reticulele."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:4
msgid ""
"Determines the position of the magnified mouse image within the magnified "
"view and how it reacts to system mouse movement. The values are - none: no "
"mouse tracking; - centered: the mouse image is displayed at the center of "
"the zoom region (which also represents the point under the system mouse) and "
"the magnified contents are scrolled as the system mouse moves; - "
"proportional: the position of the magnified mouse in the zoom region is "
"proportionally the same as the position of the system mouse on screen; - "
"push: when the magnified mouse intersects a boundary of the zoom region, the "
"contents are scrolled into view."
msgstr ""
"Determină poziția imaginii mărite a mausului în vizualizarea mărită și cum "
"reacționează la mișcarea mausului a sistemului. Valorile sunt - none: nu se "
"urmărește mausul; - centered: imaginea mausului este afișată în centrul "
"regiunii zoom (care reprezintă de asemenea punctul de sub mausul sistemului) "
"și proportional: poziția mausului mărit în regiunea zoom este proporțională "
"la fel ca poziția mausului sistemului de pe ecran; - push: când mausul "
"mărit intersectează o graniță a regiunii zoom, conținutul acesteia este "
"derulat în câmpul vizibil."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:5
msgid ""
"Determines the transparency of the crosshairs, from fully opaque to fully "
"transparent."
msgstr ""
"Determină transparența reticulelor, de la complet opac la deplin "
"transparente."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:6
msgid ""
"Determines whether the crosshairs intersect the magnified mouse sprite, or "
"are clipped such that the ends of the horizontal and vertical lines surround "
"the mouse image."
msgstr ""
"Determină dacă reticulele intersectează umbra mausului mărit, sau sunt "
"prinse astfel încât capetele liniilor orizontale și verticale înconjoară "
"imaginea mausului."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:7
msgid "Enable lens mode"
msgstr "Activează modul cu lupă"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:8
msgid ""
"Enables/disables display of crosshairs centered on the magnified mouse "
"sprite."
msgstr ""
"Activează/dezactivează afișarea reticulelor centrate pe umbra mausului "
"mărit."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:9
msgid ""
"For centered mouse tracking, when the system pointer is at or near the edge "
"of the screen, the magnified contents continue to scroll such that the "
"screen edge moves into the magnified view."
msgstr ""
"Pentru urmărirea centrată a mausului, când indicatorul sistemului este pe "
"sau lângă marginea ecranului, conținutul mărit continuă să se deruleze "
"astfel încât marginile ecranului se mută în modul mărit."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:10
msgid "Length of the crosshairs"
msgstr "Lungimea reticulelor"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:11
msgid "Magnification factor"
msgstr "Factorul de mărire"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:12
msgid "Mouse Tracking Mode"
msgstr "Mod urmărire maus"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:13
msgid "Opacity of the crosshairs"
msgstr "Opacitatea reticulelor"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:14
msgid "Screen position"
msgstr "Poziția ecranului"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:15
msgid "Scroll magnified contents beyond the edges of the desktop"
msgstr "Derulează conținutul mărit în afara marginilor ecranului"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:16
msgid "Show or hide crosshairs"
msgstr "Arată sau ascunde reticulele"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:17
msgid "Show or hide the magnifier"
msgstr "Arată sau ascunde lupa"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:18
msgid "Show or hide the magnifier and all of its zoom regions."
msgstr "Arată sau ascunde lupa și toate regiunile ei de zoom."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:19
msgid ""
"The color of the the vertical and horizontal lines that make up the "
"crosshairs."
msgstr "Culoarea liniilor verticale și orizontale ce compun reticul."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:20
msgid ""
"The magnified view either fills the entire screen, or occupies the top-half, "
"bottom-half, left-half, or right-half of the screen."
msgstr ""
"Vizualizarea mărită fie se aplică întregului ecran, fie ocupă jumătatea de "
"sus, jumătatea de jos, jumătatea din stânga, sau jumătatea din dreapta a "
"ecranului."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:21
msgid ""
"The power of the magnification. A value of 1.0 means no magnification. A "
"value of 2.0 doubles the size."
msgstr ""
"Factor de mărire. Valoarea 1.0 înseamnă afișare fără mărire sau "
"micșorare. Valoarea 2.0 dublează mărimea."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:22
msgid "Thickness of the crosshairs"
msgstr "Grosimea reticulelor"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:23
msgid ""
"Whether the magnified view should be centered over the location of the "
"system mouse and move with it."
msgstr ""
"Dacă vizualizarea mărită ar trebui centrată asupra locației mausului "
"sistemului și dacă ar trebui să se miște odată cu el."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:24
msgid "Width of the vertical and horizontal lines that make up the crosshairs."
msgstr "Lățimea liniilor verticale și orizontale ce compun reticulele."
#: ../data/clock-preferences.ui.h:1
msgid "Clock Format"
msgstr "Format ceas"
#: ../data/clock-preferences.ui.h:2
msgid "Clock Preferences"
msgstr "Preferințe ceas"
#: ../data/clock-preferences.ui.h:3
msgid "Panel Display"
msgstr "Afișaj panou"
#: ../data/clock-preferences.ui.h:4
msgid "Show seco_nds"
msgstr "Afișează secu_nde"
#: ../data/clock-preferences.ui.h:5
msgid "Show the _date"
msgstr "Afișează _data"
#: ../data/clock-preferences.ui.h:6
msgid "_12 hour format"
msgstr "Format cu _12 ore"
#: ../data/clock-preferences.ui.h:7
msgid "_24 hour format"
msgstr "Format cu _24 de ore"
#. **** Applications ****
#: ../js/ui/appDisplay.js:316 ../js/ui/dash.js:778
msgid "APPLICATIONS"
msgstr "APPLICAȚII"
#: ../js/ui/appDisplay.js:348
msgid "PREFERENCES"
msgstr "PREFERINȚE"
#: ../js/ui/appDisplay.js:647
msgid "New Window"
msgstr "Fereastră nouă"
#: ../js/ui/appIcon.js:430
#: ../js/ui/appDisplay.js:651
msgid "Remove from Favorites"
msgstr "Șterge din favorite"
msgstr "Elimină de la favorite"
#: ../js/ui/appIcon.js:431
#: ../js/ui/appDisplay.js:652
msgid "Add to Favorites"
msgstr "Adaugă la favorite"
#: ../js/ui/dash.js:283
msgid "Find..."
msgstr "Caută..."
#: ../js/ui/appDisplay.js:829
msgid "Drag here to add favorites"
msgstr "Trageți aici pentru a adăuga favorite"
#: ../js/ui/dash.js:400
msgid "More"
msgstr "Mai multe"
#: ../js/ui/appFavorites.js:88
#, c-format
msgid "%s has been added to your favorites."
msgstr "%s a fost adăugat la favorite."
#: ../js/ui/dash.js:543
msgid "(see all)"
msgstr "(arată tot)"
#: ../js/ui/appFavorites.js:107
#, c-format
msgid "%s has been removed from your favorites."
msgstr "%s a fost eliminat de la favorite."
#. **** Applications ****
#: ../js/ui/dash.js:725 ../js/ui/dash.js:787
msgid "APPLICATIONS"
msgstr "APPLICAȚII"
#: ../js/ui/dash.js:142
msgid "Find"
msgstr "Caută"
#: ../js/ui/dash.js:473
msgid "Searching..."
msgstr "Se caută..."
#: ../js/ui/dash.js:487
msgid "No matching results."
msgstr "Niciun rezultat care să se potrivească."
#. **** Places ****
#. Translators: This is in the sense of locations for documents,
#. network locations, etc.
#: ../js/ui/dash.js:745
msgid "PLACES"
msgstr "LOCAȚII"
#: ../js/ui/dash.js:797 ../js/ui/placeDisplay.js:558
msgid "PLACES & DEVICES"
msgstr "LOCAȚII & DISPOZITIVE"
#. **** Documents ****
#: ../js/ui/dash.js:752 ../js/ui/dash.js:797
msgid "RECENT DOCUMENTS"
msgstr "DOCUMENTE RECENTE"
#: ../js/ui/dash.js:804 ../js/ui/docDisplay.js:494
msgid "RECENT ITEMS"
msgstr "ELEMENTE RECENTE"
#. **** Search Results ****
#: ../js/ui/dash.js:777 ../js/ui/dash.js:961
msgid "SEARCH RESULTS"
msgstr "REZULTATELE CĂUTĂRII"
#: ../js/ui/lookingGlass.js:552
msgid "No extensions installed"
msgstr "Nicio extensie instalată"
#: ../js/ui/dash.js:792
msgid "PREFERENCES"
msgstr "PREFERINȚE"
#: ../js/ui/lookingGlass.js:589
msgid "Enabled"
msgstr "Activat"
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:274
msgid "Activities"
msgstr "Activități"
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:591 ../src/gvc/gvc-mixer-control.c:1087
msgid "Disabled"
msgstr "Dezactivat"
#. Translators: This is a time format.
#: ../js/ui/panel.js:491
#: ../js/ui/lookingGlass.js:593
msgid "Error"
msgstr "Eroare"
#: ../js/ui/lookingGlass.js:595
msgid "Out of date"
msgstr "Învechit"
#: ../js/ui/lookingGlass.js:620
msgid "View Source"
msgstr "Vezi sursa"
#: ../js/ui/lookingGlass.js:626
msgid "Web Page"
msgstr "Pagină web"
#: ../js/ui/overview.js:160
msgid "Undo"
msgstr "Anulează"
#. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:469
#, c-format
msgid "Quit %s"
msgstr "Închide %s"
#: ../js/ui/panel.js:494
msgid "Preferences"
msgstr "Preferințe"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/panel.js:580
msgid "%a %b %e, %R:%S"
msgstr "%a %e %b, %R:%S"
#: ../js/ui/panel.js:581
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/panel.js:585
msgid "%a %R:%S"
msgstr "%a %R:%S"
#: ../js/ui/panel.js:586
msgid "%a %R"
msgstr "%a %R"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/panel.js:593
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a %e %b, %l:%M:%S %p"
#: ../js/ui/panel.js:594
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/panel.js:598
msgid "%a %l:%M:%S %p"
msgstr "%a %l:%M:%S %p"
#: ../js/ui/panel.js:599
msgid "%a %l:%M %p"
msgstr "%a %l:%M %p"
#: ../js/ui/places.js:178
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:744
msgid "Activities"
msgstr "Activități"
#: ../js/ui/placeDisplay.js:111
#, c-format
msgid "Failed to unmount '%s'"
msgstr "Nu s-a putut demonta „%s”"
#: ../js/ui/placeDisplay.js:114
msgid "Retry"
msgstr "Reîncearcă"
#: ../js/ui/placeDisplay.js:159
msgid "Connect to..."
msgstr "Conectare la..."
#: ../js/ui/runDialog.js:96
#. Translators: this MUST be either "toggle-switch-us"
#. (for toggle switches containing the English words
#. "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:33
msgid "toggle-switch-us"
msgstr "toggle-switch-us"
#: ../js/ui/runDialog.js:233
msgid "Please enter a command:"
msgstr "Introduceți o comandă:"
#: ../js/ui/runDialog.js:173
#: ../js/ui/runDialog.js:378
#, c-format
msgid "Execution of '%s' failed:"
msgstr "Execuția comenzii „%s” a eșuat:"
#. Translators: This is a time format.
#: ../js/ui/widget.js:163
msgid "%H:%M"
msgstr "%H:%M"
#: ../js/ui/statusMenu.js:101
msgid "Available"
msgstr "Disponibil"
#: ../js/ui/widget.js:317
msgid "Applications"
msgstr "Aplicații"
#: ../js/ui/statusMenu.js:106
msgid "Busy"
msgstr "Ocupat"
#: ../js/ui/widget.js:339
msgid "Recent Documents"
msgstr "Documente recente"
#: ../js/ui/statusMenu.js:114
msgid "My Account..."
msgstr "Contul meu..."
#: ../src/shell-global.c:821
#: ../js/ui/statusMenu.js:118
msgid "System Settings..."
msgstr "Configurări sistem..."
#: ../js/ui/statusMenu.js:125
msgid "Lock Screen"
msgstr "Blochează ecranul"
#: ../js/ui/statusMenu.js:129
msgid "Switch User"
msgstr "Schimbă utilizatorul"
#: ../js/ui/statusMenu.js:134
msgid "Log Out..."
msgstr "Ieși din sesiune..."
#: ../js/ui/statusMenu.js:141
msgid "Suspend"
msgstr "Suspendă"
#: ../js/ui/statusMenu.js:145
msgid "Shut Down..."
msgstr "Oprește..."
#: ../js/ui/status/accessibility.js:88
msgid "Screen Reader"
msgstr "Cititor de ecran"
#: ../js/ui/status/accessibility.js:91
msgid "Screen Keyboard"
msgstr "Tastatură pe ecran"
#: ../js/ui/status/accessibility.js:94
msgid "Visual Alerts"
msgstr "Alerte vizuale"
#: ../js/ui/status/accessibility.js:97
msgid "Sticky Keys"
msgstr "Taste lipicioase"
#: ../js/ui/status/accessibility.js:100
msgid "Slow Keys"
msgstr "Taste încete"
#: ../js/ui/status/accessibility.js:103
msgid "Bounce Keys"
msgstr "Taste fără repetiție"
#: ../js/ui/status/accessibility.js:106
msgid "Mouse Keys"
msgstr "Taste maus"
#: ../js/ui/status/accessibility.js:110
msgid "Universal Access Settings"
msgstr "Configurări acces universal"
#: ../js/ui/status/accessibility.js:163
msgid "High Contrast"
msgstr "Contrast puternic"
#: ../js/ui/status/accessibility.js:205
msgid "Large Text"
msgstr "Text mare"
#: ../js/ui/status/accessibility.js:224
msgid "Zoom"
msgstr "Zoom"
#: ../js/ui/windowAttentionHandler.js:43
#, c-format
msgid "%s has finished starting"
msgstr "Pornirea %s s-a finalizat"
#: ../js/ui/windowAttentionHandler.js:45
#, c-format
msgid "'%s' is ready"
msgstr "„%s” este gata"
#: ../js/ui/workspacesView.js:229
msgid ""
"Can't add a new workspace because maximum workspaces limit has been reached."
msgstr ""
"Nu se poate adăuga un nou spațiu de lucru pentru că s-a atins limita maximă "
"a numărului de spații."
#: ../js/ui/workspacesView.js:246
msgid "Can't remove the first workspace."
msgstr "Nu se poate elimina primul spațiu de lucru."
#. translators:
#. * The number of sound outputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1094
#, c-format
msgid "%u Output"
msgid_plural "%u Outputs"
msgstr[0] "o ieșire"
msgstr[1] "%u ieșiri"
msgstr[2] "%u de ieșiri"
#. translators:
#. * The number of sound inputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1104
#, c-format
msgid "%u Input"
msgid_plural "%u Inputs"
msgstr[0] "o intrare"
msgstr[1] "%u intrări"
msgstr[2] "%u de intrări"
#: ../src/gvc/gvc-mixer-control.c:1402
msgid "System Sounds"
msgstr "Sunetele sistemului"
#: ../src/shell-global.c:1219
msgid "Less than a minute ago"
msgstr "În ultimul minut"
msgstr "Cu mai puțin de un minut în urmă"
#: ../src/shell-global.c:824
#: ../src/shell-global.c:1223
#, c-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "acum un minut"
msgstr[1] "acum %d minute"
msgstr[2] "acum %d de minute"
msgstr[0] "Acum un minut"
msgstr[1] "Acum %d minute"
msgstr[2] "Acum %d de minute"
#: ../src/shell-global.c:827
#: ../src/shell-global.c:1228
#, c-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
msgstr[0] "acum o oră"
msgstr[1] "acum %d ore"
msgstr[2] "acum %d de ore"
msgstr[0] "Acum o oră"
msgstr[1] "Acum %d ore"
msgstr[2] "Acum %d de ore"
#: ../src/shell-global.c:830
#: ../src/shell-global.c:1233
#, c-format
msgid "%d day ago"
msgid_plural "%d days ago"
msgstr[0] "acum o zi"
msgstr[1] "acum %d zile"
msgstr[2] "acum %d de zile"
msgstr[0] "Acum o zi"
msgstr[1] "Acum %d zile"
msgstr[2] "Acum %d de zile"
#: ../src/shell-global.c:833
#: ../src/shell-global.c:1238
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
msgstr[0] "acum o săptămână"
msgstr[1] "acum %d săptămâni"
msgstr[2] "acum %d de săptămâni"
msgstr[0] "Acum o săptămână"
msgstr[1] "Acum %d săptămâni"
msgstr[2] "Acum %d de săptămâni"
#: ../src/shell-status-menu.c:156
msgid "Unknown"
msgstr "Necunoscut"
#: ../src/shell-status-menu.c:212
#, c-format
msgid "Can't lock screen: %s"
msgstr "Nu s-a putut bloca ecranul: %s"
#: ../src/shell-status-menu.c:227
#, c-format
msgid "Can't temporarily set screensaver to blank screen: %s"
msgstr "Nu s-a putut folosi temporar un ecran gol pentru economizorul de "
"ecran: %s"
#: ../src/shell-status-menu.c:351
#, c-format
msgid "Can't logout: %s"
msgstr "Nu se poate ieși din sesiune: %s"
#: ../src/shell-status-menu.c:492
msgid "Account Information..."
msgstr "Informații despre cont..."
#: ../src/shell-status-menu.c:502
msgid "Sidebar"
msgstr "Bară laterală"
#: ../src/shell-status-menu.c:510
msgid "System Preferences..."
msgstr "Preferințe de sistem..."
#: ../src/shell-status-menu.c:525
msgid "Lock Screen"
msgstr "Blocare ecran"
#: ../src/shell-status-menu.c:535
msgid "Switch User"
msgstr "Alt utilizator"
#. Only show switch user if there are other users
#. Log Out
#: ../src/shell-status-menu.c:546
msgid "Log Out..."
msgstr "Ieșire..."
#. Shut down
#: ../src/shell-status-menu.c:557
msgid "Shut Down..."
msgstr "Oprire..."
#: ../src/shell-uri-util.c:87
#: ../src/shell-uri-util.c:89
msgid "Home Folder"
msgstr "Dosar personal"
#. Translators: this is the same string as the one found in
#. * nautilus
#: ../src/shell-uri-util.c:102
#: ../src/shell-uri-util.c:104
msgid "File System"
msgstr "Sistem de fișiere"
#: ../src/shell-uri-util.c:248
#: ../src/shell-uri-util.c:250
msgid "Search"
msgstr "Caută"
@ -225,8 +766,59 @@ msgstr "Caută"
#. * example, "Trash: some-directory". It means that the
#. * directory called "some-directory" is in the trash.
#.
#: ../src/shell-uri-util.c:298
#: ../src/shell-uri-util.c:300
#, c-format
msgid "%1$s: %2$s"
msgstr "%1$s: %2$s"
#~ msgid "ON"
#~ msgstr "Pornit"
#~ msgid "OFF"
#~ msgstr "Oprit"
#~ msgid "Invisible"
#~ msgstr "Invizibil"
#~ msgid "Account Information..."
#~ msgstr "Informații despre cont..."
#~ msgid "Frequent"
#~ msgstr "Frecvent"
#~ msgid "More"
#~ msgstr "Mai multe"
#~ msgid "(see all)"
#~ msgstr "(arată tot)"
#~ msgid "PLACES"
#~ msgstr "LOCAȚII"
#~ msgid "SEARCH RESULTS"
#~ msgstr "REZULTATELE CĂUTĂRII"
#~ msgid "%H:%M"
#~ msgstr "%H:%M"
#~ msgid "Applications"
#~ msgstr "Aplicații"
#~ msgid "Recent Documents"
#~ msgstr "Documente recente"
#~ msgid "Unknown"
#~ msgstr "Necunoscut"
#~ msgid "Can't lock screen: %s"
#~ msgstr "Nu s-a putut bloca ecranul: %s"
#~ msgid "Can't temporarily set screensaver to blank screen: %s"
#~ msgstr ""
#~ "Nu s-a putut folosi temporar un ecran gol pentru economizorul de ecran: %s"
#~ msgid "Can't logout: %s"
#~ msgstr "Nu se poate ieși din sesiune: %s"
#~ msgid "Sidebar"
#~ msgstr "Bară laterală"

295
po/sl.po
View File

@ -8,14 +8,14 @@ msgid ""
msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&component=general\n"
"POT-Creation-Date: 2010-06-19 19:36+0000\n"
"PO-Revision-Date: 2010-06-20 20:54+0100\n"
"POT-Creation-Date: 2010-10-26 14:37+0000\n"
"PO-Revision-Date: 2010-10-26 19:29+0100\n"
"Last-Translator: Matej Urbančič <mateju@svn.gnome.org>\n"
"Language-Team: Slovenian GNOME Translation Team <gnome-si@googlegroups.com>\n"
"Language: Slovenian\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: Slovenian\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n%100==4 ? 3 : 0);\n"
"X-Poedit-Language: Slovenian\n"
"X-Poedit-Country: SLOVENIA\n"
@ -145,6 +145,102 @@ msgstr "Določila UUID razširitev za onemogočenje"
msgid "Whether to collect stats about applications usage"
msgstr "Ali naj se beleži statistika uporabe programov"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:1
msgid "Clip the crosshairs at the center"
msgstr "Ali merek prekriva kazalko miške v središču"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:2
msgid "Color of the crosshairs"
msgstr "Barva merka"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:3
msgid "Determines the length of the vertical and horizontal lines that make up the crosshairs."
msgstr "Določi dolžino navpične in vodoravne črte, ki določata merek."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:4
msgid "Determines the position of the magnified mouse image within the magnified view and how it reacts to system mouse movement. The values are - none: no mouse tracking; - centered: the mouse image is displayed at the center of the zoom region (which also represents the point under the system mouse) and the magnified contents are scrolled as the system mouse moves; - proportional: the position of the magnified mouse in the zoom region is proportionally the same as the position of the system mouse on screen; - push: when the magnified mouse intersects a boundary of the zoom region, the contents are scrolled into view."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:5
msgid "Determines the transparency of the crosshairs, from fully opaque to fully transparent."
msgstr "Določi prosojnost merka, od prekrivne to prozorne."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:6
msgid "Determines whether the crosshairs intersect the magnified mouse sprite, or are clipped such that the ends of the horizontal and vertical lines surround the mouse image."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:7
msgid "Enable lens mode"
msgstr "Omogočeni način leče"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:8
msgid "Enables/disables display of crosshairs centered on the magnified mouse sprite."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:9
msgid "For centered mouse tracking, when the system pointer is at or near the edge of the screen, the magnified contents continue to scroll such that the screen edge moves into the magnified view."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:10
msgid "Length of the crosshairs"
msgstr "Dolžina merka"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:11
msgid "Magnification factor"
msgstr "Faktor približanja"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:12
msgid "Mouse Tracking Mode"
msgstr "Način sledenja miške"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:13
msgid "Opacity of the crosshairs"
msgstr "Prosojnost merka"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:14
msgid "Screen position"
msgstr "Položaj zaslona"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:15
msgid "Scroll magnified contents beyond the edges of the desktop"
msgstr "Zdrsni približano vsebino preko robov namizja"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:16
msgid "Show or hide crosshairs"
msgstr "Pokaži ali skrij merek"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:17
msgid "Show or hide the magnifier"
msgstr "Pokaži ali skrij približevalnik"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:18
msgid "Show or hide the magnifier and all of its zoom regions."
msgstr "Pokaže ali skrije povečevalo in vsa njegova območja približevanja."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:19
msgid "The color of the the vertical and horizontal lines that make up the crosshairs."
msgstr "Barva navpične in vodoravne črte, ki določata merek."
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:20
msgid "The magnified view either fills the entire screen, or occupies the top-half, bottom-half, left-half, or right-half of the screen."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:21
msgid "The power of the magnification. A value of 1.0 means no magnification. A value of 2.0 doubles the size."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:22
msgid "Thickness of the crosshairs"
msgstr "Debelina merka"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:23
msgid "Whether the magnified view should be centered over the location of the system mouse and move with it."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:24
msgid "Width of the vertical and horizontal lines that make up the crosshairs."
msgstr "Širina navpične in vodoravne čete, ki določata merek."
#: ../data/clock-preferences.ui.h:1
msgid "Clock Format"
msgstr "Zapis ure"
@ -174,28 +270,28 @@ msgid "_24 hour format"
msgstr "_24-urni zapis časa"
#. **** Applications ****
#: ../js/ui/appDisplay.js:388
#: ../js/ui/dash.js:767
#: ../js/ui/appDisplay.js:316
#: ../js/ui/dash.js:778
msgid "APPLICATIONS"
msgstr "Programi"
#: ../js/ui/appDisplay.js:420
#: ../js/ui/appDisplay.js:348
msgid "PREFERENCES"
msgstr "Možnosti"
#: ../js/ui/appDisplay.js:726
#: ../js/ui/appDisplay.js:648
msgid "New Window"
msgstr "Novo okno"
#: ../js/ui/appDisplay.js:730
#: ../js/ui/appDisplay.js:652
msgid "Remove from Favorites"
msgstr "Odstrani iz priljubljenih"
#: ../js/ui/appDisplay.js:731
#: ../js/ui/appDisplay.js:653
msgid "Add to Favorites"
msgstr "Dodaj med priljubljene"
#: ../js/ui/appDisplay.js:1038
#: ../js/ui/appDisplay.js:830
msgid "Drag here to add favorites"
msgstr "S potegom na to mesto se izbor doda med priljubljene"
@ -204,200 +300,267 @@ msgstr "S potegom na to mesto se izbor doda med priljubljene"
msgid "%s has been added to your favorites."
msgstr "Program \"%s\" je dodan med priljubljeno."
#: ../js/ui/appFavorites.js:106
#: ../js/ui/appFavorites.js:107
#, c-format
msgid "%s has been removed from your favorites."
msgstr "Program \"%s\" je odstranjen iz priljubljenih."
#: ../js/ui/dash.js:146
#: ../js/ui/dash.js:142
msgid "Find"
msgstr "Najdi"
#: ../js/ui/dash.js:465
#: ../js/ui/dash.js:473
msgid "Searching..."
msgstr "Iskanje ..."
#: ../js/ui/dash.js:479
#: ../js/ui/dash.js:487
msgid "No matching results."
msgstr "Ni zadetkov iskanja"
#. **** Places ****
#. Translators: This is in the sense of locations for documents,
#. network locations, etc.
#: ../js/ui/dash.js:786
#: ../js/ui/placeDisplay.js:552
#: ../js/ui/dash.js:797
#: ../js/ui/placeDisplay.js:554
msgid "PLACES & DEVICES"
msgstr "Mesta in naprave"
#. **** Documents ****
#: ../js/ui/dash.js:793
#: ../js/ui/docDisplay.js:497
#: ../js/ui/dash.js:804
#: ../js/ui/docDisplay.js:494
msgid "RECENT ITEMS"
msgstr "Nedavni predmeti"
#: ../js/ui/lookingGlass.js:471
#: ../js/ui/lookingGlass.js:552
msgid "No extensions installed"
msgstr "Ni nameščenih razširitev"
#: ../js/ui/lookingGlass.js:508
#: ../js/ui/lookingGlass.js:589
msgid "Enabled"
msgstr "Omogočeno"
#: ../js/ui/lookingGlass.js:510
#: ../js/ui/lookingGlass.js:591
msgid "Disabled"
msgstr "Onemogočeno"
#: ../js/ui/lookingGlass.js:512
#: ../js/ui/lookingGlass.js:593
msgid "Error"
msgstr "Napaka"
#: ../js/ui/lookingGlass.js:514
#: ../js/ui/lookingGlass.js:595
msgid "Out of date"
msgstr "Zastarelo"
#: ../js/ui/lookingGlass.js:539
#: ../js/ui/lookingGlass.js:620
msgid "View Source"
msgstr "Poglej vir"
#: ../js/ui/lookingGlass.js:545
#: ../js/ui/lookingGlass.js:626
msgid "Web Page"
msgstr "Spletna stran"
#: ../js/ui/overview.js:165
#: ../js/ui/overview.js:160
msgid "Undo"
msgstr "Razveljavi"
#: ../js/ui/panel.js:519
#. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:469
#, c-format
msgid "Quit %s"
msgstr "Končaj %s"
#: ../js/ui/panel.js:494
msgid "Preferences"
msgstr "Možnosti"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/panel.js:605
#: ../js/ui/panel.js:580
msgid "%a %b %e, %R:%S"
msgstr "%a. %e. %b., %R:%S"
#: ../js/ui/panel.js:606
#: ../js/ui/panel.js:581
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/panel.js:610
#: ../js/ui/panel.js:585
msgid "%a %R:%S"
msgstr "%a. %R:%S"
#: ../js/ui/panel.js:611
#: ../js/ui/panel.js:586
msgid "%a %R"
msgstr "%a. %R"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/panel.js:618
#: ../js/ui/panel.js:593
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a. %e. %b., %H:%M:%S"
#: ../js/ui/panel.js:619
#: ../js/ui/panel.js:594
msgid "%a %b %e, %l:%M %p"
msgstr "%a. %e. %b., %H:%M"
#. Translators: This is a time format without date used
#. for AM/PM.
#: ../js/ui/panel.js:623
#: ../js/ui/panel.js:598
msgid "%a %l:%M:%S %p"
msgstr "%a, %H:%M:%S"
#: ../js/ui/panel.js:624
#: ../js/ui/panel.js:599
msgid "%a %l:%M %p"
msgstr "%a, %H:%M"
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:726
#: ../js/ui/panel.js:744
msgid "Activities"
msgstr "Dejavnosti"
#: ../js/ui/placeDisplay.js:109
#: ../js/ui/placeDisplay.js:111
#, c-format
msgid "Failed to unmount '%s'"
msgstr "Ni mogoče odklopiti '%s'"
#: ../js/ui/placeDisplay.js:112
#: ../js/ui/placeDisplay.js:114
msgid "Retry"
msgstr "Poskusi znova"
#: ../js/ui/placeDisplay.js:157
#: ../js/ui/placeDisplay.js:159
msgid "Connect to..."
msgstr "Povezava z ..."
#: ../js/ui/runDialog.js:234
#. Translators: this MUST be either "toggle-switch-us"
#. (for toggle switches containing the English words
#. "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:33
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
#: ../js/ui/runDialog.js:233
msgid "Please enter a command:"
msgstr "Vnos ukaza:"
#: ../js/ui/runDialog.js:379
#: ../js/ui/runDialog.js:378
#, c-format
msgid "Execution of '%s' failed:"
msgstr "Izvedba '%s' je spodletela:"
#: ../js/ui/statusMenu.js:91
#: ../js/ui/statusMenu.js:101
msgid "Available"
msgstr "Na voljo"
#: ../js/ui/statusMenu.js:95
#: ../js/ui/statusMenu.js:106
msgid "Busy"
msgstr "Zaposleno"
#: ../js/ui/statusMenu.js:99
#: ../js/ui/statusMenu.js:111
msgid "Invisible"
msgstr "Nevidno"
#: ../js/ui/statusMenu.js:106
msgid "Account Information..."
msgstr "Podrobnosti računa ..."
#: ../js/ui/statusMenu.js:119
msgid "My Account..."
msgstr "Račun ..."
#: ../js/ui/statusMenu.js:110
#: ../js/ui/statusMenu.js:123
msgid "System Preferences..."
msgstr "Sistemske možnosti ..."
#: ../js/ui/statusMenu.js:117
#: ../js/ui/statusMenu.js:130
msgid "Lock Screen"
msgstr "Zakleni zaslon"
#: ../js/ui/statusMenu.js:121
#: ../js/ui/statusMenu.js:134
msgid "Switch User"
msgstr "Preklopi uporabnika"
#: ../js/ui/statusMenu.js:126
#: ../js/ui/statusMenu.js:139
msgid "Log Out..."
msgstr "Odjava ..."
#: ../js/ui/statusMenu.js:130
#: ../js/ui/statusMenu.js:146
msgid "Suspend"
msgstr "V mirovanje"
#: ../js/ui/statusMenu.js:150
msgid "Restart..."
msgstr "Ponoven zagon ..."
#: ../js/ui/statusMenu.js:154
msgid "Shut Down..."
msgstr "Izklopi ..."
#: ../js/ui/windowAttentionHandler.js:47
#: ../js/ui/status/accessibility.js:88
msgid "Screen Reader"
msgstr "Zaslonski bralnik"
#: ../js/ui/status/accessibility.js:91
msgid "Screen Keyboard"
msgstr "Zaslonska tipkovnica"
#: ../js/ui/status/accessibility.js:94
msgid "Visual Alerts"
msgstr "Vidna opozorila"
#: ../js/ui/status/accessibility.js:97
msgid "Sticky Keys"
msgstr "Lepljive tipke"
#: ../js/ui/status/accessibility.js:100
msgid "Slow Keys"
msgstr "Počasne tipke"
#: ../js/ui/status/accessibility.js:103
msgid "Bounce Keys"
msgstr "Odskočne tipke"
#: ../js/ui/status/accessibility.js:106
msgid "Mouse Keys"
msgstr "Miškine tipke"
#: ../js/ui/status/accessibility.js:110
msgid "Universal Access Settings"
msgstr "Splošne nastavitve dostopa"
#: ../js/ui/status/accessibility.js:163
msgid "High Contrast"
msgstr "Visok kontrast"
#: ../js/ui/status/accessibility.js:202
msgid "Large Text"
msgstr "Veliko besedilo"
#: ../js/ui/status/accessibility.js:223
msgid "Zoom"
msgstr "Približanje"
#: ../js/ui/windowAttentionHandler.js:43
#, c-format
msgid "%s has finished starting"
msgstr "%s je končal začenjanje"
#: ../js/ui/windowAttentionHandler.js:49
#: ../js/ui/windowAttentionHandler.js:45
#, c-format
msgid "'%s' is ready"
msgstr "'%s' storitev je pripravljena"
#: ../js/ui/workspacesView.js:237
#: ../js/ui/workspacesView.js:229
msgid "Can't add a new workspace because maximum workspaces limit has been reached."
msgstr "Ni mogoče dodati nove delovne površine, ker je doseženo njihovo največje dovoljeno število."
#: ../js/ui/workspacesView.js:254
#: ../js/ui/workspacesView.js:246
msgid "Can't remove the first workspace."
msgstr "Ni mogoče odstraniti prve delovne površine."
#: ../src/shell-global.c:1039
#: ../src/shell-global.c:1204
msgid "Less than a minute ago"
msgstr "Pred manj kot eno minuto"
#: ../src/shell-global.c:1043
#: ../src/shell-global.c:1208
#, c-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
@ -406,7 +569,7 @@ msgstr[1] "Pred %d minuto"
msgstr[2] "Pred %d minutama"
msgstr[3] "Pred %d minutami"
#: ../src/shell-global.c:1048
#: ../src/shell-global.c:1213
#, c-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
@ -415,7 +578,7 @@ msgstr[1] "Pred %d uro"
msgstr[2] "Pred %d urama"
msgstr[3] "Pred %d urami"
#: ../src/shell-global.c:1053
#: ../src/shell-global.c:1218
#, c-format
msgid "%d day ago"
msgid_plural "%d days ago"
@ -424,7 +587,7 @@ msgstr[1] "Pred %d dnevom"
msgstr[2] "Pred %d dnevoma"
msgstr[3] "Pred %d dnevi"
#: ../src/shell-global.c:1058
#: ../src/shell-global.c:1223
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
@ -457,8 +620,14 @@ msgstr "Poišči"
msgid "%1$s: %2$s"
msgstr "%1$s: %2$s"
#~ msgid "Quit %s"
#~ msgstr "Končaj %s"
#~ msgid "Account Information..."
#~ msgstr "Podrobnosti računa ..."
#~ msgid "System Settings..."
#~ msgstr "Sistemske nastavitve ..."
#~ msgid "ON"
#~ msgstr "⚪"
#~ msgid "OFF"
#~ msgstr "⚫"
#~ msgid "Sidebar"
#~ msgstr "Stranska vrstica"
#~ msgid "%H:%M"

440
po/sr.po
View File

@ -2,21 +2,21 @@
# Copyright (C) 2010 gnome-shell's COPYRIGHT HOLDER
# This file is distributed under the same license as the gnome-shell package.
# Милош Поповић <gpopac@gmail.com>, 2010.
# Милош Поповић <gpopac@gmail.com>, 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&component=general\n"
"POT-Creation-Date: 2010-03-20 22:48+0000\n"
"PO-Revision-Date: 2010-03-24 01:45+0100\n"
"POT-Creation-Date: 2010-07-22 13:07+0000\n"
"PO-Revision-Date: 2010-08-23 23:03+0200\n"
"Last-Translator: Милош Поповић <gpopac@gmail.com>\n"
"Language-Team: Serbian <gnom@prevod.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\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"
#: ../data/gnome-shell.desktop.in.in.h:1
msgid "GNOME Shell"
@ -26,206 +26,479 @@ msgstr "Гномова шкољка"
msgid "Window management and application launching"
msgstr "Управник прозорима и покретач програма"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:1
msgid "Clock"
msgstr "Сат"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:2
msgid "Customize the panel clock"
msgstr "Подешава сат на панелу"
#: ../data/org.gnome.shell.gschema.xml.in.h:1
msgid ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog."
msgstr ""
"Дозвољава приступ систему за тражење грешака у алатима за праћење у Alt-F2 "
"прозорчету."
#: ../data/org.gnome.shell.gschema.xml.in.h:2
msgid "Custom format of the clock"
msgstr "Произвољан формат часовника"
#: ../data/org.gnome.shell.gschema.xml.in.h:3
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr "Укључује алате корисне програмерима у Alt-F2 прозорчету"
#: ../data/org.gnome.shell.gschema.xml.in.h:4
msgid "File extension used for storing the screencast"
msgstr "Екстензија датотеке за чување видео снимака екрана"
#: ../data/org.gnome.shell.gschema.xml.in.h:5
msgid "Framerate used for recording screencasts."
msgstr "Учестаност кадрова за видео снимак екрана."
#: ../data/org.gnome.shell.gschema.xml.in.h:6
msgid ""
"GNOME Shell extensions have a uuid property; this key lists extensions which "
"should not be loaded."
msgstr ""
"Проширења Гномове шкољке имају uuid вредност; овај кључ исписује проширења "
"која треба учитати."
#: ../data/org.gnome.shell.gschema.xml.in.h:7
msgid "History for command (Alt-F2) dialog"
msgstr "Историјат наредби Alt-F2 прозорчета"
#: ../data/org.gnome.shell.gschema.xml.in.h:8
msgid "Hour format"
msgstr "Формат часовника"
#: ../data/org.gnome.shell.gschema.xml.in.h:9
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display date in the "
"clock, in addition to time."
msgstr ""
"Приказује датум поред часовник, уколико је постављено на „true“ (тачно) и "
"ако је формат постављен на „12-hour“ (12 часа) или „24-hour“ (24 часа)."
#: ../data/org.gnome.shell.gschema.xml.in.h:10
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display seconds in "
"time."
msgstr ""
"Приказује секунде у часовнику, уколико је постављено на „true“ (тачно) и "
"формат постављен на „12-hour“ (12 часа) или „24-hour“ (24 часа)."
#: ../data/org.gnome.shell.gschema.xml.in.h:11
msgid "If true, display the ISO week date in the calendar."
msgstr ""
"Уколико је постављено на „true“ (tačno), приказује ИСО дан у недељи унутар "
"календара."
#: ../data/org.gnome.shell.gschema.xml.in.h:12
msgid "List of desktop file IDs for favorite applications"
msgstr "Списак ИБ датотека радне површине са омиљеним програмима"
#: ../data/org.gnome.shell.gschema.xml.in.h:13
msgid "Overview workspace view mode"
msgstr "Начин за преглед радних површина"
#: ../data/org.gnome.shell.gschema.xml.in.h:14
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 ! theoraenc ! oggmux' and records to Ogg Theora."
msgstr ""
"Поставља ГСтримеров цевовод за прекодирање снимака. Он дозвољава синтаксу из "
"програма gst-launch. Цевовод мора да буде без повезаног довода за чување "
"снимљеног видеа. Извор ће обично бити неповезан; излаз ће бити у излазну "
"датотеку. Ипак цевовод може да ради са сопственим излазом — ово можете да "
"употребите за слање излаза у ајскаст сервер преко shout2send или сличне "
"наредбе. Када ова опција није постављена биће употребљен подразумевани "
"цевовод, који подразумева „videorate ! theoraenc ! oggmux“ и чува датотеке у "
"Огг Теора формат."
#: ../data/org.gnome.shell.gschema.xml.in.h:15
msgid "Show date in clock"
msgstr "Прикажи датум у панелу"
#: ../data/org.gnome.shell.gschema.xml.in.h:16
msgid "Show the week date in the calendar"
msgstr "Прикажи дан у недељи у календару"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "Show time with seconds"
msgstr "Прикажи време и секунде"
#: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid ""
"The applications corresponding to these identifiers will be displayed in the "
"favorites area."
msgstr ""
"Програм коме одговарају ове одреднице се приказује унутар области са "
"омиљеним програмима."
#: ../data/org.gnome.shell.gschema.xml.in.h:19
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 ""
"Име датотеке за сачувани видео снимак екрана ће бити јединствено јер садржи "
"датум и чува датотеке у овај формат. Треба га променити при снимању у други "
"формат."
#: ../data/org.gnome.shell.gschema.xml.in.h:20
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:21
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "Гстримеров цевовод за кодирање видео снимка екрана"
#: ../data/org.gnome.shell.gschema.xml.in.h:22
msgid ""
"The selected workspace view mode in the overview. Supported values are "
"\"single\" and \"grid\"."
msgstr ""
"Изабрани начин прегледа радних површина. Подржане вредности су "
"„single“ (појединачно) и „grid“ (у мрежи)."
#: ../data/org.gnome.shell.gschema.xml.in.h:23
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 ""
"Шкољка прати покренуте програме како би открила оне који се највише користе. "
"Иако су подаци тајни, можда желите да искључите ови опцију због веће "
"приватности. На тај начин нећете обрисати већ прикупљене податке."
#: ../data/org.gnome.shell.gschema.xml.in.h:24
msgid ""
"This key specifies the format used by the panel clock when the format key is "
"set to \"custom\". You can use conversion specifiers understood by strftime"
"() to obtain a specific format. See the strftime() manual for more "
"information."
msgstr ""
"Овај кључ одређује формат времена у панелу, када је „format“ (format) "
"постављен на „custom“ (произвољно). Можете искористити формат подржан унутар "
"функције strftime(). Погледајте упутство за strftime()."
#: ../data/org.gnome.shell.gschema.xml.in.h:25
msgid ""
"This key specifies the hour format used by the panel clock. Possible values "
"are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", "
"the clock will display time in seconds since Epoch, i.e. 1970-01-01. If set "
"to \"custom\", the clock will display time according to the format specified "
"in the custom_format key. Note that if set to either \"unix\" or \"custom\", "
"the show_date and show_seconds keys are ignored."
msgstr ""
"Овај кључ одређује формат часовника у панелу. Дозвољене вредности су „12-"
"hour“ (12 часаова), „24-hour“ (24 часа), „unix“ (Јуникс) и "
"„custom“ (произвољно). Уколико га поставите на „unix“ сат ће приказивати "
"време на основу епохе, нпр. 1970-01-01. Уколико га поставите на „custom“ сат "
"ће приказивати време на основу кључа „custom_format“ (произвољни формат). "
"Уколико поставите на кључ на „unix“ или „custom“ занемарују се кључеви "
"„show_date“ (прикажи датум) и „show_seconds“ (прикажи секунде)."
#: ../data/org.gnome.shell.gschema.xml.in.h:26
#| msgid "No extensions installed"
msgid "Uuids of extensions to disable"
msgstr "Занемарена uuid проширења"
#: ../data/org.gnome.shell.gschema.xml.in.h:27
msgid "Whether to collect stats about applications usage"
msgstr "Да ли да прикупљам податке о покретаним програмима"
#: ../data/clock-preferences.ui.h:1
msgid "Clock Format"
msgstr "Формат часовника"
#: ../data/clock-preferences.ui.h:2
#| msgid "System Preferences..."
msgid "Clock Preferences"
msgstr "Поставке часовника"
#: ../data/clock-preferences.ui.h:3
msgid "Panel Display"
msgstr "Приказ на панелу"
#: ../data/clock-preferences.ui.h:4
msgid "Show seco_nds"
msgstr "Прикажи _секунде"
#: ../data/clock-preferences.ui.h:5
msgid "Show the _date"
msgstr "Прикажи _датум"
#: ../data/clock-preferences.ui.h:6
msgid "_12 hour format"
msgstr "_12 часова"
#: ../data/clock-preferences.ui.h:7
msgid "_24 hour format"
msgstr "_24 часа"
#. **** Applications ****
#: ../js/ui/appDisplay.js:311 ../js/ui/dash.js:852
#: ../js/ui/appDisplay.js:384 ../js/ui/dash.js:773
msgid "APPLICATIONS"
msgstr "ПРОГРАМИ"
#: ../js/ui/appDisplay.js:343
#: ../js/ui/appDisplay.js:416
msgid "PREFERENCES"
msgstr "ПОСТАВКЕ"
#: ../js/ui/appDisplay.js:728
#: ../js/ui/appDisplay.js:721
msgid "New Window"
msgstr "Нови прозор"
#: ../js/ui/appDisplay.js:732
#: ../js/ui/appDisplay.js:725
msgid "Remove from Favorites"
msgstr "Уклони из омиљених"
#: ../js/ui/appDisplay.js:733
#: ../js/ui/appDisplay.js:726
msgid "Add to Favorites"
msgstr "Додај у омиљене"
#: ../js/ui/appDisplay.js:1085
#: ../js/ui/appDisplay.js:1033
msgid "Drag here to add favorites"
msgstr "Превуците овде како би додали у омиљене"
#: ../js/ui/appFavorites.js:89
#: ../js/ui/appFavorites.js:88
#, c-format
msgid "%s has been added to your favorites."
msgstr "%s је додат међу омиљене"
#: ../js/ui/appFavorites.js:107
#, c-format
#| msgid "Remove from Favorites"
msgid "%s has been removed from your favorites."
msgstr "%s је уклоњен из омиљених"
#: ../js/ui/dash.js:194
#| msgid "Find..."
#: ../js/ui/dash.js:142
msgid "Find"
msgstr "Нађи"
#: ../js/ui/dash.js:507
#: ../js/ui/dash.js:471
msgid "Searching..."
msgstr "Тражим..."
#: ../js/ui/dash.js:521
#: ../js/ui/dash.js:485
msgid "No matching results."
msgstr "Ништа није пронађено."
#. **** Places ****
#. Translators: This is in the sense of locations for documents,
#. network locations, etc.
#: ../js/ui/dash.js:871 ../js/ui/placeDisplay.js:579
#: ../js/ui/dash.js:792 ../js/ui/placeDisplay.js:550
msgid "PLACES & DEVICES"
msgstr "МЕСТА И УРЕЂАЈИ"
#. **** Documents ****
#: ../js/ui/dash.js:878 ../js/ui/docDisplay.js:488
#: ../js/ui/dash.js:799 ../js/ui/docDisplay.js:494
msgid "RECENT ITEMS"
msgstr "СКОРАШЊЕ СТАВКЕ"
#: ../js/ui/lookingGlass.js:363
#: ../js/ui/lookingGlass.js:471
msgid "No extensions installed"
msgstr "Нису инсталирана проширења"
#: ../js/ui/lookingGlass.js:400
#: ../js/ui/lookingGlass.js:508
msgid "Enabled"
msgstr "Омогућено"
#: ../js/ui/lookingGlass.js:402
#: ../js/ui/lookingGlass.js:510
msgid "Disabled"
msgstr "Онемогућено"
#: ../js/ui/lookingGlass.js:404
#: ../js/ui/lookingGlass.js:512
msgid "Error"
msgstr "Грешка"
#: ../js/ui/lookingGlass.js:406
#: ../js/ui/lookingGlass.js:514
msgid "Out of date"
msgstr "Истекао је датум"
#: ../js/ui/lookingGlass.js:431
#: ../js/ui/lookingGlass.js:539
msgid "View Source"
msgstr "Погледај извор"
#: ../js/ui/lookingGlass.js:437
#: ../js/ui/lookingGlass.js:545
msgid "Web Page"
msgstr "Интернет страница"
#: ../js/ui/overview.js:182
#: ../js/ui/overview.js:159
msgid "Undo"
msgstr "Опозови"
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:385
msgid "Activities"
msgstr "Активности"
#. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:473
#, c-format
msgid "Quit %s"
msgstr "Изађи из %s"
#. Translators: This is the time format used in 24-hour mode.
#: ../js/ui/panel.js:616
#: ../js/ui/panel.js:498
#| msgid "System Preferences..."
msgid "Preferences"
msgstr "Поставке"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/panel.js:584
msgid "%a %b %e, %R:%S"
msgstr "%A, %e. %b, %R:%S"
#: ../js/ui/panel.js:585
#| msgid "%a %l:%M %p"
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/panel.js:589
#| msgid "%a %R"
msgid "%a %R:%S"
msgstr "%A, %R:%S"
#: ../js/ui/panel.js:590
msgid "%a %R"
msgstr "%A, %R"
#. Translators: This is a time format used for AM/PM.
#: ../js/ui/panel.js:619
msgid "%a %l:%M %p"
msgstr "%A, %H:%M"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/panel.js:597
#| msgid "%a %l:%M %p"
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%A, %e. %b, %l:%M:S"
#: ../js/ui/placeDisplay.js:103
#: ../js/ui/panel.js:598
#| msgid "%a %l:%M %p"
msgid "%a %b %e, %l:%M %p"
msgstr "%A, %e. %b, %l:%M"
#. Translators: This is a time format without date used
#. for AM/PM.
#: ../js/ui/panel.js:602
#| msgid "%a %l:%M %p"
msgid "%a %l:%M:%S %p"
msgstr "%A, %l:%M:%S"
#: ../js/ui/panel.js:603
msgid "%a %l:%M %p"
msgstr "%A, %l:%M"
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:741
msgid "Activities"
msgstr "Активности"
#: ../js/ui/placeDisplay.js:107
#, c-format
msgid "Failed to unmount '%s'"
msgstr "Не могу да демонтирам „%s“"
#: ../js/ui/placeDisplay.js:106
#: ../js/ui/placeDisplay.js:110
msgid "Retry"
msgstr "Понови"
#: ../js/ui/placeDisplay.js:151
#: ../js/ui/placeDisplay.js:155
msgid "Connect to..."
msgstr "Повежи се на..."
#: ../js/ui/runDialog.js:232
#. Translators: the "ON" and "OFF" strings are used in the
#. toggle switches in the status area menus, and must be SHORT.
#. If you don't have suitable short words, consider initials,
#. "0"/"1", "⚪"/"⚫", etc.
#: ../js/ui/popupMenu.js:30 ../js/ui/popupMenu.js:40
msgid "ON"
msgstr "⚫"
#: ../js/ui/popupMenu.js:31 ../js/ui/popupMenu.js:45
msgid "OFF"
msgstr "⚪"
#: ../js/ui/runDialog.js:233
msgid "Please enter a command:"
msgstr "Унесите наредбу:"
#: ../js/ui/runDialog.js:374
#: ../js/ui/runDialog.js:378
#, c-format
msgid "Execution of '%s' failed:"
msgstr "Није успело покретање „%s“:"
#: ../js/ui/statusMenu.js:107
#: ../js/ui/statusMenu.js:91
msgid "Available"
msgstr "Доступан"
#: ../js/ui/statusMenu.js:112
#: ../js/ui/statusMenu.js:95
msgid "Busy"
msgstr "Заузет"
#: ../js/ui/statusMenu.js:117
#: ../js/ui/statusMenu.js:99
msgid "Invisible"
msgstr "Невидљив"
#: ../js/ui/statusMenu.js:126
#: ../js/ui/statusMenu.js:106
msgid "Account Information..."
msgstr "Подаци о налогу..."
#: ../js/ui/statusMenu.js:132
#| msgid "Search"
msgid "Sidebar"
msgstr "Бочна трака"
#: ../js/ui/statusMenu.js:142
#: ../js/ui/statusMenu.js:110
msgid "System Preferences..."
msgstr "Поставке система..."
#: ../js/ui/statusMenu.js:151
#: ../js/ui/statusMenu.js:117
msgid "Lock Screen"
msgstr "Закључај екран"
#: ../js/ui/statusMenu.js:156
#: ../js/ui/statusMenu.js:121
msgid "Switch User"
msgstr "Промени корисника"
#: ../js/ui/statusMenu.js:162
#: ../js/ui/statusMenu.js:126
msgid "Log Out..."
msgstr "Одјави ме..."
#: ../js/ui/statusMenu.js:167
#: ../js/ui/statusMenu.js:130
msgid "Shut Down..."
msgstr "Искључи..."
#. Translators: This is a time format.
#: ../js/ui/widget.js:163
msgid "%H:%M"
msgstr "%H:%M"
#: ../js/ui/widget.js:317
msgid "Applications"
msgstr "Програми"
#: ../js/ui/widget.js:339
msgid "Recent Documents"
msgstr "Скорашњи документи"
#: ../js/ui/windowAttentionHandler.js:47
#: ../js/ui/windowAttentionHandler.js:45
#, c-format
msgid "%s has finished starting"
msgstr "%s је покренут"
#: ../js/ui/windowAttentionHandler.js:49
#: ../js/ui/windowAttentionHandler.js:47
#, c-format
msgid "'%s' is ready"
msgstr "„%s“ је спреман"
#: ../src/shell-global.c:967
#: ../js/ui/workspacesView.js:230
msgid ""
"Can't add a new workspace because maximum workspaces limit has been reached."
msgstr ""
"Не могу да додам нову радну површину јер је већ достигнут највећи број."
#: ../js/ui/workspacesView.js:247
msgid "Can't remove the first workspace."
msgstr "Не могу да уклоним прву радну површину."
#: ../src/shell-global.c:1105
msgid "Less than a minute ago"
msgstr "Пре мање од једног минута"
#: ../src/shell-global.c:971
#: ../src/shell-global.c:1109
#, c-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
@ -234,7 +507,7 @@ msgstr[1] "Пре %d минута"
msgstr[2] "Пре %d минута"
msgstr[3] "Пре %d минута"
#: ../src/shell-global.c:976
#: ../src/shell-global.c:1114
#, c-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
@ -243,7 +516,7 @@ msgstr[1] "Пре %d сата"
msgstr[2] "Пре %d сата"
msgstr[3] "Пре %d сата"
#: ../src/shell-global.c:981
#: ../src/shell-global.c:1119
#, c-format
msgid "%d day ago"
msgid_plural "%d days ago"
@ -252,7 +525,7 @@ msgstr[1] "Пре %d дана"
msgstr[2] "Пре %d дана"
msgstr[3] "Пре %d дана"
#: ../src/shell-global.c:986
#: ../src/shell-global.c:1124
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
@ -284,3 +557,16 @@ msgstr "Тражи"
#, c-format
msgid "%1$s: %2$s"
msgstr "%1$s: %2$s"
#~| msgid "Search"
#~ msgid "Sidebar"
#~ msgstr "Бочна трака"
#~ msgid "%H:%M"
#~ msgstr "%H:%M"
#~ msgid "Applications"
#~ msgstr "Програми"
#~ msgid "Recent Documents"
#~ msgstr "Скорашњи документи"

View File

@ -2,21 +2,21 @@
# Copyright (C) 2010 gnome-shell's COPYRIGHT HOLDER
# This file is distributed under the same license as the gnome-shell package.
# Miloš Popović <gpopac@gmail.com>, 2010.
# Miloš Popović <gpopac@gmail.com>, 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&component=general\n"
"POT-Creation-Date: 2010-03-20 22:48+0000\n"
"PO-Revision-Date: 2010-03-24 01:45+0100\n"
"POT-Creation-Date: 2010-07-22 13:07+0000\n"
"PO-Revision-Date: 2010-08-23 23:03+0200\n"
"Last-Translator: Miloš Popović <gpopac@gmail.com>\n"
"Language-Team: Serbian <gnom@prevod.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\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"
#: ../data/gnome-shell.desktop.in.in.h:1
msgid "GNOME Shell"
@ -26,206 +26,479 @@ msgstr "Gnomova školjka"
msgid "Window management and application launching"
msgstr "Upravnik prozorima i pokretač programa"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:1
msgid "Clock"
msgstr "Sat"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:2
msgid "Customize the panel clock"
msgstr "Podešava sat na panelu"
#: ../data/org.gnome.shell.gschema.xml.in.h:1
msgid ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog."
msgstr ""
"Dozvoljava pristup sistemu za traženje grešaka u alatima za praćenje u Alt-F2 "
"prozorčetu."
#: ../data/org.gnome.shell.gschema.xml.in.h:2
msgid "Custom format of the clock"
msgstr "Proizvoljan format časovnika"
#: ../data/org.gnome.shell.gschema.xml.in.h:3
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr "Uključuje alate korisne programerima u Alt-F2 prozorčetu"
#: ../data/org.gnome.shell.gschema.xml.in.h:4
msgid "File extension used for storing the screencast"
msgstr "Ekstenzija datoteke za čuvanje video snimaka ekrana"
#: ../data/org.gnome.shell.gschema.xml.in.h:5
msgid "Framerate used for recording screencasts."
msgstr "Učestanost kadrova za video snimak ekrana."
#: ../data/org.gnome.shell.gschema.xml.in.h:6
msgid ""
"GNOME Shell extensions have a uuid property; this key lists extensions which "
"should not be loaded."
msgstr ""
"Proširenja Gnomove školjke imaju uuid vrednost; ovaj ključ ispisuje proširenja "
"koja treba učitati."
#: ../data/org.gnome.shell.gschema.xml.in.h:7
msgid "History for command (Alt-F2) dialog"
msgstr "Istorijat naredbi Alt-F2 prozorčeta"
#: ../data/org.gnome.shell.gschema.xml.in.h:8
msgid "Hour format"
msgstr "Format časovnika"
#: ../data/org.gnome.shell.gschema.xml.in.h:9
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display date in the "
"clock, in addition to time."
msgstr ""
"Prikazuje datum pored časovnik, ukoliko je postavljeno na „true“ (tačno) i "
"ako je format postavljen na „12-hour“ (12 časa) ili „24-hour“ (24 časa)."
#: ../data/org.gnome.shell.gschema.xml.in.h:10
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display seconds in "
"time."
msgstr ""
"Prikazuje sekunde u časovniku, ukoliko je postavljeno na „true“ (tačno) i "
"format postavljen na „12-hour“ (12 časa) ili „24-hour“ (24 časa)."
#: ../data/org.gnome.shell.gschema.xml.in.h:11
msgid "If true, display the ISO week date in the calendar."
msgstr ""
"Ukoliko je postavljeno na „true“ (tačno), prikazuje ISO dan u nedelji unutar "
"kalendara."
#: ../data/org.gnome.shell.gschema.xml.in.h:12
msgid "List of desktop file IDs for favorite applications"
msgstr "Spisak IB datoteka radne površine sa omiljenim programima"
#: ../data/org.gnome.shell.gschema.xml.in.h:13
msgid "Overview workspace view mode"
msgstr "Način za pregled radnih površina"
#: ../data/org.gnome.shell.gschema.xml.in.h:14
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 ! theoraenc ! oggmux' and records to Ogg Theora."
msgstr ""
"Postavlja GStrimerov cevovod za prekodiranje snimaka. On dozvoljava sintaksu iz "
"programa gst-launch. Cevovod mora da bude bez povezanog dovoda za čuvanje "
"snimljenog videa. Izvor će obično biti nepovezan; izlaz će biti u izlaznu "
"datoteku. Ipak cevovod može da radi sa sopstvenim izlazom — ovo možete da "
"upotrebite za slanje izlaza u ajskast server preko shout2send ili slične "
"naredbe. Kada ova opcija nije postavljena biće upotrebljen podrazumevani "
"cevovod, koji podrazumeva „videorate ! theoraenc ! oggmux“ i čuva datoteke u "
"Ogg Teora format."
#: ../data/org.gnome.shell.gschema.xml.in.h:15
msgid "Show date in clock"
msgstr "Prikaži datum u panelu"
#: ../data/org.gnome.shell.gschema.xml.in.h:16
msgid "Show the week date in the calendar"
msgstr "Prikaži dan u nedelji u kalendaru"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "Show time with seconds"
msgstr "Prikaži vreme i sekunde"
#: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid ""
"The applications corresponding to these identifiers will be displayed in the "
"favorites area."
msgstr ""
"Program kome odgovaraju ove odrednice se prikazuje unutar oblasti sa "
"omiljenim programima."
#: ../data/org.gnome.shell.gschema.xml.in.h:19
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 ""
"Ime datoteke za sačuvani video snimak ekrana će biti jedinstveno jer sadrži "
"datum i čuva datoteke u ovaj format. Treba ga promeniti pri snimanju u drugi "
"format."
#: ../data/org.gnome.shell.gschema.xml.in.h:20
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
msgstr ""
"Učestanost kadrova snimka snimljenih pomoću Gnomove školjke u kadrovima po "
"sekundi."
#: ../data/org.gnome.shell.gschema.xml.in.h:21
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "Gstrimerov cevovod za kodiranje video snimka ekrana"
#: ../data/org.gnome.shell.gschema.xml.in.h:22
msgid ""
"The selected workspace view mode in the overview. Supported values are "
"\"single\" and \"grid\"."
msgstr ""
"Izabrani način pregleda radnih površina. Podržane vrednosti su "
"„single“ (pojedinačno) i „grid“ (u mreži)."
#: ../data/org.gnome.shell.gschema.xml.in.h:23
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 ""
"Školjka prati pokrenute programe kako bi otkrila one koji se najviše koriste. "
"Iako su podaci tajni, možda želite da isključite ovi opciju zbog veće "
"privatnosti. Na taj način nećete obrisati već prikupljene podatke."
#: ../data/org.gnome.shell.gschema.xml.in.h:24
msgid ""
"This key specifies the format used by the panel clock when the format key is "
"set to \"custom\". You can use conversion specifiers understood by strftime"
"() to obtain a specific format. See the strftime() manual for more "
"information."
msgstr ""
"Ovaj ključ određuje format vremena u panelu, kada je „format“ (format) "
"postavljen na „custom“ (proizvoljno). Možete iskoristiti format podržan unutar "
"funkcije strftime(). Pogledajte uputstvo za strftime()."
#: ../data/org.gnome.shell.gschema.xml.in.h:25
msgid ""
"This key specifies the hour format used by the panel clock. Possible values "
"are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", "
"the clock will display time in seconds since Epoch, i.e. 1970-01-01. If set "
"to \"custom\", the clock will display time according to the format specified "
"in the custom_format key. Note that if set to either \"unix\" or \"custom\", "
"the show_date and show_seconds keys are ignored."
msgstr ""
"Ovaj ključ određuje format časovnika u panelu. Dozvoljene vrednosti su „12-"
"hour“ (12 časaova), „24-hour“ (24 časa), „unix“ (Juniks) i "
"„custom“ (proizvoljno). Ukoliko ga postavite na „unix“ sat će prikazivati "
"vreme na osnovu epohe, npr. 1970-01-01. Ukoliko ga postavite na „custom“ sat "
"će prikazivati vreme na osnovu ključa „custom_format“ (proizvoljni format). "
"Ukoliko postavite na ključ na „unix“ ili „custom“ zanemaruju se ključevi "
"„show_date“ (prikaži datum) i „show_seconds“ (prikaži sekunde)."
#: ../data/org.gnome.shell.gschema.xml.in.h:26
#| msgid "No extensions installed"
msgid "Uuids of extensions to disable"
msgstr "Zanemarena uuid proširenja"
#: ../data/org.gnome.shell.gschema.xml.in.h:27
msgid "Whether to collect stats about applications usage"
msgstr "Da li da prikupljam podatke o pokretanim programima"
#: ../data/clock-preferences.ui.h:1
msgid "Clock Format"
msgstr "Format časovnika"
#: ../data/clock-preferences.ui.h:2
#| msgid "System Preferences..."
msgid "Clock Preferences"
msgstr "Postavke časovnika"
#: ../data/clock-preferences.ui.h:3
msgid "Panel Display"
msgstr "Prikaz na panelu"
#: ../data/clock-preferences.ui.h:4
msgid "Show seco_nds"
msgstr "Prikaži _sekunde"
#: ../data/clock-preferences.ui.h:5
msgid "Show the _date"
msgstr "Prikaži _datum"
#: ../data/clock-preferences.ui.h:6
msgid "_12 hour format"
msgstr "_12 časova"
#: ../data/clock-preferences.ui.h:7
msgid "_24 hour format"
msgstr "_24 časa"
#. **** Applications ****
#: ../js/ui/appDisplay.js:311 ../js/ui/dash.js:852
#: ../js/ui/appDisplay.js:384 ../js/ui/dash.js:773
msgid "APPLICATIONS"
msgstr "PROGRAMI"
#: ../js/ui/appDisplay.js:343
#: ../js/ui/appDisplay.js:416
msgid "PREFERENCES"
msgstr "POSTAVKE"
#: ../js/ui/appDisplay.js:728
#: ../js/ui/appDisplay.js:721
msgid "New Window"
msgstr "Novi prozor"
#: ../js/ui/appDisplay.js:732
#: ../js/ui/appDisplay.js:725
msgid "Remove from Favorites"
msgstr "Ukloni iz omiljenih"
#: ../js/ui/appDisplay.js:733
#: ../js/ui/appDisplay.js:726
msgid "Add to Favorites"
msgstr "Dodaj u omiljene"
#: ../js/ui/appDisplay.js:1085
#: ../js/ui/appDisplay.js:1033
msgid "Drag here to add favorites"
msgstr "Prevucite ovde kako bi dodali u omiljene"
#: ../js/ui/appFavorites.js:89
#: ../js/ui/appFavorites.js:88
#, c-format
msgid "%s has been added to your favorites."
msgstr "%s je dodat među omiljene"
#: ../js/ui/appFavorites.js:107
#, c-format
#| msgid "Remove from Favorites"
msgid "%s has been removed from your favorites."
msgstr "%s je uklonjen iz omiljenih"
#: ../js/ui/dash.js:194
#| msgid "Find..."
#: ../js/ui/dash.js:142
msgid "Find"
msgstr "Nađi"
#: ../js/ui/dash.js:507
#: ../js/ui/dash.js:471
msgid "Searching..."
msgstr "Tražim..."
#: ../js/ui/dash.js:521
#: ../js/ui/dash.js:485
msgid "No matching results."
msgstr "Ništa nije pronađeno."
#. **** Places ****
#. Translators: This is in the sense of locations for documents,
#. network locations, etc.
#: ../js/ui/dash.js:871 ../js/ui/placeDisplay.js:579
#: ../js/ui/dash.js:792 ../js/ui/placeDisplay.js:550
msgid "PLACES & DEVICES"
msgstr "MESTA I UREĐAJI"
#. **** Documents ****
#: ../js/ui/dash.js:878 ../js/ui/docDisplay.js:488
#: ../js/ui/dash.js:799 ../js/ui/docDisplay.js:494
msgid "RECENT ITEMS"
msgstr "SKORAŠNJE STAVKE"
#: ../js/ui/lookingGlass.js:363
#: ../js/ui/lookingGlass.js:471
msgid "No extensions installed"
msgstr "Nisu instalirana proširenja"
#: ../js/ui/lookingGlass.js:400
#: ../js/ui/lookingGlass.js:508
msgid "Enabled"
msgstr "Omogućeno"
#: ../js/ui/lookingGlass.js:402
#: ../js/ui/lookingGlass.js:510
msgid "Disabled"
msgstr "Onemogućeno"
#: ../js/ui/lookingGlass.js:404
#: ../js/ui/lookingGlass.js:512
msgid "Error"
msgstr "Greška"
#: ../js/ui/lookingGlass.js:406
#: ../js/ui/lookingGlass.js:514
msgid "Out of date"
msgstr "Istekao je datum"
#: ../js/ui/lookingGlass.js:431
#: ../js/ui/lookingGlass.js:539
msgid "View Source"
msgstr "Pogledaj izvor"
#: ../js/ui/lookingGlass.js:437
#: ../js/ui/lookingGlass.js:545
msgid "Web Page"
msgstr "Internet stranica"
#: ../js/ui/overview.js:182
#: ../js/ui/overview.js:159
msgid "Undo"
msgstr "Opozovi"
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:385
msgid "Activities"
msgstr "Aktivnosti"
#. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:473
#, c-format
msgid "Quit %s"
msgstr "Izađi iz %s"
#. Translators: This is the time format used in 24-hour mode.
#: ../js/ui/panel.js:616
#: ../js/ui/panel.js:498
#| msgid "System Preferences..."
msgid "Preferences"
msgstr "Postavke"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/panel.js:584
msgid "%a %b %e, %R:%S"
msgstr "%A, %e. %b, %R:%S"
#: ../js/ui/panel.js:585
#| msgid "%a %l:%M %p"
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/panel.js:589
#| msgid "%a %R"
msgid "%a %R:%S"
msgstr "%A, %R:%S"
#: ../js/ui/panel.js:590
msgid "%a %R"
msgstr "%A, %R"
#. Translators: This is a time format used for AM/PM.
#: ../js/ui/panel.js:619
msgid "%a %l:%M %p"
msgstr "%A, %H:%M"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/panel.js:597
#| msgid "%a %l:%M %p"
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%A, %e. %b, %l:%M:S"
#: ../js/ui/placeDisplay.js:103
#: ../js/ui/panel.js:598
#| msgid "%a %l:%M %p"
msgid "%a %b %e, %l:%M %p"
msgstr "%A, %e. %b, %l:%M"
#. Translators: This is a time format without date used
#. for AM/PM.
#: ../js/ui/panel.js:602
#| msgid "%a %l:%M %p"
msgid "%a %l:%M:%S %p"
msgstr "%A, %l:%M:%S"
#: ../js/ui/panel.js:603
msgid "%a %l:%M %p"
msgstr "%A, %l:%M"
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:741
msgid "Activities"
msgstr "Aktivnosti"
#: ../js/ui/placeDisplay.js:107
#, c-format
msgid "Failed to unmount '%s'"
msgstr "Ne mogu da demontiram „%s“"
#: ../js/ui/placeDisplay.js:106
#: ../js/ui/placeDisplay.js:110
msgid "Retry"
msgstr "Ponovi"
#: ../js/ui/placeDisplay.js:151
#: ../js/ui/placeDisplay.js:155
msgid "Connect to..."
msgstr "Poveži se na..."
#: ../js/ui/runDialog.js:232
#. Translators: the "ON" and "OFF" strings are used in the
#. toggle switches in the status area menus, and must be SHORT.
#. If you don't have suitable short words, consider initials,
#. "0"/"1", "⚪"/"⚫", etc.
#: ../js/ui/popupMenu.js:30 ../js/ui/popupMenu.js:40
msgid "ON"
msgstr "⚫"
#: ../js/ui/popupMenu.js:31 ../js/ui/popupMenu.js:45
msgid "OFF"
msgstr "⚪"
#: ../js/ui/runDialog.js:233
msgid "Please enter a command:"
msgstr "Unesite naredbu:"
#: ../js/ui/runDialog.js:374
#: ../js/ui/runDialog.js:378
#, c-format
msgid "Execution of '%s' failed:"
msgstr "Nije uspelo pokretanje „%s“:"
#: ../js/ui/statusMenu.js:107
#: ../js/ui/statusMenu.js:91
msgid "Available"
msgstr "Dostupan"
#: ../js/ui/statusMenu.js:112
#: ../js/ui/statusMenu.js:95
msgid "Busy"
msgstr "Zauzet"
#: ../js/ui/statusMenu.js:117
#: ../js/ui/statusMenu.js:99
msgid "Invisible"
msgstr "Nevidljiv"
#: ../js/ui/statusMenu.js:126
#: ../js/ui/statusMenu.js:106
msgid "Account Information..."
msgstr "Podaci o nalogu..."
#: ../js/ui/statusMenu.js:132
#| msgid "Search"
msgid "Sidebar"
msgstr "Bočna traka"
#: ../js/ui/statusMenu.js:142
#: ../js/ui/statusMenu.js:110
msgid "System Preferences..."
msgstr "Postavke sistema..."
#: ../js/ui/statusMenu.js:151
#: ../js/ui/statusMenu.js:117
msgid "Lock Screen"
msgstr "Zaključaj ekran"
#: ../js/ui/statusMenu.js:156
#: ../js/ui/statusMenu.js:121
msgid "Switch User"
msgstr "Promeni korisnika"
#: ../js/ui/statusMenu.js:162
#: ../js/ui/statusMenu.js:126
msgid "Log Out..."
msgstr "Odjavi me..."
#: ../js/ui/statusMenu.js:167
#: ../js/ui/statusMenu.js:130
msgid "Shut Down..."
msgstr "Isključi..."
#. Translators: This is a time format.
#: ../js/ui/widget.js:163
msgid "%H:%M"
msgstr "%H:%M"
#: ../js/ui/widget.js:317
msgid "Applications"
msgstr "Programi"
#: ../js/ui/widget.js:339
msgid "Recent Documents"
msgstr "Skorašnji dokumenti"
#: ../js/ui/windowAttentionHandler.js:47
#: ../js/ui/windowAttentionHandler.js:45
#, c-format
msgid "%s has finished starting"
msgstr "%s je pokrenut"
#: ../js/ui/windowAttentionHandler.js:49
#: ../js/ui/windowAttentionHandler.js:47
#, c-format
msgid "'%s' is ready"
msgstr "„%s“ je spreman"
#: ../src/shell-global.c:967
#: ../js/ui/workspacesView.js:230
msgid ""
"Can't add a new workspace because maximum workspaces limit has been reached."
msgstr ""
"Ne mogu da dodam novu radnu površinu jer je već dostignut najveći broj."
#: ../js/ui/workspacesView.js:247
msgid "Can't remove the first workspace."
msgstr "Ne mogu da uklonim prvu radnu površinu."
#: ../src/shell-global.c:1105
msgid "Less than a minute ago"
msgstr "Pre manje od jednog minuta"
#: ../src/shell-global.c:971
#: ../src/shell-global.c:1109
#, c-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
@ -234,7 +507,7 @@ msgstr[1] "Pre %d minuta"
msgstr[2] "Pre %d minuta"
msgstr[3] "Pre %d minuta"
#: ../src/shell-global.c:976
#: ../src/shell-global.c:1114
#, c-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
@ -243,7 +516,7 @@ msgstr[1] "Pre %d sata"
msgstr[2] "Pre %d sata"
msgstr[3] "Pre %d sata"
#: ../src/shell-global.c:981
#: ../src/shell-global.c:1119
#, c-format
msgid "%d day ago"
msgid_plural "%d days ago"
@ -252,7 +525,7 @@ msgstr[1] "Pre %d dana"
msgstr[2] "Pre %d dana"
msgstr[3] "Pre %d dana"
#: ../src/shell-global.c:986
#: ../src/shell-global.c:1124
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
@ -284,3 +557,16 @@ msgstr "Traži"
#, c-format
msgid "%1$s: %2$s"
msgstr "%1$s: %2$s"
#~| msgid "Search"
#~ msgid "Sidebar"
#~ msgstr "Bočna traka"
#~ msgid "%H:%M"
#~ msgstr "%H:%M"
#~ msgid "Applications"
#~ msgstr "Programi"
#~ msgid "Recent Documents"
#~ msgstr "Skorašnji dokumenti"

438
po/sv.po
View File

@ -1,18 +1,18 @@
# Swedish translation for gnome-shell.
# Copyright (C) 2009 Free Software Foundation, Inc.
# Copyright (C) 2009, 2010 Free Software Foundation, Inc.
# This file is distributed under the same license as the gnome-shell package.
# Daniel Nylander <po@danielnylander.se>, 2009.
# Daniel Nylander <po@danielnylander.se>, 2009, 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-01 23:52+0100\n"
"PO-Revision-Date: 2009-12-01 23:53+0100\n"
"POT-Creation-Date: 2010-09-06 22:51+0200\n"
"PO-Revision-Date: 2010-09-06 22:56+0100\n"
"Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
@ -24,122 +24,416 @@ msgstr "GNOME-skal"
msgid "Window management and application launching"
msgstr "Fönsterhantering och programstarter"
#: ../js/ui/appDisplay.js:580
#: ../js/ui/appIcon.js:425
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:1
msgid "Clock"
msgstr "Klocka"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:2
msgid "Customize the panel clock"
msgstr "Anpassa panelklockan"
#: ../data/org.gnome.shell.gschema.xml.in.h:1
msgid "Allows access to internal debugging and monitoring tools using the Alt-F2 dialog."
msgstr "Tillåter åtkomst till interna verktyg för felsökning och övervakning med dialogen Alt-F2."
#: ../data/org.gnome.shell.gschema.xml.in.h:2
msgid "Custom format of the clock"
msgstr "Anpassat format för klockan"
#: ../data/org.gnome.shell.gschema.xml.in.h:3
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr "Aktivera interna verktyg användbara för utvecklare och testare från Alt-F2"
#: ../data/org.gnome.shell.gschema.xml.in.h:4
msgid "File extension used for storing the screencast"
msgstr "Filändelse att använda för lagring av skärminspelningen"
#: ../data/org.gnome.shell.gschema.xml.in.h:5
msgid "Framerate used for recording screencasts."
msgstr "Bildfrekvens för inspelade skärminspelningar."
#: ../data/org.gnome.shell.gschema.xml.in.h:6
msgid "GNOME Shell extensions have a uuid property; this key lists extensions which should not be loaded."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:7
msgid "History for command (Alt-F2) dialog"
msgstr "Historik för kommandodialog (Alt-F2)"
#: ../data/org.gnome.shell.gschema.xml.in.h:8
msgid "Hour format"
msgstr "Timmesformat"
#: ../data/org.gnome.shell.gschema.xml.in.h:9
msgid "If true and format is either \"12-hour\" or \"24-hour\", display date in the clock, in addition to time."
msgstr "Om true och formatet antingen är \"12-hour\" eller \"24-hour\", visa datum i klockan, i tillägg till tiden."
#: ../data/org.gnome.shell.gschema.xml.in.h:10
msgid "If true and format is either \"12-hour\" or \"24-hour\", display seconds in time."
msgstr "Om true och formatet antingen är \"12-hour\" eller \"24-hour\", visa sekunder i tiden."
#: ../data/org.gnome.shell.gschema.xml.in.h:11
msgid "If true, display the ISO week date in the calendar."
msgstr "Om true, visa veckodatum enligt ISO i kalendern."
#: ../data/org.gnome.shell.gschema.xml.in.h:12
msgid "List of desktop file IDs for favorite applications"
msgstr "Lista över skrivbordsfil-id för favoritprogram"
#: ../data/org.gnome.shell.gschema.xml.in.h:13
msgid "Overview workspace view mode"
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:14
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 ! theoraenc ! oggmux' and records to Ogg Theora."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:15
msgid "Show date in clock"
msgstr "Visa datum i klocka"
#: ../data/org.gnome.shell.gschema.xml.in.h:16
msgid "Show the week date in the calendar"
msgstr "Visa veckodatum i kalendern"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "Show time with seconds"
msgstr "Visa tid med sekunder"
#: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid "The applications corresponding to these identifiers will be displayed in the favorites area."
msgstr "Programmen som motsvarar dessa identifierare kommer att visas i favoritområdet."
#: ../data/org.gnome.shell.gschema.xml.in.h:19
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 ""
#: ../data/org.gnome.shell.gschema.xml.in.h:20
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:21
msgid "The gstreamer pipeline used to encode the screencast"
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:22
msgid "The selected workspace view mode in the overview. Supported values are \"single\" and \"grid\"."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:23
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 ""
#: ../data/org.gnome.shell.gschema.xml.in.h:24
msgid "This key specifies the format used by the panel clock when the format key is set to \"custom\". You can use conversion specifiers understood by strftime() to obtain a specific format. See the strftime() manual for more information."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:25
msgid "This key specifies the hour format used by the panel clock. Possible values are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", the clock will display time in seconds since Epoch, i.e. 1970-01-01. If set to \"custom\", the clock will display time according to the format specified in the custom_format key. Note that if set to either \"unix\" or \"custom\", the show_date and show_seconds keys are ignored."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:26
msgid "Uuids of extensions to disable"
msgstr "Uuid:er för tillägg att inaktivera"
#: ../data/org.gnome.shell.gschema.xml.in.h:27
msgid "Whether to collect stats about applications usage"
msgstr "Huruvida statistik ska samlas in för programanvändning"
#: ../data/clock-preferences.ui.h:1
msgid "Clock Format"
msgstr "Klockformat"
#: ../data/clock-preferences.ui.h:2
msgid "Clock Preferences"
msgstr "Klockinställningar"
#: ../data/clock-preferences.ui.h:3
msgid "Panel Display"
msgstr "Panelvisning"
#: ../data/clock-preferences.ui.h:4
msgid "Show seco_nds"
msgstr "Visa seku_nder"
#: ../data/clock-preferences.ui.h:5
msgid "Show the _date"
msgstr "Visa _datum"
#: ../data/clock-preferences.ui.h:6
msgid "_12 hour format"
msgstr "_12-timmarsformat"
#: ../data/clock-preferences.ui.h:7
msgid "_24 hour format"
msgstr "_24-timmarsformat"
#. **** Applications ****
#: ../js/ui/appDisplay.js:384
#: ../js/ui/dash.js:778
msgid "APPLICATIONS"
msgstr "PROGRAM"
#: ../js/ui/appDisplay.js:416
msgid "PREFERENCES"
msgstr "INSTÄLLNINGAR"
#: ../js/ui/appDisplay.js:721
msgid "New Window"
msgstr "Nytt fönster"
#: ../js/ui/appDisplay.js:584
#: ../js/ui/appIcon.js:429
#: ../js/ui/appDisplay.js:725
msgid "Remove from Favorites"
msgstr "Ta bort från favoriter"
#: ../js/ui/appDisplay.js:585
#: ../js/ui/appIcon.js:430
#: ../js/ui/appDisplay.js:726
msgid "Add to Favorites"
msgstr "Lägg till som favorit"
#: ../js/ui/appDisplay.js:1029
#: ../js/ui/appDisplay.js:1033
msgid "Drag here to add favorites"
msgstr "Dra hit för att lägga till favorit"
#: ../js/ui/dash.js:236
msgid "Find..."
msgstr "Sök..."
#: ../js/ui/appFavorites.js:88
#, c-format
msgid "%s has been added to your favorites."
msgstr "%s har lagts till i dina favoriter."
#. **** Applications ****
#: ../js/ui/dash.js:620
#: ../js/ui/dash.js:682
msgid "APPLICATIONS"
msgstr "PROGRAM"
#: ../js/ui/appFavorites.js:107
#, c-format
msgid "%s has been removed from your favorites."
msgstr "%s har tagits bort från dina favoriter."
#: ../js/ui/dash.js:142
msgid "Find"
msgstr "Sök"
#: ../js/ui/dash.js:473
msgid "Searching..."
msgstr "Söker..."
#: ../js/ui/dash.js:487
msgid "No matching results."
msgstr "Inga sökträffar."
#. **** Places ****
#. Translators: This is in the sense of locations for documents,
#. network locations, etc.
#: ../js/ui/dash.js:640
#: ../js/ui/dash.js:697
msgid "PLACES"
msgstr "PLATSER"
#: ../js/ui/dash.js:797
#: ../js/ui/placeDisplay.js:554
msgid "PLACES & DEVICES"
msgstr "PLATSER OCH ENHETER"
#. **** Documents ****
#: ../js/ui/dash.js:647
#: ../js/ui/dash.js:692
msgid "RECENT DOCUMENTS"
msgstr "SENASTE DOKUMENT"
#: ../js/ui/dash.js:804
#: ../js/ui/docDisplay.js:494
msgid "RECENT ITEMS"
msgstr "TIDIGARE OBJEKT"
#. **** Search Results ****
#: ../js/ui/dash.js:672
#: ../js/ui/dash.js:862
msgid "SEARCH RESULTS"
msgstr "SÖKRESULTAT"
#: ../js/ui/lookingGlass.js:552
msgid "No extensions installed"
msgstr "Inga tillägg installerade"
#: ../js/ui/dash.js:687
msgid "PREFERENCES"
msgstr "INSTÄLLNINGAR"
#: ../js/ui/lookingGlass.js:589
msgid "Enabled"
msgstr "Aktiverad"
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:227
msgid "Activities"
msgstr "Aktiviteter"
#: ../js/ui/lookingGlass.js:591
msgid "Disabled"
msgstr "Inaktiverad"
#. Translators: This is a time format.
#: ../js/ui/panel.js:440
#: ../js/ui/lookingGlass.js:593
msgid "Error"
msgstr "Fel"
#: ../js/ui/lookingGlass.js:595
msgid "Out of date"
msgstr "Utanför datumintervallet"
#: ../js/ui/lookingGlass.js:620
msgid "View Source"
msgstr "Visa källa"
#: ../js/ui/lookingGlass.js:626
msgid "Web Page"
msgstr "Webbsida"
#: ../js/ui/overview.js:160
msgid "Undo"
msgstr "Ångra"
#. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:473
#, c-format
msgid "Quit %s"
msgstr "Avsluta %s"
#: ../js/ui/panel.js:498
msgid "Preferences"
msgstr "Inställningar"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/panel.js:584
msgid "%a %b %e, %R:%S"
msgstr "%a %e %b, %R.%S"
#: ../js/ui/panel.js:585
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/panel.js:589
msgid "%a %R:%S"
msgstr "%a %R.%S"
#: ../js/ui/panel.js:590
msgid "%a %R"
msgstr "%a %R"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/panel.js:597
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a %e %b, %l.%M.%S %p"
#: ../js/ui/panel.js:598
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/panel.js:602
msgid "%a %l:%M:%S %p"
msgstr "%a %l.%M.%S %p"
#: ../js/ui/panel.js:603
msgid "%a %l:%M %p"
msgstr "%a %H.%M"
#: ../js/ui/placeDisplay.js:84
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:748
msgid "Activities"
msgstr "Aktiviteter"
#: ../js/ui/placeDisplay.js:111
#, c-format
msgid "Failed to unmount '%s'"
msgstr "Misslyckades med att avmontera \"%s\""
#: ../js/ui/placeDisplay.js:114
msgid "Retry"
msgstr "Försök igen"
#: ../js/ui/placeDisplay.js:159
msgid "Connect to..."
msgstr "Anslut till..."
#: ../js/ui/runDialog.js:96
#. Translators: the "ON" and "OFF" strings are used in the
#. toggle switches in the status area menus, and must be SHORT.
#. If you don't have suitable short words, consider initials,
#. "0"/"1", "⚪"/"⚫", etc.
#: ../js/ui/popupMenu.js:30
#: ../js/ui/popupMenu.js:40
msgid "ON"
msgstr "PÅ"
#: ../js/ui/popupMenu.js:31
#: ../js/ui/popupMenu.js:45
msgid "OFF"
msgstr "AV"
#: ../js/ui/runDialog.js:233
msgid "Please enter a command:"
msgstr "Ange ett kommando:"
#: ../js/ui/runDialog.js:173
#: ../js/ui/runDialog.js:378
#, c-format
msgid "Execution of '%s' failed:"
msgstr "Körning av \"%s\" misslyckades:"
#. Translators: This is a time format.
#: ../js/ui/widget.js:163
msgid "%H:%M"
msgstr "%H.%M"
#: ../js/ui/statusMenu.js:91
msgid "Available"
msgstr "Tillgänglig"
#: ../js/ui/widget.js:317
msgid "Applications"
msgstr "Program"
#: ../js/ui/statusMenu.js:95
msgid "Busy"
msgstr "Upptagen"
#: ../js/ui/widget.js:339
msgid "Recent Documents"
msgstr "Senaste dokument"
#: ../js/ui/statusMenu.js:99
msgid "Invisible"
msgstr "Osynlig"
#: ../src/shell-global.c:826
#: ../js/ui/statusMenu.js:106
msgid "Account Information..."
msgstr "Kontoinformation..."
#: ../js/ui/statusMenu.js:110
msgid "System Preferences..."
msgstr "Systeminställningar..."
#: ../js/ui/statusMenu.js:117
msgid "Lock Screen"
msgstr "Lås skärmen"
#: ../js/ui/statusMenu.js:121
msgid "Switch User"
msgstr "Växla användare"
#: ../js/ui/statusMenu.js:126
msgid "Log Out..."
msgstr "Logga ut..."
#: ../js/ui/statusMenu.js:130
msgid "Shut Down..."
msgstr "Stäng av..."
#: ../js/ui/windowAttentionHandler.js:43
#, c-format
msgid "%s has finished starting"
msgstr "%s har startat"
#: ../js/ui/windowAttentionHandler.js:45
#, c-format
msgid "'%s' is ready"
msgstr "\"%s\" är redo"
#: ../js/ui/workspacesView.js:230
msgid "Can't add a new workspace because maximum workspaces limit has been reached."
msgstr "Kan inte lägga till en ny arbetsyta eftersom maximalt antal arbetsytor har uppnåtts."
#: ../js/ui/workspacesView.js:247
msgid "Can't remove the first workspace."
msgstr "Kan inte ta bort första arbetsytan."
#: ../src/shell-global.c:1105
msgid "Less than a minute ago"
msgstr "Mindre än en minut sedan"
#: ../src/shell-global.c:829
#: ../src/shell-global.c:1109
#, c-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "%d minut sedan"
msgstr[1] "%d minuter sedan"
#: ../src/shell-global.c:832
#: ../src/shell-global.c:1114
#, c-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
msgstr[0] "%d timme sedan"
msgstr[1] "%d timmar sedan"
#: ../src/shell-global.c:835
#: ../src/shell-global.c:1119
#, c-format
msgid "%d day ago"
msgid_plural "%d days ago"
msgstr[0] "%d dag sedan"
msgstr[1] "%d dagar sedan"
#: ../src/shell-global.c:838
#: ../src/shell-global.c:1124
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
@ -170,6 +464,16 @@ msgstr "Sök"
msgid "%1$s: %2$s"
msgstr "%1$s: %2$s"
#~ msgid "PLACES"
#~ msgstr "PLATSER"
#~ msgid "SEARCH RESULTS"
#~ msgstr "SÖKRESULTAT"
#~ msgid "%H:%M"
#~ msgstr "%H.%M"
#~ msgid "Applications"
#~ msgstr "Program"
#~ msgid "Recent Documents"
#~ msgstr "Senaste dokument"
#~ msgid "(see all)"
#~ msgstr "(se alla)"
#~ msgid "Unknown"
@ -180,20 +484,8 @@ msgstr "%1$s: %2$s"
#~ msgstr "Kan inte temporärt ställa in skärmsläckaren till blank skärm: %s"
#~ msgid "Can't logout: %s"
#~ msgstr "Kan inte logga ut: %s"
#~ msgid "Account Information..."
#~ msgstr "Kontoinformation..."
#~ msgid "Sidebar"
#~ msgstr "Sidopanel"
#~ msgid "System Preferences..."
#~ msgstr "Systeminställningar..."
#~ msgid "Lock Screen"
#~ msgstr "Lås skärmen"
#~ msgid "Switch User"
#~ msgstr "Växla användare"
#~ msgid "Log Out..."
#~ msgstr "Logga ut..."
#~ msgid "Shut Down..."
#~ msgstr "Stäng av..."
#~ msgid "Browse"
#~ msgstr "Bläddra"
#~ msgid "Find apps or documents"

550
po/ta.po Normal file
View File

@ -0,0 +1,550 @@
# Tamil translation for gnome-shell.
# Copyright (C) 2010 gnome-shell's COPYRIGHT HOLDER
# This file is distributed under the same license as the gnome-shell package.
#
# Dr.T.Vasudevan <agnihot3@gmail.com>, 2010.
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug."
"cgi?product=gnome-shell&component=general\n"
"POT-Creation-Date: 2010-08-04 19:41+0000\n"
"PO-Revision-Date: 2010-08-05 21:37+0530\n"
"Last-Translator: Dr.T.Vasudevan <agnihot3@gmail.com>\n"
"Language-Team: Tamil <<Ubuntu-l10n-tam@lists.ubuntu.com>>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Lokalize 1.0\n"
#: ../data/gnome-shell.desktop.in.in.h:1
msgid "GNOME Shell"
msgstr "க்னோம் ஷெல்"
#: ../data/gnome-shell.desktop.in.in.h:2
msgid "Window management and application launching"
msgstr "சாளர மேலாண்மை மற்றும் பயன்பாடு துவக்கம்"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:1
msgid "Clock"
msgstr "கடிகாரம்"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:2
msgid "Customize the panel clock"
msgstr "பலக கடிகாரத்தை தனிப்பயனாக்கும்"
#: ../data/org.gnome.shell.gschema.xml.in.h:1
msgid ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog."
msgstr ""
"உள்ளமை வழி நீக்கம் மற்றும் Alt-F2 உரையாடல் மூலம் கருவிகள் கண்காணிப்பு "
"ஆகியவற்றை அணுக உதவும்."
#: ../data/org.gnome.shell.gschema.xml.in.h:2
msgid "Custom format of the clock"
msgstr "கடிகாரத்தின் தனிப்பயன் வடிவமைப்பு"
#: ../data/org.gnome.shell.gschema.xml.in.h:3
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr ""
"உருவாக்குவோர் மற்றூம் சோதிப்போருக்கு பயன்படுமாறு Alt-F2 வழியாக உள்ளமை "
"கருவிகளை செயலாக்கு"
#: ../data/org.gnome.shell.gschema.xml.in.h:4
msgid "File extension used for storing the screencast"
msgstr "திரைவெட்டை சேமிக்க கோப்பு பின்னொட்டு."
#: ../data/org.gnome.shell.gschema.xml.in.h:5
msgid "Framerate used for recording screencasts."
msgstr "திரைநிகழ்வை பதிவு செய்ய சட்டவிகிதம் ."
#: ../data/org.gnome.shell.gschema.xml.in.h:6
msgid ""
"GNOME Shell extensions have a uuid property; this key lists extensions which "
"should not be loaded."
msgstr ""
"க்னோம் ஷெல் நீட்சிகளுக்கு ஒரு யூயூஐடி பண்பு உண்டு. இந்த விசை எந்த நீட்சிகள் "
"ஏற்றப்பட வேண்டும் என பட்டியலிடுகிறது."
#: ../data/org.gnome.shell.gschema.xml.in.h:7
msgid "History for command (Alt-F2) dialog"
msgstr "(Alt-F2) கட்டளை உரையாடல் க்கு வரலாறு"
#: ../data/org.gnome.shell.gschema.xml.in.h:8
msgid "Hour format"
msgstr "மணி வடிவமைப்பு"
#: ../data/org.gnome.shell.gschema.xml.in.h:9
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display date in the "
"clock, in addition to time."
msgstr ""
"உண்மையெனில், அமைப்பு \"12 மணி\" அல்லது \"24 மணி\" என இருப்பின் நேரத்துடன் "
"நாளையும் காட்டு"
#: ../data/org.gnome.shell.gschema.xml.in.h:10
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display seconds in "
"time."
msgstr ""
"உண்மையெனில், அமைப்பு \"12 மணி\" அல்லது \"24 மணி\" என இருப்பின் நேரத்தில் "
"வினாடிகளையும் காட்டு"
#: ../data/org.gnome.shell.gschema.xml.in.h:11
msgid "If true, display the ISO week date in the calendar."
msgstr "உண்மையானால் நாட்காட்டியில் ஐஎஸ்ஓ வார எண்களை காட்டவும்."
#: ../data/org.gnome.shell.gschema.xml.in.h:12
msgid "List of desktop file IDs for favorite applications"
msgstr "விருப்ப பயன்பாடுகளுக்கு மேல்மேசை கோப்பு அடையாளங்கள்."
#: ../data/org.gnome.shell.gschema.xml.in.h:13
msgid "Overview workspace view mode"
msgstr "பணி இட மேல்பார்வை காட்சிப் பாங்கு."
#: ../data/org.gnome.shell.gschema.xml.in.h:14
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 ! theoraenc ! oggmux' and records to Ogg Theora."
msgstr ""
"பதிவுகளை குறியாக்க ஜிஸ்ட்ரீமர் குழாயை அமைக்கிறது. ஜிஎஸ்டி லான்ஸ் க்கு "
"பயன்படும் அதே இலக்கணத்தை பின் பற்றும். குழாய்க்கு இணைப்பில்லா பதிவுக்குழி "
"இருத்தல் வேண்டும். இதில் விடியோ பதிவாகும். சாதாரணமாக இதில் ஒரு மூல பதிவேடு "
"இருக்கும்; இதன் வெளியீடு வெளியீட்டு கோப்பாக பதிவாகும். எனினும் குழாய் தன் "
"வெளியீட்டை தானே கவனித்துக்கொள்ள இயலும். இது வெளியீட்டை ஐஸ்காஸ்ட் அல்லது "
"ஷௌட்2சென்ட் போன்றவற்றுக்கு நேரடியாக அனுப்ப இயலும். அமைப்பை அன்செட் "
"செய்தாலல்லது காலி மதிப்புக்கு அமைத்தாலும் முன்னிருப்பு குழாய் "
"பயன்படுத்தப்படும். நடப்பில் இது 'விடியோரேட்!தியோரேங்க்!ஆக்மக்ஸ்' ஆகும்; இது "
"ஆக் தியோராவுக்கு பதிவுசெய்யும்."
#: ../data/org.gnome.shell.gschema.xml.in.h:15
msgid "Show date in clock"
msgstr "தேதியை கடிகாரத்தில் காட்டுக"
#: ../data/org.gnome.shell.gschema.xml.in.h:16
msgid "Show the week date in the calendar"
msgstr "நாட்காட்டியில் வார நாளை காட்டவும்"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "Show time with seconds"
msgstr "நொடிகளுடன் நேரம் காட்டுக"
#: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid ""
"The applications corresponding to these identifiers will be displayed in the "
"favorites area."
msgstr ""
"இந்த அடையாளங் காட்டிகளுக்கு பொருத்தமான பயன்பாடுகள் விருப்ப இடத்தில் "
"காட்டப்படும்."
#: ../data/org.gnome.shell.gschema.xml.in.h:19
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 ""
"ஸ்க்ரீன்காஸ்ட் இல் பதிவாவனக்கான கோப்புப்பெயர் தனித்தன்மை வாய்ந்தது. இது "
"நடப்பு தேதியை அடிப்படையாக கொண்டது; இந்த பின்னொட்டை பயன்படுத்தும். பதிவதை "
"வேறு கொள்கலத்தின் ஒழுங்கில் மாற்றுகையில் இதையும் மாற்ற வேண்டும்."
#: ../data/org.gnome.shell.gschema.xml.in.h:20
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:21
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "ஸ்க்ரீன்காஸ்டை குறியாக்க பயனாகும் ஜிஸ்ட்ரீமர் குழாய்."
#: ../data/org.gnome.shell.gschema.xml.in.h:22
msgid ""
"The selected workspace view mode in the overview. Supported values are "
"\"single\" and \"grid\"."
msgstr ""
"மேல்பார்வையில் தேர்ந்தெடுத்த பணீட காட்சி பாங்கு. ஆதரவுள்ள மதிப்புகள் 'ஒன்று' "
"மற்றும் 'வலை'"
#: ../data/org.gnome.shell.gschema.xml.in.h:23
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 ""
"ஷெல் சாதாரணமாக செயலிலுள்ள நிரல்களை மேற்பார்வை இடுகிறது. அதனால் அடிக்கடி "
"பயனாகும் நிரல்கள் (எ-டு: துவக்கிகள்) முன் வைக்கப்படும். இந்த தரவு "
"அந்தரங்கமாக வைக்கப்பட்டாலும் நீங்கள் இதை நீக்க விரும்பலாம். அப்படிச் செய்வது "
"முன்னே சேகரித்த தரவை நீக்காஅது என் அறியவும்."
#: ../data/org.gnome.shell.gschema.xml.in.h:24
msgid ""
"This key specifies the format used by the panel clock when the format key is "
"set to \"custom\". You can use conversion specifiers understood by strftime"
"() to obtain a specific format. See the strftime() manual for more "
"information."
msgstr ""
"வடிவமைப்பு விசை \"தனிப்பயன்\" என்று அமைக்கப்படும் போது பலக கடிகாரம் இந்த "
"விசையை "
"பயன்படுத்தும். குறிப்பிட்ட அமைப்பை பெற்றுக்கொள்ள strftime() ஆல் "
"புரிந்துகொள்ளக்கூடிய மாற்று "
"குறிப்புகளை தரவும். மேலும் அதிக விவரங்களுக்கு strftime() கையேட்டை "
"பார்க்கவும்."
#: ../data/org.gnome.shell.gschema.xml.in.h:25
msgid ""
"This key specifies the hour format used by the panel clock. Possible values "
"are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", "
"the clock will display time in seconds since Epoch, i.e. 1970-01-01. If set "
"to \"custom\", the clock will display time according to the format specified "
"in the custom_format key. Note that if set to either \"unix\" or \"custom\", "
"the show_date and show_seconds keys are ignored."
msgstr ""
"இந்த விசை பலக கடிகாரம் பயன்படுத்த வேண்டிய மணி ஒழுங்கை குறிக்கிறது. தரக்கூடிய "
"மதிப்புகள் \"12-மணி\", \"24-மணி\", \"யூனிக்ஸ்\" மற்றும் \"தனிப்பயன்\". "
"\"யூனிக்ஸ்\" எனில் அது எபோக் அதாவது 1970-01-01 முதல் நடந்த காலத்தை "
"வினாடிகளில் காட்டும். \"தனிப்பயன்\" எனில் தனிப்பயன்_ஒழுங்கு இல் காட்டப்பட்ட "
"ஒழுங்கில் நேரத்தைக் காட்டும். \"யூனிக்ஸ்\" அல்லது \"தனிப்பயன்\" என "
"மைக்கும்போது தேதி_காட்டு, வினாடிகளை_காட்டு விசைகள் உதாசீனப்படுத்தப்படும் என "
"அறிக."
#: ../data/org.gnome.shell.gschema.xml.in.h:26
msgid "Uuids of extensions to disable"
msgstr "செயல்நீக்க வேண்டிய நீட்சிகளின் யூயூஐடிக்கள்."
#: ../data/org.gnome.shell.gschema.xml.in.h:27
msgid "Whether to collect stats about applications usage"
msgstr "நிரல்களின் பயன்பாடு குறித்த புள்ளிவிவரம் சேகரிக்க வேண்டுமா"
#: ../data/clock-preferences.ui.h:1
msgid "Clock Format"
msgstr "கடிகார வடிவம்"
#: ../data/clock-preferences.ui.h:2
msgid "Clock Preferences"
msgstr "கடிகாரம் விருப்பங்கள்"
#: ../data/clock-preferences.ui.h:3
msgid "Panel Display"
msgstr "பலக காட்சி"
#: ../data/clock-preferences.ui.h:4
msgid "Show seco_nds"
msgstr "(_n) நொடிகளை காட்டுக"
#: ../data/clock-preferences.ui.h:5
msgid "Show the _date"
msgstr "(_d) தேதியை காட்டுக"
#: ../data/clock-preferences.ui.h:6
msgid "_12 hour format"
msgstr "_12 மணி வடிவமைப்பு"
#: ../data/clock-preferences.ui.h:7
msgid "_24 hour format"
msgstr "_24 மணி வடிவமைப்பு"
#. **** Applications ****
#: ../js/ui/appDisplay.js:384 ../js/ui/dash.js:776
msgid "APPLICATIONS"
msgstr "பயன்பாடுகள்"
#: ../js/ui/appDisplay.js:416
msgid "PREFERENCES"
msgstr "விருப்பங்கள்"
#: ../js/ui/appDisplay.js:721
msgid "New Window"
msgstr "புதிய சாளரம்"
#: ../js/ui/appDisplay.js:725
msgid "Remove from Favorites"
msgstr "விருப்பத்தில் இருந்து நீக்கு"
#: ../js/ui/appDisplay.js:726
msgid "Add to Favorites"
msgstr "விருப்பங்களுக்கு சேர்"
#: ../js/ui/appDisplay.js:1033
msgid "Drag here to add favorites"
msgstr "விருப்பங்களுக்கு சேர்க்க இங்கு இழுத்துவிடு"
#: ../js/ui/appFavorites.js:88
#, c-format
msgid "%s has been added to your favorites."
msgstr "%s உங்கள் விருப்பங்களில் சேர்க்கப்பட்டது"
#: ../js/ui/appFavorites.js:107
#, c-format
msgid "%s has been removed from your favorites."
msgstr "%s உங்கள் விருப்பங்களில் இருந்து நீக்கப்பட்டது"
#: ../js/ui/dash.js:142
msgid "Find"
msgstr "தேடு"
#: ../js/ui/dash.js:471
msgid "Searching..."
msgstr "தேடுகிறது..."
#: ../js/ui/dash.js:485
msgid "No matching results."
msgstr "பொருத்தமான விடைகள் இல்லை"
#. **** Places ****
#. Translators: This is in the sense of locations for documents,
#. network locations, etc.
#: ../js/ui/dash.js:795 ../js/ui/placeDisplay.js:550
msgid "PLACES & DEVICES"
msgstr "PLACES & DEVICES"
#. **** Documents ****
#: ../js/ui/dash.js:802 ../js/ui/docDisplay.js:494
msgid "RECENT ITEMS"
msgstr "RECENT ITEMS"
#: ../js/ui/lookingGlass.js:471
msgid "No extensions installed"
msgstr "நீட்சிகள் ஏதும் நிறுவப்படவில்லை"
#: ../js/ui/lookingGlass.js:508
msgid "Enabled"
msgstr "செயலாக்கப்பட்டது"
#: ../js/ui/lookingGlass.js:510
msgid "Disabled"
msgstr "செயல்நீக்கப்பட்டது"
#: ../js/ui/lookingGlass.js:512
msgid "Error"
msgstr "பிழை"
#: ../js/ui/lookingGlass.js:514
msgid "Out of date"
msgstr "காலாவதியானது"
#: ../js/ui/lookingGlass.js:539
msgid "View Source"
msgstr "மூலத்தை பார்க்க"
#: ../js/ui/lookingGlass.js:545
msgid "Web Page"
msgstr "இணைய பக்கம்"
#: ../js/ui/overview.js:159
msgid "Undo"
msgstr "மறை"
#. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:473
#, c-format
msgid "Quit %s"
msgstr "%s லிருந்து வெளியேறு"
#: ../js/ui/panel.js:498
msgid "Preferences"
msgstr "விருப்பங்கள்"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/panel.js:584
msgid "%a %b %e, %R:%S"
msgstr "%a %b %e, %R:%S"
#: ../js/ui/panel.js:585
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/panel.js:589
msgid "%a %R:%S"
msgstr "%a %R:%S"
#: ../js/ui/panel.js:590
msgid "%a %R"
msgstr "%a %R"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/panel.js:597
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a %b %e, %l:%M:%S %p"
#: ../js/ui/panel.js:598
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/panel.js:602
msgid "%a %l:%M:%S %p"
msgstr "%a %l:%M:%S %p"
#: ../js/ui/panel.js:603
msgid "%a %l:%M %p"
msgstr "%a %l:%M %p"
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:741
msgid "Activities"
msgstr "செயல்பாடுகள்"
#: ../js/ui/placeDisplay.js:107
#, c-format
msgid "Failed to unmount '%s'"
msgstr "'%s' ஐ இறக்க முடியவில்லை"
#: ../js/ui/placeDisplay.js:110
msgid "Retry"
msgstr "மறு முயற்சி"
#: ../js/ui/placeDisplay.js:155
msgid "Connect to..."
msgstr "இணைக்கவும்..."
#. Translators: the "ON" and "OFF" strings are used in the
#. toggle switches in the status area menus, and must be SHORT.
#. If you don't have suitable short words, consider initials,
#. "0"/"1", "⚪"/"⚫", etc.
#: ../js/ui/popupMenu.js:30 ../js/ui/popupMenu.js:40
msgid "ON"
msgstr "இயக்கத்தில்"
#: ../js/ui/popupMenu.js:31 ../js/ui/popupMenu.js:45
msgid "OFF"
msgstr "செயல் நீக்கு"
#: ../js/ui/runDialog.js:233
msgid "Please enter a command:"
msgstr "தயை செய்து ஒரு கட்டளையை உள்ளிடுக:"
#: ../js/ui/runDialog.js:378
#, c-format
msgid "Execution of '%s' failed:"
msgstr "'%s' ஐ நிறைவேற்றுதல் தோல்வி அடைந்தது:"
#: ../js/ui/statusMenu.js:91
msgid "Available"
msgstr "இருப்பவை"
#: ../js/ui/statusMenu.js:95
msgid "Busy"
msgstr "வேலையில்"
#: ../js/ui/statusMenu.js:99
msgid "Invisible"
msgstr "பார்க்கமுடியாதது"
#: ../js/ui/statusMenu.js:106
msgid "Account Information..."
msgstr "கணக்கு தகவல்..."
#: ../js/ui/statusMenu.js:110
msgid "System Preferences..."
msgstr "கணினி முன்னுரிமைகள்..."
#: ../js/ui/statusMenu.js:117
msgid "Lock Screen"
msgstr "திரையைப் பூட்டுக."
#: ../js/ui/statusMenu.js:121
msgid "Switch User"
msgstr "பயனர் மாற்று"
#: ../js/ui/statusMenu.js:126
msgid "Log Out..."
msgstr "வெளியேறு..."
#: ../js/ui/statusMenu.js:130
msgid "Shut Down..."
msgstr "நிறுத்தவும்... "
#: ../js/ui/windowAttentionHandler.js:45
#, c-format
msgid "%s has finished starting"
msgstr "%s இன் துவக்கம் முடிந்துவிட்டது"
#: ../js/ui/windowAttentionHandler.js:47
#, c-format
msgid "'%s' is ready"
msgstr "'%s' தயாராக உள்ளது"
#: ../js/ui/workspacesView.js:230
msgid ""
"Can't add a new workspace because maximum workspaces limit has been reached."
msgstr ""
"பணிக்களத்தை சேர்க்க முடியாது; ஏனெனில் பணிக்களங்களின் உச்ச வரம்பு "
"எட்டப்பட்டுவிட்டது."
#: ../js/ui/workspacesView.js:247
msgid "Can't remove the first workspace."
msgstr "முதல் பணிக்களத்தை நீக்க முடியாது"
#: ../src/shell-global.c:1105
msgid "Less than a minute ago"
msgstr "ஒரு நிமிடத்திற்கும் குறைவாக"
#: ../src/shell-global.c:1109
#, c-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "%d minutes ago"
msgstr[1] "%d நிமிடங்களுக்கு முன்"
#: ../src/shell-global.c:1114
#, c-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
msgstr[0] "%d மணிநேரத்துக்கு முன்"
msgstr[1] "%d மணிகள் முன்"
#: ../src/shell-global.c:1119
#, c-format
msgid "%d day ago"
msgid_plural "%d days ago"
msgstr[0] "%d நாளைக்கு முன்"
msgstr[1] "%d நாட்களுக்கு முன்"
#: ../src/shell-global.c:1124
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
msgstr[0] "%d வாரம் முன்"
msgstr[1] "%d வாரங்கள் முன்"
#: ../src/shell-uri-util.c:89
msgid "Home Folder"
msgstr "இல்ல அடைவு"
#. Translators: this is the same string as the one found in
#. * nautilus
#: ../src/shell-uri-util.c:104
msgid "File System"
msgstr "கோப்பு அமைப்பு"
#: ../src/shell-uri-util.c:250
msgid "Search"
msgstr "தேடு"
#. Translators: the first string is the name of a gvfs
#. * 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-uri-util.c:300
#, c-format
msgid "%1$s: %2$s"
msgstr "%1$s: %2$s"

694
po/ug.po Normal file
View File

@ -0,0 +1,694 @@
# Uyghur translation for gnome-shell.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Gheyret Kenji<gheyret@yahoo.com>,2010.
# Sahran <sahran.ug@gmail.com>, 2010.
# Zeper <zeper@msn.com>, 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&component=general\n"
"POT-Creation-Date: 2010-11-11 00:43+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Gheyret Kenji<gheyret@yahoo.com>\n"
"Language-Team: Uyghur Computer Science Association <UKIJ@yahoogroups.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: ../data/gnome-shell.desktop.in.in.h:1
msgid "GNOME Shell"
msgstr "GNOME چاپان"
#: ../data/gnome-shell.desktop.in.in.h:2
msgid "Window management and application launching"
msgstr "كۆزنەك باشقۇرغۇچ ۋە پروگرامما قوزغاتقۇچ"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:1
msgid "Clock"
msgstr "سائەت"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:2
msgid "Customize the panel clock"
msgstr "ئىختىيارىچە تاختا سائەت"
#: ../data/org.gnome.shell.gschema.xml.in.h:1
msgid ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog."
msgstr "ئىچكى سازلاش ۋە كۆزىتىش قورالىنى زىيارەت قىلىشتا Alt-F2 ئىشلىتىلىدۇ."
#: ../data/org.gnome.shell.gschema.xml.in.h:2
msgid "Custom format of the clock"
msgstr "ئىختىيارىي سائەت فورماتى"
#: ../data/org.gnome.shell.gschema.xml.in.h:3
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr "ئىچكى قورال قوزغىتىلسا ئىجادكارلار ۋە سىنىغۇچىلارنىڭ Alt-F2 ئارقىلىق كىرىشىگە قۇلايلىق"
#: ../data/org.gnome.shell.gschema.xml.in.h:4
msgid "File extension used for storing the screencast"
msgstr "ھۆججەت كېڭەيتىلگەن ئاتى ئېكران كەسمىسى (screencasts) ساقلاشقا ئىشلىتىلىدۇ"
#: ../data/org.gnome.shell.gschema.xml.in.h:5
msgid "Framerate used for recording screencasts."
msgstr "كاندۇك نىسبىتى ئېكران كەسمىسى (screencasts) خاتىرىلەشكە ئىشلىتىلىدۇ"
#: ../data/org.gnome.shell.gschema.xml.in.h:6
msgid ""
"GNOME Shell extensions have a uuid property; this key lists extensions which "
"should not be loaded."
msgstr "GNOME چاپان (Shell)كېڭەيتىلمىسىنىڭ uuid خاسلىقى بار؛ بۇ كۇنۇپكا يۈكلەنمەيدىغان كېڭەيتىلمىلەر تىزىملىكىنى كۆرسىتىدۇ."
#: ../data/org.gnome.shell.gschema.xml.in.h:7
msgid "History for command (Alt-F2) dialog"
msgstr "بۇيرۇق (Alt-F2) سۆزلەشكۈنىڭ تارىخى"
#: ../data/org.gnome.shell.gschema.xml.in.h:8
msgid "Hour format"
msgstr "سائەت فورماتى"
#: ../data/org.gnome.shell.gschema.xml.in.h:9
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display date in the "
"clock, in addition to time."
msgstr "ئەگەر راست (true) بولسا سائەتتە ۋاقىت فورماتىنى «12 سائەت» ياكى «24 سائەت» كۆرسەتكەندىن سىرت چېسلانىمۇ كۆرسىتىدۇ."
#: ../data/org.gnome.shell.gschema.xml.in.h:10
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display seconds in "
"time."
msgstr "ئەگەر راست (true) بولسا سائەتتە ۋاقىت فورماتىنى «12 سائەت» ياكى «24 سائەت» كۆرسەتكەندىن سىرت سېكۇنتنىمۇ كۆرسىتىدۇ."
#: ../data/org.gnome.shell.gschema.xml.in.h:11
msgid "If true, display the ISO week date in the calendar."
msgstr "ئەگەر راست(true) بولسا يىلنامىدىكى ISO ھەپتە چېسلانى كۆرسىتىدۇ."
#: ../data/org.gnome.shell.gschema.xml.in.h:12
msgid "List of desktop file IDs for favorite applications"
msgstr "ئامراق پروگراممىلارنىڭ ئۈستەل ئۈستى ھۆججەت ID تىزىملىكى"
#: ../data/org.gnome.shell.gschema.xml.in.h:13
msgid "Overview workspace view mode"
msgstr "قىسقىچە بايان خىزمەت رايون كۆرۈنۈش ھالىتى"
#: ../data/org.gnome.shell.gschema.xml.in.h:14
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 ! theoraenc ! oggmux' and records to Ogg Theora."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:15
msgid "Show date in clock"
msgstr "سائەت ئىچىدە چېسلا كۆرسەت"
#: ../data/org.gnome.shell.gschema.xml.in.h:16
msgid "Show the week date in the calendar"
msgstr "يىلنامىدە ھەپتە كۆرسەت"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "Show time with seconds"
msgstr "ۋاقىت ئىچىدە سېكۇنتنى بىللە كۆرسەت"
#: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid ""
"The applications corresponding to these identifiers will be displayed in the "
"favorites area."
msgstr "مۇناسىپ پروگرامما بەلگىسى يىغقۇچ رايونىدا كۆرسىتىلىدۇ."
#: ../data/org.gnome.shell.gschema.xml.in.h:19
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 "خاتىرىلەنگەن ئېكراننىڭ ھۆججەت ئاتى نۆۋەتتىكى چېسلا ئاساسىدا بىردىنبىر بولۇپ بۇ كېڭەيتىلگەن ئاتىنى ئىشلىتىدۇ. ئۇ ئۆزگەرسە ئوخشاش بولمىغان قاچا فورماتىدا خاتىرىلەيدۇ."
#: ../data/org.gnome.shell.gschema.xml.in.h:20
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:21
msgid "The gstreamer pipeline used to encode the screencast"
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:22
msgid ""
"The selected workspace view mode in the overview. Supported values are "
"\"single\" and \"grid\"."
msgstr "تاللانغان قىسقىچە مەزمۇن خىزمەت رايونى كۆرۈنۈشىدە قوللايدىغان قىممەت «يەككە» ۋە «سېتكا»"
#: ../data/org.gnome.shell.gschema.xml.in.h:23
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 "چاپان (shell) ئادەتتىكى ئەھۋالدا كۆپ ئىشلىتىلىدىغان ئاكتىپ پروگراممىلار(مەسىلەن، ئىجرا قىلىنىۋاتقان)نى كۆزىتىدۇ. گەرچە بۇ سانلىق مەلۇماتلار مەخپىي ساقلانسىمۇ، شەخسىي سىر سەۋەبىدىن بۇنى چەكلىشىڭىز مۇمكىن. دىققەت بۇنداق قىلغاندا ئاللىبۇرۇن ساقلانغان سانلىق مەلۇماتلار چىقىرىۋېتىلمەيدۇ."
#: ../data/org.gnome.shell.gschema.xml.in.h:24
msgid ""
"This key specifies the format used by the panel clock when the format key is "
"set to \"custom\". You can use conversion specifiers understood by strftime"
"() to obtain a specific format. See the strftime() manual for more "
"information."
msgstr "format (فورمات) كۇنۇپكىسى \"custom\" (ئىختىيارى) قىلىپ تەڭشەلسە بۇ كۇنۇپكا تاختا سائەت ئىشلىتىدىغان فورماتنى بەلگىلەيدۇ. سىز strftime()نىڭ فورمات بەلگىسىنى ئىشلىتىپ بەلگىلەنگەن فورماتقا ئېرىشەلەيسىز. تەپسىلاتىنى strftime() نىڭ قوللانمىسىدىن كۆرۈڭ."
#: ../data/org.gnome.shell.gschema.xml.in.h:25
msgid ""
"This key specifies the hour format used by the panel clock. Possible values "
"are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", "
"the clock will display time in seconds since Epoch, i.e. 1970-01-01. If set "
"to \"custom\", the clock will display time according to the format specified "
"in the custom_format key. Note that if set to either \"unix\" or \"custom\", "
"the show_date and show_seconds keys are ignored."
msgstr "بۇ كۇنۇپكا تاختا سائەت ئىشلەتكەن سائەت فورماتىنى بەلگىلىگەن. ئىشلەتكىلى بولىدىغان قىممىتى \"12-hour\" يەنى (12 سائەت)، \"24-hour\" يەنى (24 سائەت)، \"unix\" ۋە \"custom\" (ئىختىيارى). ئەگەر \"unix\" قىلىپ تەڭشەلسە سائەت ئۆزلۈكىدىن يېڭى ئېرا (يەنى، 1970-01-01) دىن ئۆتكەن سېكۇنتنى ئاساس قىلىدۇ. ئەگەر \"custom\" قىلىپ تەڭشەلسە سائەت custom_format كۇنۇپكا قىممىتىگە ئاساسەن ۋاقىتنى كۆرسىتىدۇ. ئەگەر \"unix\" ياكى \"custom\" قىلىپ تەڭشەلسە show_date ۋە show_seconds قىممىتىگە پەرۋا قىلمايدۇ"
#: ../data/org.gnome.shell.gschema.xml.in.h:26
msgid "Uuids of extensions to disable"
msgstr "كېڭەيتىلمىنىڭ Uuid چەكلەندى"
#: ../data/org.gnome.shell.gschema.xml.in.h:27
msgid "Whether to collect stats about applications usage"
msgstr "پروگراممىنىڭ ئىشلىتىلىشى ھەققىدىكى ستاتىستىكىنى توپلامدۇ يوق"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:1
msgid "Clip the crosshairs at the center"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:2
msgid "Color of the crosshairs"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:3
msgid ""
"Determines the length of the vertical and horizontal lines that make up the "
"crosshairs."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:4
msgid ""
"Determines the position of the magnified mouse image within the magnified "
"view and how it reacts to system mouse movement. The values are - none: no "
"mouse tracking; - centered: the mouse image is displayed at the center of "
"the zoom region (which also represents the point under the system mouse) and "
"the magnified contents are scrolled as the system mouse moves; - "
"proportional: the position of the magnified mouse in the zoom region is "
"proportionally the same as the position of the system mouse on screen; - "
"push: when the magnified mouse intersects a boundary of the zoom region, the "
"contents are scrolled into view."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:5
msgid ""
"Determines the transparency of the crosshairs, from fully opaque to fully "
"transparent."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:6
msgid ""
"Determines whether the crosshairs intersect the magnified mouse sprite, or "
"are clipped such that the ends of the horizontal and vertical lines surround "
"the mouse image."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:7
msgid "Enable lens mode"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:8
msgid ""
"Enables/disables display of crosshairs centered on the magnified mouse "
"sprite."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:9
msgid ""
"For centered mouse tracking, when the system pointer is at or near the edge "
"of the screen, the magnified contents continue to scroll such that the "
"screen edge moves into the magnified view."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:10
msgid "Length of the crosshairs"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:11
msgid "Magnification factor"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:12
msgid "Mouse Tracking Mode"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:13
msgid "Opacity of the crosshairs"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:14
msgid "Screen position"
msgstr "ئېكران ئورنى"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:15
msgid "Scroll magnified contents beyond the edges of the desktop"
msgstr "دومىلىما چوڭايتقۇچ ئۈستەل ئۈستى گىرۋەك مەزمۇنىدىن ھالقىپ كەتتى"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:16
msgid "Show or hide crosshairs"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:17
msgid "Show or hide the magnifier"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:18
msgid "Show or hide the magnifier and all of its zoom regions."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:19
msgid ""
"The color of the the vertical and horizontal lines that make up the "
"crosshairs."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:20
msgid ""
"The magnified view either fills the entire screen, or occupies the top-half, "
"bottom-half, left-half, or right-half of the screen."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:21
msgid ""
"The power of the magnification. A value of 1.0 means no magnification. A "
"value of 2.0 doubles the size."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:22
msgid "Thickness of the crosshairs"
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:23
msgid ""
"Whether the magnified view should be centered over the location of the "
"system mouse and move with it."
msgstr ""
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:24
msgid "Width of the vertical and horizontal lines that make up the crosshairs."
msgstr ""
#: ../data/clock-preferences.ui.h:1
msgid "Clock Format"
msgstr "سائەت فورماتى"
#: ../data/clock-preferences.ui.h:2
msgid "Clock Preferences"
msgstr "سائەت مايىللىقى"
#: ../data/clock-preferences.ui.h:3
msgid "Panel Display"
msgstr "تاختا كۆرسەت"
#: ../data/clock-preferences.ui.h:4
msgid "Show seco_nds"
msgstr "سېكۇنت كۆرسەت(_N)"
#: ../data/clock-preferences.ui.h:5
msgid "Show the _date"
msgstr "چېسلانى كۆرسەت(_D)"
#: ../data/clock-preferences.ui.h:6
msgid "_12 hour format"
msgstr "_12 سائەت فورماتى"
#: ../data/clock-preferences.ui.h:7
msgid "_24 hour format"
msgstr "_24 سائەت فورماتى"
#. **** Applications ****
#: ../js/ui/appDisplay.js:316 ../js/ui/dash.js:778
msgid "APPLICATIONS"
msgstr "پروگراممىلار"
#: ../js/ui/appDisplay.js:348
msgid "PREFERENCES"
msgstr "مايىللىق"
#: ../js/ui/appDisplay.js:647
msgid "New Window"
msgstr "يېڭى كۆزنەك"
#: ../js/ui/appDisplay.js:651
msgid "Remove from Favorites"
msgstr "يىغقۇچتىن چىقىرىۋەت"
#: ../js/ui/appDisplay.js:652
msgid "Add to Favorites"
msgstr "يىغقۇچقا قوش"
#: ../js/ui/appDisplay.js:829
msgid "Drag here to add favorites"
msgstr "بۇ جايغا سۆرەپ قىسقۇچقا قوش"
#: ../js/ui/appFavorites.js:88
#, c-format
msgid "%s has been added to your favorites."
msgstr "%s يىغقۇچىڭىزغا قوشۇلىدۇ."
#: ../js/ui/appFavorites.js:107
#, c-format
msgid "%s has been removed from your favorites."
msgstr "%s يىغقۇچىڭىزدىن چىقىرىۋېتىلىدۇ."
#: ../js/ui/dash.js:142
msgid "Find"
msgstr "ئىزدە"
#: ../js/ui/dash.js:473
msgid "Searching..."
msgstr "ئىزدەۋاتىدۇ…"
#: ../js/ui/dash.js:487
msgid "No matching results."
msgstr "ماس كېلىدىغان نەتىجە يوق."
#. **** Places ****
#. Translators: This is in the sense of locations for documents,
#. network locations, etc.
#: ../js/ui/dash.js:797 ../js/ui/placeDisplay.js:554
msgid "PLACES & DEVICES"
msgstr "ئورۇن ۋە ئۈسكۈنىلەر"
#. **** Documents ****
#: ../js/ui/dash.js:804 ../js/ui/docDisplay.js:494
msgid "RECENT ITEMS"
msgstr "يېقىنقى تۈرلەر"
#: ../js/ui/lookingGlass.js:552
msgid "No extensions installed"
msgstr "ھېچقانداق كېڭەيتىلمە ئورنىتىلمىغان"
#: ../js/ui/lookingGlass.js:589
msgid "Enabled"
msgstr "قوزغىتىلغان"
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:591 ../src/gvc/gvc-mixer-control.c:1087
msgid "Disabled"
msgstr "چەكلەنگەن"
#: ../js/ui/lookingGlass.js:593
msgid "Error"
msgstr "خاتالىق"
#: ../js/ui/lookingGlass.js:595
msgid "Out of date"
msgstr "ۋاقتى ئۆتۈپ كەتكەن"
#: ../js/ui/lookingGlass.js:620
msgid "View Source"
msgstr "مەنبەنى كۆرسەت"
#: ../js/ui/lookingGlass.js:626
msgid "Web Page"
msgstr "تور بەت"
#: ../js/ui/overview.js:160
msgid "Undo"
msgstr "يېنىۋال"
#. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:469
#, c-format
msgid "Quit %s"
msgstr "%s چېكىن"
#: ../js/ui/panel.js:494
msgid "Preferences"
msgstr "مايىللىق"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/panel.js:580
msgid "%a %b %e, %R:%S"
msgstr "%a %b %e، %R:%S"
#: ../js/ui/panel.js:581
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/panel.js:585
msgid "%a %R:%S"
msgstr "%a %R:%S"
#: ../js/ui/panel.js:586
msgid "%a %R"
msgstr "%a %R"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/panel.js:593
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a %b %e, %l:%M:%S %p"
#: ../js/ui/panel.js:594
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/panel.js:598
msgid "%a %l:%M:%S %p"
msgstr "%a %l:%M:%S %p"
#: ../js/ui/panel.js:599
msgid "%a %l:%M %p"
msgstr "%p%l:%M (%a)"
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:744
msgid "Activities"
msgstr "ھەرىكەتچان"
#: ../js/ui/placeDisplay.js:111
#, c-format
msgid "Failed to unmount '%s'"
msgstr "%s نىڭ ئېگەرنى يېشىش مەغلۇپ بولدى."
#: ../js/ui/placeDisplay.js:114
msgid "Retry"
msgstr "قايتا سىنا"
#: ../js/ui/placeDisplay.js:159
msgid "Connect to..."
msgstr "باغلانماق..."
#. Translators: this MUST be either "toggle-switch-us"
#. (for toggle switches containing the English words
#. "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:33
msgid "toggle-switch-us"
msgstr ""
#: ../js/ui/runDialog.js:233
msgid "Please enter a command:"
msgstr "بۇيرۇق كىرگۈزۈڭ:"
#: ../js/ui/runDialog.js:378
#, c-format
msgid "Execution of '%s' failed:"
msgstr "'%s' ئىجرا قىلالمىدى:"
#: ../js/ui/statusMenu.js:101
msgid "Available"
msgstr "ئىشلىتىلىشچان"
#: ../js/ui/statusMenu.js:106
msgid "Busy"
msgstr "ئالدىراش"
#: ../js/ui/statusMenu.js:111
msgid "Invisible"
msgstr "يوشۇرۇن"
#: ../js/ui/statusMenu.js:119
msgid "My Account..."
msgstr ""
#: ../js/ui/statusMenu.js:123
msgid "System Settings..."
msgstr "سىستېما تەڭشەكلىرى"
#: ../js/ui/statusMenu.js:130
msgid "Lock Screen"
msgstr "ئېكراننى قۇلۇپلا"
#: ../js/ui/statusMenu.js:134
msgid "Switch User"
msgstr "ئىشلەتكۈچى ئالماشتۇر"
#: ../js/ui/statusMenu.js:139
msgid "Log Out..."
msgstr "تىزىمدىن چىق…"
#: ../js/ui/statusMenu.js:146
msgid "Suspend"
msgstr "ۋاقىتلىق توختىتىش"
#: ../js/ui/statusMenu.js:150
msgid "Restart..."
msgstr ""
#: ../js/ui/statusMenu.js:154
msgid "Shut Down..."
msgstr "تاقا…"
#: ../js/ui/status/accessibility.js:88
msgid "Screen Reader"
msgstr "ئېكران ئوقۇغۇچ"
#: ../js/ui/status/accessibility.js:91
msgid "Screen Keyboard"
msgstr "ئېكران ھەرپتاختىسى"
#: ../js/ui/status/accessibility.js:94
msgid "Visual Alerts"
msgstr "كۆرۈنمە ئاگاھلاندۇرۇش"
#: ../js/ui/status/accessibility.js:97
msgid "Sticky Keys"
msgstr "چاپلاش كۇنۇپكىسى"
#: ../js/ui/status/accessibility.js:100
msgid "Slow Keys"
msgstr "ئاستا كۇنۇپكا"
#: ../js/ui/status/accessibility.js:103
msgid "Bounce Keys"
msgstr "قاڭقىش كۇنۇپكىسى"
#: ../js/ui/status/accessibility.js:106
msgid "Mouse Keys"
msgstr "چاشقىنەك كۇنۇپكا"
#: ../js/ui/status/accessibility.js:110
msgid "Universal Access Settings"
msgstr "ھەممىباب زىيارەت تەڭشىكى"
#: ../js/ui/status/accessibility.js:163
msgid "High Contrast"
msgstr "يۇقىرى ئاق-قارىلىقى"
#: ../js/ui/status/accessibility.js:202
msgid "Large Text"
msgstr "چوڭ تېكىست"
#: ../js/ui/status/accessibility.js:223
msgid "Zoom"
msgstr "كېڭەيت تارايت"
#: ../js/ui/windowAttentionHandler.js:43
#, c-format
msgid "%s has finished starting"
msgstr "%s باشلاشنى تاماملىدى"
#: ../js/ui/windowAttentionHandler.js:45
#, c-format
msgid "'%s' is ready"
msgstr "'%s' تەييار بولدى"
#: ../js/ui/workspacesView.js:229
msgid ""
"Can't add a new workspace because maximum workspaces limit has been reached."
msgstr "يېڭى خىزمەت رايونى قوشالمايدۇ چۈنكى ئەڭ كۆپ خىزمەت رايون چېكىگە يەتتى."
#: ../js/ui/workspacesView.js:246
msgid "Can't remove the first workspace."
msgstr "بىرىنچى خىزمەت رايونىنى چىقىرىۋېتەلمەيدۇ."
#. translators:
#. * The number of sound outputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1094
#, c-format
msgid "%u Output"
msgid_plural "%u Outputs"
msgstr[0] "%u چىقار"
#. translators:
#. * The number of sound inputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1104
#, c-format
msgid "%u Input"
msgid_plural "%u Inputs"
msgstr[0] "%u كىرگۈز"
#: ../src/gvc/gvc-mixer-control.c:1402
msgid "System Sounds"
msgstr "سىستېما ئاۋازى"
#: ../src/shell-global.c:1219
msgid "Less than a minute ago"
msgstr "بىر مىنۇتتىنمۇ ئىلگىرى"
#: ../src/shell-global.c:1223
#, c-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "%d مىنۇت ئىلگىرى"
#: ../src/shell-global.c:1228
#, c-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
msgstr[0] "%d سائەت ئىلگىرى"
#: ../src/shell-global.c:1233
#, c-format
msgid "%d day ago"
msgid_plural "%d days ago"
msgstr[0] "%d كۈن ئىلگىرى"
#: ../src/shell-global.c:1238
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
msgstr[0] "%d ھەپتە ئىلگىرى"
#: ../src/shell-uri-util.c:89
msgid "Home Folder"
msgstr "باش مۇندەرىجە"
#. Translators: this is the same string as the one found in
#. * nautilus
#: ../src/shell-uri-util.c:104
msgid "File System"
msgstr "ھۆججەت سىستېمىسى"
#: ../src/shell-uri-util.c:250
msgid "Search"
msgstr "ئىزدە"
#. Translators: the first string is the name of a gvfs
#. * 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-uri-util.c:300
#, c-format
msgid "%1$s: %2$s"
msgstr "%1$s: %2$s"

View File

@ -1,22 +1,24 @@
# Chinese (China) translation for gnome-shell.
# Copyright (C) 2009 gnome-shell's COPYRIGHT HOLDER
# Copyright (C) 2009 Free Software Foundation, Inc.
# This file is distributed under the same license as the gnome-shell package.
# Ray Wang <raywang@gnome.org>, 2009.
# jiero <lililjlj@gmail.com>, 2010.
# YunQiang Su <wzssyqa@gmail.com>, 2010.
# Aron Xu <aronxu@gnome.org>, 2010.
# Jessica Ban <bancage@gmail.com>, 2010.
# YunQiang Su <wzssyqa@gmail.com>, 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&component=general\n"
"POT-Creation-Date: 2010-06-18 18:29+0000\n"
"PO-Revision-Date: 2010-06-19 21:48+0800\n"
"Last-Translator: Aron Xu <happyaron.xu@gmail.com>\n"
"Language-Team: Simplified Chinese <i18n-zh@googlegroups.com>\n"
"POT-Creation-Date: 2010-10-30 17:51+0000\n"
"PO-Revision-Date: 2010-10-28 01:24+0800\n"
"Last-Translator: YunQiang Su <wzssyqa@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: ../data/gnome-shell.desktop.in.in.h:1
@ -39,7 +41,7 @@ msgstr "自定义面板时钟"
msgid ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog."
msgstr ""
msgstr "允许使用 Alt-F2 对话框访问内部调试和监视工具。"
#: ../data/org.gnome.shell.gschema.xml.in.h:2
msgid "Custom format of the clock"
@ -47,25 +49,25 @@ msgstr "自定义面板时钟格式"
#: ../data/org.gnome.shell.gschema.xml.in.h:3
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr ""
msgstr "启用从 Alt-F2 调用对开发者和测试者有用的内部工具"
#: ../data/org.gnome.shell.gschema.xml.in.h:4
msgid "File extension used for storing the screencast"
msgstr ""
msgstr "存储屏幕录像的文件扩展名"
#: ../data/org.gnome.shell.gschema.xml.in.h:5
msgid "Framerate used for recording screencasts."
msgstr ""
msgstr "屏幕录像的帧率。"
#: ../data/org.gnome.shell.gschema.xml.in.h:6
msgid ""
"GNOME Shell extensions have a uuid property; this key lists extensions which "
"should not be loaded."
msgstr ""
msgstr "GNOME Shell 扩展有一个 uuid 属性,此键列出了不应该加载的扩展。"
#: ../data/org.gnome.shell.gschema.xml.in.h:7
msgid "History for command (Alt-F2) dialog"
msgstr ""
msgstr "命令对话框(Alt-F2)的历史记录"
#: ../data/org.gnome.shell.gschema.xml.in.h:8
msgid "Hour format"
@ -75,25 +77,25 @@ msgstr "小时格式"
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display date in the "
"clock, in addition to time."
msgstr ""
msgstr "如果为真并且格式为 12 时制或 24 时制,在时钟中显示日期以及时间。"
#: ../data/org.gnome.shell.gschema.xml.in.h:10
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display seconds in "
"time."
msgstr ""
msgstr "如果为真并且格式为 12 时制或 24 时制,在时钟中显示秒。"
#: ../data/org.gnome.shell.gschema.xml.in.h:11
msgid "If true, display the ISO week date in the calendar."
msgstr ""
msgstr "如果为真,在日历中显示 ISO 周日期。"
#: ../data/org.gnome.shell.gschema.xml.in.h:12
msgid "List of desktop file IDs for favorite applications"
msgstr ""
msgstr "收藏夹中的应用程序的 desktop 文件 ID 的列表"
#: ../data/org.gnome.shell.gschema.xml.in.h:13
msgid "Overview workspace view mode"
msgstr ""
msgstr "工作区视图模式的总览"
#: ../data/org.gnome.shell.gschema.xml.in.h:14
msgid ""
@ -106,6 +108,12 @@ msgid ""
"to an empty value, the default pipeline will be used. This is currently "
"'videorate ! theoraenc ! oggmux' and records to Ogg Theora."
msgstr ""
"设置 GStreamer 管道用来编码录音。它遵循 gst-launch 的语法。该管道应当有一个未"
"连接的 sink 衬垫(pad),录制的视频就是在此录制的。该管道一般还会有一个未连接"
"的 source 衬垫(pad);这个衬垫的输出将被写入输出文件中。但是管道还能够处理自己"
"的输出 - 这将用来通过 shout2send 或者类似方法把输出发送到一个 icecast 服务"
"器。当管道未被设置或者设置为空值时,默认的管道将被启用。其值当前"
"为“videorate ! theoraenc ! oggmux”并记录为 Ogg Theora 格式。"
#: ../data/org.gnome.shell.gschema.xml.in.h:15
msgid "Show date in clock"
@ -123,7 +131,7 @@ msgstr "显示秒"
msgid ""
"The applications corresponding to these identifiers will be displayed in the "
"favorites area."
msgstr ""
msgstr "符合这些标示的应用程序将显示在收藏区中。"
#: ../data/org.gnome.shell.gschema.xml.in.h:19
msgid ""
@ -131,22 +139,26 @@ msgid ""
"current date, and use this extension. It should be changed when recording to "
"a different container format."
msgstr ""
"录制的屏幕录像的文件名将是根据当前时间得到的独特值,并使用这个扩展名。录制另"
"外一个不同容器格式的录像时,它应该被更改。"
#: ../data/org.gnome.shell.gschema.xml.in.h:20
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
msgstr ""
msgstr "GNOME Shell 的屏幕录像程序录制的屏幕录像的帧率,以 帧/秒 为格式。"
#: ../data/org.gnome.shell.gschema.xml.in.h:21
msgid "The gstreamer pipeline used to encode the screencast"
msgstr ""
msgstr "用于编码屏幕录像的 GStreamer 管线"
#: ../data/org.gnome.shell.gschema.xml.in.h:22
msgid ""
"The selected workspace view mode in the overview. Supported values are "
"\"single\" and \"grid\"."
msgstr ""
"总览中,选中的工作区的试图模式。支持的值有 \"single\"(单独) 和 \"grid\"(网"
"格)。"
#: ../data/org.gnome.shell.gschema.xml.in.h:23
msgid ""
@ -155,6 +167,9 @@ msgid ""
"want to disable this for privacy reasons. Please note that doing so won't "
"remove already saved data."
msgstr ""
"Gnome shell 一般将监视活动应用程序,以便呈现最常用的(例如,在启动器中)。同"
"时,此数据将保持私密,您可能因为隐私原因想要禁用此项。请注意,这么做,并不会"
"移除已经保存的数据。"
#: ../data/org.gnome.shell.gschema.xml.in.h:24
msgid ""
@ -163,6 +178,9 @@ msgid ""
"() to obtain a specific format. See the strftime() manual for more "
"information."
msgstr ""
"格式(format)键设置“custom”(自定义)时,这个键指定面板时钟的格式。您可以使用可"
"以被 strftime() 理解的转义符获取特定的格式。请查看 strftime() 的文档获取更多"
"信息。"
#: ../data/org.gnome.shell.gschema.xml.in.h:25
msgid ""
@ -173,16 +191,152 @@ msgid ""
"in the custom_format key. Note that if set to either \"unix\" or \"custom\", "
"the show_date and show_seconds keys are ignored."
msgstr ""
"此键指定面板时钟使用的时间格式。可能的值为 \"12-hour\"、\"24-hour\"、\"unix"
"\" 和 \"custom\"。如果设为 unix时钟将显示从 Epoch(也就是 1970-1-1 UTC)开始"
"的秒数。如果设为 \"custom\",时钟将根据在 custom_format 键中设定的格式规则显"
"示时间。注意,如果设置为 \"unix\" 或 \"custom\"show_date 和 show_seconds 键"
"将被忽略。"
#: ../data/org.gnome.shell.gschema.xml.in.h:26
#, fuzzy
#| msgid "No extensions installed"
msgid "Uuids of extensions to disable"
msgstr "未安装扩展"
msgstr "要禁用的扩展的 uuid"
#: ../data/org.gnome.shell.gschema.xml.in.h:27
msgid "Whether to collect stats about applications usage"
msgstr "是否收集应用程序的使用情况"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:1
msgid "Clip the crosshairs at the center"
msgstr "将十字夹在中间"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:2
msgid "Color of the crosshairs"
msgstr "十字的颜色"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:3
msgid ""
"Determines the length of the vertical and horizontal lines that make up the "
"crosshairs."
msgstr "确定组成十字的水平线和竖直线的长度。"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:4
msgid ""
"Determines the position of the magnified mouse image within the magnified "
"view and how it reacts to system mouse movement. The values are - none: no "
"mouse tracking; - centered: the mouse image is displayed at the center of "
"the zoom region (which also represents the point under the system mouse) and "
"the magnified contents are scrolled as the system mouse moves; - "
"proportional: the position of the magnified mouse in the zoom region is "
"proportionally the same as the position of the system mouse on screen; - "
"push: when the magnified mouse intersects a boundary of the zoom region, the "
"contents are scrolled into view."
msgstr ""
"确定放大了的鼠标图像在放大了的视图中的的位置,以及如何对系统鼠标的移动做出反"
"馈。可用的值有 - none鼠标不跟踪- centered鼠标图像显示在放大区域的中心"
"(这也表示系统鼠标下的点),而且放大的内容也随着系统鼠标的移动而滚动;- "
"proportional放大区域中放大的鼠标的位置和系统鼠标在屏幕上的位置成比例相同"
"(数学上的“相似”)- push当放大的鼠标与放大区域的边界相交时将内容滚动进视"
"图。"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:5
msgid ""
"Determines the transparency of the crosshairs, from fully opaque to fully "
"transparent."
msgstr "确定十字线的透明度,从全遮蔽到全透明。"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:6
msgid ""
"Determines whether the crosshairs intersect the magnified mouse sprite, or "
"are clipped such that the ends of the horizontal and vertical lines surround "
"the mouse image."
msgstr "确定十字是和放大的光标精灵交叉,还是固定来让水平和竖直线环绕鼠标形象。"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:7
msgid "Enable lens mode"
msgstr "启用透镜模式"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:8
msgid ""
"Enables/disables display of crosshairs centered on the magnified mouse "
"sprite."
msgstr "启用或禁用穿过放大的鼠标精灵的十字。"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:9
msgid ""
"For centered mouse tracking, when the system pointer is at or near the edge "
"of the screen, the magnified contents continue to scroll such that the "
"screen edge moves into the magnified view."
msgstr ""
"对于居中的鼠标跟踪,当系统指针位于或者接近屏幕的边缘时,放大的内容继续滚动,"
"以便让屏幕边缘移动到放大的视图。"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:10
msgid "Length of the crosshairs"
msgstr "十字长度"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:11
msgid "Magnification factor"
msgstr "放大因子"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:12
msgid "Mouse Tracking Mode"
msgstr "鼠标跟随模式"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:13
msgid "Opacity of the crosshairs"
msgstr "十字的不透明度"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:14
msgid "Screen position"
msgstr "屏幕位置"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:15
msgid "Scroll magnified contents beyond the edges of the desktop"
msgstr "在桌面边界以外滚动放大内容"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:16
msgid "Show or hide crosshairs"
msgstr "显示或隐藏十字线"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:17
msgid "Show or hide the magnifier"
msgstr "显示或隐藏放大镜"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:18
msgid "Show or hide the magnifier and all of its zoom regions."
msgstr "显示或隐藏放大镜及其全部放大区域。"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:19
msgid ""
"The color of the the vertical and horizontal lines that make up the "
"crosshairs."
msgstr "组成十字的水平线和竖直线的颜色。"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:20
msgid ""
"The magnified view either fills the entire screen, or occupies the top-half, "
"bottom-half, left-half, or right-half of the screen."
msgstr "放大的视图是充满整个屏幕还是占据屏幕的顶半部、底半部、左半部或右半部。"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:21
msgid ""
"The power of the magnification. A value of 1.0 means no magnification. A "
"value of 2.0 doubles the size."
msgstr "边长的放大倍数。1.0 表示不放大2.0 表示将长度增倍。"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:22
msgid "Thickness of the crosshairs"
msgstr "十字的厚度"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:23
msgid ""
"Whether the magnified view should be centered over the location of the "
"system mouse and move with it."
msgstr "放大的视图是否以系统鼠标为中心放置并且随之移动。"
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:24
msgid "Width of the vertical and horizontal lines that make up the crosshairs."
msgstr "组成十字的水平和竖直线的宽度。"
#: ../data/clock-preferences.ui.h:1
msgid "Clock Format"
@ -213,27 +367,27 @@ msgid "_24 hour format"
msgstr "_24 小时格式"
#. **** Applications ****
#: ../js/ui/appDisplay.js:388 ../js/ui/dash.js:767
#: ../js/ui/appDisplay.js:316 ../js/ui/dash.js:778
msgid "APPLICATIONS"
msgstr "应用程序"
#: ../js/ui/appDisplay.js:420
#: ../js/ui/appDisplay.js:348
msgid "PREFERENCES"
msgstr "首选项"
#: ../js/ui/appDisplay.js:726
#: ../js/ui/appDisplay.js:647
msgid "New Window"
msgstr "新窗口"
#: ../js/ui/appDisplay.js:730
#: ../js/ui/appDisplay.js:651
msgid "Remove from Favorites"
msgstr "从收藏夹中移除"
#: ../js/ui/appDisplay.js:731
#: ../js/ui/appDisplay.js:652
msgid "Add to Favorites"
msgstr "添加到收藏夹"
#: ../js/ui/appDisplay.js:1038
#: ../js/ui/appDisplay.js:829
msgid "Drag here to add favorites"
msgstr "拖到这里加入收藏夹"
@ -242,217 +396,308 @@ msgstr "拖到这里加入收藏夹"
msgid "%s has been added to your favorites."
msgstr "%s 已经添加到了您的收藏夹。"
#: ../js/ui/appFavorites.js:106
#: ../js/ui/appFavorites.js:107
#, c-format
msgid "%s has been removed from your favorites."
msgstr "%s 已经从您的收藏夹移除。"
#: ../js/ui/dash.js:146
#: ../js/ui/dash.js:142
msgid "Find"
msgstr "查找"
#: ../js/ui/dash.js:465
#: ../js/ui/dash.js:473
msgid "Searching..."
msgstr "正在搜索..."
#: ../js/ui/dash.js:479
#: ../js/ui/dash.js:487
msgid "No matching results."
msgstr "无匹配结果。"
#. **** Places ****
#. Translators: This is in the sense of locations for documents,
#. network locations, etc.
#: ../js/ui/dash.js:786 ../js/ui/placeDisplay.js:552
#: ../js/ui/dash.js:797 ../js/ui/placeDisplay.js:554
msgid "PLACES & DEVICES"
msgstr "位置和设备"
#. **** Documents ****
#: ../js/ui/dash.js:793 ../js/ui/docDisplay.js:497
#: ../js/ui/dash.js:804 ../js/ui/docDisplay.js:494
msgid "RECENT ITEMS"
msgstr "最近的项目"
#: ../js/ui/lookingGlass.js:471
#: ../js/ui/lookingGlass.js:552
msgid "No extensions installed"
msgstr "未安装扩展"
#: ../js/ui/lookingGlass.js:508
#: ../js/ui/lookingGlass.js:589
msgid "Enabled"
msgstr "启用"
#: ../js/ui/lookingGlass.js:510
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:591 ../src/gvc/gvc-mixer-control.c:1087
msgid "Disabled"
msgstr "禁用"
#: ../js/ui/lookingGlass.js:512
#: ../js/ui/lookingGlass.js:593
msgid "Error"
msgstr "错误"
#: ../js/ui/lookingGlass.js:514
#: ../js/ui/lookingGlass.js:595
msgid "Out of date"
msgstr "过时"
#: ../js/ui/lookingGlass.js:539
#: ../js/ui/lookingGlass.js:620
msgid "View Source"
msgstr "查看源"
#: ../js/ui/lookingGlass.js:545
#: ../js/ui/lookingGlass.js:626
msgid "Web Page"
msgstr "网页"
#: ../js/ui/overview.js:165
#: ../js/ui/overview.js:160
msgid "Undo"
msgstr "撤销"
#: ../js/ui/panel.js:519
#. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:469
#, c-format
msgid "Quit %s"
msgstr "退出 %s"
#: ../js/ui/panel.js:494
msgid "Preferences"
msgstr "首选项"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/panel.js:605
#: ../js/ui/panel.js:580
msgid "%a %b %e, %R:%S"
msgstr "%A %b %e, %R:%S"
#: ../js/ui/panel.js:606
#: ../js/ui/panel.js:581
msgid "%a %b %e, %R"
msgstr "%A %m月%d日 %R"
#. Translators: This is the time format without date used
#. in 24-hour mode.
#: ../js/ui/panel.js:610
#: ../js/ui/panel.js:585
msgid "%a %R:%S"
msgstr "%A %R:%S"
#: ../js/ui/panel.js:611
#: ../js/ui/panel.js:586
msgid "%a %R"
msgstr "%A %R"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/panel.js:618
#: ../js/ui/panel.js:593
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%A %m月%d日 %p%I:%M:%S"
#: ../js/ui/panel.js:619
#: ../js/ui/panel.js:594
msgid "%a %b %e, %l:%M %p"
msgstr "%A %m月%d日 %p%I:%M"
#. Translators: This is a time format without date used
#. for AM/PM.
#: ../js/ui/panel.js:623
#: ../js/ui/panel.js:598
msgid "%a %l:%M:%S %p"
msgstr "%A %p%I:%M:%S"
#: ../js/ui/panel.js:624
#: ../js/ui/panel.js:599
msgid "%a %l:%M %p"
msgstr "%a %l:%M %p"
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:726
#: ../js/ui/panel.js:744
msgid "Activities"
msgstr "活动"
#: ../js/ui/placeDisplay.js:109
#: ../js/ui/placeDisplay.js:111
#, c-format
msgid "Failed to unmount '%s'"
msgstr "卸载 %s 失败"
#: ../js/ui/placeDisplay.js:112
#: ../js/ui/placeDisplay.js:114
msgid "Retry"
msgstr "重试"
#: ../js/ui/placeDisplay.js:157
#: ../js/ui/placeDisplay.js:159
msgid "Connect to..."
msgstr "连接到..."
#: ../js/ui/runDialog.js:234
#. Translators: this MUST be either "toggle-switch-us"
#. (for toggle switches containing the English words
#. "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:33
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
#: ../js/ui/runDialog.js:233
msgid "Please enter a command:"
msgstr "请输入一个命令:"
#: ../js/ui/runDialog.js:379
#: ../js/ui/runDialog.js:378
#, c-format
msgid "Execution of '%s' failed:"
msgstr "运行“%s”失败"
#: ../js/ui/statusMenu.js:91
#: ../js/ui/statusMenu.js:101
msgid "Available"
msgstr "可用"
#: ../js/ui/statusMenu.js:95
#: ../js/ui/statusMenu.js:106
msgid "Busy"
msgstr "忙碌"
#: ../js/ui/statusMenu.js:99
#: ../js/ui/statusMenu.js:111
msgid "Invisible"
msgstr "隐身"
#: ../js/ui/statusMenu.js:106
msgid "Account Information..."
msgstr "帐户信息..."
#: ../js/ui/statusMenu.js:119
msgid "My Account..."
msgstr "我的帐户..."
#: ../js/ui/statusMenu.js:110
msgid "System Preferences..."
#: ../js/ui/statusMenu.js:123
#, fuzzy
#| msgid "System Preferences..."
msgid "System Settings..."
msgstr "系统首选项..."
#: ../js/ui/statusMenu.js:117
#: ../js/ui/statusMenu.js:130
msgid "Lock Screen"
msgstr "锁住屏幕"
#: ../js/ui/statusMenu.js:121
#: ../js/ui/statusMenu.js:134
msgid "Switch User"
msgstr "切换用户"
#: ../js/ui/statusMenu.js:126
#: ../js/ui/statusMenu.js:139
msgid "Log Out..."
msgstr "退出..."
#: ../js/ui/statusMenu.js:130
#: ../js/ui/statusMenu.js:146
msgid "Suspend"
msgstr "休眠"
#: ../js/ui/statusMenu.js:150
msgid "Restart..."
msgstr "重启..."
#: ../js/ui/statusMenu.js:154
msgid "Shut Down..."
msgstr "关机..."
#: ../js/ui/windowAttentionHandler.js:47
#: ../js/ui/status/accessibility.js:88
msgid "Screen Reader"
msgstr "屏幕阅读器"
#: ../js/ui/status/accessibility.js:91
msgid "Screen Keyboard"
msgstr "屏幕键盘"
#: ../js/ui/status/accessibility.js:94
msgid "Visual Alerts"
msgstr "视觉响铃"
#: ../js/ui/status/accessibility.js:97
msgid "Sticky Keys"
msgstr "粘滞键"
#: ../js/ui/status/accessibility.js:100
msgid "Slow Keys"
msgstr "慢速键"
#: ../js/ui/status/accessibility.js:103
msgid "Bounce Keys"
msgstr "筛选键"
#: ../js/ui/status/accessibility.js:106
msgid "Mouse Keys"
msgstr "鼠标按键"
#: ../js/ui/status/accessibility.js:110
msgid "Universal Access Settings"
msgstr "通用访问设置"
#: ../js/ui/status/accessibility.js:163
msgid "High Contrast"
msgstr "高对比度"
#: ../js/ui/status/accessibility.js:202
msgid "Large Text"
msgstr "大号文本"
#: ../js/ui/status/accessibility.js:223
msgid "Zoom"
msgstr "缩放"
#: ../js/ui/windowAttentionHandler.js:43
#, c-format
msgid "%s has finished starting"
msgstr "%s 已启动"
#: ../js/ui/windowAttentionHandler.js:49
#: ../js/ui/windowAttentionHandler.js:45
#, c-format
msgid "'%s' is ready"
msgstr "%s 已就绪"
#: ../js/ui/workspacesView.js:237
#: ../js/ui/workspacesView.js:229
msgid ""
"Can't add a new workspace because maximum workspaces limit has been reached."
msgstr "无法添加新工作区,因为已经达到了工作区数量限制。"
#: ../js/ui/workspacesView.js:254
#: ../js/ui/workspacesView.js:246
msgid "Can't remove the first workspace."
msgstr "不能移除第一个工作区。"
#: ../src/shell-global.c:1039
#. translators:
#. * The number of sound outputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1094
#, c-format
msgid "%u Output"
msgid_plural "%u Outputs"
msgstr[0] ""
#. translators:
#. * The number of sound inputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1104
#, c-format
msgid "%u Input"
msgid_plural "%u Inputs"
msgstr[0] ""
#: ../src/gvc/gvc-mixer-control.c:1402
msgid "System Sounds"
msgstr ""
#: ../src/shell-global.c:1219
msgid "Less than a minute ago"
msgstr "少于一分钟前"
#: ../src/shell-global.c:1043
#: ../src/shell-global.c:1223
#, c-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "%d 分钟前"
#: ../src/shell-global.c:1048
#: ../src/shell-global.c:1228
#, c-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
msgstr[0] "%d 小时前"
#: ../src/shell-global.c:1053
#: ../src/shell-global.c:1233
#, c-format
msgid "%d day ago"
msgid_plural "%d days ago"
msgstr[0] "%d 天前"
#: ../src/shell-global.c:1058
#: ../src/shell-global.c:1238
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
@ -482,6 +727,15 @@ msgstr "搜索"
msgid "%1$s: %2$s"
msgstr "%1$s: %2$s"
#~ msgid "ON"
#~ msgstr "开"
#~ msgid "OFF"
#~ msgstr "关"
#~ msgid "Account Information..."
#~ msgstr "帐户信息..."
#~ msgid "%H:%M"
#~ msgstr "%H:%M"

496
po/zh_HK.po Normal file
View File

@ -0,0 +1,496 @@
# Chinese (Hong Kong) translation for gnome-shell.
# Copyright (C) 2010 gnome-shell's COPYRIGHT HOLDER
# This file is distributed under the same license as the gnome-shell package.
# Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>, 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell 2.31.5\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-08-21 20:42+0800\n"
"PO-Revision-Date: 2010-08-21 20:43+0800\n"
"Last-Translator: Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>\n"
"Language-Team: Chinese (Hong Kong) <community@linuxhall.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: ../data/gnome-shell.desktop.in.in.h:1
msgid "GNOME Shell"
msgstr "GNOME Shell"
#: ../data/gnome-shell.desktop.in.in.h:2
msgid "Window management and application launching"
msgstr "視窗管理與應用程式的執行"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:1
msgid "Clock"
msgstr "時鐘"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:2
msgid "Customize the panel clock"
msgstr "自選面板時鐘"
#: ../data/org.gnome.shell.gschema.xml.in.h:1
msgid ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog."
msgstr "允許使用 Alt-F2 對話盒存取內部除錯和監控工具。"
#: ../data/org.gnome.shell.gschema.xml.in.h:2
msgid "Custom format of the clock"
msgstr "自選時鐘的格式"
#: ../data/org.gnome.shell.gschema.xml.in.h:3
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr "啟用讓開發者與測試者能以 Alt-F2 使用好用的內部工具"
#: ../data/org.gnome.shell.gschema.xml.in.h:4
msgid "File extension used for storing the screencast"
msgstr "用來儲存畫面廣播的延伸檔名"
#: ../data/org.gnome.shell.gschema.xml.in.h:5
msgid "Framerate used for recording screencasts."
msgstr "錄製畫面廣播的框架率。"
#: ../data/org.gnome.shell.gschema.xml.in.h:6
msgid ""
"GNOME Shell extensions have a uuid property; this key lists extensions which "
"should not be loaded."
msgstr "GNOME Shell 擴充功能有 uuid 屬性;這個設定鍵列出了不應載入的擴充功能。"
#: ../data/org.gnome.shell.gschema.xml.in.h:7
msgid "History for command (Alt-F2) dialog"
msgstr "指令 (Alt-F2) 對話盒歷史紀錄"
#: ../data/org.gnome.shell.gschema.xml.in.h:8
msgid "Hour format"
msgstr "小時格式"
#: ../data/org.gnome.shell.gschema.xml.in.h:9
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display date in the "
"clock, in addition to time."
msgstr "如果設為 true 且格式為「12-小時」或「24-小時」,在時鐘裏顯示日期,加在時刻後面。"
#: ../data/org.gnome.shell.gschema.xml.in.h:10
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display seconds in "
"time."
msgstr "如果設為 true 且格式為「12-小時」或「24-小時」,在時刻裏顯示秒鐘。"
#: ../data/org.gnome.shell.gschema.xml.in.h:11
msgid "If true, display the ISO week date in the calendar."
msgstr "如果設為 true在日曆中顯示 ISO 週數。"
#: ../data/org.gnome.shell.gschema.xml.in.h:12
msgid "List of desktop file IDs for favorite applications"
msgstr "喜好的應用程式桌面檔案 ID 清單"
#: ../data/org.gnome.shell.gschema.xml.in.h:13
msgid "Overview workspace view mode"
msgstr "概覽工作區檢視模式"
#: ../data/org.gnome.shell.gschema.xml.in.h:14
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 ! theoraenc ! oggmux' and records to Ogg Theora."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:15
msgid "Show date in clock"
msgstr "在時鐘內顯示日期"
#: ../data/org.gnome.shell.gschema.xml.in.h:16
msgid "Show the week date in the calendar"
msgstr "在日曆中顯示週數"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "Show time with seconds"
msgstr "在時刻中顯示秒數"
#: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid ""
"The applications corresponding to these identifiers will be displayed in the "
"favorites area."
msgstr "對應這些辨別碼的應用程式會顯示在喜好區域。"
#: ../data/org.gnome.shell.gschema.xml.in.h:19
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 "錄製好的畫面廣播檔案名稱會以目前的時刻作為獨特的檔名,並使用這個延伸檔名。當錄製為不同的容器格式時應該做適當更改。"
#: ../data/org.gnome.shell.gschema.xml.in.h:20
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
msgstr "由 GNOME Shell 的畫面廣播錄製程式所錄製成果的框架率,以 frames-per-second 計。"
#: ../data/org.gnome.shell.gschema.xml.in.h:21
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "用來編碼畫面廣播的 gstreamer 管線"
#: ../data/org.gnome.shell.gschema.xml.in.h:22
msgid ""
"The selected workspace view mode in the overview. Supported values are "
"\"single\" and \"grid\"."
msgstr "在概覽中選取的工作區檢視模式。支援的數值有「single」(單一)和「grid」(格線)。"
#: ../data/org.gnome.shell.gschema.xml.in.h:23
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 "這個 shell 通常會監控使用中的應用程式以便能顯示出最常使用的(例如,在程式執行器中)。雖然這個資料會保持隱密,但是你可能會基於私隱的理由想要停用這個功能。請注意這麼做並不會移除已儲存的資料。"
#: ../data/org.gnome.shell.gschema.xml.in.h:24
msgid ""
"This key specifies the format used by the panel clock when the format key is "
"set to \"custom\". You can use conversion specifiers understood by strftime"
"() to obtain a specific format. See the strftime() manual for more "
"information."
msgstr "這個設定鍵是在面板時鐘的「format」設定鍵被設為「custom」時使用的自選格式。你可以用可被 strftime() 理解的轉換規範來取得所指定的格式。請查閱 strftime() 手冊以獲取更多資訊。"
#: ../data/org.gnome.shell.gschema.xml.in.h:25
msgid ""
"This key specifies the hour format used by the panel clock. Possible values "
"are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", "
"the clock will display time in seconds since Epoch, i.e. 1970-01-01. If set "
"to \"custom\", the clock will display time according to the format specified "
"in the custom_format key. Note that if set to either \"unix\" or \"custom\", "
"the show_date and show_seconds keys are ignored."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:26
msgid "Uuids of extensions to disable"
msgstr "要停用的延伸檔名 Uuid"
#: ../data/org.gnome.shell.gschema.xml.in.h:27
msgid "Whether to collect stats about applications usage"
msgstr "是否收集關於應用程式使用率的狀態"
#: ../data/clock-preferences.ui.h:1
msgid "Clock Format"
msgstr "時鐘格式"
#: ../data/clock-preferences.ui.h:2
msgid "Clock Preferences"
msgstr "時鐘偏好設定"
#: ../data/clock-preferences.ui.h:3
msgid "Panel Display"
msgstr "面板顯示"
#: ../data/clock-preferences.ui.h:4
msgid "Show seco_nds"
msgstr "顯示秒數(_N)"
#: ../data/clock-preferences.ui.h:5
msgid "Show the _date"
msgstr "顯示日期(_D)"
#: ../data/clock-preferences.ui.h:6
msgid "_12 hour format"
msgstr "_12 小時制"
#: ../data/clock-preferences.ui.h:7
msgid "_24 hour format"
msgstr "_24 小時制"
#. **** Applications ****
#: ../js/ui/appDisplay.js:384 ../js/ui/dash.js:778
msgid "APPLICATIONS"
msgstr "程式集"
#: ../js/ui/appDisplay.js:416
msgid "PREFERENCES"
msgstr "偏好設定"
#: ../js/ui/appDisplay.js:721
msgid "New Window"
msgstr "新視窗"
#: ../js/ui/appDisplay.js:725
msgid "Remove from Favorites"
msgstr "自喜好中移除"
#: ../js/ui/appDisplay.js:726
msgid "Add to Favorites"
msgstr "加入喜好"
#: ../js/ui/appDisplay.js:1033
msgid "Drag here to add favorites"
msgstr "拖放到這裏加入喜好"
#: ../js/ui/appFavorites.js:88
#, c-format
msgid "%s has been added to your favorites."
msgstr "%s 已加入你的喜好中。"
#: ../js/ui/appFavorites.js:107
#, c-format
msgid "%s has been removed from your favorites."
msgstr "%s 已經從你的喜好中移除。"
#: ../js/ui/dash.js:142
msgid "Find"
msgstr "尋找"
#: ../js/ui/dash.js:473
msgid "Searching..."
msgstr "搜尋中..."
#: ../js/ui/dash.js:487
msgid "No matching results."
msgstr "沒有相符的結果。"
#. **** Places ****
#. Translators: This is in the sense of locations for documents,
#. network locations, etc.
#: ../js/ui/dash.js:797 ../js/ui/placeDisplay.js:554
msgid "PLACES & DEVICES"
msgstr "位置 & 裝置"
#. **** Documents ****
#: ../js/ui/dash.js:804 ../js/ui/docDisplay.js:494
msgid "RECENT ITEMS"
msgstr "最近使用項目"
#: ../js/ui/lookingGlass.js:471
msgid "No extensions installed"
msgstr "沒有安裝擴充功能"
#: ../js/ui/lookingGlass.js:508
msgid "Enabled"
msgstr "已啟用"
#: ../js/ui/lookingGlass.js:510
msgid "Disabled"
msgstr "已停用"
#: ../js/ui/lookingGlass.js:512
msgid "Error"
msgstr "錯誤"
#: ../js/ui/lookingGlass.js:514
msgid "Out of date"
msgstr "過期"
#: ../js/ui/lookingGlass.js:539
msgid "View Source"
msgstr "檢示來源"
#: ../js/ui/lookingGlass.js:545
msgid "Web Page"
msgstr "網頁"
#: ../js/ui/overview.js:160
msgid "Undo"
msgstr "復原"
#. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:473
#, c-format
msgid "Quit %s"
msgstr "結束 %s"
#: ../js/ui/panel.js:498
msgid "Preferences"
msgstr "偏好設定"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/panel.js:584
msgid "%a %b %e, %R:%S"
msgstr "%b %e %a, %R:%S"
#: ../js/ui/panel.js:585
msgid "%a %b %e, %R"
msgstr "%b %e %a, %R"
#. Translators: This is the time format without date used
#. in 24-hour mode.
#: ../js/ui/panel.js:589
msgid "%a %R:%S"
msgstr "%a %R:%S"
#: ../js/ui/panel.js:590
msgid "%a %R"
msgstr "%a %R"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/panel.js:597
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%b %e %a, %p %l:%M:%S"
#: ../js/ui/panel.js:598
msgid "%a %b %e, %l:%M %p"
msgstr "%b %e %a, %p %l:%M"
#. Translators: This is a time format without date used
#. for AM/PM.
#: ../js/ui/panel.js:602
msgid "%a %l:%M:%S %p"
msgstr "%a %p %l:%M:%S"
#: ../js/ui/panel.js:603
msgid "%a %l:%M %p"
msgstr "%a %p %l:%M"
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:748
msgid "Activities"
msgstr "概覽 "
#: ../js/ui/placeDisplay.js:111
#, c-format
msgid "Failed to unmount '%s'"
msgstr "無法卸載「%s」"
#: ../js/ui/placeDisplay.js:114
msgid "Retry"
msgstr "重試"
#: ../js/ui/placeDisplay.js:159
msgid "Connect to..."
msgstr "連接到..."
#. Translators: the "ON" and "OFF" strings are used in the
#. toggle switches in the status area menus, and must be SHORT.
#. If you don't have suitable short words, consider initials,
#. "0"/"1", "⚪"/"⚫", etc.
#: ../js/ui/popupMenu.js:30 ../js/ui/popupMenu.js:40
msgid "ON"
msgstr "開"
#: ../js/ui/popupMenu.js:31 ../js/ui/popupMenu.js:45
msgid "OFF"
msgstr "關"
#: ../js/ui/runDialog.js:233
msgid "Please enter a command:"
msgstr "請輸入指令:"
#: ../js/ui/runDialog.js:378
#, c-format
msgid "Execution of '%s' failed:"
msgstr "執行「%s」失敗"
#: ../js/ui/statusMenu.js:91
msgid "Available"
msgstr "可用"
#: ../js/ui/statusMenu.js:95
msgid "Busy"
msgstr "忙碌"
#: ../js/ui/statusMenu.js:99
msgid "Invisible"
msgstr "隱形"
#: ../js/ui/statusMenu.js:106
msgid "Account Information..."
msgstr "帳號資訊..."
#: ../js/ui/statusMenu.js:110
msgid "System Preferences..."
msgstr "系統偏好設定..."
#: ../js/ui/statusMenu.js:117
msgid "Lock Screen"
msgstr "鎖定畫面"
#: ../js/ui/statusMenu.js:121
msgid "Switch User"
msgstr "切換使用者"
#: ../js/ui/statusMenu.js:126
msgid "Log Out..."
msgstr "登出..."
#: ../js/ui/statusMenu.js:130
msgid "Shut Down..."
msgstr "關機..."
#: ../js/ui/windowAttentionHandler.js:45
#, c-format
msgid "%s has finished starting"
msgstr "%s 已完成啟動"
#: ../js/ui/windowAttentionHandler.js:47
#, c-format
msgid "'%s' is ready"
msgstr "「%s」已就緒"
#: ../js/ui/workspacesView.js:230
msgid ""
"Can't add a new workspace because maximum workspaces limit has been reached."
msgstr "不能加入新的工作區,因為已達到最大工作區上限。"
#: ../js/ui/workspacesView.js:247
msgid "Can't remove the first workspace."
msgstr "不能移除第一個工作區。"
#: ../src/shell-global.c:1105
msgid "Less than a minute ago"
msgstr "少於一分鐘之前"
#: ../src/shell-global.c:1109
#, c-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "%d 分鐘前"
#: ../src/shell-global.c:1114
#, c-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
msgstr[0] "%d 小時前"
#: ../src/shell-global.c:1119
#, c-format
msgid "%d day ago"
msgid_plural "%d days ago"
msgstr[0] "%d 天前"
#: ../src/shell-global.c:1124
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
msgstr[0] "%d 週前"
#: ../src/shell-uri-util.c:89
msgid "Home Folder"
msgstr "家目錄"
#. Translators: this is the same string as the one found in
#. * nautilus
#: ../src/shell-uri-util.c:104
msgid "File System"
msgstr "檔案系統"
#: ../src/shell-uri-util.c:250
msgid "Search"
msgstr "搜尋"
#. Translators: the first string is the name of a gvfs
#. * 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-uri-util.c:300
#, c-format
msgid "%1$s: %2$s"
msgstr "%1$s%2$s"

509
po/zh_TW.po Normal file
View File

@ -0,0 +1,509 @@
# Chinese (Taiwan) translation for gnome-shell.
# Copyright (C) 2010 gnome-shell's COPYRIGHT HOLDER
# This file is distributed under the same license as the gnome-shell package.
# Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>, 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell 2.31.5\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-08-21 20:42+0800\n"
"PO-Revision-Date: 2010-08-20 13:40+0800\n"
"Last-Translator: Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>\n"
"Language-Team: Chinese (Taiwan) <zh-l10n@lists.linux.org.tw>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: ../data/gnome-shell.desktop.in.in.h:1
msgid "GNOME Shell"
msgstr "GNOME Shell"
#: ../data/gnome-shell.desktop.in.in.h:2
msgid "Window management and application launching"
msgstr "視窗管理與應用程式的執行"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:1
msgid "Clock"
msgstr "時鐘"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:2
msgid "Customize the panel clock"
msgstr "自訂面板時鐘"
#: ../data/org.gnome.shell.gschema.xml.in.h:1
msgid ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog."
msgstr "允許使用 Alt-F2 對話盒存取內部除錯和監控工具。"
#: ../data/org.gnome.shell.gschema.xml.in.h:2
msgid "Custom format of the clock"
msgstr "自訂時鐘的格式"
#: ../data/org.gnome.shell.gschema.xml.in.h:3
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr "啟用讓開發者與測試者能以 Alt-F2 使用好用的內部工具"
#: ../data/org.gnome.shell.gschema.xml.in.h:4
msgid "File extension used for storing the screencast"
msgstr "用來儲存畫面廣播的延伸檔名"
#: ../data/org.gnome.shell.gschema.xml.in.h:5
msgid "Framerate used for recording screencasts."
msgstr "錄製畫面廣播的框架率。"
#: ../data/org.gnome.shell.gschema.xml.in.h:6
msgid ""
"GNOME Shell extensions have a uuid property; this key lists extensions which "
"should not be loaded."
msgstr "GNOME Shell 擴充功能有 uuid 屬性;這個設定鍵列出了不應載入的擴充功能。"
#: ../data/org.gnome.shell.gschema.xml.in.h:7
msgid "History for command (Alt-F2) dialog"
msgstr "指令 (Alt-F2) 對話盒歷史紀錄"
#: ../data/org.gnome.shell.gschema.xml.in.h:8
msgid "Hour format"
msgstr "小時格式"
#: ../data/org.gnome.shell.gschema.xml.in.h:9
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display date in the "
"clock, in addition to time."
msgstr ""
"如果設為 true 且格式為「12-小時」或「24-小時」,在時鐘裡顯示日期,加在時刻後"
"面。"
#: ../data/org.gnome.shell.gschema.xml.in.h:10
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display seconds in "
"time."
msgstr "如果設為 true 且格式為「12-小時」或「24-小時」,在時刻裡顯示秒鐘。"
#: ../data/org.gnome.shell.gschema.xml.in.h:11
msgid "If true, display the ISO week date in the calendar."
msgstr "如果設為 true在日曆中顯示 ISO 週數。"
#: ../data/org.gnome.shell.gschema.xml.in.h:12
msgid "List of desktop file IDs for favorite applications"
msgstr "喜好的應用程式桌面檔案 ID 清單"
#: ../data/org.gnome.shell.gschema.xml.in.h:13
msgid "Overview workspace view mode"
msgstr "概覽工作區檢視模式"
#: ../data/org.gnome.shell.gschema.xml.in.h:14
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 ! theoraenc ! oggmux' and records to Ogg Theora."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:15
msgid "Show date in clock"
msgstr "在時鐘內顯示日期"
#: ../data/org.gnome.shell.gschema.xml.in.h:16
msgid "Show the week date in the calendar"
msgstr "在日曆中顯示週數"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "Show time with seconds"
msgstr "在時刻中顯示秒數"
#: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid ""
"The applications corresponding to these identifiers will be displayed in the "
"favorites area."
msgstr "對應這些辨別碼的應用程式會顯示在喜好區域。"
#: ../data/org.gnome.shell.gschema.xml.in.h:19
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 ""
"錄製好的畫面廣播檔案名稱會以目前的時刻作為獨特的檔名,並使用這個延伸檔名。當"
"錄製為不同的容器格式時應該做適當變更。"
#: ../data/org.gnome.shell.gschema.xml.in.h:20
msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
msgstr ""
"由 GNOME Shell 的畫面廣播錄製程式所錄製成果的框架率,以 frames-per-second "
"計。"
#: ../data/org.gnome.shell.gschema.xml.in.h:21
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "用來編碼畫面廣播的 gstreamer 管線"
#: ../data/org.gnome.shell.gschema.xml.in.h:22
msgid ""
"The selected workspace view mode in the overview. Supported values are "
"\"single\" and \"grid\"."
msgstr ""
"在概覽中選取的工作區檢視模式。支援的數值有「single」(單一)和「grid」(格線)。"
#: ../data/org.gnome.shell.gschema.xml.in.h:23
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 ""
"這個 shell 通常會監控使用中的應用程式以便能顯示出最常使用的(例如,在程式執行"
"器中)。雖然這個資料會保持隱密,但是您可能會基於隱私的理由想要停用這個功能。"
"請注意這麼做並不會移除已儲存的資料。"
#: ../data/org.gnome.shell.gschema.xml.in.h:24
msgid ""
"This key specifies the format used by the panel clock when the format key is "
"set to \"custom\". You can use conversion specifiers understood by strftime"
"() to obtain a specific format. See the strftime() manual for more "
"information."
msgstr ""
"這個設定鍵是在面板時鐘的「format」設定鍵被設為「custom」時使用的自訂格式。您"
"可以用可被 strftime() 理解的轉換規範來取得所指定的格式。請查閱 strftime() 手"
"冊以獲取更多資訊。"
#: ../data/org.gnome.shell.gschema.xml.in.h:25
msgid ""
"This key specifies the hour format used by the panel clock. Possible values "
"are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", "
"the clock will display time in seconds since Epoch, i.e. 1970-01-01. If set "
"to \"custom\", the clock will display time according to the format specified "
"in the custom_format key. Note that if set to either \"unix\" or \"custom\", "
"the show_date and show_seconds keys are ignored."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.h:26
msgid "Uuids of extensions to disable"
msgstr "要停用的延伸檔名 Uuid"
#: ../data/org.gnome.shell.gschema.xml.in.h:27
msgid "Whether to collect stats about applications usage"
msgstr "是否收集關於應用程式使用率的狀態"
#: ../data/clock-preferences.ui.h:1
msgid "Clock Format"
msgstr "時鐘格式"
#: ../data/clock-preferences.ui.h:2
msgid "Clock Preferences"
msgstr "時鐘偏好設定"
#: ../data/clock-preferences.ui.h:3
msgid "Panel Display"
msgstr "面板顯示"
#: ../data/clock-preferences.ui.h:4
msgid "Show seco_nds"
msgstr "顯示秒數(_N)"
#: ../data/clock-preferences.ui.h:5
msgid "Show the _date"
msgstr "顯示日期(_D)"
#: ../data/clock-preferences.ui.h:6
msgid "_12 hour format"
msgstr "_12 小時制"
#: ../data/clock-preferences.ui.h:7
msgid "_24 hour format"
msgstr "_24 小時制"
#. **** Applications ****
#: ../js/ui/appDisplay.js:384 ../js/ui/dash.js:778
msgid "APPLICATIONS"
msgstr "程式集"
#: ../js/ui/appDisplay.js:416
msgid "PREFERENCES"
msgstr "偏好設定"
#: ../js/ui/appDisplay.js:721
msgid "New Window"
msgstr "新視窗"
#: ../js/ui/appDisplay.js:725
msgid "Remove from Favorites"
msgstr "自喜好中移除"
#: ../js/ui/appDisplay.js:726
msgid "Add to Favorites"
msgstr "加入喜好"
#: ../js/ui/appDisplay.js:1033
msgid "Drag here to add favorites"
msgstr "拖放到這裡加入喜好"
#: ../js/ui/appFavorites.js:88
#, c-format
msgid "%s has been added to your favorites."
msgstr "%s 已加入您的喜好中。"
#: ../js/ui/appFavorites.js:107
#, c-format
msgid "%s has been removed from your favorites."
msgstr "%s 已經從您的喜好中移除。"
#: ../js/ui/dash.js:142
msgid "Find"
msgstr "尋找"
#: ../js/ui/dash.js:473
msgid "Searching..."
msgstr "搜尋中..."
#: ../js/ui/dash.js:487
msgid "No matching results."
msgstr "沒有相符的結果。"
#. **** Places ****
#. Translators: This is in the sense of locations for documents,
#. network locations, etc.
#: ../js/ui/dash.js:797 ../js/ui/placeDisplay.js:554
msgid "PLACES & DEVICES"
msgstr "位置 & 裝置"
#. **** Documents ****
#: ../js/ui/dash.js:804 ../js/ui/docDisplay.js:494
msgid "RECENT ITEMS"
msgstr "最近使用項目"
#: ../js/ui/lookingGlass.js:471
msgid "No extensions installed"
msgstr "沒有安裝擴充功能"
#: ../js/ui/lookingGlass.js:508
msgid "Enabled"
msgstr "已啟用"
#: ../js/ui/lookingGlass.js:510
msgid "Disabled"
msgstr "已停用"
#: ../js/ui/lookingGlass.js:512
msgid "Error"
msgstr "錯誤"
#: ../js/ui/lookingGlass.js:514
msgid "Out of date"
msgstr "過期"
#: ../js/ui/lookingGlass.js:539
msgid "View Source"
msgstr "檢示來源"
#: ../js/ui/lookingGlass.js:545
msgid "Web Page"
msgstr "網頁"
#: ../js/ui/overview.js:160
msgid "Undo"
msgstr "復原"
#. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:473
#, c-format
msgid "Quit %s"
msgstr "結束 %s"
#: ../js/ui/panel.js:498
msgid "Preferences"
msgstr "偏好設定"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/panel.js:584
msgid "%a %b %e, %R:%S"
msgstr "%b %e %a, %R:%S"
#: ../js/ui/panel.js:585
msgid "%a %b %e, %R"
msgstr "%b %e %a, %R"
#. Translators: This is the time format without date used
#. in 24-hour mode.
#: ../js/ui/panel.js:589
msgid "%a %R:%S"
msgstr "%a %R:%S"
#: ../js/ui/panel.js:590
msgid "%a %R"
msgstr "%a %R"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/panel.js:597
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%b %e %a, %p %l:%M:%S"
#: ../js/ui/panel.js:598
msgid "%a %b %e, %l:%M %p"
msgstr "%b %e %a, %p %l:%M"
#. Translators: This is a time format without date used
#. for AM/PM.
#: ../js/ui/panel.js:602
msgid "%a %l:%M:%S %p"
msgstr "%a %p %l:%M:%S"
#: ../js/ui/panel.js:603
msgid "%a %l:%M %p"
msgstr "%a %p %l:%M"
#. Button on the left side of the panel.
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:748
msgid "Activities"
msgstr "概覽 "
#: ../js/ui/placeDisplay.js:111
#, c-format
msgid "Failed to unmount '%s'"
msgstr "無法卸載「%s」"
#: ../js/ui/placeDisplay.js:114
msgid "Retry"
msgstr "重試"
#: ../js/ui/placeDisplay.js:159
msgid "Connect to..."
msgstr "連接到..."
#. Translators: the "ON" and "OFF" strings are used in the
#. toggle switches in the status area menus, and must be SHORT.
#. If you don't have suitable short words, consider initials,
#. "0"/"1", "⚪"/"⚫", etc.
#: ../js/ui/popupMenu.js:30 ../js/ui/popupMenu.js:40
msgid "ON"
msgstr "開"
#: ../js/ui/popupMenu.js:31 ../js/ui/popupMenu.js:45
msgid "OFF"
msgstr "關"
#: ../js/ui/runDialog.js:233
msgid "Please enter a command:"
msgstr "請輸入指令:"
#: ../js/ui/runDialog.js:378
#, c-format
msgid "Execution of '%s' failed:"
msgstr "執行「%s」失敗"
#: ../js/ui/statusMenu.js:91
msgid "Available"
msgstr "可用"
#: ../js/ui/statusMenu.js:95
msgid "Busy"
msgstr "忙碌"
#: ../js/ui/statusMenu.js:99
msgid "Invisible"
msgstr "隱形"
#: ../js/ui/statusMenu.js:106
msgid "Account Information..."
msgstr "帳號資訊..."
#: ../js/ui/statusMenu.js:110
msgid "System Preferences..."
msgstr "系統偏好設定..."
#: ../js/ui/statusMenu.js:117
msgid "Lock Screen"
msgstr "鎖定畫面"
#: ../js/ui/statusMenu.js:121
msgid "Switch User"
msgstr "切換使用者"
#: ../js/ui/statusMenu.js:126
msgid "Log Out..."
msgstr "登出..."
#: ../js/ui/statusMenu.js:130
msgid "Shut Down..."
msgstr "關機..."
#: ../js/ui/windowAttentionHandler.js:45
#, c-format
msgid "%s has finished starting"
msgstr "%s 已完成啟動"
#: ../js/ui/windowAttentionHandler.js:47
#, c-format
msgid "'%s' is ready"
msgstr "「%s」已就緒"
#: ../js/ui/workspacesView.js:230
msgid ""
"Can't add a new workspace because maximum workspaces limit has been reached."
msgstr "不能加入新的工作區,因為已達到最大工作區上限。"
#: ../js/ui/workspacesView.js:247
msgid "Can't remove the first workspace."
msgstr "不能移除第一個工作區。"
#: ../src/shell-global.c:1105
msgid "Less than a minute ago"
msgstr "少於一分鐘之前"
#: ../src/shell-global.c:1109
#, c-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "%d 分鐘前"
#: ../src/shell-global.c:1114
#, c-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
msgstr[0] "%d 小時前"
#: ../src/shell-global.c:1119
#, c-format
msgid "%d day ago"
msgid_plural "%d days ago"
msgstr[0] "%d 天前"
#: ../src/shell-global.c:1124
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
msgstr[0] "%d 週前"
#: ../src/shell-uri-util.c:89
msgid "Home Folder"
msgstr "家目錄"
#. Translators: this is the same string as the one found in
#. * nautilus
#: ../src/shell-uri-util.c:104
msgid "File System"
msgstr "檔案系統"
#: ../src/shell-uri-util.c:250
msgid "Search"
msgstr "搜尋"
#. Translators: the first string is the name of a gvfs
#. * 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-uri-util.c:300
#, c-format
msgid "%1$s: %2$s"
msgstr "%1$s%2$s"

View File

@ -1,24 +1,25 @@
gdmuser_cflags = \
gdmuser_cflags = \
-I$(top_srcdir)/src \
-DPREFIX=\""$(prefix)"\" \
-DLIBDIR=\""$(libdir)"\" \
-DDATADIR=\""$(datadir)"\" \
-DG_DISABLE_DEPRECATED \
-DG_LOG_DOMAIN=\"GdmUser\" \
-DG_LOG_DOMAIN=\"GdmUser\" \
-DGDM_CACHE_DIR=\""$(localstatedir)/cache/gdm"\" \
$(GDMUSER_CFLAGS) \
$(NULL)
# please, keep this sorted alphabetically
gdmuser_source_h = \
gdmuser/gdm-user.h \
gdmuser_source_h = \
gdmuser/gdm-user.h \
gdmuser/gdm-user-private.h \
gdmuser/gdm-user-manager.h \
$(NULL)
# please, keep this sorted alphabetically
gdmuser_source_c = \
gdmuser/gdm-user.c \
gdmuser/gdm-user-manager.c \
gdmuser_source_c = \
gdmuser/gdm-user.c \
gdmuser/gdm-user-manager.c \
$(NULL)
noinst_LTLIBRARIES += libgdmuser-1.0.la

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