Compare commits

...

348 Commits

Author SHA1 Message Date
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
a94978db36 Bump version to 2.31.4 2010-06-25 18:28:55 -04:00
97f883b10e Implement "text-align"
"text-align" allows setting the alignment of text, with respect to
other lines and allocated space, without requiring a reference to
the ClutterText (which is private for most widgets).
If not specified, all text is left-aligned.

https://bugzilla.gnome.org/show_bug.cgi?id=622447
2010-06-25 22:43:14 +02:00
3af4ca3fe9 Missed some 'Shell.GConf' references in switch to GSettings.
Replaced all calls to Shell.GConf with GConf.Client in magnifier.js.

https://bugzilla.gnome.org/show_bug.cgi?id=622524
2010-06-25 16:42:08 -04:00
c19c236dbf Magnifier DBus setCrosswireColor() doesn't convert correctly to hex string.
Modified setCrosswireColor() in magnifierDBus.js to correctly pad hex string
with leading zeroes when converting from integer.

https://bugzilla.gnome.org/show_bug.cgi?id=622508
2010-06-25 16:40:20 -04:00
6873539846 Update Mutter minimum version for plugin changes
Require mutter-2.31.4, which has the revised effects plugin API.
2010-06-25 16:27:28 -04:00
d9275d3dda Added Lithuanian translation 2010-06-25 20:28:34 +03:00
e8b72a2a59 Switch to using dconf
* Add dconf and dependencies to the moduleset and add
  libxml2 dependency to gnome-shell-build-setup.sh

* if we can't ping the dconf D-Bus service, try to
  activate it manually.

* Stop forcing GConf via GSETTINGS_BACKEND

https://bugzilla.gnome.org/show_bug.cgi?id=622308
2010-06-25 12:48:14 -04:00
a160e31c2a Fix missing semicolon in source title commit
Just add the missing semicolon

https://bugzilla.gnome.org/show_bug.cgi?id=622592
2010-06-24 13:16:03 -04:00
a84e2e3307 [format] Add 'x' format specifier and field width
Sometimes it is useful to print numbers in hex format - add the
appropriate specifier. Also support a minimum field width to
pad the formatted string with spaces (or zeros if the width is
prefixed with '0').

https://bugzilla.gnome.org/show_bug.cgi?id=622597
2010-06-24 15:54:54 +02:00
83689e494c Show source title on hover, notification on click in the message tray
This is part of the design update for the message tray.

Source now takes an extra argument called 'title'.

All expanded message tray items are same width, which is determined by
the width of the item with the longest title, up to MAX_SOURCE_TITLE_WIDTH.
This is done so that items don't move around too much when one is expanded
and another one is collapsed.

https://bugzilla.gnome.org/show_bug.cgi?id=617224
2010-06-23 15:23:01 -04:00
7c4d4b8695 Do not exclude Documentation from applications
There is currently no way of launching the desktop-wide help other
then running yelp explicitly from the run dialog or a terminal. It
should instead be included with the rest of applications.

https://bugzilla.gnome.org/show_bug.cgi?id=622458
2010-06-23 01:17:17 +02:00
771648893f Updated Spanish translation 2010-06-22 23:08:40 +02:00
81aed78a1f [panel] Flip left and right group in RTL locales
While the contents of the left and right group in the panel are
flipped correctly, the groups themselves have to be swapped as
well. The location of the hot corner has to be corrected as well.

https://bugzilla.gnome.org/show_bug.cgi?id=622243
2010-06-21 18:40:29 +02:00
9af979097d Remove unintended GConf dependency GTK+ in moduleset
Commit 2799327 introduced a dependency on gtk+ for gconf,
instead of glib, pulling the whole stack.
2010-06-21 18:34:02 +02:00
35764fa09e Move Tweener.slowDownFactor into St
It has probably crossed the line to evil by a mile or so, but here
it is: a Tweener.slowDownFactor replacement used by all animations
without exception.
While at it, update Tweener to use the new setTimeScale() upstream
function instead of adjusting the timeline directly.

https://bugzilla.gnome.org/show_bug.cgi?id=622249
2010-06-21 16:19:25 +02:00
4b1fea2fa4 [windowTracker] Only remove "interesting" windows
Windows are only added to an application if they are considered
"interesting". If we keep it that way, we cannot unconditionally
call _shell_app_remove_window() - applications without interesting
windows are not considered running, so the call crashes the shell.

https://bugzilla.gnome.org/show_bug.cgi?id=622236
2010-06-21 15:35:36 +02:00
04ecde9f8e [StButton] Cleanup left-over animation code
StButton used to animate hover changes - the animation itself was
removed in commit a4481b38d, but some related member variables were
left in place.
2010-06-21 00:01:05 +02:00
ee79579b2e Change the algorithm used to calculate week numbers
The currently used algorithm returns incorrect results in some corner
cases, so replace it with a better one.

https://bugzilla.gnome.org/show_bug.cgi?id=620125
2010-06-20 23:53:43 +02:00
0f52c924e2 Updated Slovenian translation 2010-06-20 20:55:31 +02:00
9ef2a46e33 Replace non-toplevel Gtk include 2010-06-19 21:35:24 +02:00
1f550dbc72 [ShellApp] Move assertion below precondition check
Need to track down why we're calling _remove_window with a window not
in the app, but this is the quick fix for a crasher.
2010-06-19 11:32:00 -04:00
e63a0f3a13 Updated Hebrew translation. 2010-06-19 18:01:55 +03:00
62b07a5260 Added Norwegian bokmål translation 2010-06-19 16:43:22 +02:00
91bcca71c6 Update Simplified Chinese translation. 2010-06-19 21:49:48 +08:00
e8fc731fc1 Revert "[gsettings] Restore the recorder's default pipeline"
This reverts commit 91e2117708.

The recorder already defaults to the default value when no pipeline is
set.
2010-06-19 13:07:13 +02:00
91e2117708 [gsettings] Restore the recorder's default pipeline
It got lost in the gsettings transition.
2010-06-19 12:34:58 +02:00
4ccff179a5 [recorder] Don't pass recorderSettings as a paramter to the signal handler
We want to use the settings object created in start(), not the argument
passed to the signal handler.
2010-06-19 12:08:52 +02:00
bd4aa54e48 Rescue innocent schema files from the greedy make god
Removing the prerequisites from the gschemas.compiled rule broke
the build, as this is what triggers the generation of the actual
schema files expected by the rule's command.
Instead of just restoring the former dependencies, make sure that
the schema is validated before compilation, not after.

https://bugzilla.gnome.org/show_bug.cgi?id=622050
2010-06-19 05:11:52 +02:00
f8b142064b Sacrifice spaces, replace with a tab to keep the make god happy 2010-06-18 17:48:13 -04:00
38f5e30162 Updated Galician translations 2010-06-18 21:44:36 +02:00
2799327c84 Migrate to GSettings
Use GSettings for all Shell configuration. GConf is kept to read
configuration from external programs (Metacity, Nautilus and Magnifier),
but ShellGConf is removed because it's mostly useless for the few calls
we still have. Also get rid of unused GConf code in ShellAppSystem.

A basic GConf schema is still used to override Metacity defaults and
configure Magnifier in a system-wide fashion. GConf is also used as
GSettings backend via the GSETTINGS_BACKEND environment variable.
All of this will be removed when these programs have been ported
to GSettings and able to use dconf.

GLib 2.25.9 is required. Schemas are converted to the new XML format,
and compiled at build time in data/ so that the Shell can be run from
the source tree. This also requires setting the GSETTINGS_SCHEMA_DIR
environment variable both when running installed or from source tree,
in src/gnome-shell.in and src/gnome-shell-clock-preferences.in.

https://bugzilla.gnome.org/show_bug.cgi?id=617917
2010-06-18 20:27:41 +02:00
da4e24555b Split off running state handling into separate structure
This is a small memory usage optimization, and cleans up the code.
In particular, this will help for later patches which perform
more substantial operations on running apps.

https://bugzilla.gnome.org/show_bug.cgi?id=621203
2010-06-18 13:03:41 -04:00
7f8f0f2358 Add animated display of startup notification
The shell design says that upon launching an application,
no X window should have focus, and we should display an
animated launching indicator.

Implement this by in panel.js, keep track of the last started
application.  If there isn't currently an X focus, show an animation
for the last starting application.

https://bugzilla.gnome.org/show_bug.cgi?id=598349
2010-06-17 23:18:28 +04:00
cae61e62fd [StThemeNode] implement CSS "outline" property
Could potentially be used for focus indication

https://bugzilla.gnome.org/show_bug.cgi?id=621669
2010-06-17 14:06:47 -04:00
ab61017041 [environment] use St.describe_actor for Clutter.Actor.prototype.toString
https://bugzilla.gnome.org/show_bug.cgi?id=621668
2010-06-17 13:19:50 -04:00
792dc489ee [St] add st_describe_actor, for debugging
This can be used when adding debug printfs, to get clear descriptions of
actors.

Also update the Looking Glass inspector to use it

https://bugzilla.gnome.org/show_bug.cgi?id=621668
2010-06-17 12:48:13 -04:00
9baf8e19ea Kill Ubuntu indicators on start-up
Canonical replaced status icons with libindicator based solutions,
which don't work in the shell environment. Force the distro-patched
versions to fall-back to upstream.

https://bugzilla.gnome.org/show_bug.cgi?id=621382
2010-06-17 18:44:50 +02:00
362fc78dcf Revert "[appSwitcher] Remove unneeded workaround"
This reverts commit a1bfaac5a2.

https://bugzilla.gnome.org/show_bug.cgi?id=613194
2010-06-17 17:17:57 +02:00
4800a80c3a Update GnomeShellPlugin according to recent changes in MutterPlugin
https://bugzilla.gnome.org/show_bug.cgi?id=621083
2010-06-17 01:44:44 +04:00
d8f7629a4f [linearView] Update workspace opacity
While zoomed out in drag mode, the workspaces at the left and right
of the active workspace are slightly transparent - when switching
workspaces, one of the transparent workspaces becomes the new active
workspace, but its opacity is not updated.

https://bugzilla.gnome.org/show_bug.cgi?id=620940
2010-06-16 20:56:10 +02:00
7514dfaef9 [linearView] Drop _dropGroup
When in drag mode, the linear view raises a transparent actor
covering the entire stage. That way the view can handle events
like dragging items to the screen edges, but in order to not
disable any drop target not handled by itself, it duplicates
huge amounts of code from dnd.js.

Cleanup that mess by using the new drag monitoring support.

https://bugzilla.gnome.org/show_bug.cgi?id=620504
2010-06-16 20:56:10 +02:00
c50e324366 [dnd] Add monitoring hooks for motion/drop events
Sometimes it is desirable to be able to react to DND events that
happen outside a target actor's bounds, e.g. to implement reactive
screen edges. Add a simple interface which allows to hook into
drag motion and drop handling without jumping through ugly hoops.

https://bugzilla.gnome.org/show_bug.cgi?id=620504
2010-06-16 20:56:09 +02:00
6e09cc5fc8 Fade in alt-tab popup, adjust timings
The design calls for item to not appear abruptly, but not too slow
either - 100ms seems to be a good sweet spot for elements which are
supposed to appear "instantly".
Add a fade effect to the alt-tab popup and set the timings for other
fade effects to 100ms.

https://bugzilla.gnome.org/show_bug.cgi?id=621247
2010-06-16 20:55:26 +02:00
eafd3848a9 Updated Spanish translation 2010-06-15 19:28:58 +02:00
942810e88e [ShellOverflowList] remove ShellOverflowList
Nothing uses ShellOverflowList any more, so remove it. (Even if we
want that sort of functionality again later, we'd want it to be
StWidget-based, and with a name less likely to be confused with
StOverflowBox.)

https://bugzilla.gnome.org/show_bug.cgi?id=621582
2010-06-15 12:02:33 -04:00
df13408973 [dash] remove a bunch of dead code in the dash
The dash has lots of unused code left over from earlier designs. Kill
it.

https://bugzilla.gnome.org/show_bug.cgi?id=621582
2010-06-15 12:00:41 -04:00
bbfc980fe6 add st_texture_cache_load_sliced_image
This function reads a single image file which contains multiple
images internally.
The image file will be divided using @grid_width and @grid_height;
note that the dimensions of the image loaded from @path
should be a multiple of the specified grid dimensions.
https://bugzilla.gnome.org/show_bug.cgi?id=598349
2010-06-14 19:36:55 +04:00
c30b1c9bea Add Thai translation. 2010-06-14 20:28:25 +07:00
9e554097f3 Updated Norwegian bokmål translation 2010-06-14 01:03:55 +02:00
302b892dbc [gnome-shell.in] If XDG_CONFIG_DIRS empty or unset, use default value 2010-06-12 23:13:31 +04:00
c0134067d7 [Transitions] Add error checking when setting up framebuffers
The framebuffer setup code can fail, e.g. when the texture used as
color buffer has a height/width of 0. In that case, the call to
cogl_pop_framebuffer() will crash the shell trigger an assert. Add
error checking to fail gracefully.
2010-06-12 19:33:19 +02:00
a691192ffa [popupMenu] Fix wrong positioning when showing for the first time
We query the transformed position and size of the popupMenu before actually showing
it which results into wrong positioning, when displaying it for the first time.

In case of the statusMenu this can even result into it being offscreen.

https://bugzilla.gnome.org/show_bug.cgi?id=621385
2010-06-12 18:15:52 +02:00
5616a0ae2a Updated Slovenian translation 2010-06-11 22:15:18 +02:00
a4befeba53 De-duplicate "actor contains actor" code
Add _st_actor_contains() in st-private for use within St, and
monkey-patch in a Clutter.Actor.contains() for use by javascript, and
then replace all the duplicate implementations with one or the other
of those.

https://bugzilla.gnome.org/show_bug.cgi?id=621197
2010-06-11 10:05:46 -04:00
e6a70e4676 [statusMenu] Use user status icons from icon theme
Currently, we use 'gtk-yes', 'gtk-no' and 'gtk-media-pause' as
user status icons. It seems more logical to use the dedicated
icons from gnome-icon-theme instead.

https://bugzilla.gnome.org/show_bug.cgi?id=620374
2010-06-11 14:50:50 +02:00
016ab1afee [ShellMenu] remove; no longer used
https://bugzilla.gnome.org/show_bug.cgi?id=619541
2010-06-10 15:04:48 -04:00
748739ed9c [appDisplay] port from ShellMenu to PopupMenu
This fixes the style, and also makes it keyboard navigable

https://bugzilla.gnome.org/show_bug.cgi?id=619541
2010-06-10 15:04:48 -04:00
7fbf8ae4c9 [popupMenu] split this out from panel.js
We want to use this menu style in other places as well

https://bugzilla.gnome.org/show_bug.cgi?id=619541
2010-06-10 15:04:42 -04:00
9914754458 [css] Adjust transition durations
Jeremy does not like slow transitions - he's right.
2010-06-10 19:22:17 +02:00
5a94a1cf3f Updated Galician translations 2010-06-10 17:01:23 +02:00
afadeef204 Remove duplication of non_gir_sources, ensures we only need to add a file once
This also fixes shell-window-tracker-private.h not being in the dist.
2010-06-10 10:34:34 -04:00
f866707101 Updated Hebrew translation. 2010-06-10 12:21:16 +03:00
49919acb7c [StyleTransition] Improve style changes during transitions
Our behavior of reversing the animation when the widget's style
changes back to the previous one is sound. On the other hand, when
there's a change to a new style while a transition is active, we
simply cancel the ongoing transition. Updating the transition
correctly so that the new one starts from an intermediate state
is hard.
Nevertheless, if the style changes before any time of the transition
has elapsed, we should do better than the current behavior.

https://bugzilla.gnome.org/show_bug.cgi?id=621140
2010-06-10 04:06:13 +02:00
f76dae5ec8 Add missing shell-window-tracker-private.h file 2010-06-09 16:23:37 -04:00
bf6d0dc808 Associate process identifiers with applications
Cache the set of pids for an application, in preparation for
landing an XSMP patch which requires this information.

https://bugzilla.gnome.org/show_bug.cgi?id=619542
2010-06-09 14:44:15 -04:00
e4a6bf994f Fix ShellAppSystem's use of no_focus_window, clean up state handling
First, we were passing an incorrect timestamp to
meta_display_focus_the_no_focus_window - fix that.

The invocation of set_focus_app to the started app there couldn't
really work, because (if the above call had worked) we'd get the
X reply *after* the started app.

What we need to untangle here is the distinction that's now made in
ShellApp between _STATE_STARTING and _STATE_RUNNING.  A nice way to
start doing this is to rebase ShellWindowTracker to only be concerned
with app states.  Concretely, the current "has windows implies
running" logic now lives just inside shell-app.c.

Rename the app-running-changed signal to be app-state-changed.  This
will ultimately be useful so that inside the panel, we can track
the last started app.

https://bugzilla.gnome.org/show_bug.cgi?id=620899
2010-06-09 14:44:15 -04:00
3fe7b13959 [workspaceSwitcher] Constrain to monitor size
Currently the workspaceSwitcher does not take the screen size into account
which could result into overflowing the screen.

Fix that but using Shell.GenericContainer instead of St.BoxLayout which takes
the monitor size into account when allocating.

https://bugzilla.gnome.org/show_bug.cgi?id=620404
2010-06-09 19:09:48 +02:00
79aeb44bf8 [appWell] Add padding
Add padding to prevent text from hitting the egde of the box which looks
ugly.

https://bugzilla.gnome.org/show_bug.cgi?id=620997
2010-06-09 18:45:19 +02:00
51478f16ec [runDialog] Fix adding entries to empty history
Before adding a new entry to the history, we check that it does not
match the previous entry to cut down the number of duplicate entries.
Part of that condition is a check for a history length greater zero
to avoid an illegal negative index, with the side effect that nothing
is ever added while the history is empty.

https://bugzilla.gnome.org/show_bug.cgi?id=621123
2010-06-09 18:24:04 +02:00
528930d0a9 [Lightbox] Use a fade effect to smooth the transition
Add show()/hide() methods to Lightbox, which (optionally) fade the
lightbox. Change all lightboxes to fade in smoothly.

https://bugzilla.gnome.org/show_bug.cgi?id=602466
2010-06-09 17:07:10 +02:00
88be8e87ac [Overview] Fade dash menus
As the design calls for smooth transitions whenever possible, use
a similar fade effect for the all-apps and more-docs menus as for
the panel menus.

https://bugzilla.gnome.org/show_bug.cgi?id=620775
2010-06-09 17:07:10 +02:00
b83d5975b0 [appDisplay] Fix crash when app well is empty
When the app well doesn't contain any applications, it displays a placeholder text
to indicate that it's a drop target. When porting WellGrid from St.Bin to St.BoxLayout,
the call to set_child() to set the text was overlooked.
https://bugzilla.gnome.org/show_bug.cgi?id=617281
2010-06-09 17:41:09 +04:00
6ca2fd03bd update Punjabi Translation 2010-06-09 10:45:36 +05:30
87e5457095 [dash] Right align well icons for RTL locales
When changing the alignment of well icons from centered to left,
we should swap it for RTL locales.

https://bugzilla.gnome.org/show_bug.cgi?id=619236
2010-06-08 23:51:16 +02:00
cba49959c1 [dash] Left align well items
When the app well does not contain enough items to fill a single
row, items are centered - the same applies to sections in the
all-app menu.

https://bugzilla.gnome.org/show_bug.cgi?id=619236
2010-06-08 23:10:06 +02:00
7c5343a9fb [searchEntry] Update hover style
Make the hover style of the search entry more distinct, and use
a fade effect of about one second to transition from dim to bright.

https://bugzilla.gnome.org/show_bug.cgi?id=611095
2010-06-08 23:10:06 +02:00
0e91a213f5 [StThemeNodeTransition] Do not access CoglColor private members directly
We should not access CoglColor members directly since they are private starting with clutter 1.3.

Signed-off-by: Adel Gadllah <adel.gadllah@gmail.com>
2010-06-08 21:03:34 +02:00
466f661436 [dash] Add a fade effect when hovering over items
Use a subtle hover transition in order to avoid abrupt visual
changes.

https://bugzilla.gnome.org/show_bug.cgi?id=620782
2010-06-08 20:47:39 +02:00
dad80b3d20 [appWellIcon] Set correct style in constructor
Currently, only the base style class is set in the constructor, the
style update according to the state of the represented app is deferred
until the actor is shown.

As existing icons are destroyed and recreated when the number of icons
changes, this behavior causes the icons of running apps to flicker if
CSS transitions are used.

Set the style directly in the constructor and update the code to not
delay style updates until the actor is shown - StWidget does defer
expensive calculations until the actor is mapped anyway.

https://bugzilla.gnome.org/show_bug.cgi?id=620782
2010-06-08 20:47:39 +02:00
d96d07af10 [searchEntry] Correct some erroneous hover states
As the search entry captures the pointer when activated, the hover
state is not updated properly when the activation is cancelled
(either by clicking outside the entry or by hitting Escape).
Update the state manually in these cases.

https://bugzilla.gnome.org/show_bug.cgi?id=611095
2010-06-08 20:47:39 +02:00
0e40782723 [StWidget] Cancel transitions if duration is zero
The current code only sets up / updates transitions when the new
node's transition-duration is non-zero. It should cancel an
existing transition if the duration is 0.
2010-06-08 20:37:38 +02:00
7cc1cf3b4a [panel] Use the same fade effects as menus
Currently, the buttons change their background immediately when
activated, while the menus fade in quickly - instead, make buttons
use the same effect as the menus.

https://bugzilla.gnome.org/show_bug.cgi?id=619240
2010-06-08 19:32:16 +02:00
702f596c44 [boxPointer] implement the other arrowSide values
https://bugzilla.gnome.org/show_bug.cgi?id=619541
2010-06-08 12:19:42 -04:00
db45c0920b [StWidget] Support style transitions
It is sometimes desirable to fade smoothly between two styles
instead of changing it abruptly.
Add transitions controlled by the transition-duration CSS property.

https://bugzilla.gnome.org/show_bug.cgi?id=619025
2010-06-08 17:55:51 +02:00
d4a8c64d22 [StThemeNode] Add transition-duration CSS property
Add a CSS property to control style transitions.

https://bugzilla.gnome.org/show_bug.cgi?id=619025
2010-06-08 17:55:50 +02:00
0deffbaaf0 [St] Add StThemeNodeTransition
Introduce a small helper class in order to add transitions between
theme nodes to StWidget.

https://bugzilla.gnome.org/show_bug.cgi?id=619025
transition update
2010-06-08 17:55:50 +02:00
af3ca027a1 [StThemeNode] Add helper method to get the paint allocation
StThemeNodes may have properties - namely shadows - which paint
outside an actor's allocation. This is not a problem unless drawing
is redirected to an offscreen buffer, in which case the actually
painted size is needed in advance when setting up the buffer.

Add a convenience method to calculate an allocation large enough to
paint the node.

https://bugzilla.gnome.org/show_bug.cgi?id=619025
2010-06-08 17:55:41 +02:00
24a4ca0c6d [StThemeNode] Add a comparison function
Add st_theme_node_equal() - two nodes are considered equal iff they
refer to identical elements, so e.g. .example and .example:hover are
not equal, even if no .example:hover rule exists in the CSS.

https://bugzilla.gnome.org/show_bug.cgi?id=619025
2010-06-08 17:55:40 +02:00
e1a109b9be [panel] Fix translatable strings
There are some strings in panel.js which are not extracted correctly.
Fix by marking them correctly with double quotes and _().
2010-06-08 17:13:26 +02:00
8aeadcdf9a Don't try to track remote windows
Previously we were trying to match up remote windows with local
.desktop files, which is definitely wrong.  This patch simply
falls back to the app-from-window case for this; better handling
would need design.

https://bugzilla.gnome.org/show_bug.cgi?id=620855
2010-06-07 16:39:39 -04:00
68bc5baf12 Check for availability of mallinfo()
Fixes the build on FreeBSD.

Signed-off-by: Colin Walters <walters@verbum.org>
2010-06-07 10:37:00 -04:00
8da5c5f50e Remove incorrect parameter
Commit 730681aabc calls ClutterActor.hide() with a parameter, which
is wrong, but managed to sneak in when rebasing.
2010-06-06 21:43:03 +02:00
084ef99d10 [allApps] Reorder sections
Reorder the menu sections using a DefaultLayout element to
enforce Apps, Games, Tools rather relying on them
being ordered alphabetically.
2010-06-06 19:26:13 +02:00
730681aabc [Overview] Lightbox workspaces on menu popup
Overlay a translucent rectangle to dim the workspaces/dash rather
than setting the workspaces' opacity.
Also slightly darken all lightboxes.

https://bugzilla.gnome.org/show_bug.cgi?id=602466
2010-06-06 19:05:19 +02:00
efd30a0eef [l10n] Updated Italian translation 2010-06-06 14:48:25 +02:00
3d60245b18 Add sections to the all apps view
Separate out the main app view into different sections based on the categories
in the desktop file. The configuration is done via gmenu and the desktop menu
specification, we set XDG_MENU_PREFIX="gs-" on startup, so that gmenu reads
gs-applications.menu, which we install.

There is no support for "submenus" - only the menus directly under
Applications will be displayed as categories.
https://bugzilla.gnome.org/show_bug.cgi?id=614131
2010-06-06 02:53:27 +04:00
ccbf247970 Relayout on monitor layout changes
Currently we only relayout when the screen size changes, this gets
 the cases where a monitor gets added/removed but not when the primary
 monitor changes.

 We need to relayout on all monitor layout changes.

 Remove ShellGlobal::screen-size-changed signal as it is no longer used, Gdk is
 used to track changes now.

 A ShellGlobal::gdk-screen property is added for this purpose.

https://bugzilla.gnome.org/show_bug.cgi?id=620377
2010-06-04 15:20:04 +02:00
84efaac52b Exit the overview when activating most items
In all the cases where we activate GNOME 2 UI, e.g. the shutdown
dialog, pop out of the overview.  Otherwise, it's fairly broken
since you won't see the result of your action.

https://bugzilla.gnome.org/show_bug.cgi?id=620525
2010-06-03 20:29:26 -04:00
8f5aae6df6 Updated Galician translations 2010-06-03 23:35:02 +02:00
35f27ae150 [lookingGlass] Fix scrolling in errorLog
When setting line_wrap, we need to unset the ellipsization, otherwise
ClutterText won't do what we want.
2010-06-03 12:51:16 -04:00
d387a2d531 Updated Hebrew translation. 2010-06-03 16:32:11 +03:00
63d84533c9 [ClockButton] Add a right-click menu to the clock
The clock preferences are hardly discoverable, so allow launching
them from a right-click menu.

https://bugzilla.gnome.org/show_bug.cgi?id=600276
2010-06-03 11:43:58 +02:00
fe91f7fe9e [overview] Fix dnd on mulit screen setups
Currently we don't get any drop events for dual screen modes with a screen
at the right, and behave weird by hardcoding the screen size and 0 as drag
edges.

Fix that by spawning the drop group over the whole stage and take the primary monitors position and size into account in _handleDragOver.

https://bugzilla.gnome.org/show_bug.cgi?id=620378
2010-06-03 11:35:51 +02:00
cc163237cc [StEntry] Consider children when setting hover state
When hovering over the entry's ClutterText, the entry itself
currently receives a leave event and updates the hover state.
Apply the same logic as StWidget itself to treat children as
part of the entry.

https://bugzilla.gnome.org/show_bug.cgi?id=620381
2010-06-02 23:21:13 +02:00
4acb082b6e Added Indonesian translation
Added id into LINGUAS
2010-05-31 19:46:11 +07:00
929bf7f989 [lookingGlass] Don't connect multiple times to the "unmanaged" signal 2010-05-30 22:54:35 +02:00
e3eaa69948 Add ISO week dates to the calendar
This patch adds ISO week dates to the calendar. Week dates are an
often used feature in business and government offices. Can be turned
on through gconf, off by default.

https://bugzilla.gnome.org/show_bug.cgi?id=603532
2010-05-28 01:31:33 +02:00
155bee388d Updated Polish translation 2010-05-27 23:18:56 +02:00
2ca70e9e76 [workspaceSwitcher] Display on primary monitor
Display it only on the primary monitor to be consistent with other
elements like the appSwitcher, messageTray and the overview.

https://bugzilla.gnome.org/show_bug.cgi?id=619854
2010-05-27 20:10:19 +02:00
d31e905978 [appSwitcher] Display on primary monitor
Displaying it on the focused monitor seems to confuse users so revert back to
using the primary monitor as per designer's request.

https://bugzilla.gnome.org/show_bug.cgi?id=619854
2010-05-27 20:09:59 +02:00
a57a34c540 [linearView] Zoom out when dragging an item from the dash
When dragging windows in linear view, the workspace zooms out to
allow moving the window to other workspaces. Enable the same
behaviour for items dragged from the dash.

https://bugzilla.gnome.org/show_bug.cgi?id=618055
2010-05-27 12:12:10 +02:00
b3794f1c17 [linearView] Fix dnd to dash when zoomed out
While zoomed out, the workspaces view's drop target spans the entire
monitor to implement reactive screen edges. When a drop event is not
handled by the view, an attempt is made to pass it on down the stack,
but it doesn't work properly. Fix it by iterating the target's parents
as well.
Also improve the code which translates dnd coordinates to target
positions.

https://bugzilla.gnome.org/show_bug.cgi?id=619203
2010-05-27 12:12:10 +02:00
5b971a66ba [perf] Write UTC dates into performance logs
Instead of writing a local date without a timezone, write a UTC
date with a trailing Z.
2010-05-26 16:54:16 -04:00
77fcf68ea3 [chrome] Ignore fullscreen flag when in overview
Ignore the fullscreen flag when we are in the overview,
otherwise we might up not showing actors like the panel even though
they have visibleInOverview set to true.

https://bugzilla.gnome.org/show_bug.cgi?id=619693
2010-05-26 22:14:00 +02:00
15dd1164b7 [perf] replace frame count with accurately computed frame rate
Compute a frame rate for the period between:

 - User sees first frame of overview animation
 - User sees fully zoomed-out overview

And replace the current Frames count metrics with this. The
previous frame count metrics were actually over the period from
the start of the animation until the window labels finished
animating in; here we are careful to look at a more restricted
period.

https://bugzilla.gnome.org/show_bug.cgi?id=619521
2010-05-26 15:37:27 -04:00
0eeb62794d [perf] Add glx.swapComplete event
Add an event when we receive an event on buffer swap completion; we'll
only get this if Clutter is using the INTEL_swap_event GLX extension,
but it's useful to see the actual timing of video frames.

The recorded event includes the actual timestamp of the swap, since
we are given that in the GLX event - on my system it tends to be
consistently 80-100us before we log the event, but if something was
going wrong in event handling (too much synchronous work), then that
could could show up as a longer delay.

https://bugzilla.gnome.org/show_bug.cgi?id=619516
2010-05-26 15:37:27 -04:00
07cfb8d524 [perf] add tweener.framePrepareStart/Done events
Add events when we start preparing a frame and finish preparing
a frame. (In addition to measuring property-updating overhead, this allows
us to see the interval between finishing preparing a frame and starting
painting the frame, which is the relayout time.)

https://bugzilla.gnome.org/show_bug.cgi?id=619515
2010-05-26 15:37:27 -04:00
3e2a9a57a1 [dnd] Optionally restore the drag actor
Currently, the drag and drop code assumes that on a successful drop
the target will either consume the drag actor or that it is otherwise
OK to destroy the actor.
As the drag behavior for window preview was changed, dropping a preview
on the dash now results in the preview being swallowed - to fix, add an
option to restore the actor in case of a successful drop as well.

https://bugzilla.gnome.org/show_bug.cgi?id=619203
2010-05-26 14:06:53 +02:00
a0be7fa455 [panel] Hide application menu in overview
The activities overview is not a place where we expect users to
interact with a specific application, so showing the application
menu there is misleading.

https://bugzilla.gnome.org/show_bug.cgi?id=618479
2010-05-26 14:06:53 +02:00
a433a1c637 [StThemeNode] Make shadows respect paint opacity
Currently shadows disregard the overall opacity, so e.g. setting
an ancestor's opacity does not effect the shadow. Fix this by
deferring the setting of the shadow's color until it is painted.
Also move duplicated drawing code from st_theme_node_paint() into
its own function.

https://bugzilla.gnome.org/show_bug.cgi?id=619083
2010-05-25 23:03:15 +02:00
d05cf2445d [StWidget] Clean up private member variables
When moving the drawing code into StThemeNode, most private members
of StWidget became obsolete, so remove them.

https://bugzilla.gnome.org/show_bug.cgi?id=619025
2010-05-25 23:03:15 +02:00
764f5b62f0 [clockPreferences] Fix translations
The preference dialog for the panel clock does not set its gettext
domain, so it's not translated even if though translations are
already available.
Fix by setting the domain in the GtkBuilder file and binding the
domain to the locale directory.

https://bugzilla.gnome.org/show_bug.cgi?id=618873
2010-05-25 23:03:15 +02:00
03a0809e39 Use St.Group where appropriate
There are some places in the code where we use both fixed positioning
and CSS. Currently we use either a combination of ClutterGroup and StBin,
or we uses StBoxLayout with fixed positioning. Replace those with the new
StGroup container.

https://bugzilla.gnome.org/show_bug.cgi?id=613907
2010-05-25 23:03:14 +02:00
f0645d468c [StGroup] Respect CSS sizing in size requests
Currently the size of an StGroup depends exclusively on the group's
children - it should be possible to override this behaviour with
fixed values in the CSS.

https://bugzilla.gnome.org/show_bug.cgi?id=613907
2010-05-25 23:03:14 +02:00
179 changed files with 21583 additions and 7258 deletions

5
.gitignore vendored
View File

@ -20,6 +20,11 @@ data/gnome-shell.desktop
data/gnome-shell.desktop.in
data/gnome-shell-clock-preferences.desktop
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

View File

@ -1,5 +1,5 @@
AC_PREREQ(2.63)
AC_INIT([gnome-shell],[2.31.2],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
AC_INIT([gnome-shell],[2.91.0],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_SRCDIR([src/shell-global.c])
@ -33,6 +33,8 @@ PKG_PROG_PKG_CONFIG([0.22])
AC_PATH_PROG(GCONFTOOL, gconftool-2, no)
AM_GCONF_SOURCE_2
GLIB_GSETTINGS
# Get a value to substitute into gnome-shell.in
AM_PATH_PYTHON([2.5])
AC_SUBST(PYTHON)
@ -55,38 +57,39 @@ 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.2
GTK_MIN_VERSION=2.18.0
MUTTER_MIN_VERSION=2.91.0
GTK_MIN_VERSION=2.90.7
GIO_MIN_VERSION=2.25.9
# Collect more than 20 libraries for a prize!
PKG_CHECK_MODULES(MUTTER_PLUGIN, gio-unix-2.0 dbus-glib-1
gtk+-2.0 >= $GTK_MIN_VERSION
PKG_CHECK_MODULES(MUTTER_PLUGIN, gio-2.0 >= $GIO_MIN_VERSION
gio-unix-2.0 dbus-glib-1
gtk+-3.0 >= $GTK_MIN_VERSION
mutter-plugins >= $MUTTER_MIN_VERSION
gjs-gi-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)
# 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)
MUTTER_BIN_DIR=`$PKG_CONFIG --variable=exec_prefix mutter-plugins`/bin
# FIXME: metacity-plugins.pc should point directly to its .gir file
@ -104,6 +107,7 @@ AC_SUBST(GJS_JS_NATIVE_DIR)
AC_SUBST(GJS_CONSOLE)
AC_CHECK_FUNCS(fdwalk)
AC_CHECK_FUNCS(mallinfo)
AC_CHECK_HEADERS([sys/resource.h])
# Sets GLIB_GENMARSHAL and GLIB_MKENUMS
@ -149,14 +153,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,42 +23,79 @@ 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/dialog-error.svg \
theme/gnome-shell.css \
theme/mosaic-view-active.svg \
theme/mosaic-view.svg \
theme/move-window-on-new.svg \
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/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-back.svg \
theme/section-more.svg \
theme/section-more-open.svg \
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.accessibility.magnifier.gschema.xml \
org.gnome.shell.gschema.xml
schemadir = @GCONF_SCHEMA_FILE_DIR@
schema_DATA = gnome-shell.schemas
@INTLTOOL_XML_NOMERGE_RULE@
@GSETTINGS_RULES@
# We need to compile schemas at make time
# to run from source tree
gschemas.compiled: $(gsettings_SCHEMAS:.xml=.valid)
$(AM_V_GEN) $(GLIB_COMPILE_SCHEMAS) --targetdir=. .
all-local: gschemas.compiled
# GConf schemas: provide defaults for keys from Metacity we are overriding
gconfschemadir = @GCONF_SCHEMA_FILE_DIR@
gconfschema_DATA = gnome-shell.schemas
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)/$(schema_DATA)
GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) --makefile-install-rule $(srcdir)/$(gconfschema_DATA)
EXTRA_DIST = \
gnome-shell.desktop.in.in \
gnome-shell-clock-preferences.desktop.in.in \
$(schema_DATA)
$(menu_DATA) \
$(gconfschema_DATA) \
$(shaders_DATA) \
org.gnome.accessibility.magnifier.gschema.xml.in \
org.gnome.shell.gschema.xml.in
CLEANFILES = \
gnome-shell.desktop.in \
gnome-shell-clock-preferences.desktop.in \
$(desktop_DATA)
$(desktop_DATA) \
$(gsettings_SCHEMAS) \
gschemas.compiled

View File

@ -1,5 +1,5 @@
<?xml version="1.0"?>
<interface>
<interface domain="gnome-shell">
<requires lib="gtk+" version="2.16"/>
<!-- interface-naming-policy project-wide -->
<object class="GtkDialog" id="prefs-dialog">

View File

@ -1,219 +1,18 @@
<gconfschemafile>
<schemalist>
<!-- Metacity overrides -->
<schema>
<key>/schemas/desktop/gnome/shell/development_tools</key>
<applyto>/desktop/gnome/shell/development_tools</applyto>
<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>Enable internal tools useful for developers and testers from Alt-F2</short>
<long>
Allows access to internal debugging and monitoring tools using
the Alt-F2 dialog.
</long>
</locale>
</schema>
<schema>
<key>/schemas/desktop/gnome/shell/app_monitor/enable_monitoring</key>
<applyto>/desktop/gnome/shell/app_monitor/enable_monitoring</applyto>
<owner>gnome-shell</owner>
<type>bool</type>
<default>true</default>
<locale name="C">
<short>Whether to collect stats about applications usage</short>
<long>
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.
</long>
</locale>
</schema>
<schema>
<key>/schemas/desktop/gnome/shell/favorite_apps</key>
<applyto>/desktop/gnome/shell/favorite_apps</applyto>
<owner>gnome-shell</owner>
<type>list</type>
<list_type>string</list_type>
<default>[mozilla-firefox.desktop,evolution.desktop,openoffice.org-writer.desktop]</default>
<locale name="C">
<short>List of desktop file IDs for favorite applications</short>
<long>
The applications corresponding to these identifiers will be displayed in the favorites area.
</long>
</locale>
</schema>
<schema>
<key>/schemas/desktop/gnome/shell/run_dialog/history</key>
<applyto>/desktop/gnome/shell/run_dialog/history</applyto>
<owner>gnome-shell</owner>
<type>list</type>
<list_type>string</list_type>
<default>[]</default>
<locale name="C">
<short>History for command (Alt-F2) dialog</short>
</locale>
</schema>
<schema>
<key>/schemas/desktop/gnome/shell/clock/format</key>
<applyto>/desktop/gnome/shell/clock/format</applyto>
<owner>gnome-shell</owner>
<type>string</type>
<default>
<!-- Translators:
This controls whether the GNOME panel clock should display time
in 24 hour mode or 12 hour mode by default. The only valid values
for this are "24-hour" and "12-hour".
If your locale uses 24 hour time notation, translate this to
"24-hour".
If your locale uses 12 hour time notation with am/pm, translate
this to "12-hour".
Do NOT translate this into anything else than "24-hour" or
"12-hour". For example, if you translate this to "24 sata" or
anything else that isn't "24-hour" or "12-hour", things will
not work.
-->
24-hour
</default>
<locale name="C">
<short>Hour format</short>
<long>
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.
</long>
</locale>
</schema>
<schema>
<key>/schemas/desktop/gnome/shell/clock/custom_format</key>
<applyto>/desktop/gnome/shell/clock/custom_format</applyto>
<owner>gnome-shell</owner>
<type>string</type>
<default></default>
<locale name="C">
<short>Custom format of the clock</short>
<long>
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.
</long>
</locale>
</schema>
<schema>
<key>/schemas/desktop/gnome/shell/clock/show_seconds</key>
<applyto>/desktop/gnome/shell/clock/show_seconds</applyto>
<owner>gnome-shell</owner>
<type>bool</type>
<default>false</default>
<locale name="C">
<short>Show time with seconds</short>
<long>
If true and format is either "12-hour" or "24-hour",
display seconds in time.
</long>
</locale>
</schema>
<schema>
<key>/schemas/desktop/gnome/shell/clock/show_date</key>
<applyto>/desktop/gnome/shell/clock/show_date</applyto>
<owner>gnome-shell</owner>
<type>bool</type>
<default>false</default>
<locale name="C">
<short>Show date in clock</short>
<long>
If true and format is either "12-hour" or "24-hour",
display date in the clock, in addition to time.
</long>
</locale>
</schema>
<schema>
<key>/schemas/desktop/gnome/shell/disabled_extensions</key>
<applyto>/desktop/gnome/shell/disabled_extensions</applyto>
<owner>gnome-shell</owner>
<type>list</type>
<list_type>string</list_type>
<default>[]</default>
<locale name="C">
<short>Uuids of extensions to disable</short>
<short>Attach modal dialog to the parent window</short>
<long>
GNOME Shell extensions have a uuid property; this key lists extensions which should not be loaded.
</long>
</locale>
</schema>
<schema>
<key>/schemas/desktop/gnome/shell/recorder/framerate</key>
<applyto>/desktop/gnome/shell/recorder/framerate</applyto>
<owner>gnome-shell</owner>
<type>int</type>
<default>15</default>
<locale name="C">
<short>Framerate used for recording screencasts.</short>
<long>
The framerate of the resulting screencast recordered by GNOME Shell's screencast recorder in frames-per-second.
</long>
</locale>
</schema>
<schema>
<key>/schemas/desktop/gnome/shell/recorder/pipeline</key>
<applyto>/desktop/gnome/shell/recorder/pipeline</applyto>
<owner>gnome-shell</owner>
<type>string</type>
<default></default>
<locale name="C">
<short>The gstreamer pipeline used to encode the screencast</short>
<long>
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.
</long>
</locale>
</schema>
<schema>
<key>/schemas/desktop/gnome/shell/recorder/file_extension</key>
<applyto>/desktop/gnome/shell/recorder/file_extension</applyto>
<owner>gnome-shell</owner>
<type>string</type>
<default>ogv</default>
<locale name="C">
<short>File extension used for storing the screencast</short>
<long>
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.
</long>
</locale>
</schema>
<schema>
<key>/schemas/desktop/gnome/shell/overview/workspaces_view</key>
<applyto>/desktop/gnome/shell/overview/workspaces_view</applyto>
<owner>gnome-shell</owner>
<type>string</type>
<default>single</default>
<locale name="C">
<short>Overview workspace view mode</short>
<long>
The selected workspace view mode in the overview.
Supported values are "single" and "grid".
This key overrides /apps/mutter/general/attach_modal_dialogs when
running GNOME Shell.
</long>
</locale>
</schema>
@ -244,200 +43,24 @@
</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>
</locale>
</schema>
<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.
<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>
<owner>gnome-shell</owner>
<type>string</type>
<default>#ff0000</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>
<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/side_by_side_tiling when
running GNOME Shell.
</long>
</locale>
</schema>
</schemalist>
</gconfschemafile>

44
data/gs-applications.menu Normal file
View File

@ -0,0 +1,44 @@
<Menu>
<DefaultLayout>
<Menuname>Apps</Menuname>
<Menuname>Games</Menuname>
<Menuname>Tools</Menuname>
</DefaultLayout>
<Name>Applications</Name>
<DefaultAppDirs/>
<Menu>
<Name>Games</Name>
<Include>
<And>
<Category>Game</Category>
</And>
</Include>
</Menu>
<Menu>
<Name>Tools</Name>
<Include>
<Category>Development</Category>
<And>
<Category>System</Category>
<Not>
<Category>Settings</Category>
</Not>
</And>
<Category>Utility</Category>
</Include>
</Menu>
<Menu>
<Name>Apps</Name>
<OnlyUnallocated/>
<Include>
<And>
<Or>
<Category>Documentation</Category>
<Not><Category>Core</Category></Not>
</Or>
<Not><Category>Settings</Category></Not>
<Not><Category>Screensaver</Category></Not>
</And>
</Include>
</Menu>
</Menu>

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>'centered'</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>'bottom-half'</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

@ -0,0 +1,158 @@
<schemalist>
<schema id="org.gnome.shell" path="/apps/gnome-shell/"
gettext-domain="@GETTEXT_PACKAGE@">
<key name="development-tools" type="b">
<default>true</default>
<_summary>
Enable internal tools useful for developers and testers from Alt-F2
</_summary>
<_description>
Allows access to internal debugging and monitoring tools
using the Alt-F2 dialog.
</_description>
</key>
<key name="disabled-extensions" type="as">
<default>[]</default>
<_summary>Uuids of extensions to disable</_summary>
<_description>
GNOME Shell extensions have a uuid property;
this key lists extensions which should not be loaded.
</_description>
</key>
<key name="enable-app-monitoring" type="b">
<default>true</default>
<_summary>Whether to collect stats about applications usage</_summary>
<_description>
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.
</_description>
</key>
<key name="favorite-apps" type="as">
<default>[ 'mozilla-firefox.desktop', 'evolution.desktop', 'openoffice.org-writer.desktop' ]</default>
<_summary>List of desktop file IDs for favorite applications</_summary>
<_description>
The applications corresponding to these identifiers
will be displayed in the favorites area.
</_description>
</key>
<key name="command-history" type="as">
<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"/>
</schema>
<schema id="org.gnome.shell.calendar" path="/apps/gnome-shell/calendar/"
gettext-domain="@GETTEXT_PACKAGE@">
<key name="show-weekdate" type="b">
<default>false</default>
<_summary>Show the week date in the calendar</_summary>
<_description>
If true, display the ISO week date in the calendar.
</_description>
</key>
</schema>
<schema id="org.gnome.shell.clock" path="/apps/gnome-shell/clock/"
gettext-domain="@GETTEXT_PACKAGE@">
<key name="format" type="s">
<default l10n="messages" context="hour_format">
<!-- TRANSLATORS: This is the default hour format, choose ONLY '12-hour' or '24-hour'. -->
"12-hour"
</default>
<_summary>Hour format</_summary>
<_description>
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.
</_description>
<choices>
<choice value="12-hour"/>
<choice value="24-hour"/>
<choice value="unix"/>
<choice value="custom"/>
</choices>
</key>
<key name="custom-format" type="s">
<default>''</default>
<_summary>Custom format of the clock</_summary>
<_description>
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.
</_description>
</key>
<key name="show-seconds" type="b">
<default>false</default>
<_summary>Show time with seconds</_summary>
<_description>
If true and format is either "12-hour" or "24-hour", display seconds in time.
</_description>
</key>
<key name="show-date" type="b">
<default>false</default>
<_summary>Show date in clock</_summary>
<_description>
If true and format is either "12-hour" or "24-hour",
display date in the clock, in addition to time.
</_description>
</key>
</schema>
<schema id="org.gnome.shell.recorder" path="/apps/gnome-shell/recorder/"
gettext-domain="@GETTEXT_PACKAGE@">
<key name="framerate" type="i">
<default>15</default>
<_summary>Framerate used for recording screencasts.</_summary>
<_description>
The framerate of the resulting screencast recordered
by GNOME Shell's screencast recorder in frames-per-second.
</_description>
</key>
<key name="pipeline" type="s">
<default>''</default>
<_summary>The gstreamer pipeline used to encode the screencast</_summary>
<_description>
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.
</_description>
</key>
<key name="file-extension" type="s">
<default>'ogv'</default>
<_summary>File extension used for storing the screencast</_summary>
<_description>
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.
</_description>
</key>
</schema>
</schemalist>

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

@ -30,15 +30,22 @@
color: rgba(0,0,0,0.5);
}
.label-real-shadow {
background-gradient-direction: horizontal;
background-gradient-start: rgba(0, 0, 0, 0);
background-gradient-end: rgba(0, 0, 0, 255);
width: 10px;
}
StScrollBar
{
padding: 0px;
}
StScrollView
StScrollView StScrollBar
{
scrollbar-width: 16px;
scrollbar-height: 16px;
min-width: 16px;
min-height: 16px;
}
StScrollView > .top-shadow
@ -57,7 +64,7 @@ StScrollView > .bottom-shadow
height: 30px;
}
StScrollBar {
StScrollBar StBin#trough {
background-color: #080808;
border: 1px solid #2d2d2d;
border-radius: 8px;
@ -93,6 +100,83 @@ StTooltip {
color: #ffffff;
}
/* PopupMenu */
.popup-menu-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;
}
.popup-menu {
color: #ffffff;
font-size: 16px;
min-width: 200px;
}
/* The remaining popup-menu sizing is all done in ems, so that if you
* override .popup-menu.font-size, everything else will scale with it.
*/
.popup-menu-content {
padding: 1em .5em;
}
.popup-menu-item {
padding: .4em 1.25em;
}
.popup-menu-item:active {
background-color: #4c4c4c;
}
.popup-image-menu-item {
spacing: .75em;
}
.popup-switch-menu-item {
spacing: 2em;
}
.popup-separator-menu-item {
-gradient-height: 2px;
-gradient-start: rgba(8,8,8,0);
-gradient-end: #333333;
-margin-horizontal: 1.5em;
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;
}
/* 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 {
@ -114,50 +198,6 @@ StTooltip {
padding-left: 4px;
}
.panel-button:pressed {
background-color: rgba(50,76,111,0.98);
border-radius: 4px 4px 0px 0px;
}
.panel-menu-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;
}
.panel-menu {
color: #ffffff;
font-size: 16px;
min-width: 200px;
}
.panel-menu-content {
padding: 10px 0px;
}
.panel-menu-item {
padding: 6px 20px;
}
.panel-menu-item:active {
background-color: #4c4c4c;
}
.panel-image-menu-item {
spacing: 12px;
}
.panel-separator-menu-item {
-gradient-height: 2px;
-gradient-start: rgba(8,8,8,0);
-gradient-end: #333333;
-margin-horizontal: 30px;
height: 16px;
}
#appMenu {
spacing: 4px;
}
@ -174,6 +214,7 @@ StTooltip {
border-radius-bottomright: 0px;
font: 16px sans-serif;
font-weight: bold;
transition-duration: 100;
}
.panel-button:active, .panel-button:checked, .panel-button:pressed {
@ -198,7 +239,12 @@ StTooltip {
spacing: 14px;
}
#statusTray:compact {
#legacyTray {
spacing: 14px;
padding-left: 14px;
}
#legacyTray:compact {
spacing: 8px;
}
@ -367,6 +413,7 @@ StTooltip {
caret-color: #fff;
caret-size: 1px;
height: 16px;
transition-duration: 300;
}
#searchEntry:focus {
@ -375,10 +422,15 @@ StTooltip {
background-color: #e8e8e8;
caret-color: #545454;
-st-shadow: 0px 0px 6px 2px rgba(255,255,255,0.9);
transition-duration: 0;
}
#searchEntry:hover {
border: 1px solid #767676;
color: #a8a8a8;
border: 1px solid #4d4d4d;
background-color: #e8e8e8;
caret-color: #545454;
transition-duration: 500;
}
.dash-section {
@ -396,20 +448,6 @@ StTooltip {
padding: 4px 0px;
}
.section-header-back {
padding: 0px 4px 0px 0px;
border-right: 1px solid #262626;
}
.section-header-back-image {
background-image: url("section-back.svg");
width: 12px;
height: 16px;
}
.section-count {
}
.dash-section-content {
color: #ffffff;
spacing: 8px;
@ -438,8 +476,13 @@ StTooltip {
padding: 30px 10px 10px 20px;
}
#dashAppSearchResults {
padding: 8px 0px;
}
.dash-search-statustext,
.dash-search-section-header {
padding: 6px 0px;
padding: 4px 0px;
spacing: 4px;
}
@ -508,7 +551,7 @@ StTooltip {
width: 440px;
}
#dashAppWell {
.icon-grid {
spacing: 6px;
-shell-grid-item-size: 70px;
}
@ -520,6 +563,16 @@ StTooltip {
color: #ffffff;
}
.app-section-divider-container {
padding-top: 10px;
padding-bottom: 10px;
}
.app-section-divider {
height: 2px;
background-image: url("separator-white.png");
}
.all-app-controls-panel {
height: 30px;
}
@ -533,10 +586,12 @@ StTooltip {
.app-well-app {
border: 1px solid #181818;
border-radius: 4px;
padding: 2px;
padding: 4px;
width: 70px;
height: 70px;
font-size: 10px;
transition-duration: 100;
text-align: center;
}
.app-well-app.running {
@ -554,6 +609,7 @@ StTooltip {
background-gradient-direction: vertical;
background-gradient-start: rgba(61,61,61,0.8);
background-gradient-end: rgba(24,24,24,0.2);
transition-duration: 100;
}
.app-well-app:active {
@ -562,28 +618,7 @@ StTooltip {
}
.app-well-menu {
border: 1px solid #5f5f5f;
border-radius: 4px;
padding: 4px;
background-color: rgba(0,0,0,0.9);
color: #ffffff;
spacing: 4px;
}
.app-well-menu-arrow {
border-color: #5f5f5f;
color: rgba(0,0,0,0.9);
width: 12px;
}
.app-well-menu-item:hover {
background-color: #1e1e1e;
}
.app-well-menu-separator {
padding-top: 1px;
border-bottom: 1px solid #5f5f5f;
height: 1px;
font-size: 12px
}
/* Places */
@ -603,6 +638,7 @@ StTooltip {
border: 1px solid #181818;
padding-left: 4px;
padding-right: 4px;
transition-duration: 100;
}
.places-item:hover {
@ -610,6 +646,7 @@ StTooltip {
background-gradient-direction: vertical;
background-gradient-start: rgba(61,61,61,0.8);
background-gradient-end: rgba(24,24,24,0.2);
transition-duration: 100;
}
/* Recent items */
@ -624,6 +661,7 @@ StTooltip {
border: 1px solid #181818;
padding-left: 4px;
padding-right: 4px;
transition-duration: 100;
}
.recent-docs-item:hover {
@ -631,6 +669,7 @@ StTooltip {
background-gradient-direction: vertical;
background-gradient-start: rgba(61,61,61,0.8);
background-gradient-end: rgba(24,24,24,0.2);
transition-duration: 100;
}
/* LookingGlass */
@ -806,7 +845,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 {
@ -814,15 +853,19 @@ 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;
}
.multi-line-notification {
padding-bottom: 8px;
}
#summary-notification-bin #notification {
/* message-tray.height + notification.padding-bottom */
padding-bottom: 38px;
padding-bottom: 44px;
}
#notification-scrollview {
@ -842,39 +885,70 @@ 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);
}
.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
@ -885,18 +959,33 @@ StTooltip {
* icons, because then the summary would be 0x0 when there were no
* 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...
*/
#summary-mode {
spacing: 6px;
padding: 2px 0px 0px 4px;
height: 36px;
}
.summary-icon {
padding: 0px 4px 2px 0px;
.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;
}
.calendar-calendarweek {
color: #666666;
}
/* App Switcher */
@ -983,6 +1072,10 @@ StTooltip {
}
/* Workspace Switcher */
.workspace-switcher-group {
padding: 12px;
}
.workspace-switcher-container {
background: rgba(0,0,0,0.8);
border: 1px solid rgba(128,128,128,0.40);
@ -999,7 +1092,7 @@ StTooltip {
}
.ws-switcher-active-left {
height: 98px;
height: 100px;
border: 0px;
background: rgba(255,255,255,0.5);
background-image: url("ws-switch-arrow-left.svg");
@ -1007,7 +1100,7 @@ StTooltip {
}
.ws-switcher-active-right {
height: 98px;
height: 100px;
border: 0px;
background: rgba(255,255,255,0.5);
background-image: url("ws-switch-arrow-right.svg");
@ -1053,7 +1146,7 @@ StTooltip {
}
.lightbox {
background-color: rgba(0, 0, 0, 0.27);
background-color: rgba(0, 0, 0, 0.4);
}
/* Magnifier */

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
<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" version="1.0" id="Foreground" x="0px" y="0px" width="12" height="16" viewBox="0 0 12 16" enable-background="new 0 0 29 18" xml:space="preserve" sodipodi:version="0.32" inkscape:version="0.46+devel" sodipodi:docname="back.svg" inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata id="metadata16"><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/></cc:Work></rdf:RDF></metadata><defs id="defs14"><inkscape:perspective sodipodi:type="inkscape:persp3d" inkscape:vp_x="0 : 9 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_z="29 : 9 : 1" inkscape:persp3d-origin="14.5 : 6 : 1" id="perspective18"/></defs><sodipodi:namedview inkscape:window-height="728" inkscape:window-width="1103" inkscape:pageshadow="2" inkscape:pageopacity="1" guidetolerance="10.0" gridtolerance="10.0" objecttolerance="10.0" borderopacity="1.0" bordercolor="#666666" pagecolor="#000000" id="base" showgrid="true" inkscape:zoom="27.260185" inkscape:cx="12.592456" inkscape:cy="8.2696842" inkscape:window-x="145" inkscape:window-y="38" inkscape:current-layer="Foreground" inkscape:snap-global="true" showguides="false"><inkscape:grid type="xygrid" id="grid2391" empspacing="5" visible="true" enabled="true" snapvisiblegridlinesonly="true"/></sodipodi:namedview>
<path style="fill: rgb(255, 255, 255); fill-opacity: 1; stroke: none;" d="M 10,2 10,14 2,8 10,2 z" id="path43"/></svg>

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 531 B

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,52 @@
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/shellDBus.js \
ui/statusIconDispatcher.js \
ui/statusMenu.js \
ui/status/accessibility.js \
ui/telepathyClient.js \
ui/tweener.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

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

View File

@ -17,13 +17,13 @@ function makeProxyClass(iface) {
}
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

View File

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

View File

@ -12,15 +12,15 @@ let METRICS = {
overviewLatencyFirst:
{ description: "Time to first frame after triggering overview, first time",
units: "us" },
overviewFramesFirst:
{ description: "Frames displayed when going to overview, first time",
units: "frames" },
overviewFpsFirst:
{ description: "Frame rate when going to the overview, first time",
units: "frames / s" },
overviewLatencySubsequent:
{ description: "Time to first frame after triggering overview, second time",
units: "us"},
overviewFramesSubsequent:
{ description: "Frames displayed when going to overview, second time",
units: "us" },
overviewFpsSubsequent:
{ description: "Frames rate when going to the overview, second time",
units: "frames / s" },
usedAfterOverview:
{ description: "Malloc'ed bytes after the overview is shown once",
units: "B" },
@ -34,14 +34,17 @@ function run() {
Scripting.defineScriptEvent("overviewShowDone", "Overview finished showing");
Scripting.defineScriptEvent("afterShowHide", "After a show/hide cycle for the overview");
Main.overview.connect('shown', function() {
Scripting.scriptEvent('overviewShowDone');
});
yield Scripting.sleep(1000);
yield Scripting.waitLeisure();
for (let i = 0; i < 2; i++) {
Scripting.scriptEvent('overviewShowStart');
Main.overview.show();
yield Scripting.waitLeisure();
Scripting.scriptEvent('overviewShowDone');
yield Scripting.waitLeisure();
Main.overview.hide();
yield Scripting.waitLeisure();
@ -53,31 +56,27 @@ function run() {
}
let showingOverview = false;
let finishedShowingOverview = false;
let overviewShowStart;
let overviewFrames;
let overviewLatency;
let mallocUsedSize = 0;
let overviewShowCount = 0;
let firstOverviewUsedSize;
let haveSwapComplete = false;
function script_overviewShowStart(time) {
showingOverview = true;
finishedShowingOverview = false;
overviewShowStart = time;
overviewFrames = 0;
}
function script_overviewShowDone(time) {
showingOverview = false;
overviewShowCount++;
if (overviewShowCount == 1) {
METRICS.overviewLatencyFirst.value = overviewLatency;
METRICS.overviewFramesFirst.value = overviewFrames;
} else {
METRICS.overviewLatencySubsequent.value = overviewLatency;
METRICS.overviewFramesSubsequent.value = overviewFrames;
}
// We've set up the state at the end of the zoom out, but we
// need to wait for one more frame to paint before we count
// ourselves as done.
finishedShowingOverview = true;
}
function script_afterShowHide(time) {
@ -92,11 +91,50 @@ function malloc_usedSize(time, bytes) {
mallocUsedSize = bytes;
}
function clutter_stagePaintDone(time) {
function _frameDone(time) {
if (showingOverview) {
if (overviewFrames == 0)
overviewLatency = time - overviewShowStart;
overviewFrames++;
}
if (finishedShowingOverview) {
showingOverview = false;
finishedShowingOverview = false;
overviewShowCount++;
let dt = (time - (overviewShowStart + overviewLatency)) / 1000000;
// If we see a start frame and an end frame, that would
// be 1 frame for a FPS computation, hence the '- 1'
let fps = (overviewFrames - 1) / dt;
if (overviewShowCount == 1) {
METRICS.overviewLatencyFirst.value = overviewLatency;
METRICS.overviewFpsFirst.value = fps;
} else {
METRICS.overviewLatencySubsequent.value = overviewLatency;
METRICS.overviewFpsSubsequent.value = fps;
}
}
}
function glx_swapComplete(time, swapTime) {
haveSwapComplete = true;
_frameDone(swapTime);
}
function clutter_stagePaintDone(time) {
// If we aren't receiving GLXBufferSwapComplete events, then we approximate
// the time the user sees a frame with the time we finished doing drawing
// commands for the frame. This doesn't take into account the time for
// the GPU to finish painting, and the time for waiting for the buffer
// swap, but if this are uniform - every frame takes the same time to draw -
// then it won't upset our FPS calculation, though the latency value
// will be slightly too low.
if (!haveSwapComplete)
_frameDone(time);
}

View File

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

View File

@ -1,16 +1,17 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
const Gio = imports.gi.Gio;
const GLib = imports.gi.GLib;
const Gtk = imports.gi.Gtk;
const GConf = imports.gi.GConf;
const Lang = imports.lang;
const Signals = imports.signals;
const GCONF_DIR = '/desktop/gnome/shell/clock';
const FORMAT_KEY = GCONF_DIR + '/format';
const SHOW_DATE_KEY = GCONF_DIR + '/show_date';
const SHOW_SECONDS_KEY = GCONF_DIR + '/show_seconds';
const Gettext = imports.gettext;
const FORMAT_KEY = 'format';
const SHOW_DATE_KEY = 'show-date';
const SHOW_SECONDS_KEY = 'show-seconds';
function ClockPreferences(uiFile) {
@ -32,25 +33,25 @@ ClockPreferences.prototype = {
delete builder;
this._gconf = GConf.Client.get_default();
this._gconf.add_dir(GCONF_DIR, GConf.ClientPreloadType.PRELOAD_NONE);
this._notifyId = this._gconf.notify_add(GCONF_DIR,
this._settings = new Gio.Settings({ schema: 'org.gnome.shell.clock' });
this._notifyId = this._settings.connect('changed',
Lang.bind(this,
this._updateDialog));
this._12hrRadio.connect('toggled', Lang.bind(this,
function() {
let format = this._12hrRadio.active ? '12-hour' : '24-hour';
this._gconf.set_string(FORMAT_KEY, format);
this._settings.set_string(FORMAT_KEY, format);
}));
this._dateCheck.connect('toggled', Lang.bind(this,
function() {
this._gconf.set_bool(SHOW_DATE_KEY, this._dateCheck.active);
this._settings.set_boolean(SHOW_DATE_KEY,
this._dateCheck.active);
}));
this._secondsCheck.connect('toggled', Lang.bind(this,
function() {
this._gconf.set_bool(SHOW_SECONDS_KEY,
this._secondsCheck.active);
this._settings.set_boolean(SHOW_SECONDS_KEY,
this._secondsCheck.active);
}));
this._updateDialog();
@ -61,17 +62,17 @@ ClockPreferences.prototype = {
},
_updateDialog: function() {
let format = this._gconf.get_string(FORMAT_KEY);
let format = this._settings.get_string(FORMAT_KEY);
this._12hrRadio.active = (format == "12-hour");
this._24hrRadio.active = (format == "24-hour");
this._dateCheck.active = this._gconf.get_bool(SHOW_DATE_KEY);
this._secondsCheck.active = this._gconf.get_bool(SHOW_SECONDS_KEY);
this._dateCheck.active = this._settings.get_boolean(SHOW_DATE_KEY);
this._secondsCheck.active = this._settings.get_boolean(SHOW_SECONDS_KEY);
},
_onResponse: function() {
this._dialog.destroy();
this._gconf.notify_remove(this._notifyId);
this._settings.disconnect(this._notifyId);
this.emit('destroy');
}
};
@ -80,6 +81,9 @@ Signals.addSignalMethods(ClockPreferences.prototype);
function main(params) {
if ('progName' in params)
GLib.set_prgname(params['progName']);
if ('localeDir' in params)
Gettext.bindtextdomain('gnome-shell', params['localeDir']);
Gtk.init(null, null);
let clockPrefs = new ClockPreferences(params['uiFile']);

View File

@ -1,38 +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 \
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;
@ -15,12 +13,13 @@ const Tweener = imports.ui.tweener;
const POPUP_APPICON_SIZE = 96;
const POPUP_SCROLL_TIME = 0.10; // seconds
const POPUP_FADE_TIME = 0.1; // seconds
const DISABLE_HOVER_TIMEOUT = 500; // milliseconds
const THUMBNAIL_DEFAULT_SIZE = 256;
const THUMBNAIL_POPUP_TIME = 500; // milliseconds
const THUMBNAIL_FADE_TIME = 0.2; // seconds
const THUMBNAIL_FADE_TIME = 0.1; // seconds
const iconSizes = [96, 64, 48, 32, 22];
@ -69,7 +68,7 @@ AltTabPopup.prototype = {
_allocate: function (actor, box, flags) {
let childBox = new Clutter.ActorBox();
let focus = global.get_focus_monitor();
let primary = global.get_primary_monitor();
let leftPadding = this.actor.get_theme_node().get_padding(St.Side.LEFT);
let rightPadding = this.actor.get_theme_node().get_padding(St.Side.RIGHT);
@ -79,11 +78,11 @@ AltTabPopup.prototype = {
// Allocate the appSwitcher
// We select a size based on an icon size that does not overflow the screen
let [childMinHeight, childNaturalHeight] = this._appSwitcher.actor.get_preferred_height(focus.width - hPadding);
let [childMinHeight, childNaturalHeight] = this._appSwitcher.actor.get_preferred_height(primary.width - hPadding);
let [childMinWidth, childNaturalWidth] = this._appSwitcher.actor.get_preferred_width(childNaturalHeight);
childBox.x1 = Math.max(focus.x + leftPadding, focus.x + Math.floor((focus.width - childNaturalWidth) / 2));
childBox.x2 = Math.min(childBox.x1 + focus.width - hPadding, childBox.x1 + childNaturalWidth);
childBox.y1 = focus.y + Math.floor((focus.height - childNaturalHeight) / 2);
childBox.x1 = Math.max(primary.x + leftPadding, primary.x + Math.floor((primary.width - childNaturalWidth) / 2));
childBox.x2 = Math.min(childBox.x1 + primary.width - hPadding, childBox.x1 + childNaturalWidth);
childBox.y1 = primary.y + Math.floor((primary.height - childNaturalHeight) / 2);
childBox.y2 = childBox.y1 + childNaturalHeight;
this._appSwitcher.actor.allocate(childBox, flags);
@ -97,10 +96,10 @@ AltTabPopup.prototype = {
let [posX, posY] = icon.get_transformed_position();
let thumbnailCenter = posX + icon.width / 2;
let [childMinWidth, childNaturalWidth] = this._thumbnails.actor.get_preferred_width(-1);
childBox.x1 = Math.max(focus.x + leftPadding, Math.floor(thumbnailCenter - childNaturalWidth / 2));
if (childBox.x1 + childNaturalWidth > focus.x + focus.width - hPadding) {
let offset = childBox.x1 + childNaturalWidth - focus.width + hPadding;
childBox.x1 = Math.max(focus.x + leftPadding, childBox.x1 - offset - hPadding);
childBox.x1 = Math.max(primary.x + leftPadding, Math.floor(thumbnailCenter - childNaturalWidth / 2));
if (childBox.x1 + childNaturalWidth > primary.x + primary.width - hPadding) {
let offset = childBox.x1 + childNaturalWidth - primary.width + hPadding;
childBox.x1 = Math.max(primary.x + leftPadding, childBox.x1 - offset - hPadding);
}
let [found, spacing] = this.actor.get_theme_node().get_length('spacing', false);
@ -108,10 +107,10 @@ AltTabPopup.prototype = {
spacing = 0;
childBox.x2 = childBox.x1 + childNaturalWidth;
if (childBox.x2 > focus.x + focus.width - rightPadding)
childBox.x2 = focus.x + focus.width - rightPadding;
if (childBox.x2 > primary.x + primary.width - rightPadding)
childBox.x2 = primary.x + primary.width - rightPadding;
childBox.y1 = this._appSwitcher.actor.allocation.y2 + spacing;
this._thumbnails.addClones(focus.height - bottomPadding - childBox.y1);
this._thumbnails.addClones(primary.height - bottomPadding - childBox.y1);
let [childMinHeight, childNaturalHeight] = this._thumbnails.actor.get_preferred_height(-1);
childBox.y2 = childBox.y1 + childNaturalHeight;
this._thumbnails.actor.allocate(childBox, flags);
@ -180,6 +179,14 @@ AltTabPopup.prototype = {
return false;
}
this.actor.opacity = 0;
this.actor.show();
Tweener.addTween(this.actor,
{ opacity: 255,
time: POPUP_FADE_TIME,
transition: 'easeOutQuad'
});
return true;
},
@ -208,38 +215,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);
}
@ -247,9 +261,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;
@ -352,7 +367,15 @@ AltTabPopup.prototype = {
},
destroy : function() {
this.actor.destroy();
Tweener.addTween(this.actor,
{ opacity: 0,
time: POPUP_FADE_TIME,
transition: 'easeOutQuad',
onComplete: Lang.bind(this,
function() {
this.actor.destroy();
})
});
},
_onDestroy : function() {
@ -601,7 +624,7 @@ SwitcherList.prototype = {
this._items[this._highlighted].style_class = 'selected-item-box';
}
let monitor = global.get_focus_monitor();
let monitor = global.get_primary_monitor();
let itemSize = this._items[index].allocation.x2 - this._items[index].allocation.x1;
let [posX, posY] = this._items[index].get_transformed_position();
posX += this.actor.x;
@ -629,7 +652,7 @@ SwitcherList.prototype = {
_scrollToRight : function() {
this._scrollableLeft = true;
let monitor = global.get_focus_monitor();
let monitor = global.get_primary_monitor();
let padding = this.actor.get_theme_node().get_horizontal_padding();
let parentPadding = this.actor.get_parent().get_theme_node().get_horizontal_padding();
let x = this._items[this._highlighted].allocation.x2 - monitor.width + padding + parentPadding;
@ -726,9 +749,9 @@ SwitcherList.prototype = {
let children = this._list.get_children();
let childBox = new Clutter.ActorBox();
let focus = global.get_focus_monitor();
let primary = global.get_primary_monitor();
let parentRightPadding = this.actor.get_parent().get_theme_node().get_padding(St.Side.RIGHT);
if (this.actor.allocation.x2 == focus.x + focus.width - parentRightPadding) {
if (this.actor.allocation.x2 == primary.x + primary.width - parentRightPadding) {
if (this._squareItems)
childWidth = childHeight;
else {
@ -841,8 +864,6 @@ AppSwitcher.prototype = {
_getPreferredHeight: function (actor, forWidth, alloc) {
let j = 0;
let height = 0;
while(this._items.length > 1 && this._items[j].style_class != 'item-box') {
j++;
}
@ -853,11 +874,17 @@ AppSwitcher.prototype = {
if (this._separator)
totalSpacing += this._separator.width + this._list.spacing;
// We just assume the whole screen here due to weirdness happing with the passed width
let focus = global.get_focus_monitor();
let parentPadding = this.actor.get_parent().get_theme_node().get_horizontal_padding();
let availWidth = focus.width - parentPadding - this.actor.get_theme_node().get_horizontal_padding();
let height = 0;
for(let i = 0; i < iconSizes.length; i++) {
this._iconSize = iconSizes[i];
height = iconSizes[i] + iconSpacing;
let w = height * this._items.length + totalSpacing;
if (w <= forWidth)
if (w <= availWidth)
break;
}

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,23 +12,27 @@ 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 WELL_MAX_COLUMNS = 16;
const WELL_MAX_SEARCH_ROWS = 1;
const MENU_POPUP_TIMEOUT = 600;
function AllAppView() {
function AlphabeticalView() {
this._init();
}
AllAppView.prototype = {
_init: function(apps) {
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 });
},
@ -42,17 +43,17 @@ AllAppView.prototype = {
},
_addApp: function(app) {
let App = new AppWellIcon(this._appSystem.get_app(app.get_id()));
App.connect('launching', Lang.bind(this, function() {
let appIcon = new AppWellIcon(this._appSystem.get_app(app.get_id()));
appIcon.connect('launching', Lang.bind(this, function() {
this.emit('launching');
}));
App._draggable.connect('drag-begin', Lang.bind(this, function() {
appIcon._draggable.connect('drag-begin', Lang.bind(this, function() {
this.emit('drag-begin');
}));
this._grid.addItem(App.actor);
this._grid.addItem(appIcon.actor);
this._apps.push(App);
this._apps.push(appIcon);
},
refresh: function(apps) {
@ -71,7 +72,67 @@ AllAppView.prototype = {
}
};
Signals.addSignalMethods(AllAppView.prototype);
Signals.addSignalMethods(AlphabeticalView.prototype);
function ViewByCategories() {
this._init();
}
ViewByCategories.prototype = {
_init: function() {
this._appSystem = Shell.AppSystem.get_default();
this.actor = new St.BoxLayout({ vertical: true });
this.actor._delegate = this;
this._sections = [];
},
_updateSections: function(apps) {
this._removeAll();
let sections = this._appSystem.get_sections();
if (!sections)
return;
for (let i = 0; i < sections.length; i++) {
if (i) {
let actor = new St.Bin({ style_class: 'app-section-divider' });
let divider = new St.Bin({ style_class: 'app-section-divider-container',
child: actor,
x_fill: true });
this.actor.add(divider, { y_fill: false, expand: true });
}
let _apps = apps.filter(function(app) {
return app.get_section() == sections[i];
});
this._sections[i] = { view: new AlphabeticalView(),
apps: _apps,
name: sections[i] };
this._sections[i].view.connect('launching', Lang.bind(this, function() {
this.emit('launching');
}));
this._sections[i].view.connect('drag-begin', Lang.bind(this, function() {
this.emit('drag-begin');
}));
this.actor.add(this._sections[i].view.actor, { y_align: St.Align.START, expand: true });
}
},
_removeAll: function() {
this.actor.destroy_children();
this._sections.forEach(function (section) { section.view.disconnectAll(); });
this._sections = [];
},
refresh: function(apps) {
this._updateSections(apps);
for (let i = 0; i < this._sections.length; i++) {
this._sections[i].view.refresh(this._sections[i].apps);
}
}
};
Signals.addSignalMethods(ViewByCategories.prototype);
/* This class represents a display containing a collection of application items.
* The applications are sorted based on their name.
@ -100,7 +161,7 @@ AllAppDisplay.prototype = {
this.actor.add(bin);
this.actor.add(view, { expand: true, y_fill: false, y_align: St.Align.START });
this._appView = new AllAppView();
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);
@ -119,9 +180,28 @@ AllAppDisplay.prototype = {
},
toggle: function() {
this.emit('open-state-changed', !this.actor.visible);
this.actor.visible = !this.actor.visible;
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() {
@ -142,105 +222,36 @@ AppSearchResultDisplay.prototype = {
_init: function (provider) {
Search.SearchResultDisplay.prototype._init.call(this, provider);
this._spacing = 0;
this._grid = new IconGrid.IconGrid({ rowLimit: WELL_MAX_SEARCH_ROWS });
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();
this.actor.set_child(this._grid.actor);
},
renderResults: function(results, terms) {
let appSys = Shell.AppSystem.get_default();
for (let i = 0; i < results.length && i < WELL_MAX_COLUMNS; i++) {
let maxItems = WELL_MAX_SEARCH_ROWS * WELL_MAX_COLUMNS;
for (let i = 0; i < results.length && i < maxItems; i++) {
let result = results[i];
let app = appSys.get_app(result);
let display = new AppWellIcon(app);
this._container.add_actor(display.actor);
this._grid.addItem(display.actor);
}
},
clear: function () {
this._container.get_children().forEach(function (actor) { actor.destroy(); });
this._grid.removeAll();
this.selectionIndex = -1;
},
getVisibleResultCount: function() {
let nChildren = this._container.get_children().length;
return nChildren - this._container.get_n_skip_paint();
return this._grid.visibleItemsCount();
},
selectIndex: function (index) {
let nVisible = this.getVisibleResultCount();
let children = this._container.get_children();
if (this.selectionIndex >= 0) {
let prevActor = children[this.selectionIndex];
let prevActor = this._grid.getItemAtIndex(this.selectionIndex);
prevActor._delegate.setSelected(false);
}
this.selectionIndex = -1;
@ -248,7 +259,7 @@ AppSearchResultDisplay.prototype = {
return false;
else if (index < 0)
return false;
let targetActor = children[index];
let targetActor = this._grid.getItemAtIndex(index);
targetActor._delegate.setSelected(true);
this.selectionIndex = index;
return true;
@ -257,8 +268,7 @@ AppSearchResultDisplay.prototype = {
activateSelected: function() {
if (this.selectionIndex < 0)
return;
let children = this._container.get_children();
let targetActor = children[this.selectionIndex];
let targetActor = this._grid.getItemAtIndex(this.selectionIndex);
this.provider.activateResult(targetActor._delegate.app.get_id());
}
};
@ -358,24 +368,18 @@ 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);
},
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() });
this._name.clutter_text.line_alignment = Pango.Alignment.CENTER;
box.add_actor(this._name);
createIcon: function(iconSize) {
return this.app.create_icon_texture(iconSize);
}
};
@ -396,33 +400,35 @@ AppWellIcon.prototype = {
this.actor.set_child(this._icon.actor);
this.actor.connect('clicked', Lang.bind(this, this._onClicked));
this._menu = null;
this._menuManager = new PopupMenu.PopupMenuManager(this);
this._draggable = DND.makeDraggable(this.actor);
this._draggable.connect('drag-begin', Lang.bind(this,
function () {
this._removeMenuTimeout();
Main.overview.beginItemDrag(this);
}));
this._draggable.connect('drag-end', Lang.bind(this,
function () {
Main.overview.endItemDrag(this);
}));
this.actor.connect('button-press-event', Lang.bind(this, this._onButtonPress));
this.actor.connect('show', Lang.bind(this, this._onShow));
this.actor.connect('hide', Lang.bind(this, this._onHideDestroy));
this.actor.connect('destroy', Lang.bind(this, this._onHideDestroy));
this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
this._stateChangedId = 0;
this._menuTimeoutId = 0;
},
_onShow: function() {
this._stateChangedId = this.app.connect('notify::state',
Lang.bind(this,
this._onStateChanged));
this._onStateChanged();
},
_onHideDestroy: function() {
_onDestroy: function() {
if (this._stateChangedId > 0)
this.app.disconnect(this._stateChangedId);
this._stateChangedId = 0;
this._removeMenuTimeout();
},
@ -446,7 +452,7 @@ AppWellIcon.prototype = {
this._removeMenuTimeout();
this._menuTimeoutId = Mainloop.timeout_add(MENU_POPUP_TIMEOUT,
Lang.bind(this, function() {
this.popupMenu(button);
this.popupMenu();
}));
}
},
@ -466,9 +472,7 @@ AppWellIcon.prototype = {
Main.overview.hide();
}
} else if (button == 3) {
// Don't bind to the right click here; we want left click outside the
// area to deactivate as well.
this.popupMenu(0);
this.popupMenu();
}
return false;
},
@ -477,7 +481,7 @@ AppWellIcon.prototype = {
return this.app.get_id();
},
popupMenu: function(activatingButton) {
popupMenu: function() {
this._removeMenuTimeout();
this.actor.fake_release();
@ -496,9 +500,12 @@ AppWellIcon.prototype = {
this._onMenuPoppedDown();
}
}));
this._menuManager.addMenu(this._menu, true);
}
this._menu.popup(activatingButton);
this._menu.popup();
this._menuManager.grab();
return false;
},
@ -565,12 +572,17 @@ AppWellIcon.prototype = {
Main.overview.hide();
},
// called by this._menuManager when it has the grab
menuEventFilter: function(event) {
return this._menu.menuEventFilter(event);
},
shellWorkspaceLaunch : function() {
this.app.open_new_window();
},
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
@ -586,103 +598,34 @@ function AppIconMenu(source) {
}
AppIconMenu.prototype = {
__proto__: PopupMenu.PopupMenu.prototype,
_init: function(source) {
PopupMenu.PopupMenu.prototype._init.call(this, source.actor, St.Align.MIDDLE, St.Side.LEFT, 0);
this._source = source;
this.actor = new Shell.GenericContainer({ reactive: true });
this.actor.connect('get-preferred-width', Lang.bind(this, this._getPreferredWidth));
this.actor.connect('get-preferred-height', Lang.bind(this, this._getPreferredHeight));
this.actor.connect('allocate', Lang.bind(this, this._allocate));
this.connect('active-changed', Lang.bind(this, this._onActiveChanged));
this.connect('activate', Lang.bind(this, this._onActivate));
this.connect('open-state-changed', Lang.bind(this, this._onOpenStateChanged));
this._windowContainer = new Shell.Menu({ style_class: 'app-well-menu',
vertical: true,
width: Main.overview._dash.actor.width });
this._windowContainer.connect('unselected', Lang.bind(this, this._onItemUnselected));
this._windowContainer.connect('selected', Lang.bind(this, this._onItemSelected));
this._windowContainer.connect('cancelled', Lang.bind(this, this._onWindowSelectionCancelled));
this._windowContainer.connect('activate', Lang.bind(this, this._onItemActivate));
this.actor.add_actor(this._windowContainer);
// Stay popped up on release over application icon
this._windowContainer.set_persistent_source(this._source.actor);
// Intercept events while the menu has the pointer grab to do window-related effects
this._windowContainer.connect('enter-event', Lang.bind(this, this._onMenuEnter));
this._windowContainer.connect('leave-event', Lang.bind(this, this._onMenuLeave));
this._windowContainer.connect('button-release-event', Lang.bind(this, this._onMenuButtonRelease));
this._arrow = new St.DrawingArea({ style_class: 'app-well-menu-arrow' });
this._arrow.connect('repaint', Lang.bind(this, function (area) {
Shell.draw_box_pointer(area, Shell.PointerDirection.LEFT);
}));
this.actor.add_actor(this._arrow);
this.actor.add_style_class_name('app-well-menu');
// Chain our visibility and lifecycle to that of the source
source.actor.connect('notify::mapped', Lang.bind(this, function () {
if (!source.actor.mapped)
this._windowContainer.popdown();
this.close();
}));
source.actor.connect('destroy', Lang.bind(this, function () { this.actor.destroy(); }));
Main.uiGroup.add_actor(this.actor);
},
_getPreferredWidth: function(actor, forHeight, alloc) {
let [menuMin, menuNatural] = this._windowContainer.get_preferred_width(forHeight);
let [arrowMin, arrowNatural] = this._arrow.get_preferred_width(forHeight);
alloc.min_size = menuMin + arrowMin;
alloc.natural_size = menuNatural + arrowNatural;
},
_getPreferredHeight: function(actor, forWidth, alloc) {
let [min, natural] = this._windowContainer.get_preferred_height(forWidth);
alloc.min_size = min;
alloc.natural_size = natural;
},
_allocate: function(actor, box, flags) {
let childBox = new Clutter.ActorBox();
let themeNode = this._windowContainer.get_theme_node();
let width = box.x2 - box.x1;
let height = box.y2 - box.y1;
let [arrowMinWidth, arrowWidth] = this._arrow.get_preferred_width(height);
childBox.x1 = 0;
childBox.x2 = arrowWidth;
childBox.y1 = Math.floor((height / 2) - (arrowWidth / 2));
childBox.y2 = childBox.y1 + arrowWidth;
this._arrow.allocate(childBox, flags);
// Ensure the arrow is above the border area
let border = themeNode.get_border_width(St.Side.LEFT);
childBox.x1 = arrowWidth - border;
childBox.x2 = width;
childBox.y1 = 0;
childBox.y2 = height;
this._windowContainer.allocate(childBox, flags);
},
_redisplay: function() {
this._windowContainer.remove_all();
this.removeAll();
let windows = this._source.app.get_windows();
this._windowContainer.show();
let iconsDiffer = false;
let texCache = St.TextureCache.get_default();
if (windows.length > 0) {
let firstIcon = windows[0].mini_icon;
for (let i = 1; i < windows.length; i++) {
if (!texCache.pixbuf_equal(windows[i].mini_icon, firstIcon)) {
iconsDiffer = true;
break;
}
}
}
// Display the app windows menu items and the separator between windows
// of the current desktop and other windows.
let activeWorkspace = global.screen.get_active_workspace();
@ -693,8 +636,8 @@ AppIconMenu.prototype = {
this._appendSeparator();
separatorShown = true;
}
let box = this._appendMenuItem(windows[i].title);
box._window = windows[i];
let item = this._appendMenuItem(windows[i].title);
item._window = windows[i];
}
if (windows.length > 0)
@ -713,45 +656,53 @@ AppIconMenu.prototype = {
},
_appendSeparator: function () {
let bin = new St.Bin({ style_class: 'app-well-menu-separator' });
this._windowContainer.add_actor(bin);
let separator = new PopupMenu.PopupSeparatorMenuItem();
this.addMenuItem(separator);
},
_appendMenuItem: function(labelText) {
let box = new St.BoxLayout({ style_class: 'app-well-menu-item',
reactive: true });
let label = new St.Label({ text: labelText });
box.add(label);
this._windowContainer.add_actor(box);
return box;
// FIXME: app-well-menu-item style
let item = new PopupMenu.PopupMenuItem(labelText);
this.addMenuItem(item);
return item;
},
popup: function(activatingButton) {
let [stageX, stageY] = this._source.actor.get_transformed_position();
let [stageWidth, stageHeight] = this._source.actor.get_transformed_size();
this._redisplay();
this._windowContainer.popup(activatingButton, global.get_current_time());
this.emit('popup', true);
let x, y;
x = Math.floor(stageX + stageWidth);
y = Math.floor(stageY + (stageHeight / 2) - (this.actor.height / 2));
this.actor.set_position(x, y);
this.actor.show();
this.open();
},
popdown: function() {
this._windowContainer.popdown();
this.emit('popup', false);
this.actor.hide();
_onOpenStateChanged: function (menu, open) {
if (open) {
this.emit('popup', true);
} else {
this._updateHighlight(null);
this.emit('popup', false);
}
},
selectWindow: function(metaWindow) {
this._selectMenuItemForWindow(metaWindow);
// called by this._menuManager when it has the grab
menuEventFilter: function(event) {
let eventType = event.type();
// Check if the user is interacting with a window representation
// rather than interacting with the menu
if (eventType == Clutter.EventType.BUTTON_RELEASE) {
let metaWindow = this._findMetaWindowForActor(event.get_source());
if (metaWindow)
this.emit('activate-window', metaWindow);
} else if (eventType == Clutter.EventType.ENTER) {
let metaWindow = this._findMetaWindowForActor(event.get_source());
if (metaWindow)
this._selectMenuItemForWindow(metaWindow, true);
} else if (eventType == Clutter.EventType.LEAVE) {
let metaWindow = this._findMetaWindowForActor(event.get_source());
if (metaWindow)
this._selectMenuItemForWindow(metaWindow, false);
}
return false;
},
_findMetaWindowForActor: function (actor) {
@ -762,64 +713,32 @@ AppIconMenu.prototype = {
return null;
},
// This function is called while the menu has a pointer grab; what we want
// to do is see if the mouse was released over a window representation
_onMenuButtonRelease: function (actor, event) {
let metaWindow = this._findMetaWindowForActor(event.get_source());
if (metaWindow) {
this.emit('activate-window', metaWindow);
}
},
_updateHighlight: function (item) {
if (this._highlightedItem) {
this._highlightedItem.remove_style_pseudo_class('hover');
if (this._highlightedItem)
this.emit('highlight-window', null);
}
this._highlightedItem = item;
if (this._highlightedItem) {
item.add_style_pseudo_class('hover');
let window = this._highlightedItem._window;
if (window)
this.emit('highlight-window', window);
}
},
_selectMenuItemForWindow: function (metaWindow) {
let children = this._windowContainer.get_children();
for (let i = 0; i < children.length; i++) {
let child = children[i];
let menuMetaWindow = child._window;
_selectMenuItemForWindow: function (metaWindow, selected) {
let items = this.getMenuItems();
for (let i = 0; i < items.length; i++) {
let item = items[i];
let menuMetaWindow = item._window;
if (menuMetaWindow == metaWindow)
this._updateHighlight(child);
item.setActive(selected);
}
},
// Called while menu has a pointer grab
_onMenuEnter: function (actor, event) {
let metaWindow = this._findMetaWindowForActor(event.get_source());
if (metaWindow) {
this._selectMenuItemForWindow(metaWindow);
}
},
// Called while menu has a pointer grab
_onMenuLeave: function (actor, event) {
let metaWindow = this._findMetaWindowForActor(event.get_source());
if (metaWindow) {
this._updateHighlight(null);
}
},
_onItemUnselected: function (actor, child) {
this._updateHighlight(null);
},
_onItemSelected: function (actor, child) {
_onActiveChanged: function (menu, child) {
this._updateHighlight(child);
},
_onItemActivate: function (actor, child) {
_onActivate: function (actor, child) {
if (child._window) {
let metaWindow = child._window;
this.emit('activate-window', metaWindow);
@ -834,154 +753,24 @@ AppIconMenu.prototype = {
else
favs.addFavorite(this._source.app.get_id());
}
this.popdown();
},
_onWindowSelectionCancelled: function () {
this.emit('highlight-window', null);
this.popdown();
this.close();
}
};
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();
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 &&
nColumns < children.length &&
(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._grid = new IconGrid.IconGrid();
this.actor = this._grid.actor;
this.actor._delegate = this;
@ -992,7 +781,7 @@ AppWell.prototype = {
this._appSystem.connect('installed-changed', Lang.bind(this, this._queueRedisplay));
AppFavorites.getAppFavorites().connect('changed', Lang.bind(this, this._queueRedisplay));
this._tracker.connect('app-running-changed', Lang.bind(this, this._queueRedisplay));
this._tracker.connect('app-state-changed', Lang.bind(this, this._queueRedisplay));
},
_appIdListToHash: function(apps) {
@ -1032,13 +821,40 @@ AppWell.prototype = {
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) {
let text = new St.Label({ text: _("Drag here to add favorites")});
this._grid.actor.set_child(text);
this._placeholderText = new St.Label({ text: _("Drag here to add favorites") });
this.actor.add_actor(this._placeholderText);
}
},
handleDragOver : 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 DND.DragMotionResult.NO_DROP;
let id = app.get_id();
let favorites = AppFavorites.getAppFavorites().getFavoriteMap();
let srcIsFavorite = (id in favorites);
if (srcIsFavorite)
return DND.DragMotionResult.NO_DROP;
return DND.DragMotionResult.COPY_DROP;
},
// Draggable target interface
acceptDrop : function(source, actor, x, y, time) {
let app = null;

View File

@ -13,12 +13,11 @@ function AppFavorites() {
}
AppFavorites.prototype = {
FAVORITE_APPS_KEY: 'favorite_apps',
FAVORITE_APPS_KEY: 'favorite-apps',
_init: function() {
this._favorites = {};
this._gconf = Shell.GConf.get_default();
this._gconf.connect('changed::' + this.FAVORITE_APPS_KEY, Lang.bind(this, this._onFavsChanged));
global.settings.connect('changed::' + this.FAVORITE_APPS_KEY, Lang.bind(this, this._onFavsChanged));
this._reload();
},
@ -28,7 +27,7 @@ AppFavorites.prototype = {
},
_reload: function() {
let ids = Shell.GConf.get_default().get_string_list('favorite_apps');
let ids = global.settings.get_strv(this.FAVORITE_APPS_KEY);
let appSys = Shell.AppSystem.get_default();
let apps = ids.map(function (id) {
return appSys.get_app(id);
@ -75,7 +74,7 @@ AppFavorites.prototype = {
let ids = this._getIds();
ids.push(appId);
this._gconf.set_string_list(this.FAVORITE_APPS_KEY, ids);
global.settings.set_strv(this.FAVORITE_APPS_KEY, ids);
this._favorites[appId] = app;
return true;
},
@ -96,15 +95,16 @@ AppFavorites.prototype = {
return false;
let ids = this._getIds().filter(function (id) { return id != appId; });
this._gconf.set_string_list(this.FAVORITE_APPS_KEY, ids);
global.settings.set_strv(this.FAVORITE_APPS_KEY, ids);
return true;
},
removeFavorite: function(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.infoBar.setMessage(_("%s has been removed from your favorites.").format(app.get_name()),
Lang.bind(this, function () {
this._addFavorite(appId);
}));

View File

@ -1,6 +1,5 @@
/* -*- 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;
@ -22,8 +21,6 @@ function BoxPointer(side, binProperties) {
BoxPointer.prototype = {
_init: function(arrowSide, binProperties) {
if (arrowSide != St.Side.TOP)
throw new Error('Not implemented');
this._arrowSide = arrowSide;
this._arrowOrigin = 0;
this.actor = new St.Bin({ x_fill: true,
@ -83,14 +80,23 @@ BoxPointer.prototype = {
childBox.x2 = availWidth;
childBox.y2 = availHeight;
this._border.allocate(childBox, flags);
childBox.x1 = borderWidth;
childBox.y1 = borderWidth;
childBox.x2 = availWidth - borderWidth;
childBox.y2 = availHeight - borderWidth;
switch (this._arrowSide) {
case St.Side.TOP:
childBox.x1 = borderWidth;
childBox.y1 = rise + borderWidth;
childBox.x2 = availWidth - borderWidth;
childBox.y2 = availHeight - borderWidth;
childBox.y1 += rise;
break;
default:
case St.Side.BOTTOM:
childBox.y2 -= rise;
break;
case St.Side.LEFT:
childBox.x1 += rise;
break;
case St.Side.RIGHT:
childBox.x2 -= rise;
break;
}
this.bin.allocate(childBox, flags);
@ -106,6 +112,7 @@ BoxPointer.prototype = {
[found, borderRadius] = themeNode.get_length('-arrow-border-radius', false);
let halfBorder = borderWidth / 2;
let halfBase = Math.floor(base/2);
let borderColor = new Clutter.Color();
themeNode.get_color('-arrow-border-color', false, borderColor);
@ -121,30 +128,57 @@ BoxPointer.prototype = {
}
let cr = area.get_context();
Clutter.cairo_set_source_color(cr, borderColor);
// Translate so that box goes from 0,0 to boxWidth,boxHeight,
// with the arrow poking out of that
if (this._arrowSide == St.Side.TOP) {
cr.translate(0, rise);
} else if (this._arrowSide == St.Side.LEFT) {
cr.translate(rise, 0);
}
cr.moveTo(borderRadius, halfBorder);
if (this._arrowSide == St.Side.TOP) {
cr.translate(0, -rise);
let halfBase = Math.floor(base/2);
cr.lineTo(this._arrowOrigin - halfBase, rise + halfBorder);
cr.lineTo(this._arrowOrigin, halfBorder);
cr.lineTo(this._arrowOrigin + halfBase, rise + halfBorder);
cr.translate(0, rise);
cr.lineTo(this._arrowOrigin - halfBase, halfBorder);
cr.lineTo(this._arrowOrigin, halfBorder - rise);
cr.lineTo(this._arrowOrigin + halfBase, halfBorder);
}
cr.lineTo(boxWidth - borderRadius, halfBorder);
cr.arc(boxWidth - borderRadius - halfBorder, borderRadius + halfBorder, borderRadius,
3*Math.PI/2, Math.PI*2);
if (this._arrowSide == St.Side.RIGHT) {
cr.lineTo(boxWidth - halfBorder, this._arrowOrigin - halfBase);
cr.lineTo(boxWidth - halfBorder + rise, this._arrowOrigin);
cr.lineTo(boxWidth - halfBorder, this._arrowOrigin + halfBase);
}
cr.lineTo(boxWidth - halfBorder, boxHeight - borderRadius);
cr.arc(boxWidth - borderRadius - halfBorder, boxHeight - borderRadius - halfBorder, borderRadius,
0, Math.PI/2);
if (this._arrowSide == St.Side.BOTTOM) {
cr.lineTo(this._arrowOrigin + halfBase, boxHeight - halfBorder);
cr.lineTo(this._arrowOrigin, boxHeight - halfBorder + rise);
cr.lineTo(this._arrowOrigin - halfBase, boxHeight - halfBorder);
}
cr.lineTo(borderRadius, boxHeight - halfBorder);
cr.arc(borderRadius + halfBorder, boxHeight - borderRadius - halfBorder, borderRadius,
Math.PI/2, Math.PI);
if (this._arrowSide == St.Side.LEFT) {
cr.lineTo(halfBorder, this._arrowOrigin + halfBase);
cr.lineTo(halfBorder - rise, this._arrowOrigin);
cr.lineTo(halfBorder, this._arrowOrigin - halfBase);
}
cr.lineTo(halfBorder, borderRadius);
cr.arc(borderRadius + halfBorder, borderRadius + halfBorder, borderRadius,
Math.PI, 3*Math.PI/2);
Clutter.cairo_set_source_color(cr, backgroundColor);
cr.fillPreserve();
Clutter.cairo_set_source_color(cr, borderColor);

View File

@ -1,12 +1,15 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
const Clutter = imports.gi.Clutter;
const Gio = imports.gi.Gio;
const Lang = imports.lang;
const St = imports.gi.St;
const Pango = imports.gi.Pango;
const Gettext_gtk20 = imports.gettext.domain('gtk20');
const MSECS_IN_DAY = 24 * 60 * 60 * 1000;
const WEEKDATE_HEADER_WIDTH_DIGITS = 3;
const SHOW_WEEKDATE_KEY = 'show-weekdate';
function _sameDay(dateA, dateB) {
return (dateA.getDate() == dateB.getDate() &&
@ -14,6 +17,32 @@ function _sameDay(dateA, dateB) {
dateA.getYear() == dateB.getYear());
}
function _getCalendarWeekForDate(date) {
// Based on the algorithms found here:
// http://en.wikipedia.org/wiki/Talk:ISO_week_date
let midnightDate = new Date(date.getFullYear(), date.getMonth(), date.getDate());
// Need to get Monday to be 1 ... Sunday to be 7
let dayOfWeek = 1 + ((midnightDate.getDay() + 6) % 7);
let nearestThursday = new Date(midnightDate.getFullYear(), midnightDate.getMonth(),
midnightDate.getDate() + (4 - dayOfWeek));
let jan1st = new Date(nearestThursday.getFullYear(), 0, 1);
let diffDate = nearestThursday - jan1st;
let dayNumber = Math.floor(Math.abs(diffDate) / MSECS_IN_DAY);
let weekNumber = Math.floor(dayNumber / 7) + 1;
return weekNumber;
}
function _getDigitWidth(actor){
let context = actor.get_pango_context();
let themeNode = actor.get_theme_node();
let font = themeNode.get_font();
let metrics = context.get_metrics(font, context.get_language());
let width = metrics.get_approximate_digit_width();
return width;
}
function Calendar() {
this._init();
}
@ -24,6 +53,13 @@ Calendar.prototype = {
// GTK+ by preference uses nl_langinfo (NL_TIME_FIRST_WEEKDAY). We probably
// should add a C function so we can do the full handling.
this._weekStart = NaN;
this._weekdate = NaN;
this._digitWidth = NaN;
this._settings = new Gio.Settings({ schema: 'org.gnome.shell.calendar' });
this._settings.connect('changed::' + SHOW_WEEKDATE_KEY, Lang.bind(this, this._onSettingsChange));
this._useWeekdate = this._settings.get_boolean(SHOW_WEEKDATE_KEY);
let weekStartString = Gettext_gtk20.gettext('calendar:week_start:0');
if (weekStartString.indexOf('calendar:week_start:') == 0) {
this._weekStart = parseInt(weekStartString.substring(20));
@ -58,11 +94,28 @@ Calendar.prototype = {
this.actor.connect('scroll-event',
Lang.bind(this, this._onScroll));
this._buildHeader ();
this._update();
},
// Sets the calendar to show a specific date
setDate: function(date) {
if (!_sameDay(date, this.date)) {
this.date = date;
this._update();
}
},
_buildHeader: function() {
let offsetCols = this._useWeekdate ? 1 : 0;
this.actor.destroy_children();
// Top line of the calendar '<| September 2009 |>'
this._topBox = new St.BoxLayout();
this.actor.add(this._topBox,
{ row: 0, col: 0, col_span: 7 });
{ row: 0, col: 0, col_span: offsetCols + 7 });
this.actor.connect('style-changed', Lang.bind(this, this._onStyleChange));
let [backlabel, forwardlabel] = ['&lt;', '&gt;'];
if (St.Widget.get_default_direction () == St.TextDirection.RTL) {
[backlabel, forwardlabel] = [forwardlabel, backlabel];
@ -85,25 +138,39 @@ Calendar.prototype = {
let iter = new Date(this.date);
iter.setSeconds(0); // Leap second protection. Hah!
iter.setHours(12);
if (this._useWeekdate) {
this._weekdateHeader = new St.Label();
this.actor.add(this._weekdateHeader,
{ row: 1,
col: 0,
x_fill: false, x_align: St.Align.MIDDLE });
this._setWeekdateHeaderWidth();
} else {
this._weekdateHeader = null;
}
for (let i = 0; i < 7; i++) {
this.actor.add(new St.Label({ text: iter.toLocaleFormat('%a') }),
{ row: 1,
col: (7 + iter.getDay() - this._weekStart) % 7,
col: offsetCols + (7 + iter.getDay() - this._weekStart) % 7,
x_fill: false, x_align: St.Align.END });
iter.setTime(iter.getTime() + MSECS_IN_DAY);
}
// All the children after this are days, and get removed when we update the calendar
this._firstDayIndex = this.actor.get_children().length;
this._update();
},
// Sets the calendar to show a specific date
setDate: function(date) {
if (!_sameDay(date, this.date)) {
this.date = date;
this._update();
_onStyleChange: function(actor, event) {
// width of a digit in pango units
this._digitWidth = _getDigitWidth(this.actor) / Pango.SCALE;
this._setWeekdateHeaderWidth();
},
_setWeekdateHeaderWidth: function() {
if (this.digitWidth != NaN && this._useWeekdate && this._weekdateHeader) {
this._weekdateHeader.set_width (this._digitWidth * WEEKDATE_HEADER_WIDTH_DIGITS);
}
},
@ -140,6 +207,12 @@ Calendar.prototype = {
this._update();
},
_onSettingsChange: function() {
this._useWeekdate = this._settings.get_boolean(SHOW_WEEKDATE_KEY);
this._buildHeader();
this._update();
},
_update: function() {
this._dateLabel.text = this.date.toLocaleFormat(this._headerFormat);
@ -153,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();
@ -166,10 +240,20 @@ Calendar.prototype = {
label.style_class = 'calendar-day calendar-other-month-day';
else
label.style_class = 'calendar-day';
let offsetCols = this._useWeekdate ? 1 : 0;
this.actor.add(label,
{ row: row, col: (7 + iter.getDay() - this._weekStart) % 7,
{ row: row, col: offsetCols + (7 + iter.getDay() - this._weekStart) % 7,
x_fill: false, x_align: St.Align.END });
if (this._useWeekdate && iter.getDay() == 4) {
let label = new St.Label({ text: _getCalendarWeekForDate(iter).toString(),
style_class: 'calendar-day calendar-calendarweek'});
this.actor.add(label,
{ row: row, col: 0,
x_fill: false, x_align: St.Align.MIDDLE });
}
iter.setTime(iter.getTime() + MSECS_IN_DAY);
if (iter.getDay() == this._weekStart) {
// We stop on the first "first day of the week" after the month we are displaying

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;
@ -65,15 +64,6 @@ Chrome.prototype = {
children[i].allocate_preferred_size(flags);
},
_verifyAncestry: function(actor, ancestor) {
while (actor) {
if (actor == ancestor)
return true;
actor = actor.get_parent();
}
return false;
},
// addActor:
// @actor: an actor to add to the chrome layer
// @params: (optional) additional params
@ -195,7 +185,7 @@ Chrome.prototype = {
},
_actorReparented: function(actor, oldParent) {
if (!this._verifyAncestry(actor, this.actor))
if (!this.actor.contains(actor))
this._untrackActor(actor);
},
@ -204,7 +194,7 @@ Chrome.prototype = {
let actorData = this._trackedActors[i];
if (this._inOverview && !actorData.visibleInOverview)
this.actor.set_skip_paint(actorData.actor, true);
else if (this._inFullscreen && !actorData.visibleInFullscreen)
else if (!this._inOverview && this._inFullscreen && !actorData.visibleInFullscreen)
this.actor.set_skip_paint(actorData.actor, true);
else
this.actor.set_skip_paint(actorData.actor, false);

View File

@ -1,10 +1,7 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
const Clutter = imports.gi.Clutter;
const Gtk = imports.gi.Gtk;
const Mainloop = imports.mainloop;
const Pango = imports.gi.Pango;
const Shell = imports.gi.Shell;
const Signals = imports.signals;
const Lang = imports.lang;
const St = imports.gi.St;
@ -15,16 +12,14 @@ const AppDisplay = imports.ui.appDisplay;
const DND = imports.ui.dnd;
const DocDisplay = imports.ui.docDisplay;
const PlaceDisplay = imports.ui.placeDisplay;
const GenericDisplay = imports.ui.genericDisplay;
const Main = imports.ui.main;
const Overview = imports.ui.overview;
const Search = imports.ui.search;
const Tweener = imports.ui.tweener;
// 25 search results (per result type) should be enough for everyone
const MAX_RENDERED_SEARCH_RESULTS = 25;
const DOCS = 'docs';
const PLACES = 'places';
/*
* Returns the index in an array of a given length that is obtained
* if the provided index is incremented by an increment and the array
@ -38,14 +33,6 @@ function _getIndexWrapped(index, increment, length) {
return (index + increment + length) % length;
}
function _createDisplay(displayType, flags) {
if (displayType == DOCS)
return new DocDisplay.DocDisplay(flags);
else if (displayType == PLACES)
return new PlaceDisplay.PlaceDisplay(flags);
return null;
}
function Pane() {
this._init();
}
@ -62,15 +49,6 @@ Pane.prototype = {
return true;
}));
let chromeTop = new St.BoxLayout();
let dummy = new St.Bin();
chromeTop.add(dummy, { expand: true });
this.actor.add(chromeTop);
this.content = new St.BoxLayout({ vertical: true });
this.actor.add(this.content, { expand: true });
// Hidden by default
this.actor.hide();
},
@ -79,20 +57,33 @@ Pane.prototype = {
if (this._open)
return;
this._open = true;
this.actor.show();
this.emit('open-state-changed', this._open);
this.actor.opacity = 0;
this.actor.show();
Tweener.addTween(this.actor,
{ opacity: 255,
time: Overview.PANE_FADE_TIME,
transition: 'easeOutQuad'
});
},
close: function () {
if (!this._open)
return;
this._open = false;
this.actor.hide();
this.emit('open-state-changed', this._open);
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._open);
})
});
},
destroyContent: function() {
let children = this.content.get_children();
let children = this.actor.get_children();
for (let i = 0; i < children.length; i++) {
children[i].destroy();
}
@ -107,51 +98,22 @@ Pane.prototype = {
};
Signals.addSignalMethods(Pane.prototype);
function ResultArea(displayType, flags) {
this._init(displayType, flags);
function ResultArea() {
this._init();
}
ResultArea.prototype = {
_init : function(displayType, flags) {
_init : function() {
this.actor = new St.BoxLayout({ vertical: true });
this.resultsContainer = new St.BoxLayout({ style_class: 'dash-results-container' });
this.actor.add(this.resultsContainer, { expand: true });
this.display = _createDisplay(displayType, flags);
this.display = new DocDisplay.DocDisplay();
this.resultsContainer.add(this.display.actor, { expand: true });
this.display.load();
}
};
// Utility function shared between ResultPane and the DocDisplay in the main dash.
// Connects to the detail signal of the display, and on-demand creates a new
// pane.
function createPaneForDetails(dash, display) {
let detailPane = null;
display.connect('show-details', Lang.bind(this, function(display, index) {
if (detailPane == null) {
detailPane = new Pane();
detailPane.connect('open-state-changed', Lang.bind(this, function (pane, isOpen) {
if (!isOpen) {
/* Ensure we don't keep around large preview textures */
detailPane.destroyContent();
}
}));
dash._addPane(detailPane, St.Align.START);
}
if (index >= 0) {
detailPane.destroyContent();
let details = display.createDetailsForIndex(index);
detailPane.content.add(details, { expand: true });
detailPane.open();
} else {
detailPane.close();
}
}));
return null;
}
function ResultPane(dash) {
this._init(dash);
}
@ -161,21 +123,12 @@ ResultPane.prototype = {
_init: function(dash) {
Pane.prototype._init.call(this);
this._dash = dash;
},
// Create a display of displayType and pack it into this pane's
// content area. Return the display.
packResults: function(displayType) {
let resultArea = new ResultArea(displayType);
createPaneForDetails(this._dash, resultArea.display);
this.content.add(resultArea.actor, { expand: true });
let resultArea = new ResultArea();
this.actor.add(resultArea.actor, { expand: true });
this.connect('open-state-changed', Lang.bind(this, function(pane, isOpen) {
resultArea.display.resetState();
}));
return resultArea.display;
}
};
@ -203,11 +156,21 @@ SearchEntry.prototype = {
}));
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',
@ -225,11 +188,15 @@ SearchEntry.prototype = {
}
},
setPane: function (pane) {
this._pane = pane;
},
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 = '';
global.stage.set_key_focus(null);
this.entry.set_cursor_visible(true);
@ -252,16 +219,7 @@ SearchEntry.prototype = {
_onCapturedEvent: function(actor, event) {
let source = event.get_source();
let panelEvent = false;
if (source) {
let parent = source;
do {
if (parent == Main.panel.actor)
break;
} while ((parent = parent.get_parent()) != null);
panelEvent = (parent != null);
}
let panelEvent = source && Main.panel.actor.contains(source);
switch (event.type()) {
case Clutter.EventType.BUTTON_PRESS:
@ -351,6 +309,14 @@ SearchResult.prototype = {
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) {
@ -450,38 +416,40 @@ SearchResults.prototype = {
this._selectedProvider = -1;
this._providers = this._searchSystem.getProviders();
this._providerMeta = [];
for (let i = 0; i < this._providers.length; i++) {
let provider = this._providers[i];
let providerBox = new St.BoxLayout({ style_class: 'dash-search-section',
vertical: true });
let titleButton = new St.Button({ style_class: 'dash-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);
for (let i = 0; i < this._providers.length; i++)
this.createProviderMeta(this._providers[i]);
},
let resultDisplayBin = new St.Bin({ style_class: 'dash-search-section-results',
x_fill: true,
y_fill: true });
providerBox.add(resultDisplayBin, { expand: true });
let resultDisplay = provider.createResultContainerActor();
if (resultDisplay == null) {
resultDisplay = new OverflowSearchResults(provider);
}
resultDisplayBin.set_child(resultDisplay.actor);
createProviderMeta: function(provider) {
let providerBox = new St.BoxLayout({ style_class: 'dash-search-section',
vertical: true });
let titleButton = new St.Button({ style_class: 'dash-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);
this._providerMeta.push({ actor: providerBox,
resultDisplay: resultDisplay,
count: count });
this.actor.add(providerBox);
let resultDisplayBin = new St.Bin({ style_class: 'dash-search-section-results',
x_fill: true,
y_fill: true });
providerBox.add(resultDisplayBin, { expand: true });
let resultDisplay = provider.createResultContainerActor();
if (resultDisplay == null) {
resultDisplay = new OverflowSearchResults(provider);
}
resultDisplayBin.set_child(resultDisplay.actor);
this._providerMeta.push({ actor: providerBox,
resultDisplay: resultDisplay,
count: count });
this.actor.add(providerBox);
},
_clearDisplay: function() {
@ -617,6 +585,9 @@ MoreLink.prototype = {
},
activate: function() {
if (!this.actor.visible)
return true; // If the link isn't visible we don't want the header to react
// to clicks
if (this.pane == null) {
// Ensure the pane is created; the activated handler will call setPane
this.emit('activated');
@ -638,18 +609,6 @@ MoreLink.prototype = {
Signals.addSignalMethods(MoreLink.prototype);
function BackLink() {
this._init();
}
BackLink.prototype = {
_init : function () {
this.actor = new St.Button({ style_class: 'section-header-back',
reactive: true });
this.actor.set_child(new St.Bin({ style_class: 'section-header-back-image' }));
}
};
function SectionHeader(title, suppressBrowse) {
this._init(title, suppressBrowse);
}
@ -664,22 +623,11 @@ SectionHeader.prototype = {
this._innerBox = new St.BoxLayout({ style_class: 'section-header-inner' });
this.actor.set_child(this._innerBox);
this.backLink = new BackLink();
this._innerBox.add(this.backLink.actor);
this.backLink.actor.hide();
this.backLink.actor.connect('clicked', Lang.bind(this, function (actor) {
this.emit('back-link-activated');
}));
let textBox = new St.BoxLayout({ style_class: 'section-text-content' });
this.text = new St.Label({ style_class: 'section-title',
text: title });
textBox.add(this.text, { x_align: St.Align.START });
this.countText = new St.Label({ style_class: 'section-count' });
textBox.add(this.countText, { expand: true, x_fill: false, x_align: St.Align.END });
this.countText.hide();
this._innerBox.add(textBox, { expand: true });
if (!suppressBrowse) {
@ -693,31 +641,11 @@ SectionHeader.prototype = {
this.moreLink.activate();
},
setTitle : function(title) {
this.text.text = title;
},
setBackLinkVisible : function(visible) {
if (visible)
this.backLink.actor.show();
else
this.backLink.actor.hide();
},
setMoreLinkVisible : function(visible) {
if (visible)
this.moreLink.actor.show();
else
this.moreLink.actor.hide();
},
setCountText : function(countText) {
if (countText == '') {
this.countText.hide();
} else {
this.countText.show();
this.countText.text = countText;
}
}
};
@ -882,7 +810,6 @@ Dash.prototype = {
this._docsSection.header.moreLink.connect('activated', Lang.bind(this, function (link) {
if (this._moreDocsPane == null) {
this._moreDocsPane = new ResultPane(this);
this._moreDocsPane.packResults(DOCS);
this._addPane(this._moreDocsPane, St.Align.END);
link.setPane(this._moreDocsPane);
}
@ -939,6 +866,13 @@ Dash.prototype = {
return false;
},
addSearchProvider: function(provider) {
//Add a new search provider to the dash.
this._searchSystem.registerProvider(provider);
this.searchResults.createProviderMeta(provider);
},
show: function() {
this._searchEntry.show();
if (this._keyPressId == 0)

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;
@ -14,9 +15,31 @@ const Params = imports.misc.params;
const SCALE_ANIMATION_TIME = 0.25;
// Time to animate to original position on cancel
const SNAP_BACK_ANIMATION_TIME = 0.25;
// Time to animate to original position on success
const REVERT_ANIMATION_TIME = 0.75;
const DragMotionResult = {
NO_DROP: 0,
COPY_DROP: 1,
MOVE_DROP: 2,
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,
CONTINUE: 2
};
let eventHandlerActor = null;
let currentDraggable = null;
let dragMonitors = [];
function _getEventHandlerActor() {
if (!eventHandlerActor) {
@ -34,6 +57,18 @@ function _getEventHandlerActor() {
return eventHandlerActor;
}
function addDragMonitor(monitor) {
dragMonitors.push(monitor);
}
function removeMonitor(monitor) {
for (let i = 0; i < dragMonitors.length; i++)
if (dragMonitors[i] == monitor) {
dragMonitors.splice(i, 1);
return;
}
}
function _Draggable(actor, params) {
this._init(actor, params);
}
@ -41,6 +76,7 @@ function _Draggable(actor, params) {
_Draggable.prototype = {
_init : function(actor, params) {
params = Params.parse(params, { manualMode: false,
restoreOnSuccess: false,
dragActorMaxSize: undefined,
dragActorOpacity: undefined });
@ -54,12 +90,13 @@ _Draggable.prototype = {
}));
this._onEventId = null;
this._restoreOnSuccess = params.restoreOnSuccess;
this._dragActorMaxSize = params.dragActorMaxSize;
this._dragActorOpacity = params.dragActorOpacity;
this._buttonDown = false; // The mouse button has been pressed and has not yet been released.
this._dragInProgress = false; // The drag has been started, and has not been dropped or cancelled yet.
this._snapBackInProgress = false; // The drag has been cancelled and the item is in the process of snapping back.
this._animationInProgress = false; // The drag is over and the item is in the process of animating to its original position (snapping back or reverting).
},
_onButtonPress : function (actor, event) {
@ -125,7 +162,7 @@ _Draggable.prototype = {
this._buttonDown = false;
if (this._dragInProgress) {
return this._dragActorDropped(event);
} else if (this._dragActor != null && !this._snapBackInProgress) {
} else if (this._dragActor != null && !this._animationInProgress) {
// Drag must have been cancelled with Esc.
this._dragComplete();
return true;
@ -173,6 +210,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;
@ -290,25 +328,53 @@ _Draggable.prototype = {
if (this._dragActor) {
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
// parent itself.
let dragEvent = {
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) {
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 [targX, targY] = target.get_transformed_position();
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,
(stageX - targX) / target.scale_x,
(stageY - targY) / target.scale_y,
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;
@ -322,19 +388,47 @@ _Draggable.prototype = {
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
// parent itself.
let dropEvent = {
dropActor: this._dragActor,
targetActor: target,
clutterEvent: event
};
for (let i = 0; i < dragMonitors.length; i++) {
let dropFunc = dragMonitors[i].dragDrop;
if (dropFunc)
switch (dropFunc(dropEvent)) {
case DragDropResult.FAILURE:
case DragDropResult.SUCCESS:
return true;
case DragDropResult.CONTINUE:
continue;
}
}
while (target) {
if (target._delegate && target._delegate.acceptDrop) {
let [targX, targY] = target.get_transformed_position();
if (target._delegate.acceptDrop(this.actor._delegate, this._dragActor,
(dropX - targX) / target.scale_x,
(dropY - targY) / target.scale_y,
let [r, targX, targY] = target.transform_stage_point(dropX, dropY);
if (target._delegate.acceptDrop(this.actor._delegate,
this._dragActor,
targX,
targY,
event.get_time())) {
// If it accepted the drop without taking the actor,
// destroy it.
if (this._dragActor.get_parent() == this._dragActor.get_stage())
this._dragActor.destroy();
// handle it ourselves.
if (this._dragActor.get_parent() == this._dragActor.get_stage()) {
if (this._restoreOnSuccess) {
this._restoreDragActor(event.get_time());
return true;
} else
this._dragActor.destroy();
}
this._dragInProgress = false;
global.unset_cursor();
this.emit('drag-end', event.get_time(), true);
this._dragComplete();
return true;
@ -348,18 +442,23 @@ _Draggable.prototype = {
return true;
},
// Get position of the drag actor's source if the source is still around,
// or return the original location if the actor itself was being dragged
// or the source is no longer around.
_getRestoreLocation: function() {
let locX = this._snapBackX;
let locY = this._snapBackY;
if (this._dragActorSource && this._dragActorSource.visible)
[locX, locY] = this._dragActorSource.get_transformed_position();
return [locX, locY];
},
_cancelDrag: function(eventTime) {
this._dragInProgress = false;
// Snap back to the actor source if the source is still around, snap back
// to the original location if the actor itself was being dragged or the
// source is no longer around.
let snapBackX = this._snapBackX;
let snapBackY = this._snapBackY;
if (this._dragActorSource && this._dragActorSource.visible) {
[snapBackX, snapBackY] = this._dragActorSource.get_transformed_position();
}
let [snapBackX, snapBackY] = this._getRestoreLocation();
this._snapBackInProgress = true;
this._animationInProgress = true;
// No target, so snap back
Tweener.addTween(this._dragActor,
{ x: snapBackX,
@ -369,13 +468,33 @@ _Draggable.prototype = {
opacity: this._dragOrigOpacity,
time: SNAP_BACK_ANIMATION_TIME,
transition: 'easeOutQuad',
onComplete: this._onSnapBackComplete,
onComplete: this._onAnimationComplete,
onCompleteScope: this,
onCompleteParams: [this._dragActor, eventTime]
});
},
_onSnapBackComplete : function (dragActor, eventTime) {
_restoreDragActor: function(eventTime) {
this._dragInProgress = false;
[restoreX, restoreY] = this._getRestoreLocation();
// fade the actor back in at its original location
this._dragActor.set_position(restoreX, restoreY);
this._dragActor.set_scale(this._snapBackScale, this._snapBackScale);
this._dragActor.opacity = 0;
this._animationInProgress = true;
Tweener.addTween(this._dragActor,
{ opacity: this._dragOrigOpacity,
time: REVERT_ANIMATION_TIME,
transition: 'easeOutQuad',
onComplete: this._onAnimationComplete,
onCompleteScope: this,
onCompleteParams: [this._dragActor, eventTime]
});
},
_onAnimationComplete : function (dragActor, eventTime) {
if (this._dragOrigParent) {
dragActor.reparent(this._dragOrigParent);
dragActor.set_scale(this._dragOrigScale, this._dragOrigScale);
@ -383,9 +502,10 @@ _Draggable.prototype = {
} else {
dragActor.destroy();
}
global.unset_cursor();
this.emit('drag-end', eventTime, false);
this._snapBackInProgress = false;
this._animationInProgress = false;
if (!this._buttonDown)
this._dragComplete();
},

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;
@ -115,15 +112,15 @@ DocDisplayItem.prototype = {
/* This class represents a display containing a collection of document items.
* The documents are sorted by how recently they were last visited.
*/
function DocDisplay(flags) {
this._init(flags);
function DocDisplay() {
this._init();
}
DocDisplay.prototype = {
__proto__: GenericDisplay.GenericDisplay.prototype,
_init : function(flags) {
GenericDisplay.GenericDisplay.prototype._init.call(this, flags);
_init : function() {
GenericDisplay.GenericDisplay.prototype._init.call(this);
// We keep a single timeout callback for updating last visited times
// for all the items in the display. This avoids creating individual
// callbacks for each item in the display. So proper time updates
@ -287,6 +284,14 @@ DashDocDisplayItem.prototype = {
this.actor._delegate = this;
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);
}));
},
getUri: function() {

View File

@ -1,5 +1,7 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
const Clutter = imports.gi.Clutter;;
const GLib = imports.gi.GLib;
const Shell = imports.gi.Shell;
const St = imports.gi.St;
const Gettext_gtk20 = imports.gettext.domain('gtk20');
@ -67,14 +69,25 @@ function init() {
St.Widget.set_default_direction(St.TextDirection.RTL);
}
let slowdownEnv = GLib.getenv('GNOME_SHELL_SLOWDOWN_FACTOR');
if (slowdownEnv) {
let factor = parseFloat(slowdownEnv);
if (!isNaN(factor) && factor > 0.0)
St.set_slow_down_factor(factor);
}
_patchContainerClass(St.BoxLayout);
_patchContainerClass(St.Table);
Clutter.Actor.prototype.toString = function() {
return St.describe_actor(this);
};
_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,
@ -127,7 +126,7 @@ function init() {
global.logError('' + e);
}
disabledExtensions = Shell.GConf.get_default().get_string_list('disabled_extensions');
disabledExtensions = global.settings.get_strv('disabled-extensions', -1);
}
function _loadExtensionsIn(dir, type) {

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;
@ -47,6 +40,14 @@ GenericDisplayItem.prototype = {
}));
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);
}));
this._iconBin = new St.Bin();
this.actor.add(this._iconBin);
@ -221,35 +222,25 @@ GenericDisplayItem.prototype = {
Signals.addSignalMethods(GenericDisplayItem.prototype);
const GenericDisplayFlags = {
DISABLE_VSCROLLING: 1 << 0
};
/* This is a virtual class that represents a display containing a collection of items
* that can be filtered with a search string.
*/
function GenericDisplay(flags) {
this._init(flags);
function GenericDisplay() {
this._init();
}
GenericDisplay.prototype = {
_init : function(flags) {
let disableVScrolling = (flags & GenericDisplayFlags.DISABLE_VSCROLLING) != 0;
_init : function() {
this._search = '';
this._expanded = false;
if (disableVScrolling) {
this.actor = this._list = new Shell.OverflowList({ spacing: 6,
item_height: 50 });
} else {
this.actor = new St.ScrollView({ x_fill: true,
y_fill: false,
vshadows: true });
this._list = new St.BoxLayout({ style_class: 'generic-display-container',
vertical: true });
this.actor.add_actor(this._list);
this.actor.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC);
}
this.actor = new St.ScrollView({ x_fill: true,
y_fill: false,
vshadows: true });
this._list = new St.BoxLayout({ style_class: 'generic-display-container',
vertical: true });
this.actor.add_actor(this._list);
this.actor.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC);
this._pendingRedisplay = RedisplayFlags.NONE;
this.actor.connect('notify::mapped', Lang.bind(this, this._onMappedNotify));
@ -373,8 +364,7 @@ GenericDisplay.prototype = {
resetState: function() {
this._filterReset();
this._openDetailIndex = -1;
if (!(this.actor instanceof Shell.OverflowList))
this.actor.get_vscroll_bar().get_adjustment().value = 0;
this.actor.get_vscroll_bar().get_adjustment().value = 0;
},
// Returns an actor which acts as a sidebar; this is used for
@ -653,11 +643,7 @@ GenericDisplay.prototype = {
// Returns a display item based on its index in the ordering of the
// display children.
_findDisplayedByIndex: function(index) {
let actor;
if (this.actor instanceof Shell.OverflowList)
actor = this.actor.get_displayed_actor(index);
else
actor = this._list.get_children()[index];
let actor = this._list.get_children()[index];
return this._findDisplayedByActor(actor);
},
@ -692,8 +678,6 @@ GenericDisplay.prototype = {
},
_getVisibleCount: function() {
if (this.actor instanceof Shell.OverflowList)
return this._list.displayed_count;
return this._list.get_n_children();
},

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

@ -0,0 +1,285 @@
/* -*- 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 success, len;
let node = this.actor.get_theme_node();
[success, len] = node.get_length('spacing', false);
if (success)
this._spacing = spacing;
if (this._setSizeManually)
return;
[success, len] = node.get_length('icon-size', false);
if (success)
this._setIconSize(len);
}
};
function IconGrid(params) {
this._init(params);
}
IconGrid.prototype = {
_init: function(params) {
params = Params.parse(params, { rowLimit: null, columnLimit: null });
this._rowLimit = params.rowLimit;
this._colLimit = params.columnLimit;
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 overallPaddingX = Math.floor((availWidth - usedWidth) / 2);
let x = box.x1 + overallPaddingX;
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 + overallPaddingX;
} 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();
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);
},
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,16 +1,20 @@
/* -*- 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;
const Params = imports.misc.params;
const Tweener = imports.ui.tweener;
/**
* Lightbox:
* @container: parent Clutter.Container
* @inhibitEvents: whether to inhibit events for @container
* @width: (optional) shade actor width
* @height: (optional) shade actor height
* @params: (optional) additional parameters:
* - inhibitEvents: whether to inhibit events for @container
* - width: shade actor width
* - height: shade actor height
* - fadeTime: seconds used to fade in/out
*
* Lightbox creates a dark translucent "shade" actor to hide the
* contents of @container, and allows you to specify particular actors
@ -24,29 +28,37 @@ const St = imports.gi.St;
*
* By default, the shade window will have the height and width of
* @container and will track any changes in its size. You can override
* this by passing an explicit width and height
* this by passing an explicit width and height in @params.
*/
function Lightbox(container, inhibitEvents, width, height) {
this._init(container, inhibitEvents, width, height);
function Lightbox(container, params) {
this._init(container, params);
}
Lightbox.prototype = {
_init : function(container, inhibitEvents, width, height) {
_init : function(container, params) {
params = Params.parse(params, { inhibitEvents: false,
width: null,
height: null,
fadeTime: null
});
this._container = container;
this._children = container.get_children();
this._fadeTime = params.fadeTime;
this.actor = new St.Bin({ x: 0,
y: 0,
style_class: 'lightbox',
reactive: inhibitEvents });
reactive: params.inhibitEvents });
container.add_actor(this.actor);
this.actor.raise_top();
this.actor.hide();
this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
if (width && height) {
this.actor.width = width;
this.actor.height = height;
if (params.width && params.height) {
this.actor.width = params.width;
this.actor.height = params.height;
this._allocationChangedSignalId = 0;
} else {
this.actor.width = container.width;
@ -92,6 +104,35 @@ Lightbox.prototype = {
}
},
show: function() {
if (this._fadeTime) {
this.actor.opacity = 0;
Tweener.addTween(this.actor,
{ opacity: 255,
time: this._fadeTime,
transition: 'easeOutQuad'
});
} else {
this.actor.opacity = 255;
}
this.actor.show();
},
hide: function() {
if (this._fadeTime) {
Tweener.addTween(this.actor,
{ opacity: 0,
time: this._fadeTime,
transition: 'easeOutQuad',
onComplete: Lang.bind(this, function() {
this.actor.hide();
})
});
} else {
this.actor.hide();
}
},
_actorRemoved : function(container, child) {
let index = this._children.indexOf(child);
if (index != -1) // paranoia

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

@ -1,6 +1,7 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
const Clutter = imports.gi.Clutter;
const GConf = imports.gi.GConf;
const GLib = imports.gi.GLib;
const Gio = imports.gi.Gio;
const Pango = imports.gi.Pango;
@ -223,7 +224,11 @@ WindowList.prototype = {
let tracker = Shell.WindowTracker.get_default();
for (let i = 0; i < windows.length; i++) {
let metaWindow = windows[i].metaWindow;
metaWindow.connect('unmanaged', Lang.bind(this, this._updateWindowList));
// Avoid multiple connections
if (!metaWindow._lookingGlassManaged) {
metaWindow.connect('unmanaged', Lang.bind(this, this._updateWindowList));
metaWindow._lookingGlassManaged = true;
}
let box = new St.BoxLayout({ vertical: true });
this.actor.add(box);
let windowLink = new ObjLink(metaWindow, metaWindow.title);
@ -360,59 +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 id, style_class;
if (target instanceof St.Widget) {
id = target.get_theme_node().get_element_id();
style_class = target.get_theme_node().get_element_class();
}
let position = '<inspect x: ' + stageX + ' y: ' + stageY + '>';
let style = '<style id: ' + id + ' class: ' + style_class + '>';
displayText.text = position + ' ' + style + ' ' + 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);
}
};
@ -427,6 +508,11 @@ ErrorLog.prototype = {
this.actor = new St.BoxLayout();
this.text = new St.Label();
this.actor.add(this.text);
// We need to override StLabel's default ellipsization when
// using line_wrap; otherwise ClutterText's layout is going
// to constrain both the width and height, which prevents
// scrolling.
this.text.clutter_text.ellipsize = Pango.EllipsizeMode.NONE;
this.text.clutter_text.line_wrap = true;
this.actor.connect('notify::mapped', Lang.bind(this, this._renderText));
},
@ -578,10 +664,10 @@ LookingGlass.prototype = {
vertical: true,
visible: false });
let gconf = Shell.GConf.get_default();
gconf.watch_directory('/desktop/gnome/interface');
gconf.connect('changed::/desktop/gnome/interface/monospace_font_name',
Lang.bind(this, this._updateFont));
let gconf = GConf.Client.get_default();
gconf.add_dir('/desktop/gnome/interface', GConf.ClientPreloadType.PRELOAD_NONE);
gconf.notify_add('/desktop/gnome/interface/monospace_font_name',
Lang.bind(this, this._updateFont));
this._updateFont();
Main.uiGroup.add_actor(this.actor);
@ -592,8 +678,9 @@ 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 = St.TextureCache.get_default().load_icon_name('gtk-color-picker',
St.IconType.SYMBOLIC,
24);
toolbar.add_actor(inspectIcon);
inspectIcon.reactive = true;
inspectIcon.connect('button-press-event', Lang.bind(this, function () {
@ -692,11 +779,11 @@ LookingGlass.prototype = {
},
_updateFont: function() {
let gconf = Shell.GConf.get_default();
let gconf = GConf.Client.get_default();
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 =

View File

@ -1,16 +1,17 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
const DBus = imports.dbus;
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,
@ -27,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;
@ -79,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));
@ -129,6 +114,9 @@ Magnifier.prototype = {
// invisible.
if (!activate)
this._xfixesCursor.show();
// Notify interested parties of this change
this.emit('active-changed', activate);
},
/**
@ -153,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)
);
},
@ -283,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);
@ -315,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 {
@ -427,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
@ -460,61 +447,84 @@ Magnifier.prototype = {
this._mouseSprite.set_anchor_point(xHot, yHot);
},
_gConfInit: function(zoomRegion) {
let gConf = Shell.GConf.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_boolean(LENS_MODE_KEY));
zoomRegion.setClampScrollingAtEdges(!gConf.get_boolean(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_boolean(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_boolean(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.watch_directory(A11Y_MAG_PREFS_DIR);
gConf.connect('changed::' + SHOW_KEY, Lang.bind(this, this._updateShowHide));
gConf.connect('changed::' + SCREEN_POSITION_KEY, Lang.bind(this, this._updateScreenPosition));
gConf.connect('changed::' + MAG_FACTOR_KEY, Lang.bind(this, this._updateMagFactor));
gConf.connect('changed::' + LENS_MODE_KEY, Lang.bind(this, this._updateLensMode));
gConf.connect('changed::' + CLAMP_MODE_KEY, Lang.bind(this, this._updateClampMode));
gConf.connect('changed::' + MOUSE_TRACKING_KEY, Lang.bind(this, this._updateMouseTrackingMode));
gConf.connect('changed::' + SHOW_CROSS_HAIRS_KEY, Lang.bind(this, this._updateShowCrosshairs));
gConf.connect('changed::' + CROSS_HAIRS_THICKNESS_KEY, Lang.bind(this, this._updateCrosshairsThickness));
gConf.connect('changed::' + CROSS_HAIRS_COLOR_KEY, Lang.bind(this, this._updateCrosshairsColor));
gConf.connect('changed::' + CROSS_HAIRS_OPACITY_KEY, Lang.bind(this, this._updateCrosshairsOpacity));
gConf.connect('changed::' + CROSS_HAIRS_LENGTH_KEY, Lang.bind(this, this._updateCrosshairsLength));
gConf.connect('changed::' + 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_boolean(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 = Shell.GConf.get_default();
this.setActive(gConf.get_boolean(SHOW_KEY));
},
_updateScreenPosition: function() {
// Applies only to the first zoom region.
if (this._zoomRegions.length) {
let gConf = Shell.GConf.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();
@ -524,9 +534,8 @@ Magnifier.prototype = {
_updateMagFactor: function() {
// Applies only to the first zoom region.
if (this._zoomRegions.length) {
let gConf = Shell.GConf.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);
}
},
@ -534,17 +543,15 @@ Magnifier.prototype = {
_updateLensMode: function() {
// Applies only to the first zoom region.
if (this._zoomRegions.length) {
let gConf = Shell.GConf.get_default();
this._zoomRegions[0].setLensMode(gConf.get_boolean(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 = Shell.GConf.get_default();
this._zoomRegions[0].setClampScrollingAtEdges(
!gConf.get_boolean(CLAMP_MODE_KEY)
!this._settings.get_boolean(CLAMP_MODE_KEY)
);
}
},
@ -552,43 +559,13 @@ Magnifier.prototype = {
_updateMouseTrackingMode: function() {
// Applies only to the first zoom region.
if (this._zoomRegions.length) {
let gConf = Shell.GConf.get_default();
this._zoomRegions[0].setMouseTrackingMode(
gConf.get_int(MOUSE_TRACKING_KEY)
this._settings.get_enum(MOUSE_TRACKING_KEY)
);
}
},
_updateShowCrosshairs: function() {
let gConf = Shell.GConf.get_default();
this.setCrosshairsVisible(gConf.get_boolean(SHOW_CROSS_HAIRS_KEY));
},
_updateCrosshairsThickness: function() {
let gConf = Shell.GConf.get_default();
this.setCrosshairsThickness(gConf.get_int(CROSS_HAIRS_THICKNESS_KEY));
},
_updateCrosshairsColor: function() {
let gConf = Shell.GConf.get_default();
this.setCrosshairsColor(gConf.get_string(CROSS_HAIRS_COLOR_KEY));
},
_updateCrosshairsOpacity: function() {
let gConf = Shell.GConf.get_default();
this.setCrosshairsOpacity(gConf.get_int(CROSS_HAIRS_OPACITY_KEY));
},
_updateCrosshairsLength: function() {
let gConf = Shell.GConf.get_default();
this.setCrosshairsLength(gConf.get_int(CROSS_HAIRS_LENGTH_KEY));
},
_updateCrosshairsClip: function() {
let gConf = Shell.GConf.get_default();
this.setCrosshairsClip(gConf.get_boolean(CROSS_HAIRS_CLIP_KEY));
}
};
Signals.addSignalMethods(Magnifier.prototype);
function ZoomRegion(magnifier, mouseRoot) {
this._init(magnifier, mouseRoot);
@ -628,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);
},
/**
@ -1214,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++;
@ -267,7 +267,7 @@ ShellMagnifier.prototype = {
* @color: Unsigned int of the form rrggbbaa.
*/
setCrosswireColor: function(color) {
Main.magnifier.setCrosshairsColor('#' + color.toString(16));
Main.magnifier.setCrosshairsColor('#%08x'.format(color));
},
/**
@ -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,20 +2,20 @@
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;
const Gdk = imports.gi.Gdk;
const Gio = imports.gi.Gio;
const GLib = imports.gi.GLib;
const GConf = imports.gi.GConf;
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;
@ -34,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);
@ -55,6 +56,7 @@ let modalCount = 0;
let modalActorFocusStack = [];
let uiGroup = null;
let magnifier = null;
let statusIconDispatcher = null;
let _errorLogStack = [];
let _startDate;
@ -124,6 +126,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();
@ -133,6 +137,8 @@ function start() {
_startDate = new Date();
let recorderSettings = new Gio.Settings({ schema: 'org.gnome.shell.recorder' });
global.screen.connect('toggle-recording', function() {
if (recorder == null) {
recorder = new Shell.Recorder({ stage: global.stage });
@ -141,11 +147,11 @@ function start() {
if (recorder.is_recording()) {
recorder.pause();
} else {
//read the parameters from GConf always in case they have changed
let gconf = Shell.GConf.get_default();
recorder.set_framerate(gconf.get_int('recorder/framerate'));
recorder.set_filename('shell-%d%u-%c.' + gconf.get_string('recorder/file_extension'));
let pipeline = gconf.get_string('recorder/pipeline');
// read the parameters from GSettings always in case they have changed
recorder.set_framerate(recorderSettings.get_int('framerate'));
recorder.set_filename('shell-%d%u-%c.' + recorderSettings.get_string('file-extension'));
let pipeline = recorderSettings.get_string('pipeline');
if (!pipeline.match(/^\s*$/))
recorder.set_pipeline(pipeline);
else
@ -159,7 +165,7 @@ function start() {
global.stage.add_actor(background);
background.lower_bottom();
global.connect('screen-size-changed', _relayout);
global.gdk_screen.connect('monitors-changed', _relayout);
ExtensionSystem.init();
ExtensionSystem.loadExtensions();
@ -171,9 +177,6 @@ function start() {
global.stage.connect('captured-event', _globalKeyPressHandler);
// Install magnifier.
magnifier = new Magnifier.Magnifier();
// Perform initial relayout here
_relayout();
@ -296,7 +299,7 @@ function _globalKeyPressHandler(actor, event) {
let symbol = event.get_key_symbol();
if (symbol == Clutter.Print) {
// We want to be able to take screenshots of the shell at all times
let gconf = Shell.GConf.get_default();
let gconf = GConf.Client.get_default();
let command = gconf.get_string('/apps/metacity/keybinding_commands/command_screenshot');
if (command != null && command != '') {
let [ok, len, args] = GLib.shell_parse_argv(command);

File diff suppressed because it is too large Load Diff

View File

@ -80,6 +80,7 @@ const rewriteRules = {
replacement: '$2 &lt;$1&gt;' }
]
};
function NotificationDaemon() {
this._init();
}
@ -98,7 +99,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));
@ -131,18 +138,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 textureCache.load_icon_name(icon, St.IconType.FULLCOLOR, 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 textureCache.load_icon_name(stockIcon, St.IconType.FULLCOLOR, size);
}
},
_newSource: function(title, pid) {
let source = new Source(title, pid);
this._sources[pid] = source;
source.connect('clicked', Lang.bind(this,
function() {
source.destroy();
}));
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 () {
@ -151,31 +203,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) {
source = new Source(this._sourceId(appName), 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];
@ -187,43 +214,105 @@ 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 = new MessageTray.Notification(source, summary, body, { icon: iconActor });
ndata.notification = notification;
notification.connect('dismissed', 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) {
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);
},
@ -235,8 +324,9 @@ NotificationDaemon.prototype = {
// 'body-images',
'body-markup',
// 'icon-multi',
'icon-static'
'icon-static',
// 'sound',
'x-gnome-icon-buttons'
];
},
@ -251,17 +341,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.destroy();
return;
}
}
},
_actionInvoked: function(notification, action, source, id) {
this._emitActionInvoked(id, action);
source.destroy();
this._emitActionInvoked(id, action);
},
_emitNotificationClosed: function(id, reason) {
delete this._currentNotifications[id];
DBus.session.emit_signal('/org/freedesktop/Notifications',
'org.freedesktop.Notifications',
'NotificationClosed', 'uu',
@ -273,85 +370,81 @@ 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.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, icon, hints) {
this._init(sourceId, icon, hints);
function Source(title, pid) {
this._init(title, pid);
}
Source.prototype = {
__proto__: MessageTray.Source.prototype,
_init: function(sourceId, icon, hints) {
MessageTray.Source.prototype._init.call(this, sourceId);
_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;
},
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));
}
},
setTrayIcon: function(icon) {
this._setSummaryIcon(icon);
this.useNotificationIcon = false;
},
clicked: function() {
this.openApp();
MessageTray.Source.prototype.clicked.call(this);
},
setApp: function(app) {
this.app = app;
if (this._openAppRequested)
this.openApp();
},
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,19 +1,15 @@
/* -*- 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 Mainloop = imports.mainloop;
const Shell = imports.gi.Shell;
const Signals = imports.signals;
const Lang = imports.lang;
const St = imports.gi.St;
const Gettext = imports.gettext.domain('gnome-shell');
const _ = Gettext.gettext;
const AppDisplay = imports.ui.appDisplay;
const DocDisplay = imports.ui.docDisplay;
const GenericDisplay = imports.ui.genericDisplay;
const Lightbox = imports.ui.lightbox;
const Main = imports.ui.main;
const Panel = imports.ui.panel;
const Dash = imports.ui.dash;
@ -23,6 +19,9 @@ 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 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
@ -174,13 +173,21 @@ function Overview() {
Overview.prototype = {
_init : function() {
this._group = new St.BoxLayout({ style_class: 'overview' });
this._group = new St.Group({ style_class: 'overview' });
this._group._delegate = this;
this._group.connect('destroy', Lang.bind(this,
function() {
if (this._lightbox) {
this._lightbox.destroy();
this._lightbox = null;
}
}));
this.infoBar = new InfoBar();
this._group.add_actor(this.infoBar.actor);
this._workspacesManager = null;
this._lightbox = null;
this.visible = false;
this.animationInProgress = false;
@ -268,6 +275,7 @@ Overview.prototype = {
this._recalculateGridSizes();
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;
@ -361,7 +369,11 @@ Overview.prototype = {
this._activeDisplayPane.close();
return true;
}));
this.workspaces.actor.opacity = 64;
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) {
@ -370,28 +382,25 @@ Overview.prototype = {
}
this._transparentBackground.lower_bottom();
this._paneContainer.hide();
this.workspaces.actor.opacity = 255;
this._lightbox.hide();
}
}));
},
//// Draggable target interface ////
//// Public methods ////
// Closes any active panes if a GenericDisplayItem is being
// dragged over the Overview, i.e. as soon as it starts being dragged.
// This allows the user to place the item on any workspace.
handleDragOver : function(source, actor, x, y, time) {
if (source instanceof GenericDisplay.GenericDisplayItem
|| source instanceof AppDisplay.AppIcon) {
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();
return true;
}
return false;
this.emit('item-drag-begin');
},
//// Public methods ////
endItemDrag: function(source) {
this.emit('item-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.

File diff suppressed because it is too large Load Diff

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

@ -0,0 +1,78 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
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,
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');
}
};
/* 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 = null;
this.setIcon(iconName);
this.setTooltip(tooltipText);
},
setIcon: function(iconName) {
this._iconName = iconName;
if (this._iconActor)
this._iconActor.destroy();
this._iconActor = St.TextureCache.get_default().load_icon_name(this._iconName, St.IconType.SYMBOLIC, 24);
this.actor.set_child(this._iconActor);
},
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,6 @@
/* -*- 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;
const Shell = imports.gi.Shell;
@ -47,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;
},
@ -120,13 +123,13 @@ function PlacesManager() {
PlacesManager.prototype = {
_init: function() {
let gconf = Shell.GConf.get_default();
gconf.watch_directory(NAUTILUS_PREFS_DIR);
let gconf = GConf.Client.get_default();
gconf.add_dir(NAUTILUS_PREFS_DIR, GConf.ClientPreloadType.PRELOAD_NONE);
this._defaultPlaces = [];
this._mounts = [];
this._bookmarks = [];
this._isDesktopHome = gconf.get_boolean(DESKTOP_IS_HOME_KEY);
this._isDesktopHome = gconf.get_bool(DESKTOP_IS_HOME_KEY);
let homeFile = Gio.file_new_for_path (GLib.get_home_dir());
let homeUri = homeFile.get_uri();
@ -155,7 +158,7 @@ PlacesManager.prototype = {
this._connect = new PlaceInfo('special:connect', _("Connect to..."),
function (size) {
return St.TextureCache.get_default().load_icon_name('applications-internet', size);
return St.TextureCache.get_default().load_icon_name('applications-internet', St.IconType.FULLCOLOR, size);
},
function () {
new Shell.Process({ args: ['nautilus-connect-server'] }).run();
@ -225,7 +228,7 @@ PlacesManager.prototype = {
this._reloadBookmarks();
gconf.connect('changed::' + DESKTOP_IS_HOME_KEY, Lang.bind(this, this._updateDesktopMenuVisibility));
gconf.notify_add(DESKTOP_IS_HOME_KEY, Lang.bind(this, this._updateDesktopMenuVisibility));
},
@ -336,7 +339,7 @@ PlacesManager.prototype = {
},
_updateDesktopMenuVisibility: function() {
let gconf = Shell.GConf.get_default();
let gconf = GConf.Client.get_default();
this._isDesktopHome = gconf.get_boolean(DESKTOP_IS_HOME_KEY);
if (this._isDesktopHome)
@ -429,7 +432,7 @@ 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 = St.TextureCache.get_default().load_icon_name ('media-eject', St.IconType.FULLCOLOR, PLACES_ICON_SIZE);
let removeIconBox = new St.Clickable({ child: removeIcon,
reactive: true });
box.add(removeIconBox);
@ -443,6 +446,14 @@ DashPlaceDisplayItem.prototype = {
this.actor._delegate = this;
this._draggable = DND.makeDraggable(this.actor);
this._draggable.connect('drag-begin',
Lang.bind(this, function() {
Main.overview.beginItemDrag(this);
}));
this._draggable.connect('drag-end',
Lang.bind(this, function() {
Main.overview.endItemDrag(this);
}));
},
_onClicked: function(b) {
@ -564,8 +575,9 @@ PlaceSearchProvider.prototype = {
},
_searchPlaces: function(places, terms) {
let multipleResults = [];
let multiplePrefixResults = [];
let prefixResults = [];
let multipleSubstringResults = [];
let substringResults = [];
terms = terms.map(String.toLowerCase);
@ -573,17 +585,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) {

1011
js/ui/popupMenu.js Normal file

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;
@ -14,12 +13,15 @@ const _ = Gettext.gettext;
const Lightbox = imports.ui.lightbox;
const Main = imports.ui.main;
const Tweener = imports.ui.tweener;
const MAX_FILE_DELETED_BEFORE_INVALID = 10;
const HISTORY_KEY = 'run_dialog/history';
const HISTORY_KEY = 'command-history';
const HISTORY_LIMIT = 512;
const DIALOG_FADE_TIME = 0.1;
function CommandCompleter() {
this._init();
}
@ -176,17 +178,16 @@ RunDialog.prototype = {
_init : function() {
this._isOpen = false;
this._gconf = Shell.GConf.get_default();
this._gconf.connect('changed::development_tools', Lang.bind(this, function () {
this._enableInternalCommands = this._gconf.get_boolean('development_tools');
global.settings.connect('changed::development-tools', Lang.bind(this, function () {
this._enableInternalCommands = global.settings.get_boolean('development-tools');
}));
this._enableInternalCommands = this._gconf.get_boolean('development_tools');
this._enableInternalCommands = global.settings.get_boolean('development-tools');
this._history = this._gconf.get_string_list(HISTORY_KEY);
this._history = global.settings.get_strv(HISTORY_KEY);
this._historyIndex = -1;
this._gconf.connect('changed::' + HISTORY_KEY, Lang.bind(this, function() {
this._history = this._gconf.get_string_list(HISTORY_KEY);
global.settings.connect('changed::' + HISTORY_KEY, Lang.bind(this, function() {
this._history = global.settings.get_strv(HISTORY_KEY);
this._historyIndex = this._history.length;
}));
@ -215,13 +216,14 @@ RunDialog.prototype = {
x: 0, y: 0 });
Main.uiGroup.add_actor(this._group);
let lightbox = new Lightbox.Lightbox(this._group, true);
this._lightbox = new Lightbox.Lightbox(this._group,
{ inhibitEvents: true });
this._box = new St.Bin({ x_align: St.Align.MIDDLE,
y_align: St.Align.MIDDLE });
this._group.add_actor(this._box);
lightbox.highlight(this._box);
this._lightbox.highlight(this._box);
let dialogBox = new St.BoxLayout({ style_class: 'run-dialog', vertical: true });
@ -323,13 +325,14 @@ RunDialog.prototype = {
if (this._history.length > HISTORY_LIMIT) {
this._history.splice(0, this._history.length - HISTORY_LIMIT);
}
this._gconf.set_string_list(HISTORY_KEY, this._history);
global.settings.set_strv(HISTORY_KEY, this._history);
},
_run : function(input, inTerminal) {
let command = input;
if (this._history.length > 0 && this._history[this._history.length - 1] != input) {
if (this._history.length == 0 ||
this._history[this._history.length - 1] != input) {
this._history.push(input);
this._saveHistory();
}
@ -413,7 +416,14 @@ RunDialog.prototype = {
this._box.set_size(monitor.width, monitor.height);
this._isOpen = true;
this._lightbox.show();
this._group.opacity = 0;
this._group.show();
Tweener.addTween(this._group,
{ opacity: 255,
time: DIALOG_FADE_TIME,
transition: 'easeOutQuad'
});
global.stage.set_key_focus(this._entryText);
},
@ -423,14 +433,20 @@ RunDialog.prototype = {
return;
this._isOpen = false;
this._errorBox.hide();
this._commandError = false;
this._group.hide();
this._entryText.set_text('');
Main.popModal(this._group);
Tweener.addTween(this._group,
{ opacity: 0,
time: DIALOG_FADE_TIME,
transition: 'easeOutQuad',
onComplete: Lang.bind(this, function() {
this._errorBox.hide();
this._group.hide();
this._entryText.set_text('');
})
});
}
};
Signals.addSignalMethods(RunDialog.prototype);

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,7 +1,6 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
const Signals = imports.signals;
const St = imports.gi.St;
const RESULT_ICON_SIZE = 24;
@ -10,9 +9,10 @@ const RESULT_ICON_SIZE = 24;
// 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
@ -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);
}
}
}

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,237 @@
/* -*- 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 KEY_A11Y_DIR = "/desktop/gnome/accessibility";
const KEY_STICKY_KEYS_ENABLED = KEY_A11Y_DIR + "/keyboard/stickykeys_enable";
const KEY_BOUNCE_KEYS_ENABLED = KEY_A11Y_DIR + "/keyboard/bouncekeys_enable";
const KEY_SLOW_KEYS_ENABLED = KEY_A11Y_DIR + "/keyboard/slowkeys_enable";
const KEY_MOUSE_KEYS_ENABLED = KEY_A11Y_DIR + "/keyboard/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 KEY_FONT_DPI = "/desktop/gnome/font_rendering/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_A11Y_DIR, GConf.ClientPreloadType.PRELOAD_ONELEVEL, null);
client.notify_add(KEY_A11Y_DIR, Lang.bind(this, this._keyChanged), null, null);
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(client);
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._buildItemGConf(_("Sticky Keys"), client, KEY_STICKY_KEYS_ENABLED);
this.menu.addMenuItem(stickyKeys);
let slowKeys = this._buildItemGConf(_("Slow Keys"), client, KEY_SLOW_KEYS_ENABLED);
this.menu.addMenuItem(slowKeys);
let bounceKeys = this._buildItemGConf(_("Bounce Keys"), client, KEY_BOUNCE_KEYS_ENABLED);
this.menu.addMenuItem(bounceKeys);
let mouseKeys = this._buildItemGConf(_("Mouse Keys"), client, 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(client) {
let first_gconf_value = client.get_without_default(KEY_FONT_DPI);
let default_value = getDPIFromX();
let first_value = first_gconf_value ? first_gconf_value.get_float() : default_value;
function on_get() {
let u_dpi = client.get_float(KEY_FONT_DPI);
let x_dpi = getDPIFromX();
return (u_dpi - (DPI_FACTOR_LARGE * x_dpi) > -1);
}
let initial_setting = on_get();
let widget = this._buildItemExtended(_("Large Text"),
initial_setting,
client.key_is_writable(KEY_FONT_DPI),
function (enabled) {
if (enabled)
client.set_float(KEY_FONT_DPI, DPI_FACTOR_LARGE * getDPIFromX());
else
client.set_float(KEY_FONT_DPI, (first_value && !initial_setting) ? first_value : default_value);
});
this.connect('gconf-changed', function() {
let active = on_get();
if (!active)
// setting was modified manually, update it
first_value = client.get_float(KEY_FONT_DPI);
widget.setToggleState(on_get());
});
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);

View File

@ -0,0 +1,56 @@
/* -*- 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',
'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.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.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

@ -9,7 +9,9 @@ const Gettext = imports.gettext.domain('gnome-shell');
const _ = Gettext.gettext;
const GnomeSession = imports.misc.gnomeSession;
const Panel = imports.ui.panel;
const Main = imports.ui.main;
const PanelMenu = imports.ui.panelMenu;
const PopupMenu = imports.ui.popupMenu;
// Adapted from gdm/gui/user-switch-applet/applet.c
//
@ -21,10 +23,10 @@ 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);
@ -38,11 +40,10 @@ StatusMenuButton.prototype = {
box.add(this._iconBox, { y_align: St.Align.MIDDLE, y_fill: false });
let textureCache = St.TextureCache.get_default();
// FIXME: these icons are all wrong (likewise in createSubMenu)
this._availableIcon = textureCache.load_icon_name('gtk-yes', 16);
this._busyIcon = textureCache.load_icon_name('gtk-no', 16);
this._invisibleIcon = textureCache.load_icon_name('gtk-close', 16);
this._idleIcon = textureCache.load_icon_name('gtk-media-pause', 16);
this._availableIcon = textureCache.load_icon_name('user-available', St.IconType.SYMBOLIC, 16);
this._busyIcon = textureCache.load_icon_name('user-busy', St.IconType.SYMBOLIC, 16);
this._invisibleIcon = textureCache.load_icon_name('user-invisible', St.IconType.SYMBOLIC, 16);
this._idleIcon = textureCache.load_icon_name('user-idle', St.IconType.SYMBOLIC, 16);
this._presence.connect('StatusChanged', Lang.bind(this, this._updatePresenceIcon));
this._presence.getStatus(Lang.bind(this, this._updatePresenceIcon));
@ -87,46 +88,46 @@ StatusMenuButton.prototype = {
_createSubMenu: function() {
let item;
item = new Panel.PanelImageMenuItem(_("Available"), 'gtk-yes', true);
item = new PopupMenu.PopupImageMenuItem(_("Available"), 'user-available', true);
item.connect('activate', Lang.bind(this, this._setPresenceStatus, GnomeSession.PresenceStatus.AVAILABLE));
this.menu.addMenuItem(item);
item = new Panel.PanelImageMenuItem(_("Busy"), 'gtk-no', true);
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 Panel.PanelImageMenuItem(_("Invisible"), 'gtk-close', true);
item = new PopupMenu.PopupImageMenuItem(_("Invisible"), 'user-invisible', true);
item.connect('activate', Lang.bind(this, this._setPresenceStatus, GnomeSession.PresenceStatus.INVISIBLE));
this.menu.addMenuItem(item);
item = new Panel.PanelSeparatorMenuItem();
item = new PopupMenu.PopupSeparatorMenuItem();
this.menu.addMenuItem(item);
item = new Panel.PanelImageMenuItem(_("Account Information..."), 'user-info');
item = new PopupMenu.PopupImageMenuItem(_("Account Information..."), 'user-info');
item.connect('activate', Lang.bind(this, this._onAccountInformationActivate));
this.menu.addMenuItem(item);
item = new Panel.PanelImageMenuItem(_("System Preferences..."), 'preferences-desktop');
item = new PopupMenu.PopupImageMenuItem(_("System Settings..."), 'preferences-desktop');
item.connect('activate', Lang.bind(this, this._onPreferencesActivate));
this.menu.addMenuItem(item);
item = new Panel.PanelSeparatorMenuItem();
item = new PopupMenu.PopupSeparatorMenuItem();
this.menu.addMenuItem(item);
item = new Panel.PanelImageMenuItem(_("Lock Screen"), 'system-lock-screen');
item = new PopupMenu.PopupImageMenuItem(_("Lock Screen"), 'system-lock-screen');
item.connect('activate', Lang.bind(this, this._onLockScreenActivate));
this.menu.addMenuItem(item);
item = new Panel.PanelImageMenuItem(_("Switch User"), 'system-users');
item = new PopupMenu.PopupImageMenuItem(_("Switch User"), 'system-users');
item.connect('activate', Lang.bind(this, this._onLoginScreenActivate));
this.menu.addMenuItem(item);
this._loginScreenItem = item;
item = new Panel.PanelImageMenuItem(_("Log Out..."), 'system-log-out');
item = new PopupMenu.PopupImageMenuItem(_("Log Out..."), 'system-log-out');
item.connect('activate', Lang.bind(this, this._onQuitSessionActivate));
this.menu.addMenuItem(item);
item = new Panel.PanelImageMenuItem(_("Shut Down..."), 'system-shutdown');
item = new PopupMenu.PopupImageMenuItem(_("Shut Down..."), 'system-shutdown');
item.connect('activate', Lang.bind(this, this._onShutDownActivate));
this.menu.addMenuItem(item);
},
@ -136,27 +137,33 @@ StatusMenuButton.prototype = {
},
_onAccountInformationActivate: function() {
Main.overview.hide();
this._spawn(['gnome-about-me']);
},
_onPreferencesActivate: function() {
Main.overview.hide();
this._spawn(['gnome-control-center']);
},
_onLockScreenActivate: function() {
Main.overview.hide();
this._spawn(['gnome-screensaver-command', '--lock']);
},
_onLoginScreenActivate: function() {
Main.overview.hide();
this._gdm.goto_login_session();
this._onLockScreenActivate();
},
_onQuitSessionActivate: function() {
Main.overview.hide();
this._spawn(['gnome-session-save', '--logout-dialog']);
},
_onShutDownActivate: function() {
Main.overview.hide();
this._spawn(['gnome-session-save', '--shutdown-dialog']);
},

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,7 @@ 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 = textureCache.load_icon_name('stock_person', St.IconType.FULLCOLOR, iconBox._size);
}
},
@ -460,13 +458,12 @@ Source.prototype = {
this._targetHandleType = targetHandleType;
this._targetId = targetId;
this.name = this._targetId;
if (targetHandleType == Telepathy.HandleType.CONTACT) {
let aliasing = new Telepathy.ConnectionAliasing(DBus.session, connName, connPath);
aliasing.RequestAliasesRemote([this._targetHandle], Lang.bind(this,
function (aliases, err) {
if (aliases && aliases.length)
this.name = aliases[0];
this.title = aliases[0];
}));
}
@ -478,10 +475,13 @@ Source.prototype = {
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() {
@ -525,7 +525,7 @@ Source.prototype = {
Main.messageTray.add(this);
if (!this._notification)
this._notification = new Notification(this._targetId, this);
this._notification = new Notification(this);
},
_messageReceived: function(channel, id, timestamp, sender,
@ -543,18 +543,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;
@ -571,19 +571,17 @@ Source.prototype = {
}
};
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.name);
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);
@ -592,9 +590,9 @@ Notification.prototype = {
appendMessage: function(text, asTitle) {
if (asTitle)
this.update(text);
this.update(text, null, { customContent: true });
else
this.update(this.source.name, text);
this.update(this.source.title, text, { customContent: true });
this._append(text, 'chat-received');
},
@ -624,63 +622,20 @@ Notification.prototype = {
}
},
_onButtonPress: function(notification, event) {
if (!this._active)
return false;
let source = event.get_source ();
while (source) {
if (source == notification)
return false;
source = source.get_parent();
}
// @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();
}
}
};

View File

@ -1,9 +1,10 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
const Clutter = imports.gi.Clutter;
const GLib = imports.gi.GLib;
const Lang = imports.lang;
const Mainloop = imports.mainloop;
const Shell = imports.gi.Shell;
const St = imports.gi.St;
const Signals = imports.signals;
const Tweener = imports.tweener.tweener;
@ -42,17 +43,8 @@ const Tweener = imports.tweener.tweener;
// calls any of these is almost certainly wrong anyway, because they
// affect the entire application.)
let slowDownFactor = 1.0;
// Called from Main.start
function init() {
let slowdownEnv = GLib.getenv('GNOME_SHELL_SLOWDOWN_FACTOR');
if (slowdownEnv) {
let factor = parseFloat(slowdownEnv);
if (!isNaN(factor) && factor > 0.0)
slowDownFactor = factor;
}
Tweener.setFrameTicker(new ClutterFrameTicker());
}
@ -215,12 +207,19 @@ ClutterFrameTicker.prototype = {
// when we need to stop, so use 1000 seconds as "infinity"
this._timeline = new Clutter.Timeline({ duration: 1000*1000 });
this._startTime = -1;
this._currentTime = -1;
this._timeline.connect('new-frame', Lang.bind(this,
function(timeline, frame) {
this._onNewFrame(frame);
}));
let perf_log = Shell.PerfLog.get_default();
perf_log.define_event("tweener.framePrepareStart",
"Start of a new animation frame",
"");
perf_log.define_event("tweener.framePrepareDone",
"Finished preparing frame",
"");
},
_onNewFrame : function(frame) {
@ -233,15 +232,19 @@ ClutterFrameTicker.prototype = {
this._startTime = this._timeline.get_elapsed_time();
// currentTime is in milliseconds
this._currentTime = (this._timeline.get_elapsed_time() - this._startTime) / slowDownFactor;
let perf_log = Shell.PerfLog.get_default();
perf_log.event("tweener.framePrepareStart");
this.emit('prepare-frame');
perf_log.event("tweener.framePrepareDone");
},
getTime : function() {
return this._currentTime;
return this._timeline.get_elapsed_time();
},
start : function() {
if (St.get_slow_down_factor() > 0)
Tweener.setTimeScale(1 / St.get_slow_down_factor());
this._timeline.start();
global.begin_work();
},
@ -249,7 +252,6 @@ ClutterFrameTicker.prototype = {
stop : function() {
this._timeline.stop();
this._startTime = -1;
this._currentTime = -1;
global.end_work();
}
};

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,22 @@ 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,21 +83,22 @@ 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);
_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() {

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,19 +91,24 @@ WindowManager.prototype = {
this._mapping = [];
this._destroying = [];
this._dimmedWindows = [];
this._switchData = null;
this._shellwm.connect('switch-workspace', Lang.bind(this, this._switchWorkspace));
this._shellwm.connect('kill-switch-workspace', Lang.bind(this, this._switchWorkspaceDone));
this._shellwm.connect('kill-window-effects', Lang.bind(this, function (shellwm, actor) {
this._minimizeWindowDone(shellwm, actor);
this._maximizeWindowDone(shellwm, actor);
this._unmaximizeWindowDone(shellwm, actor);
this._mapWindowDone(shellwm, actor);
this._destroyWindowDone(shellwm, actor);
}));
this._shellwm.connect('switch-workspace', Lang.bind(this, this._switchWorkspace));
this._shellwm.connect('minimize', Lang.bind(this, this._minimizeWindow));
this._shellwm.connect('kill-minimize', Lang.bind(this, this._minimizeWindowDone));
this._shellwm.connect('maximize', Lang.bind(this, this._maximizeWindow));
this._shellwm.connect('kill-maximize', Lang.bind(this, this._maximizeWindowDone));
this._shellwm.connect('unmaximize', Lang.bind(this, this._unmaximizeWindow));
this._shellwm.connect('kill-unmaximize', Lang.bind(this, this._unmaximizeWindowDone));
this._shellwm.connect('map', Lang.bind(this, this._mapWindow));
this._shellwm.connect('kill-map', Lang.bind(this, this._mapWindowDone));
this._shellwm.connect('destroy', Lang.bind(this, this._destroyWindow));
this._shellwm.connect('kill-destroy', Lang.bind(this, this._destroyWindowDone));
this._workspaceSwitcherPopup = null;
this.setKeybindingHandler('switch_to_workspace_left', Lang.bind(this, this._showWorkspaceSwitcher));
@ -49,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){
@ -64,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;
},
@ -146,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;
@ -185,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) {
@ -197,7 +415,7 @@ WindowManager.prototype = {
return;
}
let windows = shellwm.get_switch_workspace_actors();
let windows = global.get_windows();
/* @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;
@ -28,7 +25,8 @@ FRAME_COLOR.from_pixel(0xffffffff);
const SCROLL_SCALE_AMOUNT = 100 / 5;
const ZOOM_OVERLAY_FADE_TIME = 0.15;
const LIGHTBOX_FADE_TIME = 0.1;
const CLOSE_BUTTON_FADE_TIME = 0.1;
const DRAGGING_WINDOW_OPACITY = 100;
@ -125,7 +123,8 @@ WindowClone.prototype = {
Lang.bind(this, this._onLeave));
this._draggable = DND.makeDraggable(this.actor,
{ dragActorMaxSize: WINDOW_DND_SIZE,
{ restoreOnSuccess: true,
dragActorMaxSize: WINDOW_DND_SIZE,
dragActorOpacity: DRAGGING_WINDOW_OPACITY });
this._draggable.connect('drag-begin', Lang.bind(this, this._onDragBegin));
this._draggable.connect('drag-end', Lang.bind(this, this._onDragEnd));
@ -216,7 +215,10 @@ WindowClone.prototype = {
this._zooming = true;
this.emit('zoom-start');
this._zoomLightbox = new Lightbox.Lightbox(global.stage, false);
if (!this._zoomLightbox)
this._zoomLightbox = new Lightbox.Lightbox(global.stage,
{ fadeTime: LIGHTBOX_FADE_TIME });
this._zoomLightbox.show();
this._zoomLocalOrig = new ScaledPoint(this.actor.x, this.actor.y, this.actor.scale_x, this.actor.scale_y);
this._zoomGlobalOrig = new ScaledPoint();
@ -255,7 +257,7 @@ WindowClone.prototype = {
[this.actor.x, this.actor.y] = this._zoomLocalOrig.getPosition();
[this.actor.scale_x, this.actor.scale_y] = this._zoomLocalOrig.getScale();
this._zoomLightbox.destroy();
this._zoomLightbox.hide();
this._zoomLocalPosition = undefined;
this._zoomLocalScale = undefined;
@ -263,7 +265,6 @@ WindowClone.prototype = {
this._zoomGlobalScale = undefined;
this._zoomTargetPosition = undefined;
this._zoomStep = undefined;
this._zoomLightbox = undefined;
},
_onButtonRelease : function (actor, event) {
@ -438,7 +439,7 @@ WindowOverlay.prototype = {
this._parentActor.raise_top();
Tweener.addTween(this.title,
{ opacity: 255,
time: Overview.ANIMATION_TIME,
time: CLOSE_BUTTON_FADE_TIME,
transition: 'easeOutQuad' });
},
@ -613,7 +614,7 @@ Workspace.prototype = {
// Find the desktop window
for (let i = 0; i < windows.length; i++) {
if (windows[i].get_window_type() == Meta.WindowType.DESKTOP) {
if (windows[i].meta_window.get_window_type() == Meta.WindowType.DESKTOP) {
this._desktop = new DesktopClone(windows[i]);
break;
}
@ -713,15 +714,17 @@ Workspace.prototype = {
* This function also resets the highlighted window state.
*/
setLightboxMode: function (showLightbox) {
if (showLightbox) {
this._lightbox = new Lightbox.Lightbox(this.actor, false);
} else {
this._lightbox.destroy();
this._lightbox = null;
}
if (this._frame) {
if (!this._lightbox)
this._lightbox = new Lightbox.Lightbox(this.actor,
{ fadeTime: LIGHTBOX_FADE_TIME });
if (showLightbox)
this._lightbox.show();
else
this._lightbox.hide();
if (this._frame)
this._frame.set_opacity(showLightbox ? 150 : 255);
}
},
/**
@ -731,6 +734,9 @@ Workspace.prototype = {
* Draw the user's attention to the given window @metaWindow.
*/
setHighlightWindow: function (metaWindow) {
if (!this._lightbox)
return;
let actor;
if (metaWindow != null) {
let clone = this.lookupCloneForMetaWindow(metaWindow);
@ -1580,6 +1586,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;

View File

@ -9,7 +9,7 @@ const Main = imports.ui.main;
const Tweener = imports.ui.tweener;
const ANIMATION_TIME = 0.075;
const ANIMATION_TIME = 0.1;
const DISPLAY_TIMEOUT = 600;
const LEFT = -1;
@ -21,18 +21,25 @@ function WorkspaceSwitcherPopup() {
WorkspaceSwitcherPopup.prototype = {
_init : function() {
this.actor = new Clutter.Group({ reactive: true,
this.actor = new St.Group({ reactive: true,
x: 0,
y: 0,
width: global.screen_width,
height: global.screen_height });
height: global.screen_height,
style_class: 'workspace-switcher-group' });
Main.uiGroup.add_actor(this.actor);
this._scaleWidth = global.screen_width / global.screen_height;
this._container = new St.BoxLayout({ style_class: 'workspace-switcher-container' });
this._list = new St.BoxLayout({ style_class: 'workspace-switcher' });
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._list.connect('get-preferred-width', Lang.bind(this, this._getPreferredWidth));
this._list.connect('get-preferred-height', Lang.bind(this, this._getPreferredHeight));
this._list.connect('allocate', Lang.bind(this, this._allocate));
this._container.add(this._list);
this.actor.add_actor(this._container);
@ -45,6 +52,57 @@ WorkspaceSwitcherPopup.prototype = {
this._timeoutId = Mainloop.timeout_add(DISPLAY_TIMEOUT, Lang.bind(this, this._onTimeout));
},
_getPreferredWidth : function (actor, forHeight, alloc) {
let children = this._list.get_children();
let primary = global.get_primary_monitor();
let availwidth = primary.width;
availwidth -= this.actor.get_theme_node().get_horizontal_padding();
availwidth -= this._container.get_theme_node().get_horizontal_padding();
availwidth -= this._list.get_theme_node().get_horizontal_padding();
let width = 0;
for (let i = 0; i < children.length; i++) {
let [childMinWidth, childNaturalWidth] = children[i].get_preferred_width(-1);
let [childMinHeight, childNaturalHeight] = children[i].get_preferred_height(childNaturalWidth);
width += childNaturalHeight * primary.width / primary.height;
}
let spacing = this._itemSpacing * (global.screen.n_workspaces - 1);
width += spacing;
width = Math.min(width, availwidth);
this._childWidth = (width - spacing) / global.screen.n_workspaces;
alloc.min_size = width;
alloc.natural_size = width;
},
_getPreferredHeight : function (actor, forWidth, alloc) {
let primary = global.get_primary_monitor();
this._childHeight = Math.round(this._childWidth * primary.height / primary.width);
alloc.min_size = this._childHeight;
alloc.natural_size = this._childHeight;
},
_allocate : function (actor, box, flags) {
let children = this._list.get_children();
let childBox = new Clutter.ActorBox();
let x = box.x1;
let prevChildBoxX2 = box.x1 - this._itemSpacing;
for (let i = 0; i < children.length; i++) {
childBox.x1 = prevChildBoxX2 + this._itemSpacing;
childBox.x2 = Math.round(x + this._childWidth);
childBox.y1 = box.y1;
childBox.y2 = box.y1 + this._childHeight;
x += this._childWidth + this._itemSpacing;
prevChildBoxX2 = childBox.x2;
children[i].allocate(childBox, flags);
}
},
_redraw : function(direction, activeWorkspaceIndex) {
this._list.destroy_children();
@ -58,16 +116,15 @@ WorkspaceSwitcherPopup.prototype = {
else
indicator = new St.Bin({ style_class: 'ws-switcher-box' });
this._list.add(indicator);
indicator.set_width(Math.round(indicator.get_height() * this._scaleWidth));
this._list.add_actor(indicator);
}
},
_position: function() {
let focus = global.get_focus_monitor();
this._container.x = focus.x + Math.floor((focus.width - this._container.width) / 2);
this._container.y = focus.y + Math.floor((focus.height - this._container.height) / 2);
let primary = global.get_primary_monitor();
this._container.x = primary.x + Math.floor((primary.width - this._container.width) / 2);
this._container.y = primary.y + Math.floor((primary.height - this._container.height) / 2);
},
_show : function() {

View File

@ -1,13 +1,8 @@
/* -*- 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;
const Pango = imports.gi.Pango;
const Shell = imports.gi.Shell;
const St = imports.gi.St;
const Signals = imports.signals;
@ -15,10 +10,8 @@ const Gettext = imports.gettext.domain('gnome-shell');
const _ = Gettext.gettext;
const DND = imports.ui.dnd;
const Lightbox = imports.ui.lightbox;
const Main = imports.ui.main;
const Overview = imports.ui.overview;
const Panel = imports.ui.panel;
const Tweener = imports.ui.tweener;
const Workspace = imports.ui.workspace;
@ -26,13 +19,13 @@ const WORKSPACE_SWITCH_TIME = 0.25;
// Note that mutter has a compile-time limit of 36
const MAX_WORKSPACES = 16;
// The values here are also used for gconf, and the key and value
// The values here are also used for GSettings, and the key and value
// names must match
const WorkspacesViewType = {
SINGLE: 'single',
GRID: 'grid'
};
const WORKSPACES_VIEW_KEY = 'overview/workspaces_view';
const WORKSPACES_VIEW_KEY = 'workspaces-view';
const WORKSPACE_DRAGGING_SCALE = 0.85;
const WORKSPACE_SHADOW_SCALE = (1 - WORKSPACE_DRAGGING_SCALE) / 2;
@ -43,12 +36,10 @@ function GenericWorkspacesView(width, height, x, y, workspaces) {
GenericWorkspacesView.prototype = {
_init: function(width, height, x, y, workspaces) {
this.actor = new St.Bin({ style_class: 'workspaces' });
this._actor = new Clutter.Group();
this.actor = new St.Group({ style_class: 'workspaces' });
this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
this.actor.add_actor(this._actor);
this.actor.connect('style-changed', Lang.bind(this,
function() {
let node = this.actor.get_theme_node();
@ -74,7 +65,7 @@ GenericWorkspacesView.prototype = {
// Add workspace actors
for (let w = 0; w < global.screen.n_workspaces; w++)
this._workspaces[w].actor.reparent(this._actor);
this._workspaces[w].actor.reparent(this.actor);
this._workspaces[activeWorkspaceIndex].actor.raise_top();
// Position/scale the desktop windows and their children after the
@ -278,6 +269,14 @@ GenericWorkspacesView.prototype = {
throw new Error('Not implemented');
},
_handleDragOverNewWorkspace: function(source, dropActor, x, y, time) {
if (source instanceof Workspace.WindowClone)
return DND.DragMotionResult.MOVE_DROP;
if (source.shellWorkspaceLaunch)
return DND.DragMotionResult.COPY_DROP;
return DND.DragMotionResult.CONTINUE;
},
_acceptNewWorkspaceDrop: function(source, dropActor, x, y, time) {
let ws = this.addWorkspace();
if (ws == null)
@ -297,10 +296,10 @@ MosaicView.prototype = {
GenericWorkspacesView.prototype._init.call(this, width, height, x, y, workspaces);
this.actor.add_style_class_name('mosaic');
this._actor.set_clip(x - Workspace.FRAME_SIZE,
y - Workspace.FRAME_SIZE,
width + 2 * Workspace.FRAME_SIZE,
height + 2 * Workspace.FRAME_SIZE);
this.actor.set_clip(x - Workspace.FRAME_SIZE,
y - Workspace.FRAME_SIZE,
width + 2 * Workspace.FRAME_SIZE,
height + 2 * Workspace.FRAME_SIZE);
this._workspaces[global.screen.get_active_workspace_index()].setSelected(true);
},
@ -411,7 +410,7 @@ MosaicView.prototype = {
// Add actors
if (newNumWorkspaces > oldNumWorkspaces)
for (let w = oldNumWorkspaces; w < newNumWorkspaces; w++)
this._actor.add_actor(this._workspaces[w].actor);
this.actor.add_actor(this._workspaces[w].actor);
// Figure out the new layout
this._computeWorkspacePositions();
@ -496,14 +495,15 @@ NewWorkspaceArea.prototype = {
}
};
function WorkspaceIndicator(activateWorkspace, workspaceAcceptDrop, scrollEventCb) {
this._init(activateWorkspace, workspaceAcceptDrop, scrollEventCb);
function WorkspaceIndicator(activateWorkspace, workspaceAcceptDrop, workspaceHandleDragOver, scrollEventCb) {
this._init(activateWorkspace, workspaceAcceptDrop, workspaceHandleDragOver, scrollEventCb);
}
WorkspaceIndicator.prototype = {
_init: function(activateWorkspace, workspaceAcceptDrop, scrollEventCb) {
_init: function(activateWorkspace, workspaceAcceptDrop, workspaceHandleDragOver, scrollEventCb) {
this._activateWorkspace = activateWorkspace;
this._workspaceAcceptDrop = workspaceAcceptDrop;
this._workspaceHandleDragOver = workspaceHandleDragOver;
this._scrollEventCb = scrollEventCb;
let actor = new St.Bin({ style_class: 'panel-button' });
@ -601,6 +601,9 @@ WorkspaceIndicator.prototype = {
else
return false;
});
actor._delegate.handleDragOver = Lang.bind(this, function(source, actor, x, y, time) {
return this._workspaceHandleDragOver(i, source, actor, x, y, time);
});
actor.connect('scroll-event', this._scrollEventCb);
@ -629,31 +632,64 @@ SingleView.prototype = {
__proto__: GenericWorkspacesView.prototype,
_init: function(width, height, x, y, workspaces) {
let shadowWidth = Math.ceil(global.screen_width * WORKSPACE_SHADOW_SCALE);
this._newWorkspaceArea = new NewWorkspaceArea();
this._newWorkspaceArea.actor._delegate = {
acceptDrop: Lang.bind(this, this._acceptNewWorkspaceDrop)
};
this._leftShadow = new St.Bin({ style_class: 'left-workspaces-shadow',
width: Math.ceil(global.screen_width * WORKSPACE_SHADOW_SCALE),
width: shadowWidth,
height: global.screen_height,
x: global.screen_width });
this._leftShadow._delegate = {
acceptDrop: Lang.bind(this, function(source, actor, x, y, time) {
let active = global.screen.get_active_workspace_index();
let leftWorkspace = this._workspaces[active - 1];
if (leftWorkspace &&
leftWorkspace.acceptDrop(source, actor, x, y, time)) {
leftWorkspace.metaWorkspace.activate(time);
return true;
}
return false;
})
};
this._rightShadow = new St.Bin({ style_class: 'right-workspaces-shadow',
width: Math.ceil(global.screen_width * WORKSPACE_SHADOW_SCALE),
width: shadowWidth,
height: global.screen_height,
x: global.screen_width });
this._rightShadow._delegate = {
acceptDrop: Lang.bind(this, function(source, actor, x, y, time) {
let active = global.screen.get_active_workspace_index();
let rightWorkspace = this._workspaces[active + 1];
if (rightWorkspace &&
rightWorkspace.acceptDrop(source, actor, x, y, time)) {
rightWorkspace.metaWorkspace.activate(time);
return true;
}
return false;
})
};
GenericWorkspacesView.prototype._init.call(this, width, height, x, y, workspaces);
this._itemDragBeginId = Main.overview.connect('item-drag-begin',
Lang.bind(this, this._dragBegin));
this._itemDragEndId = Main.overview.connect('item-drag-end',
Lang.bind(this, this._dragEnd));
for (let i = 0; i < this._workspaces.length; i++) {
this._workspaces[i]._windowDragBeginId = this._workspaces[i].connect('window-drag-begin',
Lang.bind(this, this._onWindowDragBegin));
Lang.bind(this, this._dragBegin));
this._workspaces[i]._windowDragEndId = this._workspaces[i].connect('window-drag-end',
Lang.bind(this, this._onWindowDragEnd));
Lang.bind(this, this._dragEnd));
}
this._actor.add_actor(this._newWorkspaceArea.actor);
this._actor.add_actor(this._leftShadow);
this._actor.add_actor(this._rightShadow);
this.actor.add_actor(this._newWorkspaceArea.actor);
this.actor.add_actor(this._leftShadow);
this.actor.add_actor(this._rightShadow);
this.actor.add_style_class_name('single');
this._actor.set_clip(x, y, width, height);
this.actor.set_clip(x, y, width, height);
this._activeWorkspaceX = 0; // x offset of active ws while dragging
this._activeWorkspaceY = 0; // y offset of active ws while dragging
this._scroll = null;
@ -663,13 +699,7 @@ SingleView.prototype = {
this._animatingScroll = false; // programatically move the scroll bar
this._inDrag = false; // dragging a window
this._lastMotionTime = -1; // used to track "stopping" while dragging workspaces
let primary = global.get_primary_monitor();
this._dropGroup = new Clutter.Group({ x: 0, y: 0,
width: primary.width,
height: primary.height });
this._dropGroup._delegate = this;
global.stage.add_actor(this._dropGroup);
this._dropGroup.lower_bottom();
this._dragIndex = -1;
this._buttonPressId = 0;
@ -769,6 +799,7 @@ SingleView.prototype = {
_scrollToActive: function(showAnimation) {
let active = global.screen.get_active_workspace_index();
this._computeWorkspacePositions();
this._updateWorkspaceActors(showAnimation);
this._scrollScrollBarToIndex(active, showAnimation);
},
@ -1085,11 +1116,11 @@ SingleView.prototype = {
if (newNumWorkspaces > oldNumWorkspaces) {
for (let w = oldNumWorkspaces; w < newNumWorkspaces; w++) {
this._actor.add_actor(this._workspaces[w].actor);
this.actor.add_actor(this._workspaces[w].actor);
this._workspaces[w]._windowDragBeginId = this._workspaces[w].connect('window-drag-begin',
Lang.bind(this, this._onWindowDragBegin));
Lang.bind(this, this._dragBegin));
this._workspaces[w]._windowDragEndId = this._workspaces[w].connect('window-drag-end',
Lang.bind(this, this._onWindowDragEnd));
Lang.bind(this, this._dragEnd));
}
this._computeWorkspacePositions();
@ -1114,11 +1145,18 @@ SingleView.prototype = {
_onDestroy: function() {
GenericWorkspacesView.prototype._onDestroy.call(this);
this._setWorkspaceDraggable(this._dragIndex, false);
this._dropGroup.destroy();
if (this._timeoutId) {
Mainloop.source_remove(this._timeoutId);
this._timeoutId = 0;
}
if (this._itemDragBeginId > 0) {
Main.overview.disconnect(this._itemDragBeginId);
this._itemDragBeginId = 0;
}
if (this._itemDragEndId > 0) {
Main.overview.disconnect(this._itemDragEndId);
this._itemDragEndId = 0;
}
for (let w = 0; w < this._workspaces.length; w++) {
if (this._workspaces[w]._windowDragBeginId) {
this._workspaces[w].disconnect(this._workspaces[w]._windowDragBeginId);
@ -1131,44 +1169,7 @@ SingleView.prototype = {
}
},
acceptDrop: function(source, dropActor, x, y, time) {
if (x < this._x || y < this._y || y > this._y + this._height) {
this._dropGroup.lower_bottom();
dropActor.hide();
let target = global.stage.get_actor_at_pos(Clutter.PickMode.ALL, x, y);
dropActor.show();
if (target._delegate && target._delegate != this && target._delegate.acceptDrop) {
let [targX, targY] = target.get_transformed_position();
return target._delegate.acceptDrop(source, dropActor,
(x - targX) / target.scale_x,
(y - targY) / target.scale_y,
time);
}
return false;
}
for (let i = 0; i < this._workspaces.length; i++) {
let [dx, dy] = this._workspaces[i].actor.get_transformed_position();
let [dw, dh] = this._workspaces[i].actor.get_transformed_size();
if (x > dx && x < dx + dw && y > dy && y < dy + dh) {
let accept = this._workspaces[i].acceptDrop(source, dropActor, x, y, time);
if (accept)
this._workspaces[i].metaWorkspace.activate(time);
return accept;
}
}
let [dx, dy] = this._newWorkspaceArea.actor.get_transformed_position();
let [dw, dh] = this._newWorkspaceArea.actor.get_transformed_size();
if (x > dx && y > dy && y < dy + dh)
return this._acceptNewWorkspaceDrop(source, dropActor, x, y, time);
return false;
},
_onWindowDragBegin: function(w, actor) {
_dragBegin: function() {
if (!this._scroll || this._scrolling)
return;
@ -1176,77 +1177,95 @@ SingleView.prototype = {
this._computeWorkspacePositions();
this._updateWorkspaceActors(true);
this._dropGroup.raise_top();
this._dragMonitor = {
dragMotion: Lang.bind(this, this._onDragMotion)
};
DND.addDragMonitor(this._dragMonitor);
},
handleDragOver: function(self, actor, x, y) {
let onPanel = false;
_onDragMotion: function(dragEvent) {
let primary = global.get_primary_monitor();
let activeWorkspaceIndex = global.screen.get_active_workspace_index();
if (x == 0 && activeWorkspaceIndex > 0 && this._dragOverLastX !== 0) {
this._workspaces[activeWorkspaceIndex - 1].metaWorkspace.activate(global.get_current_time());
this._workspaces[activeWorkspaceIndex - 1].setReservedSlot(actor._delegate);
this._dragOverLastX = 0;
return;
let leftWorkspace = this._workspaces[activeWorkspaceIndex - 1];
let rightWorkspace = this._workspaces[activeWorkspaceIndex + 1];
let hoverWorkspace = null;
// reactive monitor edges
let leftEdge = primary.x;
let switchLeft = (dragEvent.x <= leftEdge && leftWorkspace);
if (switchLeft && this._dragOverLastX != leftEdge) {
leftWorkspace.metaWorkspace.activate(global.get_current_time());
leftWorkspace.setReservedSlot(dragEvent.dragActor._delegate);
this._dragOverLastX = leftEdge;
return DND.DragMotionResult.CONTINUE;
}
if (x == global.screen_width - 1 && this._workspaces[activeWorkspaceIndex + 1] &&
this._dragOverLastX != global.screen_width - 1) {
this._workspaces[activeWorkspaceIndex + 1].metaWorkspace.activate(global.get_current_time());
this._workspaces[activeWorkspaceIndex + 1].setReservedSlot(actor._delegate);
this._dragOverLastX = global.screen_width - 1;
return;
let rightEdge = primary.x + primary.width - 1;
let switchRight = (dragEvent.x >= rightEdge && rightWorkspace);
if (switchRight && this._dragOverLastX != rightEdge) {
rightWorkspace.metaWorkspace.activate(global.get_current_time());
rightWorkspace.setReservedSlot(dragEvent.dragActor._delegate);
this._dragOverLastX = rightEdge;
return DND.DragMotionResult.CONTINUE;
}
this._dragOverLastX = dragEvent.x;
let result = DND.DragMotionResult.CONTINUE;
// check hover state of new workspace area / inactive workspaces
if (leftWorkspace) {
if (dragEvent.targetActor == this._leftShadow) {
hoverWorkspace = leftWorkspace;
leftWorkspace.opacity = leftWorkspace.actor.opacity = 255;
result = leftWorkspace.handleDragOver(dragEvent.source, dragEvent.dragActor);
} else {
leftWorkspace.opacity = leftWorkspace.actor.opacity = 200;
}
}
this._dragOverLastX = x;
let [dx, dy] = this._newWorkspaceArea.actor.get_transformed_position();
let [dw, dh] = this._newWorkspaceArea.actor.get_transformed_size();
this._newWorkspaceArea.setStyle(x > dx && y > dy && y < dy + dh);
[dx, dy] = this._leftShadow.get_transformed_position();
[dw, dh] = this._leftShadow.get_transformed_size();
if (this._workspaces[activeWorkspaceIndex - 1]) {
if (x > dx && x < dx + dw && y > dy && y < dy + dh) {
onPanel = -1;
this._workspaces[activeWorkspaceIndex - 1].actor.opacity = 255;
if (rightWorkspace) {
if (dragEvent.targetActor == this._rightShadow) {
hoverWorkspace = rightWorkspace;
rightWorkspace.opacity = rightWorkspace.actor.opacity = 255;
result = rightWorkspace.handleDragOver(dragEvent.source, dragEvent.dragActor);
} else {
rightWorkspace.opacity = rightWorkspace.actor.opacity = 200;
}
} else {
let targetParent = dragEvent.targetActor.get_parent();
if (targetParent == this._newWorkspaceArea.actor) {
this._newWorkspaceArea.setStyle(true);
result = this._handleDragOverNewWorkspace(dragEvent.source, dragEvent.dragActor);
} else
this._workspaces[activeWorkspaceIndex - 1].actor.opacity = 200;
this._newWorkspaceArea.setStyle(false);
}
[dx, dy] = this._rightShadow.get_transformed_position();
[dw, dh] = this._rightShadow.get_transformed_size();
if (this._workspaces[activeWorkspaceIndex + 1]) {
if (x > dx && x < dx + dw && y > dy && y < dy + dh) {
onPanel = 1;
this._workspaces[activeWorkspaceIndex + 1].actor.opacity = 255;
} else
this._workspaces[activeWorkspaceIndex + 1].actor.opacity = 200;
}
if (onPanel) {
// handle delayed workspace switches
if (hoverWorkspace) {
if (!this._timeoutId)
this._timeoutId = Mainloop.timeout_add_seconds (1, Lang.bind(this, function() {
let i = global.screen.get_active_workspace_index();
if (this._workspaces[i + onPanel]) {
this._workspaces[i + onPanel].metaWorkspace.activate(global.get_current_time());
this._workspaces[i + onPanel].setReservedSlot(actor._delegate);
}
return true;
}));
this._timeoutId = Mainloop.timeout_add_seconds(1,
Lang.bind(this, function() {
hoverWorkspace.metaWorkspace.activate(global.get_current_time());
hoverWorkspace.setReservedSlot(dragEvent.dragActor._delegate);
return false;
}));
} else {
if (this._timeoutId) {
Mainloop.source_remove(this._timeoutId);
this._timeoutId = 0;
}
}
return result;
},
_onWindowDragEnd: function(w, actor) {
_dragEnd: function() {
if (this._timeoutId) {
Mainloop.source_remove(this._timeoutId);
this._timeoutId = 0;
}
this._dropGroup.lower_bottom();
actor.opacity = 255;
DND.removeMonitor(this._dragMonitor);
this._inDrag = false;
this._computeWorkspacePositions();
this._updateWorkspaceActors(true);
@ -1373,6 +1392,10 @@ SingleView.prototype = {
if (this._workspaces[i] != undefined)
return this._workspaces[i].acceptDrop(source, actor, x, y, time);
return false;
}), Lang.bind(this, function(i, source, actor, x, y, time) {
if (this._workspaces[i] != undefined)
return this._workspaces[i].handleDragOver(source, actor, x, y, time);
return DND.DragMotionResult.CONTINUE;
}), Lang.bind(this, this._onScrollEvent));
actor.add(indicator.actor, { expand: true, x_fill: true, y_fill: true });
@ -1418,9 +1441,7 @@ WorkspacesControls.prototype = {
this.actor = new St.BoxLayout({ style_class: 'workspaces-bar' });
this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
this._gconf = Shell.GConf.get_default();
let view = this._gconf.get_string(WORKSPACES_VIEW_KEY).toUpperCase();
let view = global.settings.get_string(WORKSPACES_VIEW_KEY).toUpperCase();
if (view in WorkspacesViewType)
this._currentViewType = WorkspacesViewType[view];
else
@ -1462,6 +1483,10 @@ WorkspacesControls.prototype = {
function(source, actor, x, y, time) {
return this._currentView._acceptNewWorkspaceDrop(source, actor, x, y, time);
});
this._addButton._delegate.handleDragOver = Lang.bind(this,
function(source, actor, x, y, time) {
return this._currentView._handleDragOverNewWorkspace(source, actor, x, y, time);
});
this.actor.add(this._addButton, { y_fill: false,
y_align: St.Align.START });
@ -1517,7 +1542,7 @@ WorkspacesControls.prototype = {
this._toggleViewButton.set_style_class_name('workspace-controls switch-single');
this._currentViewType = view;
this._gconf.set_string(WORKSPACES_VIEW_KEY, view);
global.settings.set_string(WORKSPACES_VIEW_KEY, view);
},
_onDestroy: function() {
@ -1579,8 +1604,8 @@ WorkspacesManager.prototype = {
this.controlsBar.actor.connect('destroy',
Lang.bind(this, this._onDestroy));
this._viewChangedId =
Shell.GConf.get_default().connect('changed::' + WORKSPACES_VIEW_KEY,
Lang.bind(this, this._updateView));
global.settings.connect('changed::' + WORKSPACES_VIEW_KEY,
Lang.bind(this, this._updateView));
this._nWorkspacesNotifyId =
global.screen.connect('notify::n-workspaces',
Lang.bind(this, this._workspacesChanged));
@ -1589,7 +1614,7 @@ WorkspacesManager.prototype = {
_updateView: function() {
let viewType, newView;
let view = Shell.GConf.get_default().get_string(WORKSPACES_VIEW_KEY).toUpperCase();
let view = global.settings.get_string(WORKSPACES_VIEW_KEY).toUpperCase();
if (view in WorkspacesViewType)
viewType = WorkspacesViewType[view];
else
@ -1667,7 +1692,7 @@ WorkspacesManager.prototype = {
if (this._nWorkspacesNotifyId > 0)
global.screen.disconnect(this._nWorkspacesNotifyId);
if (this._viewChangedId > 0)
Shell.GConf.get_default().disconnect(this._viewChangedId);
global.settings.disconnect(this._viewChangedId);
for (let w = 0; w < this._workspaces.length; w++) {
this._workspaces[w].disconnectAll();
this._workspaces[w].destroy();

View File

@ -7,18 +7,24 @@ de
el
en_GB
es
et
fi
fr
ga
gl
he
hu
id
it
ja
ko
lt
nb
nl
nn
pa
pl
pt
pt_BR
ro
ru
@ -26,7 +32,11 @@ sl
sr
sr@latin
sv
ta
th
tr
uk
vi
zh_CN
zh_HK
zh_TW

View File

@ -1,5 +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
@ -9,6 +11,7 @@ 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/windowAttentionHandler.js

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"

428
po/cs.po
View File

@ -7,8 +7,8 @@ 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-07-11 21:54+0200\n"
"PO-Revision-Date: 2010-07-11 21:51+0200\n"
"Last-Translator: Petr Kovar <pknbe@volny.cz>\n"
"Language-Team: Czech <gnome-cs-list@gnome.org>\n"
"MIME-Version: 1.0\n"
@ -25,190 +25,435 @@ 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/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:388 ../js/ui/dash.js:777
msgid "APPLICATIONS"
msgstr "APLIKACE"
#: ../js/ui/appDisplay.js:344
#: ../js/ui/appDisplay.js:420
msgid "PREFERENCES"
msgstr "PŘEDVOLBY"
#: ../js/ui/appDisplay.js:756
#: ../js/ui/appDisplay.js:725
msgid "New Window"
msgstr "Nové okno"
#: ../js/ui/appDisplay.js:760
#: ../js/ui/appDisplay.js:729
msgid "Remove from Favorites"
msgstr "Odstranit z oblíbených"
#: ../js/ui/appDisplay.js:761
#: ../js/ui/appDisplay.js:730
msgid "Add to Favorites"
msgstr "Přidat mezi oblíbené"
#: ../js/ui/appDisplay.js:1113
#: ../js/ui/appDisplay.js:1037
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é."
#: ../js/ui/appFavorites.js:107
#: ../js/ui/appFavorites.js:106
#, c-format
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:146
msgid "Find"
msgstr "Najít"
#: ../js/ui/dash.js:510
#: ../js/ui/dash.js:475
msgid "Searching..."
msgstr "Hledá se..."
#: ../js/ui/dash.js:524
#: ../js/ui/dash.js:489
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:796 ../js/ui/placeDisplay.js:552
msgid "PLACES & DEVICES"
msgstr "MÍSTA A ZAŘÍZENÍ"
#. **** Documents ****
#: ../js/ui/dash.js:881 ../js/ui/docDisplay.js:488
#: ../js/ui/dash.js:803 ../js/ui/docDisplay.js:497
msgid "RECENT ITEMS"
msgstr "NEDÁVNÉ POLOŽKY"
#: ../js/ui/lookingGlass.js:363
#: ../js/ui/lookingGlass.js:471
msgid "No extensions installed"
msgstr "Nejsou nainstalována žádná rozšíření"
#: ../js/ui/lookingGlass.js:400
#: ../js/ui/lookingGlass.js:508
msgid "Enabled"
msgstr "Povoleno"
#: ../js/ui/lookingGlass.js:402
#: ../js/ui/lookingGlass.js:510
msgid "Disabled"
msgstr "Zakázáno"
#: ../js/ui/lookingGlass.js:404
#: ../js/ui/lookingGlass.js:512
msgid "Error"
msgstr "Chyba"
#: ../js/ui/lookingGlass.js:406
#: ../js/ui/lookingGlass.js:514
msgid "Out of date"
msgstr "Neaktuální"
#: ../js/ui/lookingGlass.js:431
#: ../js/ui/lookingGlass.js:539
msgid "View Source"
msgstr "Zobrazit zdroj"
#: ../js/ui/lookingGlass.js:437
#: ../js/ui/lookingGlass.js:545
msgid "Web Page"
msgstr "Webová stránka"
#: ../js/ui/overview.js:182
#: ../js/ui/overview.js:165
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"
#: ../js/ui/panel.js:517
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:603
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:604
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:608
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:609
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:616
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:617
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:621
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:622
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:760
msgid "Activities"
msgstr "Činnosti"
#: ../js/ui/placeDisplay.js:109
#, c-format
msgid "Failed to unmount '%s'"
msgstr "Nelze odpojit \"%s\""
#: ../js/ui/placeDisplay.js:111
#: ../js/ui/placeDisplay.js:112
msgid "Retry"
msgstr "Opakovat"
#: ../js/ui/placeDisplay.js:156
#: ../js/ui/placeDisplay.js:157
msgid "Connect to..."
msgstr "Připojit se k..."
#: ../js/ui/runDialog.js:232
#: ../js/ui/runDialog.js:234
msgid "Please enter a command:"
msgstr "Zadejte prosím příkaz:"
#: ../js/ui/runDialog.js:376
#: ../js/ui/runDialog.js:379
#, c-format
msgid "Execution of '%s' failed:"
msgstr "Vykonání \"%s\" selhalo:"
#: ../js/ui/statusMenu.js:107
#: ../js/ui/statusMenu.js:91
msgid "Available"
msgstr "Přítomen"
#: ../js/ui/statusMenu.js:112
#: ../js/ui/statusMenu.js:95
msgid "Busy"
msgstr "Zaneprázdněn"
#: ../js/ui/statusMenu.js:117
#: ../js/ui/statusMenu.js:99
msgid "Invisible"
msgstr "Neviditelný"
#: ../js/ui/statusMenu.js:126
#: ../js/ui/statusMenu.js:106
msgid "Account Information..."
msgstr "Informace o účtu..."
#: ../js/ui/statusMenu.js:132
msgid "Sidebar"
msgstr "Postranní lišta"
#: ../js/ui/statusMenu.js:142
#: ../js/ui/statusMenu.js:110
msgid "System Preferences..."
msgstr "Předvolby systému..."
#: ../js/ui/statusMenu.js:151
#: ../js/ui/statusMenu.js:117
msgid "Lock Screen"
msgstr "Uzamknout obrazovku"
#: ../js/ui/statusMenu.js:156
#: ../js/ui/statusMenu.js:121
msgid "Switch User"
msgstr "Přepnout uživatele"
#: ../js/ui/statusMenu.js:162
#: ../js/ui/statusMenu.js:126
msgid "Log Out..."
msgstr "Odhlásit..."
#: ../js/ui/statusMenu.js:167
#: ../js/ui/statusMenu.js:130
msgid "Shut Down..."
msgstr "Vypnout..."
#. 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 "Aplikace"
#: ../js/ui/widget.js:339
msgid "Recent Documents"
msgstr "Nedávné dokumenty"
#: ../js/ui/windowAttentionHandler.js:47
#, c-format
msgid "%s has finished starting"
@ -219,11 +464,22 @@ msgstr "Spouštění %s dokončeno"
msgid "'%s' is ready"
msgstr "Připraveno \"%s\""
#: ../src/shell-global.c:967
#: ../js/ui/workspacesView.js:237
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:254
msgid "Can't remove the first workspace."
msgstr "Nelze odstranit první pracovní plochu."
#: ../src/shell-global.c:1039
msgid "Less than a minute ago"
msgstr "Před méně než minutou"
#: ../src/shell-global.c:971
#: ../src/shell-global.c:1043
#, c-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
@ -231,7 +487,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:1048
#, c-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
@ -239,7 +495,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:1053
#, c-format
msgid "%d day ago"
msgid_plural "%d days ago"
@ -247,7 +503,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:1058
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
@ -278,39 +534,3 @@ msgstr "Hledat"
#, c-format
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."

339
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,8 +15,8 @@ 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"
"POT-Creation-Date: 2010-10-02 20:44+0000\n"
"PO-Revision-Date: 2010-10-04 20:30+0100\n"
"Last-Translator: Mario Blättermann <mariobl@gnome.org>\n"
"Language-Team: Deutsch <gnome-de@gnome.org>\n"
"MIME-Version: 1.0\n"
@ -41,8 +42,198 @@ 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 "Um den Screencast zu speichern, wird eine Dateiendung benötigt "
#: ../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-Recorder der "
"GNOME-Shell aufgezeichnet werden soll, in Einzelbildern pro Sekunde."
#: ../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/clock-preferences.ui.h:1
#| msgid "<b>Clock Format</b>"
msgid "Clock Format"
msgstr "Uhr-Format"
@ -51,7 +242,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 +262,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 +296,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:461
#, 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:486
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:572
msgid "%a %b %e, %R:%S"
msgstr "%a, %e. %b, %R:%S"
#: ../js/ui/panel.js:956
#: ../js/ui/panel.js:573
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:577
msgid "%a %R:%S"
msgstr "%a %R:%S"
#: ../js/ui/panel.js:961
#: ../js/ui/panel.js:578
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:585
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a, %e. %b, %H:%M:%S"
#: ../js/ui/panel.js:969
#: ../js/ui/panel.js:586
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:590
msgid "%a %l:%M:%S %p"
msgstr "%a %H:%M:%S"
#: ../js/ui/panel.js:974
#: ../js/ui/panel.js:591
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:736
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 +552,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"

339
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-05-19 16:31+0000\n"
"PO-Revision-Date: 2010-05-25 18:28+0200\n"
"POT-Creation-Date: 2010-09-22 15:13+0000\n"
"PO-Revision-Date: 2010-09-25 10:43+0200\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"
@ -33,8 +33,200 @@ msgstr "Reloj"
msgid "Customize the panel clock"
msgstr "Personalizar el reloj del panel"
#: ../data/org.gnome.shell.gschema.xml.in.h:1
msgid ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog."
msgstr ""
"Permitir acceder a las herramientas internas de depuración monitorización "
"usando el diálogo Alt+F2"
#: ../data/org.gnome.shell.gschema.xml.in.h:2
msgid "Custom format of the clock"
msgstr "Formato personalizado del reloj"
#: ../data/org.gnome.shell.gschema.xml.in.h:3
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr ""
"Activar las herramientas internas, útiles para desarrolladores y probadores, "
"desde Alt+F2"
#: ../data/org.gnome.shell.gschema.xml.in.h:4
msgid "File extension used for storing the screencast"
msgstr "Extensión de archivo que usar para almacenar los «screencast»"
#: ../data/org.gnome.shell.gschema.xml.in.h:5
msgid "Framerate used for recording screencasts."
msgstr "Tasa de fotogramas usada para grabar «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 ""
"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 "Histórico del diálogo de comandos (Alt+F2)"
#: ../data/org.gnome.shell.gschema.xml.in.h:8
msgid "Hour format"
msgstr "Formato de la 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 ""
"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 "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 "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 "Modo de visualización de la vista previa del área de trabajo"
#: ../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 ""
"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"
msgstr "Mostrar la fecha en el reloj"
#: ../data/org.gnome.shell.gschema.xml.in.h:16
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 time with seconds"
msgstr "Mostrar la hora con 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 ""
"Las aplicaciones correspondientes con esos identificadores se mostrarán en "
"el á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 ""
"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"
msgstr "La tubería de gstreamer usada para codificar el «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 ""
"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 ""
"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» 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 ""
"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 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 ""
"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 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 "Uuids of extensions to disable"
msgstr "Uuid de las extensiones que desactivar"
#: ../data/org.gnome.shell.gschema.xml.in.h:27
msgid "Whether to collect stats about applications usage"
msgstr ""
"Indica si se deben recolectar estadísticas acerca del uso de las aplicaciones"
#: ../data/clock-preferences.ui.h:1
#| msgid "<b>Clock Format</b>"
msgid "Clock Format"
msgstr "Formato del reloj"
@ -43,7 +235,6 @@ msgid "Clock Preferences"
msgstr "Preferencias del reloj"
#: ../data/clock-preferences.ui.h:3
#| msgid "<b>Panel Display</b>"
msgid "Panel Display"
msgstr "Panel de visualización"
@ -64,31 +255,31 @@ msgid "_24 hour format"
msgstr "Formato _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 "APLICACIONES"
#: ../js/ui/appDisplay.js:338
#: ../js/ui/appDisplay.js:348
msgid "PREFERENCES"
msgstr "PREFERENCIAS"
#: ../js/ui/appDisplay.js:705
#: ../js/ui/appDisplay.js:653
msgid "New Window"
msgstr "Ventana nueva"
#: ../js/ui/appDisplay.js:709
#: ../js/ui/appDisplay.js:657
msgid "Remove from Favorites"
msgstr "Quitar de los favoritos"
#: ../js/ui/appDisplay.js:710
#: ../js/ui/appDisplay.js:658
msgid "Add to Favorites"
msgstr "Añadir a los favoritos"
#: ../js/ui/appDisplay.js:1037
#: ../js/ui/appDisplay.js:986
msgid "Drag here to add favorites"
msgstr "Arrastrar aquí para añadir a los favoritos"
#: ../js/ui/appFavorites.js:89
#: ../js/ui/appFavorites.js:88
#, c-format
msgid "%s has been added to your favorites."
msgstr "Se ha añadido %s a sus favoritos."
@ -98,213 +289,232 @@ msgstr "Se ha añadido %s a sus favoritos."
msgid "%s has been removed from your favorites."
msgstr "Se ha quitado %s de sus favoritos."
#: ../js/ui/dash.js:189
#: ../js/ui/dash.js:142
msgid "Find"
msgstr "Buscar"
#: ../js/ui/dash.js:505
#: ../js/ui/dash.js:473
msgid "Searching..."
msgstr "Buscando…"
#: ../js/ui/dash.js:519
#: ../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:869 ../js/ui/placeDisplay.js:543
#: ../js/ui/dash.js:797 ../js/ui/placeDisplay.js:554
msgid "PLACES & DEVICES"
msgstr "LUGARES Y 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 "ELEMENTOS RECIENTES"
#: ../js/ui/lookingGlass.js:466
#: ../js/ui/lookingGlass.js:552
msgid "No extensions installed"
msgstr "No hay extensiones instaladas"
#: ../js/ui/lookingGlass.js:503
#: ../js/ui/lookingGlass.js:589
msgid "Enabled"
msgstr "Activado"
#: ../js/ui/lookingGlass.js:505
#: ../js/ui/lookingGlass.js:591
msgid "Disabled"
msgstr "Desactivado"
#: ../js/ui/lookingGlass.js:507
#: ../js/ui/lookingGlass.js:593
msgid "Error"
msgstr "Error"
#: ../js/ui/lookingGlass.js:509
#: ../js/ui/lookingGlass.js:595
msgid "Out of date"
msgstr "Caducado"
#: ../js/ui/lookingGlass.js:534
#: ../js/ui/lookingGlass.js:620
msgid "View Source"
msgstr "Ver fuente"
#: ../js/ui/lookingGlass.js:540
#: ../js/ui/lookingGlass.js:626
msgid "Web Page"
msgstr "Página web"
#: ../js/ui/overview.js:161
#: ../js/ui/overview.js:160
msgid "Undo"
msgstr "Deshacer"
#. 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:774
msgid "Activities"
msgstr "Actividades"
#. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:467
#, c-format
msgid "Quit %s"
msgstr "Salir de %s"
#: ../js/ui/panel.js:492
msgid "Preferences"
msgstr "Preferencias"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/panel.js:989
#: ../js/ui/panel.js:578
msgid "%a %b %e, %R:%S"
msgstr "%a %e de %b, %R:%S"
#: ../js/ui/panel.js:990
#: ../js/ui/panel.js:579
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:994
#: ../js/ui/panel.js:583
msgid "%a %R:%S"
msgstr "%a %R:%S"
#: ../js/ui/panel.js:995
#: ../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:1002
#: ../js/ui/panel.js:591
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a %e de %b, %H:%M:%S"
#: ../js/ui/panel.js:1003
#: ../js/ui/panel.js:592
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:1007
#: ../js/ui/panel.js:596
msgid "%a %l:%M:%S %p"
msgstr "%a %H:%M:%S"
#: ../js/ui/panel.js:1008
#: ../js/ui/panel.js:597
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:742
msgid "Activities"
msgstr "Actividades"
#: ../js/ui/placeDisplay.js:111
#, c-format
msgid "Failed to unmount '%s'"
msgstr "Falló al desmontar «%s»"
#: ../js/ui/placeDisplay.js:111
#: ../js/ui/placeDisplay.js:114
msgid "Retry"
msgstr "Reintentar"
#: ../js/ui/placeDisplay.js:156
#: ../js/ui/placeDisplay.js:159
msgid "Connect to..."
msgstr "Conectar 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:32
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:375
#: ../js/ui/runDialog.js:378
#, c-format
msgid "Execution of '%s' failed:"
msgstr "Falló la ejecución de «%s»:"
#: ../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 "Ocupado"
#: ../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 "Información de la cuenta…"
#: ../js/ui/statusMenu.js:109
#: ../js/ui/statusMenu.js:110
msgid "System Preferences..."
msgstr "Preferencias del sistema…"
#: ../js/ui/statusMenu.js:116
#: ../js/ui/statusMenu.js:117
msgid "Lock Screen"
msgstr "Bloquear la pantalla"
#: ../js/ui/statusMenu.js:120
#: ../js/ui/statusMenu.js:121
msgid "Switch User"
msgstr "Cambiar de usuario"
#: ../js/ui/statusMenu.js:125
#: ../js/ui/statusMenu.js:126
msgid "Log Out..."
msgstr "Salir…"
#: ../js/ui/statusMenu.js:129
#: ../js/ui/statusMenu.js:130
msgid "Shut Down..."
msgstr "Apagar…"
#: ../js/ui/windowAttentionHandler.js:47
#: ../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:239
#: ../js/ui/workspacesView.js:230
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:256
#: ../js/ui/workspacesView.js:247
msgid "Can't remove the first workspace."
msgstr "No se puede quitar el primer área de trabajo."
#: ../src/shell-global.c:976
#: ../src/shell-global.c:1189
msgid "Less than a minute ago"
msgstr "Hace menos de un minuto"
#: ../src/shell-global.c:980
#: ../src/shell-global.c:1193
#, 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:985
#: ../src/shell-global.c:1198
#, 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:990
#: ../src/shell-global.c:1203
#, 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:995
#: ../src/shell-global.c:1208
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
@ -335,8 +545,11 @@ msgstr "Buscar"
msgid "%1$s: %2$s"
msgstr "%1$s: %2$s"
#~ msgid "Quit"
#~ msgstr "Salir"
#~ msgid "ON"
#~ msgstr "ENCENDIDO"
#~ msgid "OFF"
#~ msgstr "APAGADO"
#~ msgid "Sidebar"
#~ msgstr "Barra lateral"

405
po/et.po Normal file
View File

@ -0,0 +1,405 @@
# GNOME Kesta eesti keele tõlge.
# Estonian translation of GNOME Shell.
#
# Copyright (C) 2010 The GNOME Project.
# This file is distributed under the same license as the gnome-shell package.
#
# Ivar Smolin <okul linux ee>, 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-10 02:04+0000\n"
"PO-Revision-Date: 2010-09-10 08:29+0300\n"
"Last-Translator: Ivar Smolin <okul@linux.ee>\n"
"Language-Team: Estonian <et@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"
msgid "GNOME Shell"
msgstr "GNOME Kest"
msgid "Window management and application launching"
msgstr "Aknahaldus ja rakenduste käivitamine"
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 ""
msgid "Custom format of the clock"
msgstr "Kella kohandatud vorming"
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr ""
msgid "File extension used for storing the screencast"
msgstr ""
msgid "Framerate used for recording screencasts."
msgstr ""
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 ""
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 ""
msgid ""
"If true and format is either \"12-hour\" or \"24-hour\", display seconds in "
"time."
msgstr ""
msgid "If true, display the ISO week date in the calendar."
msgstr ""
msgid "List of desktop file IDs for favorite applications"
msgstr ""
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 "Kuupäeva näitamine koos kellaajaga"
msgid "Show the week date in the calendar"
msgstr ""
msgid "Show time with seconds"
msgstr "Aja näitamine koos 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 ""
msgid "Whether to collect stats about applications usage"
msgstr ""
msgid "Clock Format"
msgstr "Kella vorming"
msgid "Clock Preferences"
msgstr "Kella eelistused"
msgid "Panel Display"
msgstr ""
msgid "Show seco_nds"
msgstr "_Sekundid on nähtaval"
msgid "Show the _date"
msgstr "_Kuupäev on nähtaval"
msgid "_12 hour format"
msgstr "_12-tunnine vorming"
msgid "_24 hour format"
msgstr "_24-tunnine vorming"
#. **** Applications ****
msgid "APPLICATIONS"
msgstr "RAKENDUSED"
msgid "PREFERENCES"
msgstr "EELISTUSED"
msgid "New Window"
msgstr "Uus aken"
msgid "Remove from Favorites"
msgstr "Eemalda lemmikute hulgast"
msgid "Add to Favorites"
msgstr "Lisa lemmikute hulka"
msgid "Drag here to add favorites"
msgstr ""
#, c-format
msgid "%s has been added to your favorites."
msgstr ""
#, c-format
msgid "%s has been removed from your favorites."
msgstr ""
msgid "Find"
msgstr ""
msgid "Searching..."
msgstr ""
msgid "No matching results."
msgstr "Sobivaid vasteid ei leitud."
#. **** 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 "VIIMASED KIRJED"
msgid "No extensions installed"
msgstr "Laiendusi ei ole paigaldatud"
msgid "Enabled"
msgstr "Lubatud"
msgid "Disabled"
msgstr "Keelatud"
msgid "Error"
msgstr "Viga"
msgid "Out of date"
msgstr ""
msgid "View Source"
msgstr ""
msgid "Web Page"
msgstr "Veebileht"
msgid "Undo"
msgstr "Unusta"
#. 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:%MS %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 "Ülevaade"
#, c-format
msgid "Failed to unmount '%s'"
msgstr "Tõrge '%s' lahtihaakimisel"
msgid "Retry"
msgstr "Proovi uuesti"
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.
msgid "ON"
msgstr ""
msgid "OFF"
msgstr ""
msgid "Please enter a command:"
msgstr "Palun sisesta käsk:"
#, c-format
msgid "Execution of '%s' failed:"
msgstr ""
msgid "Available"
msgstr "Saadaval"
msgid "Busy"
msgstr "Hõivatud"
msgid "Invisible"
msgstr "Nähtamatu"
msgid "Account Information..."
msgstr "Konto andmed..."
msgid "System Preferences..."
msgstr "Süsteemi eelistused..."
msgid "Lock Screen"
msgstr "Lukusta ekraan"
msgid "Switch User"
msgstr "Vaheta kasutajat"
msgid "Log Out..."
msgstr "Logi välja..."
msgid "Shut Down..."
msgstr "Seiska..."
#, c-format
msgid "%s has finished starting"
msgstr "%s lõpetas käivitumise"
#, 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 ""
msgid "Can't remove the first workspace."
msgstr ""
msgid "Less than a minute ago"
msgstr "Vähem kui minut aega tagasi"
#, 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] ""
msgstr[1] ""
#, c-format
msgid "%d day ago"
msgid_plural "%d days ago"
msgstr[0] ""
msgstr[1] ""
#, 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 "Kodukataloog"
#. 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"

444
po/gl.po
View File

@ -1,22 +1,24 @@
# 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.
#
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-04-09 19:17+0200\n"
"PO-Revision-Date: 2010-04-09 19:40+0200\n"
"POT-Creation-Date: 2010-07-22 16:39+0200\n"
"PO-Revision-Date: 2010-07-22 16:37+0200\n"
"Last-Translator: Fran Diéguez <frandieguez@ubuntu.com>\n"
"Language-Team: Galician <gnome@g11n.net>\n"
"Language-Team: Galician <gnome-gl-list@gnome.org>\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
@ -27,32 +29,253 @@ msgstr "GNOME Shell"
msgid "Window management and application launching"
msgstr "Xestor de xanelas e inicio de aplicativos"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:1
msgid "Clock"
msgstr "Reloxo"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:2
msgid "Customize the panel clock"
msgstr "Personalizar o reloxo do panel"
#: ../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 acceso ás ferramentas de depuración e monitorización internas "
"usando o diálogo Alt-F2"
#: ../data/org.gnome.shell.gschema.xml.in.h:2
msgid "Custom format of the clock"
msgstr "Formato personalizado o reloxo do panel"
#: ../data/org.gnome.shell.gschema.xml.in.h:3
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr ""
"Activar as ferramentas internas útiles para os desenvolvedores e probadores "
"usando Alt-F2"
#: ../data/org.gnome.shell.gschema.xml.in.h:4
msgid "File extension used for storing the screencast"
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"
#: ../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 extensións do GNOME Shell teñen unha propiedade uuid. Esta chave lista as "
"extensións que non deberían cargarse."
#: ../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)"
#: ../data/org.gnome.shell.gschema.xml.in.h:8
msgid "Hour format"
msgstr "Formato da 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 é \"12-hour\" ou \"24-hour\" móstrase a data no "
"reloxo, ademais 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 é \"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."
msgstr "Se é verdadeiro, móstrase a data da semana ISO no calendario."
#: ../data/org.gnome.shell.gschema.xml.in.h:12
msgid "List of desktop file IDs for favorite applications"
msgstr "Mostra os ID de ficheiros desktop para os aplicativos preferidos"
#: ../data/org.gnome.shell.gschema.xml.in.h:13
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
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 ""
"Estabelece a tubería do GStreamer usada para codificar as gravacións. Segue "
"a sintaxe usada por gst-launch. A tubería debe ter un desprazamento de "
"sumideiro non conectado cando o vídeo gravado estea gravado. Normalmente "
"terá un ......."
#: ../data/org.gnome.shell.gschema.xml.in.h:15
msgid "Show date in clock"
msgstr "Mostrar a data no reloxo"
#: ../data/org.gnome.shell.gschema.xml.in.h:16
msgid "Show the week date in the calendar"
msgstr "Mostrar a data da semana no calendario"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "Show time with seconds"
msgstr "Mostrar a hora con 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 que corresponden a estes identificadores mostraranse na área "
"de preferidos."
#: ../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 para os screencasts será un nome de ficheiro único "
"baseado na data actual e usa esta extensión. Debería cambiar ao grabar nun "
"formato de contedor 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 marcos do screencast resultante grabado polo grabador de "
"screencasts de GNOME Shell en marcos-por-segundo."
#: ../data/org.gnome.shell.gschema.xml.in.h:21
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "A tubería de 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 modo de visualización do espazo de traballo seleccionado na vista previa. "
"Os valores admitidos son \"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 monitoriza os aplicativos activos para mostrarlle os "
"máis usados (p.ex. nos iniciadores). Aínda que estes datos mantéñense "
"privados, vostede pode desactivar isto por motivos de privacidade. Teña en "
"conta que facendo isto non eliminará os datos gardados."
#: ../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 polo reloxo do panel cando a chave de "
"formato está estabelecida a \"custom\". Vostede pode usar os especificadores "
"de conversión que entende strftime() para obter un formato de hora "
"especificado. Vexa o manual de strftime() para obter máis información."
#: ../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 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 "
"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."
#: ../data/org.gnome.shell.gschema.xml.in.h:26
msgid "Uuids of extensions to disable"
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."
#: ../data/clock-preferences.ui.h:1
msgid "Clock Format"
msgstr "Formato do reloxo"
#: ../data/clock-preferences.ui.h:2
msgid "Clock Preferences"
msgstr "Preferencias do reloxo"
#: ../data/clock-preferences.ui.h:3
msgid "Panel Display"
msgstr "Panel de visualización"
#: ../data/clock-preferences.ui.h:4
msgid "Show seco_nds"
msgstr "Mostrar os segu_ndos"
#: ../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 _12 horas"
#: ../data/clock-preferences.ui.h:7
msgid "_24 hour format"
msgstr "Formato _24 horas"
#. **** Applications ****
#: ../js/ui/appDisplay.js:311 ../js/ui/dash.js:850
#: ../js/ui/appDisplay.js:384 ../js/ui/dash.js:773
msgid "APPLICATIONS"
msgstr "APLICATIVOS"
#: ../js/ui/appDisplay.js:343
#: ../js/ui/appDisplay.js:416
msgid "PREFERENCES"
msgstr "PREFERENCIAS"
#: ../js/ui/appDisplay.js:723
#: ../js/ui/appDisplay.js:721
msgid "New Window"
msgstr "Xanela nova"
#: ../js/ui/appDisplay.js:727
#: ../js/ui/appDisplay.js:725
msgid "Remove from Favorites"
msgstr "Eliminar dos favoritos"
#: ../js/ui/appDisplay.js:728
#: ../js/ui/appDisplay.js:726
msgid "Add to Favorites"
msgstr "Engadir aos favoritos"
#: ../js/ui/appDisplay.js:1055
#: ../js/ui/appDisplay.js:1033
msgid "Drag here to add favorites"
msgstr "Arrastre aquí para engadir 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 engadido aos seus favoritos."
@ -62,172 +285,235 @@ msgstr "%s foi engadido aos seus favoritos."
msgid "%s has been removed from your favorites."
msgstr "%s foi eliminado dos seus favoritos."
#: ../js/ui/dash.js:189
#: ../js/ui/dash.js:142
msgid "Find"
msgstr "Buscar"
#: ../js/ui/dash.js:505
#: ../js/ui/dash.js:471
msgid "Searching..."
msgstr "Buscando..."
#: ../js/ui/dash.js:519
#: ../js/ui/dash.js:485
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:869 ../js/ui/placeDisplay.js:543
#: ../js/ui/dash.js:792 ../js/ui/placeDisplay.js:550
msgid "PLACES & DEVICES"
msgstr "LUGARES e DISPOSITIVOS"
#. **** Documents ****
#: ../js/ui/dash.js:876 ../js/ui/docDisplay.js:489
#: ../js/ui/dash.js:799 ../js/ui/docDisplay.js:494
msgid "RECENT ITEMS"
msgstr "ELEMENTOS RECENTES"
#: ../js/ui/lookingGlass.js:362
#: ../js/ui/lookingGlass.js:471
msgid "No extensions installed"
msgstr "Non hai ningunha extensión instalada"
#: ../js/ui/lookingGlass.js:399
#: ../js/ui/lookingGlass.js:508
msgid "Enabled"
msgstr "Activado"
#: ../js/ui/lookingGlass.js:401
#: ../js/ui/lookingGlass.js:510
msgid "Disabled"
msgstr "Desactivado"
#: ../js/ui/lookingGlass.js:403
#: ../js/ui/lookingGlass.js:512
msgid "Error"
msgstr "Erro"
#: ../js/ui/lookingGlass.js:405
#: ../js/ui/lookingGlass.js:514
msgid "Out of date"
msgstr "Desactualizado"
#: ../js/ui/lookingGlass.js:430
#: ../js/ui/lookingGlass.js:539
msgid "View Source"
msgstr "Ver fonte"
#: ../js/ui/lookingGlass.js:436
#: ../js/ui/lookingGlass.js:545
msgid "Web Page"
msgstr "Páxina web"
#: ../js/ui/overview.js:181
#: ../js/ui/overview.js:159
msgid "Undo"
msgstr "Desfacer"
#. 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:374
msgid "Activities"
msgstr "Actividades"
#. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:473
#, c-format
msgid "Quit %s"
msgstr "Saír de %s"
#. Translators: This is the time format used in 24-hour mode.
#: ../js/ui/panel.js:594
#: ../js/ui/panel.js:498
msgid "Preferences"
msgstr "Preferencias"
#. 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 de %b, %R:%S"
#: ../js/ui/panel.js:585
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: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.
#. 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 de %b, %H:%M:%S"
#: ../js/ui/panel.js:598
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:602
msgid "%a %l:%M:%S %p"
msgstr "%a %H:%M:%S"
#: ../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:741
msgid "Activities"
msgstr "Actividades"
#: ../js/ui/placeDisplay.js:107
#, c-format
msgid "Failed to unmount '%s'"
msgstr "Produciuse un fallo ao montar '%s'"
msgstr "Produciuse un fallo ao montar «%s»"
#: ../js/ui/placeDisplay.js:111
#: ../js/ui/placeDisplay.js:110
msgid "Retry"
msgstr "Reintentar"
#: ../js/ui/placeDisplay.js:156
#: ../js/ui/placeDisplay.js:155
msgid "Connect to..."
msgstr "Conectar con..."
#: ../js/ui/runDialog.js:231
#. 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 "Insira unha orde:"
#: ../js/ui/runDialog.js:375
#: ../js/ui/runDialog.js:378
#, c-format
msgid "Execution of '%s' failed:"
msgstr "Produciuse un fallo na execución de %s"
#: ../js/ui/statusMenu.js:105
#: ../js/ui/statusMenu.js:91
msgid "Available"
msgstr "Dispoñíbel"
#: ../js/ui/statusMenu.js:110
#: ../js/ui/statusMenu.js:95
msgid "Busy"
msgstr "Ocupado"
#: ../js/ui/statusMenu.js:115
#: ../js/ui/statusMenu.js:99
msgid "Invisible"
msgstr "Invisíbel"
#: ../js/ui/statusMenu.js:124
#: ../js/ui/statusMenu.js:106
msgid "Account Information..."
msgstr "Información da conta..."
#: ../js/ui/statusMenu.js:129
#: ../js/ui/statusMenu.js:110
msgid "System Preferences..."
msgstr "Preferencias do sistema..."
#: ../js/ui/statusMenu.js:138
#: ../js/ui/statusMenu.js:117
msgid "Lock Screen"
msgstr "Bloquear pantalla"
#: ../js/ui/statusMenu.js:143
#: ../js/ui/statusMenu.js:121
msgid "Switch User"
msgstr "Cambiar de usuario"
#: ../js/ui/statusMenu.js:149
#: ../js/ui/statusMenu.js:126
msgid "Log Out..."
msgstr "Saír da sesión..."
#: ../js/ui/statusMenu.js:154
#: ../js/ui/statusMenu.js:130
msgid "Shut Down..."
msgstr "Apagar..."
#: ../js/ui/windowAttentionHandler.js:47
#: ../js/ui/windowAttentionHandler.js:45
#, c-format
msgid "%s has finished starting"
msgstr "%s rematou de iniarse"
#: ../js/ui/windowAttentionHandler.js:49
#: ../js/ui/windowAttentionHandler.js:47
#, c-format
msgid "'%s' is ready"
msgstr "'%s' está preparado"
msgstr "«%s» está preparado"
#: ../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 ""
"Non é posíbel engadir unha área de traballo nova porque chegouse ao límite "
"de áreas de traballo."
#: ../js/ui/workspacesView.js:247
msgid "Can't remove the first workspace."
msgstr "Non é posíbel quitar a primeira área de traballo."
#: ../src/shell-global.c:1105
msgid "Less than a minute ago"
msgstr "Hai menos dun minuto"
#: ../src/shell-global.c:971
#: ../src/shell-global.c:1109
#, 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:976
#: ../src/shell-global.c:1114
#, 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:981
#: ../src/shell-global.c:1119
#, 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:986
#: ../src/shell-global.c:1124
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
@ -257,51 +543,3 @@ msgstr "Buscar"
#, c-format
msgid "%1$s: %2$s"
msgstr "%1$s: %2$s"
#~ msgid "Sidebar"
#~ msgstr "Barra lateral"
#~ msgid "%H:%M"
#~ msgstr "%M:%H"
#~ 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"

579
po/he.po
View File

@ -6,11 +6,10 @@
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: 2009-11-13 17:44+0000\n"
"PO-Revision-Date: 2009-11-28 17:33+0200\n"
"Last-Translator: Liel Fridman <lielft@gmail.com>\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-09-27 00:00+0200\n"
"PO-Revision-Date: 2010-09-27 00:01+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"
@ -25,182 +24,504 @@ msgstr "מעטפת GNOME"
msgid "Window management and application launching"
msgstr "ניהול חלונות והרצת יישומים"
#: ../js/ui/appDisplay.js:696
msgid "Drag here to add favorites"
msgstr "יש לגרור פריטים לכאן כדי להוסיף מועדפים"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:1
msgid "Clock"
msgstr "שעון"
#: ../js/ui/appIcon.js:425
#: ../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 ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog."
#: ../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) dialog"
#: ../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 favorite 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 "
"favorites 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 already saved 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 stats about applications usage"
#: ../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:316 ../js/ui/dash.js:778
msgid "APPLICATIONS"
msgstr "יישומים"
#: ../js/ui/appDisplay.js:348
msgid "PREFERENCES"
msgstr "העדפות"
#: ../js/ui/appDisplay.js:648
msgid "New Window"
msgstr "חלון חדש"
#: ../js/ui/appIcon.js:429
#: ../js/ui/appDisplay.js:652
msgid "Remove from Favorites"
msgstr "הסר מהמועדפים"
msgstr "הסרה מהמועדפים"
#: ../js/ui/appIcon.js:430
#: ../js/ui/appDisplay.js:653
msgid "Add to Favorites"
msgstr "הוסף למועדפים"
msgstr "הוספה למועדפים"
#: ../js/ui/dash.js:237
msgid "Find..."
msgstr "חפש..."
#: ../js/ui/appDisplay.js:830
msgid "Drag here to add favorites"
msgstr "יש לגרור פריטים לכאן כדי להוסיף מועדפים"
#. **** Applications ****
#: ../js/ui/dash.js:656 ../js/ui/dash.js:718
msgid "APPLICATIONS"
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:676 ../js/ui/dash.js:733
msgid "PLACES"
msgstr "מקומות"
#: ../js/ui/dash.js:797 ../js/ui/placeDisplay.js:554
msgid "PLACES & DEVICES"
msgstr "מקומות והתקנים"
#. **** Documents ****
#: ../js/ui/dash.js:683 ../js/ui/dash.js:728
msgid "RECENT DOCUMENTS"
msgstr "מסמכים אחרונים"
#: ../js/ui/dash.js:804 ../js/ui/docDisplay.js:494
msgid "RECENT ITEMS"
msgstr "פריטים אחרונים"
#. **** Search Results ****
#: ../js/ui/dash.js:708 ../js/ui/dash.js:898
msgid "SEARCH RESULTS"
msgstr "תוצאות חיפוש"
#: ../js/ui/lookingGlass.js:552
msgid "No extensions installed"
msgstr "לא מותקנות הרחבות"
#: ../js/ui/dash.js:723
msgid "PREFERENCES"
#: ../js/ui/lookingGlass.js:589
msgid "Enabled"
msgstr "פעיל"
#: ../js/ui/lookingGlass.js:591
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:461
#, c-format
msgid "Quit %s"
msgstr "יציאה מ־%s"
#: ../js/ui/panel.js:486
msgid "Preferences"
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:274
msgid "Activities"
msgstr "פעילויות"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/panel.js:572
msgid "%a %b %e, %R:%S"
msgstr "%a %b %e, %R:%S"
#. Translators: This is a time format.
#: ../js/ui/panel.js:491
#: ../js/ui/panel.js:573
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:577
msgid "%a %R:%S"
msgstr "%a %R:%S"
#: ../js/ui/panel.js:578
msgid "%a %R"
msgstr "%a %R"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/panel.js:585
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a %b %e, %l:%M:%S %p"
#: ../js/ui/panel.js:586
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:590
msgid "%a %l:%M:%S %p"
msgstr "%a %l:%M:%S %p"
#: ../js/ui/panel.js:591
msgid "%a %l:%M %p"
msgstr "%a %l:%M %p"
#: ../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:736
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 "התחבר אל..."
#: ../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:32
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
#: ../js/ui/runDialog.js:233
msgid "Please enter a command:"
msgstr "נא להזין פקודה:"
#: ../js/ui/runDialog.js:173
#: ../js/ui/runDialog.js:378
#, c-format
msgid "Execution of '%s' failed:"
msgstr "ההרצה של '%s' נכשלה:"
#. 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 "זמין"
#: ../js/ui/widget.js:317
msgid "Applications"
msgstr "יישומים"
#: ../js/ui/statusMenu.js:95
msgid "Busy"
msgstr "עסוק"
#: ../js/ui/widget.js:339
msgid "Recent Documents"
msgstr "מסמכים אחרונים"
#: ../js/ui/statusMenu.js:99
msgid "Invisible"
msgstr "בלתי נראה"
#: ../src/shell-global.c:821
#: ../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: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: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:1189
msgid "Less than a minute ago"
msgstr "לפני פחות מדקה"
#: ../src/shell-global.c:824
#: ../src/shell-global.c:1193
#, c-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "לפני דקה"
msgstr[1] "לפני %d דקות"
#: ../src/shell-global.c:827
#: ../src/shell-global.c:1198
#, c-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
msgstr[0] "לפני שעה"
msgstr[1] "לפני %d שעות"
#: ../src/shell-global.c:830
#: ../src/shell-global.c:1203
#, c-format
msgid "%d day ago"
msgid_plural "%d days ago"
msgstr[0] "לפני יום"
msgstr[1] "לפני %d ימים"
#: ../src/shell-global.c:833
#: ../src/shell-global.c:1208
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
msgstr[0] "לפני שבוע"
msgstr[1] "לפני %d שבועות"
#: ../src/shell-status-menu.c:156
msgid "Unknown"
msgstr "לא ידוע"
#: ../src/shell-status-menu.c:212
#, c-format
msgid "Can't lock screen: %s"
msgstr "לא ניתן לנעול את המסך: %s"
#: ../src/shell-status-menu.c:227
#, c-format
msgid "Can't temporarily set screensaver to blank screen: %s"
msgstr "לא ניתן זמנית לקבוע שומר מסך כמסך שחור: %s"
#: ../src/shell-status-menu.c:351
#, c-format
msgid "Can't logout: %s"
msgstr "לא ניתן להתנתק: %s"
#: ../src/shell-status-menu.c:492
msgid "Account Information..."
msgstr "מידע על המשתמש..."
#: ../src/shell-status-menu.c:502
msgid "Sidebar"
msgstr "סרגל צד"
#: ../src/shell-status-menu.c:510
msgid "System Preferences..."
msgstr "העדפות מערכת..."
#: ../src/shell-status-menu.c:525
msgid "Lock Screen"
msgstr "נעילת המסך"
#: ../src/shell-status-menu.c:535
msgid "Switch User"
msgstr "החלף משתמש"
#. Only show switch user if there are other users
#. Log Out
#: ../src/shell-status-menu.c:546
msgid "Log Out..."
msgstr "ניתוק..."
#. Shut down
#: ../src/shell-status-menu.c:557
msgid "Shut Down..."
msgstr "כיבוי..."
#: ../src/shell-uri-util.c:87
#: ../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:102
#: ../src/shell-uri-util.c:104
msgid "File System"
msgstr "מערכת הקבצים"
#: ../src/shell-uri-util.c:248
#: ../src/shell-uri-util.c:250
msgid "Search"
msgstr "חפש"
@ -209,7 +530,43 @@ msgstr "חפש"
#. * 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 "1"
#~ msgid "OFF"
#~ msgstr "0"
#~ msgid "PLACES"
#~ msgstr "מקומות"
#~ msgid "SEARCH RESULTS"
#~ msgstr "תוצאות חיפוש"
#~ msgid "%H:%M"
#~ msgstr "%H:%M"
#~ msgid "Applications"
#~ msgstr "יישומים"
#~ msgid "Recent Documents"
#~ 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"
#~ msgid "Sidebar"
#~ 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"

333
po/id.po Normal file
View File

@ -0,0 +1,333 @@
# Indonesian translation of gnome-shell
# Copyright (C) 2010 THE gnome-shell'S COPYRIGHT HOLDER
# This file is distributed under the same license as the gnome-shell package.
# Andika Triwidada <andika@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-05-30 20:55+0000\n"
"PO-Revision-Date: 2010-05-31 19:43+0700\n"
"Last-Translator: Andika Triwidada <andika@gmail.com>\n"
"Language-Team: GNOME Indonesian Translation Team <gnome@i15n.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"
"X-Poedit-Language: Indonesian\n"
"X-Poedit-Country: Indonesia\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: ../data/gnome-shell.desktop.in.in.h:1
msgid "GNOME Shell"
msgstr "Shell GNOME"
#: ../data/gnome-shell.desktop.in.in.h:2
msgid "Window management and application launching"
msgstr "Manajemen jendela dan peluncuran aplikasi"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:1
msgid "Clock"
msgstr "Jam"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:2
msgid "Customize the panel clock"
msgstr "Gubah panel jam"
#: ../data/clock-preferences.ui.h:1
msgid "Clock Format"
msgstr "Format Jam"
#: ../data/clock-preferences.ui.h:2
msgid "Clock Preferences"
msgstr "Preferensi Jam"
#: ../data/clock-preferences.ui.h:3
msgid "Panel Display"
msgstr "Tampilan Panel"
#: ../data/clock-preferences.ui.h:4
msgid "Show seco_nds"
msgstr "Tampilka_n detik"
#: ../data/clock-preferences.ui.h:5
msgid "Show the _date"
msgstr "Tampilkan tan_ggal"
#: ../data/clock-preferences.ui.h:6
msgid "_12 hour format"
msgstr "Format _12 jam"
#: ../data/clock-preferences.ui.h:7
msgid "_24 hour format"
msgstr "Format _24 jam"
#. **** Applications ****
#: ../js/ui/appDisplay.js:306 ../js/ui/dash.js:858
msgid "APPLICATIONS"
msgstr "APLIKASI"
#: ../js/ui/appDisplay.js:338
msgid "PREFERENCES"
msgstr "PREFERENSI"
#: ../js/ui/appDisplay.js:710
msgid "New Window"
msgstr "Jendela Baru"
#: ../js/ui/appDisplay.js:714
msgid "Remove from Favorites"
msgstr "Hapus dari Favorit"
#: ../js/ui/appDisplay.js:715
msgid "Add to Favorites"
msgstr "Tambah ke Favorit"
#: ../js/ui/appDisplay.js:1042
msgid "Drag here to add favorites"
msgstr "Seret ke sini untuk menambah favorit"
#: ../js/ui/appFavorites.js:89
#, c-format
msgid "%s has been added to your favorites."
msgstr "%s telah ditambahkan ke favorit Anda."
#: ../js/ui/appFavorites.js:107
#, c-format
msgid "%s has been removed from your favorites."
msgstr "%s telah dihapus dari favorit Anda."
#: ../js/ui/dash.js:189
msgid "Find"
msgstr "Temukan"
#: ../js/ui/dash.js:513
msgid "Searching..."
msgstr "Mencari..."
#: ../js/ui/dash.js:527
msgid "No matching results."
msgstr "Tak ada yang cocok."
#. **** Places ****
#. Translators: This is in the sense of locations for documents,
#. network locations, etc.
#: ../js/ui/dash.js:877 ../js/ui/placeDisplay.js:551
msgid "PLACES & DEVICES"
msgstr "LOKASI & PERANGKAT"
#. **** Documents ****
#: ../js/ui/dash.js:884 ../js/ui/docDisplay.js:497
msgid "RECENT ITEMS"
msgstr "DOKUMEN TERKINI"
#: ../js/ui/lookingGlass.js:470
msgid "No extensions installed"
msgstr "Tak ada ekstensi terpasang"
#: ../js/ui/lookingGlass.js:507
msgid "Enabled"
msgstr "Diaktifkan"
#: ../js/ui/lookingGlass.js:509
msgid "Disabled"
msgstr "Dinonaktifkan"
#: ../js/ui/lookingGlass.js:511
msgid "Error"
msgstr "Galat"
#: ../js/ui/lookingGlass.js:513
msgid "Out of date"
msgstr "Kadaluarsa"
#: ../js/ui/lookingGlass.js:538
msgid "View Source"
msgstr "Tilik Sumber"
#: ../js/ui/lookingGlass.js:544
msgid "Web Page"
msgstr "Halaman Web"
#: ../js/ui/overview.js:161
msgid "Undo"
msgstr "Batal"
#. 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 "Aktivitas"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/panel.js:1118
msgid "%a %b %e, %R:%S"
msgstr "%a %e %b, %R:%S"
#: ../js/ui/panel.js:1119
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
msgid "%a %R:%S"
msgstr "%a %R:%S"
#: ../js/ui/panel.js:1124
msgid "%a %R"
msgstr "%a %R"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/panel.js:1131
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a %e %b, %k:%M:%S"
#: ../js/ui/panel.js:1132
msgid "%a %b %e, %l:%M %p"
msgstr "%a %e %b, %k:%M"
#. Translators: This is a time format without date used
#. for AM/PM.
#: ../js/ui/panel.js:1136
msgid "%a %l:%M:%S %p"
msgstr "%a %k:%M:%S"
#: ../js/ui/panel.js:1137
msgid "%a %l:%M %p"
msgstr "%a %k:%M"
#: ../js/ui/placeDisplay.js:108
#, c-format
msgid "Failed to unmount '%s'"
msgstr "Gagal melepas kait '%s'"
#: ../js/ui/placeDisplay.js:111
msgid "Retry"
msgstr "Coba lagi"
#: ../js/ui/placeDisplay.js:156
msgid "Connect to..."
msgstr "Sambung ke..."
#: ../js/ui/runDialog.js:231
msgid "Please enter a command:"
msgstr "Silakan masukkan suatu perintah:"
#: ../js/ui/runDialog.js:375
#, c-format
msgid "Execution of '%s' failed:"
msgstr "Eksekusi '%s' gagal:"
#: ../js/ui/statusMenu.js:90
msgid "Available"
msgstr "Ada"
#: ../js/ui/statusMenu.js:94
msgid "Busy"
msgstr "Sibuk"
#: ../js/ui/statusMenu.js:98
msgid "Invisible"
msgstr "Tak nampak"
#: ../js/ui/statusMenu.js:105
msgid "Account Information..."
msgstr "Informasi Akun..."
#: ../js/ui/statusMenu.js:109
msgid "System Preferences..."
msgstr "Preferensi Sistem..."
#: ../js/ui/statusMenu.js:116
msgid "Lock Screen"
msgstr "Kunci Layar"
#: ../js/ui/statusMenu.js:120
msgid "Switch User"
msgstr "Ganti Pengguna"
#: ../js/ui/statusMenu.js:125
msgid "Log Out..."
msgstr "Keluar..."
#: ../js/ui/statusMenu.js:129
msgid "Shut Down..."
msgstr "Matikan..."
#: ../js/ui/windowAttentionHandler.js:47
#, c-format
msgid "%s has finished starting"
msgstr "%s telah selesai diawali"
#: ../js/ui/windowAttentionHandler.js:49
#, c-format
msgid "'%s' is ready"
msgstr "'%s' telah siap"
#: ../js/ui/workspacesView.js:237
msgid ""
"Can't add a new workspace because maximum workspaces limit has been reached."
msgstr ""
"Tak bisa menambah ruang kerja baru karena batas ruang kerja maksimum telah "
"tercapai."
#: ../js/ui/workspacesView.js:254
msgid "Can't remove the first workspace."
msgstr "Tak bisa menghapus ruang kerja pertama."
#: ../src/shell-global.c:1027
msgid "Less than a minute ago"
msgstr "Kurang dari semenit yang lalu"
#: ../src/shell-global.c:1031
#, c-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "%d menit yang lalu"
#: ../src/shell-global.c:1036
#, c-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
msgstr[0] "%d jam yang lalu "
#: ../src/shell-global.c:1041
#, c-format
msgid "%d day ago"
msgid_plural "%d days ago"
msgstr[0] "%d hari yang lalu"
#: ../src/shell-global.c:1046
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
msgstr[0] "%d minggu yang lalu"
#: ../src/shell-uri-util.c:89
msgid "Home Folder"
msgstr "Folder Rumah"
#. Translators: this is the same string as the one found in
#. * nautilus
#: ../src/shell-uri-util.c:104
msgid "File System"
msgstr "Sistem Berkas"
#: ../src/shell-uri-util.c:250
msgid "Search"
msgstr "Cari"
#. 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"

405
po/it.po
View File

@ -1,5 +1,5 @@
# 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.
@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-04-06 21:27+0200\n"
"PO-Revision-Date: 2010-04-06 22:51+0200\n"
"POT-Creation-Date: 2010-09-02 21:30+0200\n"
"PO-Revision-Date: 2010-08-27 21:12+0200\n"
"Last-Translator: Milo Casagrande <milo@ubuntu.com>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"MIME-Version: 1.0\n"
@ -22,34 +22,265 @@ 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"
#: ../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/clock-preferences.ui.h:1
msgid "Clock Format"
msgstr "Formato ora"
#: ../data/clock-preferences.ui.h:2
msgid "Clock Preferences"
msgstr "Preferenze di Orologio"
#: ../data/clock-preferences.ui.h:3
msgid "Panel Display"
msgstr "Visualizzazione sul pannello"
#: ../data/clock-preferences.ui.h:4
msgid "Show seco_nds"
msgstr "Mostrare i _secondi"
#: ../data/clock-preferences.ui.h:5
msgid "Show the _date"
msgstr "Mostrare la _data"
#: ../data/clock-preferences.ui.h:6
msgid "_12 hour format"
msgstr "Formato _12 ore"
#: ../data/clock-preferences.ui.h:7
msgid "_24 hour format"
msgstr "Formato _24 ore"
#. **** Applications ****
#: ../js/ui/appDisplay.js:311 ../js/ui/dash.js:850
#: ../js/ui/appDisplay.js:384 ../js/ui/dash.js:778
msgid "APPLICATIONS"
msgstr "Applicazioni"
#: ../js/ui/appDisplay.js:343
#: ../js/ui/appDisplay.js:416
msgid "PREFERENCES"
msgstr "Preferenze"
#: ../js/ui/appDisplay.js:723
#: ../js/ui/appDisplay.js:721
msgid "New Window"
msgstr "Nuova finestra"
#: ../js/ui/appDisplay.js:727
#: ../js/ui/appDisplay.js:725
msgid "Remove from Favorites"
msgstr "Rimuovi dai preferiti"
#: ../js/ui/appDisplay.js:728
#: ../js/ui/appDisplay.js:726
msgid "Add to Favorites"
msgstr "Aggiungi ai preferiti"
#: ../js/ui/appDisplay.js:1055
#: ../js/ui/appDisplay.js:1033
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."
@ -59,177 +290,241 @@ 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:505
#: ../js/ui/dash.js:473
msgid "Searching..."
msgstr "Ricerca..."
#: ../js/ui/dash.js:519
#: ../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:869 ../js/ui/placeDisplay.js:543
#: ../js/ui/dash.js:797 ../js/ui/placeDisplay.js:554
msgid "PLACES & DEVICES"
msgstr "Risorse e dispositivi"
#. **** 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 "Elementi recenti"
#: ../js/ui/lookingGlass.js:362
#: ../js/ui/lookingGlass.js:552
msgid "No extensions installed"
msgstr "Nessuna estensione installata"
# (ndt) o abilitata?
#: ../js/ui/lookingGlass.js:399
#: ../js/ui/lookingGlass.js:589
msgid "Enabled"
msgstr "Abilitato"
# (ndt) o disabilitata?
#: ../js/ui/lookingGlass.js:401
#: ../js/ui/lookingGlass.js:591
msgid "Disabled"
msgstr "Disabilitato"
#: ../js/ui/lookingGlass.js:403
#: ../js/ui/lookingGlass.js:593
msgid "Error"
msgstr "Errore"
#: ../js/ui/lookingGlass.js:405
#: ../js/ui/lookingGlass.js:595
msgid "Out of date"
msgstr "Non aggiornato"
#: ../js/ui/lookingGlass.js:430
#: ../js/ui/lookingGlass.js:620
msgid "View Source"
msgstr "Visualizza sorgente"
#: ../js/ui/lookingGlass.js:436
#: ../js/ui/lookingGlass.js:626
msgid "Web Page"
msgstr "Pagina web"
#: ../js/ui/overview.js:181
#: ../js/ui/overview.js:160
msgid "Undo"
msgstr "Annulla"
#. 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:374
msgid "Activities"
msgstr "Attività"
#. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:473
#, c-format
msgid "Quit %s"
msgstr "Chiudi %s"
#. Translators: This is the time format used in 24-hour mode.
#: ../js/ui/panel.js:594
#: ../js/ui/panel.js:498
msgid "Preferences"
msgstr "Preferenze"
#. 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, %k.%M.%S"
# (ndt) proviamo col k, se non funge, sappiamo il perché...
#: ../js/ui/panel.js:585
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:589
msgid "%a %R:%S"
msgstr "%a %k.%M.%S"
#: ../js/ui/panel.js:590
msgid "%a %R"
msgstr "%a %k.%M"
# (ndt) proviamo col k, se non funge, sappiamo il perché...
#. Translators: This is a time format used for AM/PM.
#. 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 %k.%M"
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 "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: 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 "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:105
#: ../js/ui/statusMenu.js:91
msgid "Available"
msgstr "Disponibile"
#: ../js/ui/statusMenu.js:110
#: ../js/ui/statusMenu.js:95
msgid "Busy"
msgstr "Non disponibile"
#: ../js/ui/statusMenu.js:115
#: ../js/ui/statusMenu.js:99
msgid "Invisible"
msgstr "Invisibile"
#: ../js/ui/statusMenu.js:124
#: ../js/ui/statusMenu.js:106
msgid "Account Information..."
msgstr "Informazioni account..."
#: ../js/ui/statusMenu.js:129
#: ../js/ui/statusMenu.js:110
msgid "System Preferences..."
msgstr "Preferenze di sistema..."
#: ../js/ui/statusMenu.js:138
#: ../js/ui/statusMenu.js:117
msgid "Lock Screen"
msgstr "Blocca schermo"
#: ../js/ui/statusMenu.js:143
#: ../js/ui/statusMenu.js:121
msgid "Switch User"
msgstr "Cambia utente"
#: ../js/ui/statusMenu.js:149
#: ../js/ui/statusMenu.js:126
msgid "Log Out..."
msgstr "Termina sessione..."
#: ../js/ui/statusMenu.js:154
#: ../js/ui/statusMenu.js:130
msgid "Shut Down..."
msgstr "Arresta..."
#: ../js/ui/windowAttentionHandler.js:47
#: ../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"
#: ../src/shell-global.c:967
# (ndt) un po' liberetta...
#: ../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:247
msgid "Can't remove the first workspace."
msgstr "Impossibile rimuovere il primo spazio di lavoro."
#: ../src/shell-global.c:1105
msgid "Less than a minute ago"
msgstr "Meno di un minuto fa"
#: ../src/shell-global.c:971
#: ../src/shell-global.c:1109
#, 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:976
#: ../src/shell-global.c:1114
#, 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:981
#: ../src/shell-global.c:1119
#, 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:986
#: ../src/shell-global.c:1124
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"

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 "最近利用したドキュメント"

533
po/lt.po Normal file
View File

@ -0,0 +1,533 @@
# Lithuanian translation for gnome-shell.
# Copyright (C) 2010 Free Software Foundation, Inc.
# This file is distributed under the same license as the gnome-shell package.
# Žygimantas Beručka <zygis@gnome.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-06-24 17:17+0000\n"
"PO-Revision-Date: 2010-06-25 20:27+0300\n"
"Last-Translator: Žygimantas Beručka <zygis@gnome.org>\n"
"Language-Team: Lithuanian <gnome-lt@lists.akl.lt>\n"
"Language: lt\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%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%"
"100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Virtaal 0.6.1\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 "Langų valdymas ir programų paleidimas"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:1
msgid "Clock"
msgstr "Laikrodis"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:2
msgid "Customize the panel clock"
msgstr "Derinti skydelio laikrodį"
#: ../data/org.gnome.shell.gschema.xml.in.h:1
msgid ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog."
msgstr ""
"Suteikia prieigą prie vidinio derinimo ir stebėjimo įrankių, naudojant "
"Alt-F2 dialogą."
#: ../data/org.gnome.shell.gschema.xml.in.h:2
msgid "Custom format of the clock"
msgstr "Pasirinktinis laikrodžio formatas"
#: ../data/org.gnome.shell.gschema.xml.in.h:3
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr ""
"Įjungti vidinius, Alt-F2 klavišų pagalba pasiekiamus įrankius, naudingus "
"programuotojams ir bandytojams "
#: ../data/org.gnome.shell.gschema.xml.in.h:4
msgid "File extension used for storing the screencast"
msgstr "Failų plėtinys, naudojamas įrašyti ekrano vaizdo įrašą"
#: ../data/org.gnome.shell.gschema.xml.in.h:5
msgid "Framerate used for recording screencasts."
msgstr "Kadrų dažnis, naudojamas norint įrašyti ekrano vaizdo įrašą."
#: ../data/org.gnome.shell.gschema.xml.in.h:6
msgid ""
"GNOME Shell extensions have a uuid property; this key lists extensions which "
"should not be loaded."
msgstr ""
"GNOME Shell plėtiniai turi uuid savybę. Šiame rakte nurodyti plėtiniai, "
"kurie neturėtų būti įkelti."
#: ../data/org.gnome.shell.gschema.xml.in.h:7
msgid "History for command (Alt-F2) dialog"
msgstr "Komandų (Alt-F2) dialogo retrospektyva"
#: ../data/org.gnome.shell.gschema.xml.in.h:8
msgid "Hour format"
msgstr "Valandų formatas"
#: ../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 ""
"Jei reikšmė teigiama ir formatas yra „12-hour“ ar „24-hour“, laikrodyje "
"šalia laiko rodyti ir datą."
#: ../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 ""
"Jei reikšmė teigiama ir formatas yra „12-hour“ ar „24-hour“, laikrodyje "
"rodyti ir sekundes."
#: ../data/org.gnome.shell.gschema.xml.in.h:11
msgid "If true, display the ISO week date in the calendar."
msgstr "Jeigu reikšmė teigiama, kalendoriuje rodyti ISO savaičių datą."
#: ../data/org.gnome.shell.gschema.xml.in.h:12
msgid "List of desktop file IDs for favorite applications"
msgstr "Mėgstamų programų darbastalio failų ID sąrašas"
#: ../data/org.gnome.shell.gschema.xml.in.h:13
msgid "Overview workspace view mode"
msgstr "Apžvalginės darbo erdvės peržiūros veiksena"
#: ../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 ""
"Nurodo GStreamer konvejerį, naudojamą įrašams koduoti. Jame naudojama gst-"
"launch naudojama sintaksė. Konvejeryje turėtų būti neprijungtas apjungiantis "
"elementas, kuriame įrašomas vaizdo įrašas. Paprastai jame yra neprijungtas "
"šaltinio elementas; išvestis iš to elemento bus įrašyta į išvesties failą. "
"Tačiau konvejeris taip pat gali pasirūpinti savo paties išvestimi tai gali "
"būti panaudota norint perduoti išvestį icecast serveriui per shout2send ar "
"pan. elementą. Kai reikšmė nenustatyta ar nustatyta tuščia reikšmė, "
"naudojamas numatytasis konvejeris. Šiuo metu tai yra „videorate ! theoraenc "
"! oggmux“, o įrašoma į Ogg Theora."
#: ../data/org.gnome.shell.gschema.xml.in.h:15
msgid "Show date in clock"
msgstr "Rodyti datą laikrodyje"
#: ../data/org.gnome.shell.gschema.xml.in.h:16
msgid "Show the week date in the calendar"
msgstr "Rodyti savaitės dienas kalendoriuje"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "Show time with seconds"
msgstr "Rodyti laiką su sekundėmis"
#: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid ""
"The applications corresponding to these identifiers will be displayed in the "
"favorites area."
msgstr ""
"Programos, atitinkančios šiuos identifikatorius, bus rodomos mėgstamų "
"srityje."
#: ../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 ""
"Įrašytų ekrano vaizdo įrašų failų vardas bus unikalus, sudaromas "
"atsižvelgiant į dabartinę datą ir naudojantis šį plėtinį. Rašant į kitą "
"konteinerio formatą jį reikėtų pakeisti."
#: ../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 ekranų įrašymo programa sukurto ekrano įrašo kadrų dažnis "
"kadrais per sekundę."
#: ../data/org.gnome.shell.gschema.xml.in.h:21
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "Gstreamer konvejeris, naudojamas užkoduojant ekrano vaizdo įrašą."
#: ../data/org.gnome.shell.gschema.xml.in.h:22
msgid ""
"The selected workspace view mode in the overview. Supported values are "
"\"single\" and \"grid\"."
msgstr ""
"Apžvalgoje pasirinkta darbo erdvės peržiūros veiksena. Galimos reikšmės yra "
"„single“ ir „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 ""
"Apvalkalas paprastai stebi aktyvias programas siekiant pateikti dažniausiai "
"naudojamas (pvz., leistukuose). Nors šie duomenys konfidencialiai saugomi, "
"jei norite, saugumo sumetimais galite šią funkciją išjungti. Atminkite, kad "
"tai padarius jau įrašyti duomenys jau nebus įrašyti."
#: ../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 ""
"Šis raktas nurodo skydelio laikrodžio naudojamą formatą, kuomet formato "
"raktas nustatytas į reikšmę „custom“. Norėdami gauti konkretų formatą, "
"galite naudoti konvertavimo simbolius, kuriuos priima funkcija strftime(). "
"Daugiau informacijos galite rasti strftime() žinyne."
#: ../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 ""
"Šis raktas nurodo skydelio laikrodžio naudojamą valandų formatą. Galimos "
"reikšmės: „12-hour“, „24-hour“, „unix“ ir „custom“. Jei nustatyta „unix“, "
"laikrodis rodys laiką sekundėmis nuo Epochos, tai yra 1970-01-01. Jei "
"nustatyta „custom“, laikrodis rodys laiką atsižvelgiant į custom_format "
"rakte nurodytą formatą. Atminkite, kad nustačius „unix“ arba „custom“ yra "
"nepaisoma show_date ir show_seconds raktų."
#: ../data/org.gnome.shell.gschema.xml.in.h:26
msgid "Uuids of extensions to disable"
msgstr "Išjungtinų plėtinių UUID."
#: ../data/org.gnome.shell.gschema.xml.in.h:27
msgid "Whether to collect stats about applications usage"
msgstr "Ar rinkti statistinę informaciją apie programų naudojimą"
#: ../data/clock-preferences.ui.h:1
msgid "Clock Format"
msgstr "Laikrodžio formatas"
#: ../data/clock-preferences.ui.h:2
msgid "Clock Preferences"
msgstr "Laikrodžio nustatymai"
#: ../data/clock-preferences.ui.h:3
msgid "Panel Display"
msgstr "Skydelio ekranas"
#: ../data/clock-preferences.ui.h:4
msgid "Show seco_nds"
msgstr "Rodyti seku_ndes"
#: ../data/clock-preferences.ui.h:5
msgid "Show the _date"
msgstr "Rodyti _datą"
#: ../data/clock-preferences.ui.h:6
msgid "_12 hour format"
msgstr "_12 valandų formatas"
#: ../data/clock-preferences.ui.h:7
msgid "_24 hour format"
msgstr "_24 valandų formatas"
#. **** Applications ****
#: ../js/ui/appDisplay.js:388 ../js/ui/dash.js:767
msgid "APPLICATIONS"
msgstr "PROGRAMOS"
#: ../js/ui/appDisplay.js:420
msgid "PREFERENCES"
msgstr "NUSTATYMAI"
#: ../js/ui/appDisplay.js:726
msgid "New Window"
msgstr "Naujas langas"
#: ../js/ui/appDisplay.js:730
msgid "Remove from Favorites"
msgstr "Pašalinti iš mėgstamų"
#: ../js/ui/appDisplay.js:731
msgid "Add to Favorites"
msgstr "Pridėti prie mėgstamų"
#: ../js/ui/appDisplay.js:1038
msgid "Drag here to add favorites"
msgstr "Vilkite čia norėdami pridėti prie mėgstamų"
#: ../js/ui/appFavorites.js:88
#, c-format
msgid "%s has been added to your favorites."
msgstr "%s buvo pridėta prie jūsų mėgstamų."
#: ../js/ui/appFavorites.js:106
#, c-format
msgid "%s has been removed from your favorites."
msgstr "%s buvo pašalinta iš jūsų mėgstamų."
#: ../js/ui/dash.js:146
msgid "Find"
msgstr "Ieškoti"
#: ../js/ui/dash.js:465
msgid "Searching..."
msgstr "Ieškoma..."
#: ../js/ui/dash.js:479
msgid "No matching results."
msgstr "Nerasta atitikmenų."
#. **** Places ****
#. Translators: This is in the sense of locations for documents,
#. network locations, etc.
#: ../js/ui/dash.js:786 ../js/ui/placeDisplay.js:552
msgid "PLACES & DEVICES"
msgstr "VIETOS ir ĮRENGINIAI"
#. **** Documents ****
#: ../js/ui/dash.js:793 ../js/ui/docDisplay.js:497
msgid "RECENT ITEMS"
msgstr "PASKUTINIEJI ELEMENTAI"
#: ../js/ui/lookingGlass.js:471
msgid "No extensions installed"
msgstr "Nėra įdiegtų plėtinių"
#: ../js/ui/lookingGlass.js:508
msgid "Enabled"
msgstr "Įjungta"
#: ../js/ui/lookingGlass.js:510
msgid "Disabled"
msgstr "Išjungta"
#: ../js/ui/lookingGlass.js:512
msgid "Error"
msgstr "Klaida"
#: ../js/ui/lookingGlass.js:514
msgid "Out of date"
msgstr "Pasenęs"
#: ../js/ui/lookingGlass.js:539
msgid "View Source"
msgstr "Žiūrėti šaltinį"
#: ../js/ui/lookingGlass.js:545
msgid "Web Page"
msgstr "Tinklalapis"
#: ../js/ui/overview.js:165
msgid "Undo"
msgstr "Atšaukti"
#: ../js/ui/panel.js:519
msgid "Preferences"
msgstr "Nustatymai"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/panel.js:605
msgid "%a %b %e, %R:%S"
msgstr "%a %b %e, %R:%S"
#: ../js/ui/panel.js:606
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
msgid "%a %R:%S"
msgstr "%a %R:%S"
#: ../js/ui/panel.js:611
msgid "%a %R"
msgstr "%a %R"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/panel.js:618
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a %b %e, %l:%M:%S %p"
#: ../js/ui/panel.js:619
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
msgid "%a %l:%M:%S %p"
msgstr "%a %l:%M:%S %p"
#: ../js/ui/panel.js:624
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:762
msgid "Activities"
msgstr "Apžvalga"
#: ../js/ui/placeDisplay.js:109
#, c-format
msgid "Failed to unmount '%s'"
msgstr "Nepavyko atjungti „%s“"
#: ../js/ui/placeDisplay.js:112
msgid "Retry"
msgstr "Bandyti dar kartą"
#: ../js/ui/placeDisplay.js:157
msgid "Connect to..."
msgstr "Prisijungti prie..."
#: ../js/ui/runDialog.js:234
msgid "Please enter a command:"
msgstr "Įveskite komandą:"
#: ../js/ui/runDialog.js:379
#, c-format
msgid "Execution of '%s' failed:"
msgstr "Nepavyko paleisti „%s“:"
#: ../js/ui/statusMenu.js:91
msgid "Available"
msgstr "Esu"
#: ../js/ui/statusMenu.js:95
msgid "Busy"
msgstr "Užsiėmęs (-usi)"
#: ../js/ui/statusMenu.js:99
msgid "Invisible"
msgstr "Nematomas (-a)"
#: ../js/ui/statusMenu.js:106
msgid "Account Information..."
msgstr "Paskyros informacija..."
#: ../js/ui/statusMenu.js:110
msgid "System Preferences..."
msgstr "Sistemos nustatymai..."
#: ../js/ui/statusMenu.js:117
msgid "Lock Screen"
msgstr "Užrakinti ekraną"
#: ../js/ui/statusMenu.js:121
msgid "Switch User"
msgstr "Keisti naudotoją"
#: ../js/ui/statusMenu.js:126
msgid "Log Out..."
msgstr "Atsijungti ..."
#: ../js/ui/statusMenu.js:130
msgid "Shut Down..."
msgstr "Išjungti..."
#: ../js/ui/windowAttentionHandler.js:47
#, c-format
msgid "%s has finished starting"
msgstr "%s buvo paleista"
#: ../js/ui/windowAttentionHandler.js:49
#, c-format
msgid "'%s' is ready"
msgstr "„%s“ yra pasirengusi"
#: ../js/ui/workspacesView.js:237
msgid ""
"Can't add a new workspace because maximum workspaces limit has been reached."
msgstr ""
"Negalima pridėti naujos darbo erdvės, kadangi buvo pasiektas didžiausias "
"galimas darbo erdvių skaičius."
#: ../js/ui/workspacesView.js:254
msgid "Can't remove the first workspace."
msgstr "Nepavyko pašalinti pirmosios darbo erdvės."
#: ../src/shell-global.c:1039
msgid "Less than a minute ago"
msgstr "Mažiau nei prieš minutę"
#: ../src/shell-global.c:1043
#, c-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "prieš %d minutę"
msgstr[1] "prieš %d minutes"
msgstr[2] "prieš %d minučių"
#: ../src/shell-global.c:1048
#, c-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
msgstr[0] "prieš %d valandą"
msgstr[1] "prieš %d valandas"
msgstr[2] "prieš %d valandų"
#: ../src/shell-global.c:1053
#, c-format
msgid "%d day ago"
msgid_plural "%d days ago"
msgstr[0] "prieš %d dieną"
msgstr[1] "prieš %d dienas"
msgstr[2] "prieš %d dienų"
#: ../src/shell-global.c:1058
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
msgstr[0] "prieš %d savaitę"
msgstr[1] "prieš %d savaites"
msgstr[2] "prieš %d savaičių"
#: ../src/shell-uri-util.c:89
msgid "Home Folder"
msgstr "Namų aplankas"
#. Translators: this is the same string as the one found in
#. * nautilus
#: ../src/shell-uri-util.c:104
msgid "File System"
msgstr "Failų sistema"
#: ../src/shell-uri-util.c:250
msgid "Search"
msgstr "Ieškoti"
#. 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"

292
po/nb.po
View File

@ -7,10 +7,11 @@ msgid ""
msgstr ""
"Project-Id-Version: gnome-shell 2.28.x\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-05-24 16:28+0200\n"
"PO-Revision-Date: 2010-05-24 16:29+0200\n"
"POT-Creation-Date: 2010-08-01 14:08+0200\n"
"PO-Revision-Date: 2010-08-01 14:09+0200\n"
"Last-Translator: Kjartan Maraas <kmaraas@broadpark.no>\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"
@ -32,6 +33,155 @@ msgstr "Klokke"
msgid "Customize the panel clock"
msgstr "Tilpass klokken på panelet"
#: ../data/org.gnome.shell.gschema.xml.in.h:1
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"
msgstr "Egendefinert format for klokken"
#: ../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 "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 ""
#: ../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 "Vis dato i klokken"
#: ../data/org.gnome.shell.gschema.xml.in.h:16
msgid "Show the week date in the calendar"
msgstr "Vis dato for uken i kalender"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "Show time with seconds"
msgstr "Vis 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 ""
#: ../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 "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/clock-preferences.ui.h:1
msgid "Clock Format"
msgstr "Klokkeformat"
@ -61,31 +211,31 @@ msgid "_24 hour format"
msgstr "_24-timers format"
#. **** Applications ****
#: ../js/ui/appDisplay.js:306 ../js/ui/dash.js:850
#: ../js/ui/appDisplay.js:384 ../js/ui/dash.js:776
msgid "APPLICATIONS"
msgstr "PROGRAMMER"
#: ../js/ui/appDisplay.js:338
#: ../js/ui/appDisplay.js:416
msgid "PREFERENCES"
msgstr "BRUKERVALG"
#: ../js/ui/appDisplay.js:705
#: ../js/ui/appDisplay.js:721
msgid "New Window"
msgstr "Nytt vindu"
#: ../js/ui/appDisplay.js:709
#: ../js/ui/appDisplay.js:725
msgid "Remove from Favorites"
msgstr "Fjern fra favoritter"
#: ../js/ui/appDisplay.js:710
#: ../js/ui/appDisplay.js:726
msgid "Add to Favorites"
msgstr "Legg til i favoritter"
#: ../js/ui/appDisplay.js:1037
#: ../js/ui/appDisplay.js:1033
msgid "Drag here to add favorites"
msgstr "Dra hit for å legge til favoritter"
#: ../js/ui/appFavorites.js:89
#: ../js/ui/appFavorites.js:88
#, c-format
msgid "%s has been added to your favorites."
msgstr "%s ble lagt til i dine favoritter."
@ -95,211 +245,235 @@ msgstr "%s ble lagt til i dine favoritter."
msgid "%s has been removed from your favorites."
msgstr "%s ble fjernet fra dine favoritter."
#: ../js/ui/dash.js:189
#: ../js/ui/dash.js:142
msgid "Find"
msgstr "Finn"
#: ../js/ui/dash.js:505
#: ../js/ui/dash.js:471
msgid "Searching..."
msgstr "Søker..."
#: ../js/ui/dash.js:519
#: ../js/ui/dash.js:485
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:869 ../js/ui/placeDisplay.js:543
#: ../js/ui/dash.js:795 ../js/ui/placeDisplay.js:550
msgid "PLACES & DEVICES"
msgstr "STEDER & ENHETER"
#. **** Documents ****
#: ../js/ui/dash.js:876 ../js/ui/docDisplay.js:489
#: ../js/ui/dash.js:802 ../js/ui/docDisplay.js:494
msgid "RECENT ITEMS"
msgstr "SISTE OPPFØRINGER"
#: ../js/ui/lookingGlass.js:466
#: ../js/ui/lookingGlass.js:471
msgid "No extensions installed"
msgstr "Ingen utvidelser installert"
#: ../js/ui/lookingGlass.js:503
#: ../js/ui/lookingGlass.js:508
msgid "Enabled"
msgstr "Aktivert"
#: ../js/ui/lookingGlass.js:505
#: ../js/ui/lookingGlass.js:510
msgid "Disabled"
msgstr "Deaktivert"
#: ../js/ui/lookingGlass.js:507
#: ../js/ui/lookingGlass.js:512
msgid "Error"
msgstr "Feil"
#: ../js/ui/lookingGlass.js:509
#: ../js/ui/lookingGlass.js:514
msgid "Out of date"
msgstr "Utdatert"
#: ../js/ui/lookingGlass.js:534
#: ../js/ui/lookingGlass.js:539
msgid "View Source"
msgstr "Vis kildekode"
#: ../js/ui/lookingGlass.js:540
#: ../js/ui/lookingGlass.js:545
msgid "Web Page"
msgstr "Nettside"
#: ../js/ui/overview.js:161
#: ../js/ui/overview.js:159
msgid "Undo"
msgstr "Angre"
#. 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:887
msgid "Activities"
msgstr "Aktiviteter"
#. 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 "Brukervalg"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/panel.js:1102
#: ../js/ui/panel.js:584
msgid "%a %b %e, %R:%S"
msgstr "%a %e %b, %R.%S"
#: ../js/ui/panel.js:1103
#: ../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:1107
#: ../js/ui/panel.js:589
msgid "%a %R:%S"
msgstr "%a %R.%S"
#: ../js/ui/panel.js:1108
#: ../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:1115
#: ../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:1116
#: ../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:1120
#: ../js/ui/panel.js:602
msgid "%a %l:%M:%S %p"
msgstr "%a %l.%M.%S %p"
#: ../js/ui/panel.js:1121
#: ../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:741
msgid "Activities"
msgstr "Aktiviteter"
#: ../js/ui/placeDisplay.js:107
#, c-format
msgid "Failed to unmount '%s'"
msgstr "Klarte ikke å avmontere «%s»"
#: ../js/ui/placeDisplay.js:111
#: ../js/ui/placeDisplay.js:110
msgid "Retry"
msgstr "Prøv igjen"
#: ../js/ui/placeDisplay.js:156
#: ../js/ui/placeDisplay.js:155
msgid "Connect to..."
msgstr "Koble til..."
#: ../js/ui/runDialog.js:231
#. 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 "Oppgi en kommando:"
#: ../js/ui/runDialog.js:375
#: ../js/ui/runDialog.js:378
#, c-format
msgid "Execution of '%s' failed:"
msgstr "Kjøring av «%s» feilet:"
#: ../js/ui/statusMenu.js:90
#: ../js/ui/statusMenu.js:91
msgid "Available"
msgstr "Tilgjengelig"
#: ../js/ui/statusMenu.js:94
#: ../js/ui/statusMenu.js:95
msgid "Busy"
msgstr "Opptatt"
#: ../js/ui/statusMenu.js:98
#: ../js/ui/statusMenu.js:99
msgid "Invisible"
msgstr "Usynlig"
#: ../js/ui/statusMenu.js:105
#: ../js/ui/statusMenu.js:106
msgid "Account Information..."
msgstr "Kontoinformasjon..."
#: ../js/ui/statusMenu.js:109
#: ../js/ui/statusMenu.js:110
msgid "System Preferences..."
msgstr "Brukervalg for systemet..."
#: ../js/ui/statusMenu.js:116
#: ../js/ui/statusMenu.js:117
msgid "Lock Screen"
msgstr "Lås skjerm"
#: ../js/ui/statusMenu.js:120
#: ../js/ui/statusMenu.js:121
msgid "Switch User"
msgstr "Bytt bruker"
#: ../js/ui/statusMenu.js:125
#: ../js/ui/statusMenu.js:126
msgid "Log Out..."
msgstr "Logg ut..."
#: ../js/ui/statusMenu.js:129
#: ../js/ui/statusMenu.js:130
msgid "Shut Down..."
msgstr "Avslutt..."
#: ../js/ui/windowAttentionHandler.js:47
#: ../js/ui/windowAttentionHandler.js:45
#, c-format
msgid "%s has finished starting"
msgstr "%s er ferdig startet"
#: ../js/ui/windowAttentionHandler.js:49
#: ../js/ui/windowAttentionHandler.js:47
#, c-format
msgid "'%s' is ready"
msgstr "«%s» er klar"
#: ../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 "Kan ikke legge til nytt arbeidsområde fordi grensen for maksimalt antall arbeidsområder er nådd."
msgstr ""
"Kan ikke legge til nytt arbeidsområde fordi grensen for maksimalt antall "
"arbeidsområder er nådd."
#: ../js/ui/workspacesView.js:256
#: ../js/ui/workspacesView.js:247
msgid "Can't remove the first workspace."
msgstr "Kan ikke fjerne første arbeidsområde"
#: ../src/shell-global.c:1027
#: ../src/shell-global.c:1105
msgid "Less than a minute ago"
msgstr "Mindre enn ett minutt siden"
#: ../src/shell-global.c:1031
#: ../src/shell-global.c:1109
#, 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:1036
#: ../src/shell-global.c:1114
#, 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:1041
#: ../src/shell-global.c:1119
#, 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:1046
#: ../src/shell-global.c:1124
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"

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"

315
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-05-19 16:31+0000\n"
"PO-Revision-Date: 2010-05-25 19:31+0530\n"
"POT-Creation-Date: 2010-10-02 20:44+0000\n"
"PO-Revision-Date: 2010-10-04 07:19+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,12 +34,171 @@ 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/clock-preferences.ui.h:1
msgid "Clock Format"
msgstr "ਘੜੀ ਫਾਰਮੈਟ"
#: ../data/clock-preferences.ui.h:2
#| msgid "System Preferences..."
msgid "Clock Preferences"
msgstr "ਘੜੀ ਪਸੰਦ"
@ -64,31 +223,31 @@ msgid "_24 hour format"
msgstr "_੨ ਘੰਟੇ ਫਾਰਮੈਟ"
#. **** 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:648
msgid "New Window"
msgstr "ਨਵੀਂ ਵਿੰਡੋ"
#: ../js/ui/appDisplay.js:709
#: ../js/ui/appDisplay.js:652
msgid "Remove from Favorites"
msgstr "ਪਸੰਦ ਵਿੱਚੋਂ ਹਟਾਓ"
#: ../js/ui/appDisplay.js:710
#: ../js/ui/appDisplay.js:653
msgid "Add to Favorites"
msgstr "ਪਸੰਦ 'ਚ ਸ਼ਾਮਲ ਕਰੋ"
#: ../js/ui/appDisplay.js:1037
#: ../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 ਨੂੰ ਤੁਹਾਡੀ ਪਸੰਦ ਵਿੱਚ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ।"
@ -98,218 +257,230 @@ 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:466
#: ../js/ui/lookingGlass.js:552
msgid "No extensions installed"
msgstr "ਕੋਈ ਇਕਸਟੈਨਸ਼ਨ ਇੰਸਟਾਲ ਨਹੀਂ ਹੈ"
#: ../js/ui/lookingGlass.js:503
#: ../js/ui/lookingGlass.js:589
msgid "Enabled"
msgstr "ਚਾਲੂ ਹੈ"
#: ../js/ui/lookingGlass.js:505
#: ../js/ui/lookingGlass.js:591
msgid "Disabled"
msgstr "ਬੰਦ ਹੈ"
#: ../js/ui/lookingGlass.js:507
#: ../js/ui/lookingGlass.js:593
msgid "Error"
msgstr "ਗਲਤੀ"
#: ../js/ui/lookingGlass.js:509
#: ../js/ui/lookingGlass.js:595
msgid "Out of date"
msgstr "ਪੁਰਾਣਾ"
#: ../js/ui/lookingGlass.js:534
#: ../js/ui/lookingGlass.js:620
msgid "View Source"
msgstr "ਸਰੋਤ ਵੇਖੋ"
#: ../js/ui/lookingGlass.js:540
#: ../js/ui/lookingGlass.js:626
msgid "Web Page"
msgstr "ਵੈੱਬ ਪੇਜ਼"
#: ../js/ui/overview.js:161
#: ../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:774
msgid "Activities"
msgstr "ਸਰਗਰਮੀਆਂ"
#. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:461
#, c-format
msgid "Quit %s"
msgstr "%s ਬੰਦ ਕਰੋ"
#: ../js/ui/panel.js:486
msgid "Preferences"
msgstr "ਮੇਰੀ ਪਸੰਦ"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/panel.js:989
#: ../js/ui/panel.js:572
msgid "%a %b %e, %R:%S"
msgstr "%a, %e %b %R:%S"
#: ../js/ui/panel.js:990
#| msgid "%a %l:%M %p"
#: ../js/ui/panel.js:573
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:994
#| msgid "%a %R"
#: ../js/ui/panel.js:577
msgid "%a %R:%S"
msgstr "%a %R:%S"
#: ../js/ui/panel.js:995
#: ../js/ui/panel.js:578
msgid "%a %R"
msgstr "%a %R"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/panel.js:1002
#| msgid "%a %l:%M %p"
#: ../js/ui/panel.js:585
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a %e %b, %l:%M:%S %p"
#: ../js/ui/panel.js:1003
#| msgid "%a %l:%M %p"
#: ../js/ui/panel.js:586
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:1007
#| msgid "%a %l:%M %p"
#: ../js/ui/panel.js:590
msgid "%a %l:%M:%S %p"
msgstr "%a %l:%M:%S %p"
#: ../js/ui/panel.js:1008
#: ../js/ui/panel.js:591
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:736
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:91
msgid "Available"
msgstr "ਉਪਲੱਬਧ"
#: ../js/ui/statusMenu.js:94
#: ../js/ui/statusMenu.js:95
msgid "Busy"
msgstr "ਰੁਝਿਆ"
#: ../js/ui/statusMenu.js:98
#: ../js/ui/statusMenu.js:99
msgid "Invisible"
msgstr "ਅਦਿੱਖ"
#: ../js/ui/statusMenu.js:105
#: ../js/ui/statusMenu.js:106
msgid "Account Information..."
msgstr "ਅਕਾਊਂਟ ਜਾਣਕਾਰੀ..."
#: ../js/ui/statusMenu.js:109
msgid "System Preferences..."
msgstr "ਸਿਸਟਮ ਪਸੰਦ..."
#: ../js/ui/statusMenu.js:110
#| msgid "System Preferences..."
msgid "System Settings..."
msgstr "ਸਿਸਟਮ ਸੈਟਿੰਗ..."
#: ../js/ui/statusMenu.js:116
#: ../js/ui/statusMenu.js:117
msgid "Lock Screen"
msgstr "ਸਕਰੀਨ ਲਾਕ ਕਰੋ"
#: ../js/ui/statusMenu.js:120
#: ../js/ui/statusMenu.js:121
msgid "Switch User"
msgstr "ਯੂਜ਼ਰ ਬਦਲੋ"
#: ../js/ui/statusMenu.js:125
#: ../js/ui/statusMenu.js:126
msgid "Log Out..."
msgstr "ਲਾਗਆਉਟ..."
#: ../js/ui/statusMenu.js:129
#: ../js/ui/statusMenu.js:130
msgid "Shut Down..."
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 "'%s' ਤਿਆਰ ਹੈ"
#: ../js/ui/workspacesView.js:239
msgid ""
"Can't add a new workspace because maximum workspaces limit has been reached."
msgstr ""
"ਨਵਾਂ ਵਰਕਸਪੇਸ ਜੋੜਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ, ਕਿਉਂਕਿ ਵਰਕਸਪੇਸਾਂ ਦੀ ਵੱਧੋ-ਵੱਧ ਗਿਣਤੀ ਪੂਰੀ ਹੋ "
"ਚੁੱਕੀ ਹੈ।"
#: ../js/ui/workspacesView.js:230
msgid "Can't add a new workspace because maximum workspaces limit has been reached."
msgstr "ਨਵਾਂ ਵਰਕਸਪੇਸ ਜੋੜਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ, ਕਿਉਂਕਿ ਵਰਕਸਪੇਸਾਂ ਦੀ ਵੱਧੋ-ਵੱਧ ਗਿਣਤੀ ਪੂਰੀ ਹੋ ਚੁੱਕੀ ਹੈ।"
#: ../js/ui/workspacesView.js:256
#: ../js/ui/workspacesView.js:247
msgid "Can't remove the first workspace."
msgstr "ਪਹਿਲਾਂ ਵਰਕਸਪੇਸ ਨਹੀਂ ਹਟਾਇਆ ਜਾ ਸਕਦਾ।"
#: ../src/shell-global.c:976
#: ../src/shell-global.c:1196
msgid "Less than a minute ago"
msgstr "ਇੱਕ ਮਿੰਟ ਤੋਂ ਘੱਟ ਚਿਰ ਪਹਿਲਾਂ"
#: ../src/shell-global.c:980
#: ../src/shell-global.c:1200
#, c-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "%d ਮਿੰਟ ਪਹਿਲਾਂ"
msgstr[1] "%d ਮਿੰਟ ਪਹਿਲਾਂ"
#: ../src/shell-global.c:985
#: ../src/shell-global.c:1205
#, c-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
msgstr[0] "%d ਘੰਟਾ ਪਹਿਲਾਂ"
msgstr[1] "%d ਘੰਟੇ ਪਹਿਲਾਂ"
#: ../src/shell-global.c:990
#: ../src/shell-global.c:1210
#, c-format
msgid "%d day ago"
msgid_plural "%d days ago"
msgstr[0] "%d ਦਿਨ ਪਹਿਲਾਂ"
msgstr[1] "%d ਦਿਨ ਪਹਿਲਾਂ"
#: ../src/shell-global.c:995
#: ../src/shell-global.c:1215
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"

430
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-03-19 13:08+0100\n"
"PO-Revision-Date: 2010-03-19 13:07+0100\n"
"Last-Translator: Tomasz Dominikowski <dominikowski@gmail.com>\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"
@ -28,193 +30,473 @@ msgstr "Powłoka środowiska GNOME"
msgid "Window management and application launching"
msgstr "Zarządzanie oknami i uruchamianiem programów"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:1
msgid "Clock"
msgstr "Zegar"
#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:2
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"
#: ../data/clock-preferences.ui.h:2
msgid "Clock Preferences"
msgstr "Preferencje zegara"
#: ../data/clock-preferences.ui.h:3
msgid "Panel Display"
msgstr "Wyświetlanie na panelu"
#: ../data/clock-preferences.ui.h:4
msgid "Show seco_nds"
msgstr "Seku_ndy"
#: ../data/clock-preferences.ui.h:5
msgid "Show the _date"
msgstr "_Data"
#: ../data/clock-preferences.ui.h:6
msgid "_12 hour format"
msgstr "_12 godzinny"
#: ../data/clock-preferences.ui.h:7
msgid "_24 hour format"
msgstr "_24 godzinny"
#. **** Applications ****
#: ../js/ui/appDisplay.js:311 ../js/ui/dash.js:852
#: ../js/ui/appDisplay.js:316 ../js/ui/dash.js:778
msgid "APPLICATIONS"
msgstr "Programy"
#: ../js/ui/appDisplay.js:343
#: ../js/ui/appDisplay.js:348
msgid "PREFERENCES"
msgstr "Preferencje"
#: ../js/ui/appDisplay.js:728
#: ../js/ui/appDisplay.js:653
msgid "New Window"
msgstr "Nowe okno"
#: ../js/ui/appDisplay.js:732
#: ../js/ui/appDisplay.js:657
msgid "Remove from Favorites"
msgstr "Usuń z ulubionych"
#: ../js/ui/appDisplay.js:733
#: ../js/ui/appDisplay.js:658
msgid "Add to Favorites"
msgstr "Dodaj do ulubionych"
#: ../js/ui/appDisplay.js:1085
#: ../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 "%s zostało dodane do ulubionych."
msgstr "Program %s został dodany do ulubionych."
#: ../js/ui/appFavorites.js:107
#, c-format
msgid "%s has been removed from your favorites."
msgstr "%s zostało usunięte z ulubionych."
msgstr "Program %s został usunięty z ulubionych."
#: ../js/ui/dash.js:194
#: ../js/ui/dash.js:142
msgid "Find"
msgstr "Znajdź"
msgstr "Wyszukiwanie"
#: ../js/ui/dash.js:507
#: ../js/ui/dash.js:473
msgid "Searching..."
msgstr "Wyszukiwanie..."
#: ../js/ui/dash.js:521
#: ../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:871 ../js/ui/placeDisplay.js:579
#: ../js/ui/dash.js:797 ../js/ui/placeDisplay.js:554
msgid "PLACES & DEVICES"
msgstr "Miejsca i urządzenia"
#. **** 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 "Ostatnie dokumenty"
msgstr "Ostatnie elementy"
#: ../js/ui/lookingGlass.js:363
#: ../js/ui/lookingGlass.js:552
msgid "No extensions installed"
msgstr "Nie zainstalowano rozszerzeń"
#: ../js/ui/lookingGlass.js:400
#: ../js/ui/lookingGlass.js:589
msgid "Enabled"
msgstr "Włączone"
#: ../js/ui/lookingGlass.js:402
#: ../js/ui/lookingGlass.js:591
msgid "Disabled"
msgstr "Wyłączone"
#: ../js/ui/lookingGlass.js:404
#: ../js/ui/lookingGlass.js:593
msgid "Error"
msgstr "Błąd"
#: ../js/ui/lookingGlass.js:406
#: ../js/ui/lookingGlass.js:595
msgid "Out of date"
msgstr "Przestarzałe"
msgstr "Nieaktualne"
#: ../js/ui/lookingGlass.js:431
#: ../js/ui/lookingGlass.js:620
msgid "View Source"
msgstr "Wyświetl źródło"
#: ../js/ui/lookingGlass.js:437
#: ../js/ui/lookingGlass.js:626
msgid "Web Page"
msgstr "Strona WWW"
#: ../js/ui/overview.js:182
#: ../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:385
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"
#. Translators: This is the time format used in 24-hour mode.
#: ../js/ui/panel.js:616
#: ../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:578
msgid "%a %b %e, %R:%S"
msgstr "%a %e %b, %R:%S"
#: ../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:583
msgid "%a %R:%S"
msgstr "%a, %R:%S"
#: ../js/ui/panel.js:584
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:591
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a %e %b, %H:%M:%S %p"
#: ../js/ui/placeDisplay.js:103
#: ../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:596
msgid "%a %l:%M:%S %p"
msgstr "%a, %l:%M:%S %p"
#: ../js/ui/panel.js:597
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: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:106
#: ../js/ui/placeDisplay.js:114
msgid "Retry"
msgstr "Ponów"
#: ../js/ui/placeDisplay.js:151
#: ../js/ui/placeDisplay.js:159
msgid "Connect to..."
msgstr "Połącz z..."
#: ../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: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:374
#: ../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:107
#: ../js/ui/statusMenu.js:91
msgid "Available"
msgstr "Dostępny"
#: ../js/ui/statusMenu.js:112
#: ../js/ui/statusMenu.js:95
msgid "Busy"
msgstr "Zajęty"
#: ../js/ui/statusMenu.js:117
#: ../js/ui/statusMenu.js:99
msgid "Invisible"
msgstr "Niewidoczny"
#: ../js/ui/statusMenu.js:126
#: ../js/ui/statusMenu.js:106
msgid "Account Information..."
msgstr "Informacje o koncie..."
#: ../js/ui/statusMenu.js:132
msgid "Sidebar"
msgstr "Panel boczny"
#: ../js/ui/statusMenu.js:142
#: ../js/ui/statusMenu.js:110
msgid "System Preferences..."
msgstr "Preferencje systemu..."
#: ../js/ui/statusMenu.js:151
#: ../js/ui/statusMenu.js:117
msgid "Lock Screen"
msgstr "Zablokuj ekran"
#: ../js/ui/statusMenu.js:156
#: ../js/ui/statusMenu.js:121
msgid "Switch User"
msgstr "Przełącz użytkownika"
#: ../js/ui/statusMenu.js:162
#: ../js/ui/statusMenu.js:126
msgid "Log Out..."
msgstr "Wyloguj się..."
#: ../js/ui/statusMenu.js:167
#: ../js/ui/statusMenu.js:130
msgid "Shut Down..."
msgstr "Wyłącz komputer..."
#. 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 "Ukończono uruchamianie programu %s"
#: ../js/ui/widget.js:317
msgid "Applications"
msgstr "Programy"
#: ../js/ui/windowAttentionHandler.js:45
#, c-format
msgid "'%s' is ready"
msgstr "Program \"%s\" jest gotowy"
#: ../js/ui/widget.js:339
msgid "Recent Documents"
msgstr "Ostatnie dokumenty"
#: ../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."
#: ../src/shell-global.c:967
#: ../js/ui/workspacesView.js:247
msgid "Can't remove the first workspace."
msgstr "Nie można usunąć pierwszego obszaru roboczego."
#: ../src/shell-global.c:1189
msgid "Less than a minute ago"
msgstr "Mniej niż minutę temu"
#: ../src/shell-global.c:971
#: ../src/shell-global.c:1193
#, c-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
@ -222,7 +504,7 @@ msgstr[0] "%d minuta temu"
msgstr[1] "%d minuty temu"
msgstr[2] "%d minut temu"
#: ../src/shell-global.c:976
#: ../src/shell-global.c:1198
#, c-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
@ -230,7 +512,7 @@ msgstr[0] "%d godzina temu"
msgstr[1] "%d godziny temu"
msgstr[2] "%d godzin temu"
#: ../src/shell-global.c:981
#: ../src/shell-global.c:1203
#, c-format
msgid "%d day ago"
msgid_plural "%d days ago"
@ -238,7 +520,7 @@ msgstr[0] "%d dzień temu"
msgstr[1] "%d dni temu"
msgstr[2] "%d dni temu"
#: ../src/shell-global.c:986
#: ../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"

285
po/sl.po
View File

@ -1,4 +1,4 @@
# Slovenian translation of gnome-shell package.
# Slovenian translations for gnome-shell.
# Copyright (C) 2006 Free Software Foundation, Inc.
# This file is distributed under the same license as the gnome-shell package.
#
@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&component=general\n"
"POT-Creation-Date: 2010-05-21 16:35+0000\n"
"PO-Revision-Date: 2010-05-21 20:03+0100\n"
"POT-Creation-Date: 2010-10-04 01:51+0000\n"
"PO-Revision-Date: 2010-10-04 12:30+0100\n"
"Last-Translator: Matej Urbančič <mateju@svn.gnome.org>\n"
"Language-Team: Slovenian GNOME Translation Team <gnome-si@googlegroups.com>\n"
"MIME-Version: 1.0\n"
@ -23,7 +23,7 @@ msgstr ""
#: ../data/gnome-shell.desktop.in.in.h:1
msgid "GNOME Shell"
msgstr "Gnome Lupina"
msgstr "Gnome lupina"
#: ../data/gnome-shell.desktop.in.in.h:2
msgid "Window management and application launching"
@ -37,6 +37,114 @@ msgstr "Ura"
msgid "Customize the panel clock"
msgstr "Prilagodi uro pladnja"
#: ../data/org.gnome.shell.gschema.xml.in.h:1
msgid "Allows access to internal debugging and monitoring tools using the Alt-F2 dialog."
msgstr "Dovoli dostop do razhroščevanja in drugih orodij nadzora preko Alt-F2 vnosnega polja."
#: ../data/org.gnome.shell.gschema.xml.in.h:2
msgid "Custom format of the clock"
msgstr "Zapis ure po meri"
#: ../data/org.gnome.shell.gschema.xml.in.h:3
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr "Omogoči dostop do orodij razvijalcev in preizkuševalcev programske opreme preko Alt-F2 vnosnega polja."
#: ../data/org.gnome.shell.gschema.xml.in.h:4
msgid "File extension used for storing the screencast"
msgstr "Pripona datoteke uporabljene za shranjevanje zaslonskih posnetkov"
#: ../data/org.gnome.shell.gschema.xml.in.h:5
msgid "Framerate used for recording screencasts."
msgstr "Hitrost sličic uporabljena za snemanje zaslonskega posnetka."
#: ../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 "Razširitve lupine GNOME imajo določila UUID; ključ omogoča izpis seznama razširitev, ki ne bodo naložene."
#: ../data/org.gnome.shell.gschema.xml.in.h:7
msgid "History for command (Alt-F2) dialog"
msgstr "Zgodovina pogovornega okna ukazov (Alt-F2)"
#: ../data/org.gnome.shell.gschema.xml.in.h:8
msgid "Hour format"
msgstr "Urni zapis"
#: ../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 "Izbrana možnost določa ali \"12-urni\" ali pa \"24-urni\" zapis časa in prikaz datuma v uri."
#: ../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 "Izbrana možnost določa ali \"12-urni\" ali pa \"24-urni\" zapis časa s prikazanimi sekundami."
#: ../data/org.gnome.shell.gschema.xml.in.h:11
msgid "If true, display the ISO week date in the calendar."
msgstr "Izbrana možnost določa prikaz ISO tedenski datum v koledarju."
#: ../data/org.gnome.shell.gschema.xml.in.h:12
msgid "List of desktop file IDs for favorite applications"
msgstr "Seznam določil ID namiznih datotek priljubljenih programov"
#: ../data/org.gnome.shell.gschema.xml.in.h:13
msgid "Overview workspace view mode"
msgstr "Način pregleda predogleda delovnih površin"
#: ../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 "Določa cevovod programa GStreamer, ki se uporablja za kodiranje posnetkov. Ta sledi skladnji, ki je uporabljena za gst-launch. Cevovod mora imeti nepovezano korito, kamor se posnetek snema. Običajno je za to namenjen nepovezan izvorni pomnilnik, katerega odvod se zapiše v odvodno datoteko. Vendar pa lahko cevovod ta korak naredi v lastni odvod - možnost se lahko uporabi pri pošiljanju odvoda na strežnik icecast preko shout2send ali podobno. Nedoločena ali prazna možnost se odrazi kot privzeti cevovod. Trenutno je to 'videorate ! theoraenc ! oggmux' in omogoča snemanje v zapis Ogg Theora."
#: ../data/org.gnome.shell.gschema.xml.in.h:15
msgid "Show date in clock"
msgstr "Pokaži datum v uri"
#: ../data/org.gnome.shell.gschema.xml.in.h:16
msgid "Show the week date in the calendar"
msgstr "Pokaži tedenski datum v koledarju"
#: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "Show time with seconds"
msgstr "Pokaži čas s 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 "Programi določeni s temi določili bodo prikazani v območju priljubljenih programov"
#: ../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 zaslonskega posnetka bo enoznačno ime, kateremu bo dodan datum in določena pripona. Pripona mora ustrezati zapisu zabojnika."
#: ../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 "Hitrost sličic shranjenega končnega zaslonskega posnetka v sličicah na sekundo."
#: ../data/org.gnome.shell.gschema.xml.in.h:21
msgid "The gstreamer pipeline used to encode the screencast"
msgstr "Uporabljen GStreamer cevovod za kodiranje zaslonskega posnetka."
#: ../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 "Izbrani pogled delovnih površin v predogledu. Podprte vrednosti sta \"enojno\" in \"mrežno\"."
#: ../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 "Lupina običajno nadzira dejavne programe zaradi možnosti prikazovanja najpogosteje uporabljenih v zaganjalniku. Čeprav so podatki krajevni, jih je dobro onemogočiti zaradi varovanja zasebnosti. Z onemogočenje ne bodo odstranjeni že shranjeni podatki."
#: ../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 "Ključ določa zapis, ki naj ga uporablja vstavek ure, kadar je ključ zapisa nastavljen kot \"prikrojen\". Za določitev zapisa lahko uporabite tudi oznake funkcije strftime(), ki so podrobneje zapisane v priročniku funkcije."
#: ../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 "Ključ določa zapis ure. Mogoče vrednosti so \"12-urni\", \"24-urni\", \"unix\" in \"po meri\". Možnost \"unix\" prikazuje čas v sekundah od začetka ere, torej od 01.01.1970, možnost \"po meri\" pa omogoča prikrojen zapis. Pri izbiri zapisa \"unix\" ali \"po meri\" sta izbiri pokaži datum in pokaži sekunde, prezrti."
#: ../data/org.gnome.shell.gschema.xml.in.h:26
msgid "Uuids of extensions to disable"
msgstr "Določila UUID razširitev za onemogočenje"
#: ../data/org.gnome.shell.gschema.xml.in.h:27
msgid "Whether to collect stats about applications usage"
msgstr "Ali naj se beleži statistika uporabe programov"
#: ../data/clock-preferences.ui.h:1
msgid "Clock Format"
msgstr "Zapis ure"
@ -66,32 +174,32 @@ msgid "_24 hour format"
msgstr "_24-urni zapis časa"
#. **** Applications ****
#: ../js/ui/appDisplay.js:306
#: ../js/ui/dash.js:850
#: ../js/ui/appDisplay.js:316
#: ../js/ui/dash.js:778
msgid "APPLICATIONS"
msgstr "Programi"
#: ../js/ui/appDisplay.js:338
#: ../js/ui/appDisplay.js:348
msgid "PREFERENCES"
msgstr "Možnosti"
#: ../js/ui/appDisplay.js:705
#: ../js/ui/appDisplay.js:648
msgid "New Window"
msgstr "Novo okno"
#: ../js/ui/appDisplay.js:709
#: ../js/ui/appDisplay.js:652
msgid "Remove from Favorites"
msgstr "Odstrani iz priljubljenih"
#: ../js/ui/appDisplay.js:710
#: ../js/ui/appDisplay.js:653
msgid "Add to Favorites"
msgstr "Dodaj med priljubljene"
#: ../js/ui/appDisplay.js:1037
#: ../js/ui/appDisplay.js:830
msgid "Drag here to add favorites"
msgstr "S potegom na to mesto se izbor doda med priljubljene"
#: ../js/ui/appFavorites.js:89
#: ../js/ui/appFavorites.js:88
#, c-format
msgid "%s has been added to your favorites."
msgstr "Program \"%s\" je dodan med priljubljeno."
@ -101,191 +209,210 @@ msgstr "Program \"%s\" je dodan med priljubljeno."
msgid "%s has been removed from your favorites."
msgstr "Program \"%s\" je odstranjen iz priljubljenih."
#: ../js/ui/dash.js:189
#: ../js/ui/dash.js:142
msgid "Find"
msgstr "Najdi"
#: ../js/ui/dash.js:505
#: ../js/ui/dash.js:473
msgid "Searching..."
msgstr "Iskanje ..."
#: ../js/ui/dash.js:519
#: ../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:869
#: ../js/ui/placeDisplay.js:543
#: ../js/ui/dash.js:797
#: ../js/ui/placeDisplay.js:554
msgid "PLACES & DEVICES"
msgstr "Mesta in naprave"
#. **** 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 "Nedavni predmeti"
#: ../js/ui/lookingGlass.js:466
#: ../js/ui/lookingGlass.js:552
msgid "No extensions installed"
msgstr "Ni nameščenih razširitev"
#: ../js/ui/lookingGlass.js:503
#: ../js/ui/lookingGlass.js:589
msgid "Enabled"
msgstr "Omogočeno"
#: ../js/ui/lookingGlass.js:505
#: ../js/ui/lookingGlass.js:591
msgid "Disabled"
msgstr "Onemogočeno"
#: ../js/ui/lookingGlass.js:507
#: ../js/ui/lookingGlass.js:593
msgid "Error"
msgstr "Napaka"
#: ../js/ui/lookingGlass.js:509
#: ../js/ui/lookingGlass.js:595
msgid "Out of date"
msgstr "Zastarelo"
#: ../js/ui/lookingGlass.js:534
#: ../js/ui/lookingGlass.js:620
msgid "View Source"
msgstr "Poglej vir"
#: ../js/ui/lookingGlass.js:540
#: ../js/ui/lookingGlass.js:626
msgid "Web Page"
msgstr "Spletna stran"
#: ../js/ui/overview.js:161
#: ../js/ui/overview.js:160
msgid "Undo"
msgstr "Razveljavi"
#. 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:887
msgid "Activities"
msgstr "Dejavnosti"
#. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:461
#, c-format
msgid "Quit %s"
msgstr "Končaj %s"
#: ../js/ui/panel.js:486
msgid "Preferences"
msgstr "Možnosti"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/panel.js:1102
#: ../js/ui/panel.js:572
msgid "%a %b %e, %R:%S"
msgstr "%a. %e. %b., %R:%S"
#: ../js/ui/panel.js:1103
#: ../js/ui/panel.js:573
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:1107
#: ../js/ui/panel.js:577
msgid "%a %R:%S"
msgstr "%a. %R:%S"
#: ../js/ui/panel.js:1108
#: ../js/ui/panel.js:578
msgid "%a %R"
msgstr "%a. %R"
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/panel.js:1115
#: ../js/ui/panel.js:585
msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a. %e. %b., %H:%M:%S"
#: ../js/ui/panel.js:1116
#: ../js/ui/panel.js:586
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:1120
#: ../js/ui/panel.js:590
msgid "%a %l:%M:%S %p"
msgstr "%a, %H:%M:%S"
#: ../js/ui/panel.js:1121
#: ../js/ui/panel.js:591
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:736
msgid "Activities"
msgstr "Dejavnosti"
#: ../js/ui/placeDisplay.js:111
#, c-format
msgid "Failed to unmount '%s'"
msgstr "Ni mogoče odklopiti '%s'"
#: ../js/ui/placeDisplay.js:111
#: ../js/ui/placeDisplay.js:114
msgid "Retry"
msgstr "Poskusi znova"
#: ../js/ui/placeDisplay.js:156
#: ../js/ui/placeDisplay.js:159
msgid "Connect to..."
msgstr "Povezava 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: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:375
#: ../js/ui/runDialog.js:378
#, c-format
msgid "Execution of '%s' failed:"
msgstr "Izvajanje '%s' je spodletelo:"
msgstr "Izvedba '%s' je spodletela:"
#: ../js/ui/statusMenu.js:90
#: ../js/ui/statusMenu.js:91
msgid "Available"
msgstr "Na voljo"
#: ../js/ui/statusMenu.js:94
#: ../js/ui/statusMenu.js:95
msgid "Busy"
msgstr "Zasedeno"
msgstr "Zaposleno"
#: ../js/ui/statusMenu.js:98
#: ../js/ui/statusMenu.js:99
msgid "Invisible"
msgstr "Nevidno"
#: ../js/ui/statusMenu.js:105
#: ../js/ui/statusMenu.js:106
msgid "Account Information..."
msgstr "Podrobnosti računa ..."
#: ../js/ui/statusMenu.js:109
msgid "System Preferences..."
msgstr "Sistemske možnosti ..."
#: ../js/ui/statusMenu.js:110
msgid "System Settings..."
msgstr "Sistemske nastavitve ..."
#: ../js/ui/statusMenu.js:116
#: ../js/ui/statusMenu.js:117
msgid "Lock Screen"
msgstr "Zakleni zaslon"
#: ../js/ui/statusMenu.js:120
#: ../js/ui/statusMenu.js:121
msgid "Switch User"
msgstr "Preklop uporabnika"
msgstr "Preklopi uporabnika"
#: ../js/ui/statusMenu.js:125
#: ../js/ui/statusMenu.js:126
msgid "Log Out..."
msgstr "Odjava ..."
#: ../js/ui/statusMenu.js:129
#: ../js/ui/statusMenu.js:130
msgid "Shut Down..."
msgstr "Izklopi ..."
#: ../js/ui/windowAttentionHandler.js:47
#: ../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:239
#: ../js/ui/workspacesView.js:230
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:256
#: ../js/ui/workspacesView.js:247
msgid "Can't remove the first workspace."
msgstr "Ni mogoče odstraniti prve delovne površine."
#: ../src/shell-global.c:1011
#: ../src/shell-global.c:1196
msgid "Less than a minute ago"
msgstr "Pred manj kot eno minuto"
#: ../src/shell-global.c:1015
#: ../src/shell-global.c:1200
#, c-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
@ -294,7 +421,7 @@ msgstr[1] "Pred %d minuto"
msgstr[2] "Pred %d minutama"
msgstr[3] "Pred %d minutami"
#: ../src/shell-global.c:1020
#: ../src/shell-global.c:1205
#, c-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
@ -303,7 +430,7 @@ msgstr[1] "Pred %d uro"
msgstr[2] "Pred %d urama"
msgstr[3] "Pred %d urami"
#: ../src/shell-global.c:1025
#: ../src/shell-global.c:1210
#, c-format
msgid "%d day ago"
msgid_plural "%d days ago"
@ -312,7 +439,7 @@ msgstr[1] "Pred %d dnevom"
msgstr[2] "Pred %d dnevoma"
msgstr[3] "Pred %d dnevi"
#: ../src/shell-global.c:1030
#: ../src/shell-global.c:1215
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
@ -345,35 +472,51 @@ msgstr "Poišči"
msgid "%1$s: %2$s"
msgstr "%1$s: %2$s"
#~ msgid "Quit"
#~ msgstr "Končaj"
#~ msgid "ON"
#~ msgstr ""
#~ msgid "OFF"
#~ msgstr "⚫"
#~ msgid "Sidebar"
#~ msgstr "Stranska vrstica"
#~ msgid "%H:%M"
#~ msgstr "%H:%M"
#~ msgid "Applications"
#~ msgstr "Programi"
#~ msgid "Recent Documents"
#~ msgstr "Nedavni dokumenti"
#~ msgid "PLACES"
#~ msgstr "Mesta"
#~ msgid "SEARCH RESULTS"
#~ msgstr "Rezultati iskanja"
#~ msgid "Unknown"
#~ msgstr "Neznano"
#~ msgid "Can't lock screen: %s"
#~ msgstr "Ni mogoče zakleniti zaslona: %s"
#~ msgid "Can't temporarily set screensaver to blank screen: %s"
#~ msgstr ""
#~ "Ni mogoče začasno nastaviti črnega zaslona za ohranjevalnik zaslona: %s"
#~ msgid "Can't logout: %s"
#~ msgstr "Ni se mogoče odjaviti: %s"
#~ msgid "Frequent"
#~ msgstr "Pogosto"
#~ msgid "More"
#~ msgstr "Več"
#~ msgid "(see all)"
#~ msgstr "(poglej vse)"
#~ msgid "Browse"
#~ msgstr "Prebrskaj"

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"

337
po/th.po Normal file
View File

@ -0,0 +1,337 @@
# Thai translation for gnome-shell.
# Copyright (C) 2010 Free Software Foundation, Inc.
# This file is distributed under the same license as the gnome-shell package.
# Sira Nokyoongtong <gumaraa@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-13 23:04+0000\n"
"PO-Revision-Date: 2010-06-14 20:22+0700\n"
"Last-Translator: Sira Nokyoongtong <gumaraa@gmail.com>\n"
"Language-Team: Thai <thai-l10n@googlegroups.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 ""
#: ../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/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 "แ_บบ AM/PM"
#: ../data/clock-preferences.ui.h:7
msgid "_24 hour format"
msgstr "แบบ _24 ขั่วโมง"
#. **** Applications ****
#: ../js/ui/appDisplay.js:388 ../js/ui/dash.js:872
msgid "APPLICATIONS"
msgstr "โปรแกรม"
#: ../js/ui/appDisplay.js:420
msgid "PREFERENCES"
msgstr "ปรับแต่ง"
#: ../js/ui/appDisplay.js:726
msgid "New Window"
msgstr "หน้าต่างใหม่"
#: ../js/ui/appDisplay.js:730
msgid "Remove from Favorites"
msgstr "ลบออกจากรายการโปรด"
#: ../js/ui/appDisplay.js:731
msgid "Add to Favorites"
msgstr "เพิ่มเข้าในรายการโปรด"
#: ../js/ui/appDisplay.js:1038
msgid "Drag here to add favorites"
msgstr "ลากมาที่นี่เพื่อเพิ่มเป็นรายการโปรด"
#: ../js/ui/appFavorites.js:89
#, 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:204
msgid "Find"
msgstr "หา"
#: ../js/ui/dash.js:527
msgid "Searching..."
msgstr "กำลังค้นหา..."
#: ../js/ui/dash.js:541
msgid "No matching results."
msgstr "ไม่มีผลลัพธ์ที่ตรงกัน"
#. **** Places ****
#. Translators: This is in the sense of locations for documents,
#. network locations, etc.
#: ../js/ui/dash.js:891 ../js/ui/placeDisplay.js:551
msgid "PLACES & DEVICES"
msgstr ""
#. **** Documents ****
#: ../js/ui/dash.js:898 ../js/ui/docDisplay.js:497
msgid "RECENT ITEMS"
msgstr ""
#: ../js/ui/lookingGlass.js:475
msgid "No extensions installed"
msgstr "ไม่มีส่วนขยายติดตั้งอยู่"
#: ../js/ui/lookingGlass.js:512
msgid "Enabled"
msgstr ""
#: ../js/ui/lookingGlass.js:514
msgid "Disabled"
msgstr ""
#: ../js/ui/lookingGlass.js:516
msgid "Error"
msgstr "ผิดพลาด"
#: ../js/ui/lookingGlass.js:518
msgid "Out of date"
msgstr ""
#: ../js/ui/lookingGlass.js:543
msgid "View Source"
msgstr ""
#: ../js/ui/lookingGlass.js:549
msgid "Web Page"
msgstr "หน้าเว็บ"
#: ../js/ui/overview.js:165
msgid "Undo"
msgstr "เรียกคืน"
#: ../js/ui/panel.js:334
#, c-format
msgid "Quit %s"
msgstr "ออกจาก %s"
#: ../js/ui/panel.js:354
msgid "Preferences"
msgstr "ปรับแต่ง"
#. Translators: This is the time format with date used
#. in 24-hour mode.
#: ../js/ui/panel.js:441
msgid "%a %b %e, %R:%S"
msgstr ""
#: ../js/ui/panel.js:442
msgid "%a %b %e, %R"
msgstr ""
#. Translators: This is the time format without date used
#. in 24-hour mode.
#: ../js/ui/panel.js:446
msgid "%a %R:%S"
msgstr ""
#: ../js/ui/panel.js:447
msgid "%a %R"
msgstr ""
#. Translators: This is a time format with date used
#. for AM/PM.
#: ../js/ui/panel.js:454
msgid "%a %b %e, %l:%M:%S %p"
msgstr ""
#: ../js/ui/panel.js:455
msgid "%a %b %e, %l:%M %p"
msgstr ""
#. Translators: This is a time format without date used
#. for AM/PM.
#: ../js/ui/panel.js:459
msgid "%a %l:%M:%S %p"
msgstr ""
#: ../js/ui/panel.js:460
msgid "%a %l:%M %p"
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:562
msgid "Activities"
msgstr "กิจกรรม"
#: ../js/ui/placeDisplay.js:108
#, c-format
msgid "Failed to unmount '%s'"
msgstr "เลิกเมานท์ '%s' ไม่สำเร็จ"
#: ../js/ui/placeDisplay.js:111
msgid "Retry"
msgstr "ลองใหม่"
#: ../js/ui/placeDisplay.js:156
msgid "Connect to..."
msgstr "เชื่อมต่อไปยัง..."
#: ../js/ui/runDialog.js:235
msgid "Please enter a command:"
msgstr "โปรดป้อนคำสั่ง:"
#: ../js/ui/runDialog.js:380
#, c-format
msgid "Execution of '%s' failed:"
msgstr ""
#: ../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:47
#, c-format
msgid "%s has finished starting"
msgstr ""
#: ../js/ui/windowAttentionHandler.js:49
#, c-format
msgid "'%s' is ready"
msgstr "'%s' พร้อมแล้ว"
#: ../js/ui/workspacesView.js:237
msgid ""
"Can't add a new workspace because maximum workspaces limit has been reached."
msgstr ""
#: ../js/ui/workspacesView.js:254
msgid "Can't remove the first workspace."
msgstr "ไม่สามารถลบพื้นที่ทำงานแรกได้"
#: ../src/shell-global.c:1025
msgid "Less than a minute ago"
msgstr "ไม่ถึงหนึ่งนาทีก่อน"
#: ../src/shell-global.c:1029
#, c-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "%d นาทีก่อน"
#: ../src/shell-global.c:1034
#, c-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
msgstr[0] "%d ชั่วโมงก่อน"
#: ../src/shell-global.c:1039
#, c-format
msgid "%d day ago"
msgid_plural "%d days ago"
msgstr[0] "%d วันก่อน"
#: ../src/shell-global.c:1044
#, 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 ""

View File

@ -3,15 +3,18 @@
# 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.
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-01-15 17:17+0000\n"
"PO-Revision-Date: 2010-01-17 15:30+0800\n"
"Last-Translator: jiero <lililjlj@gmail.com>\n"
"Language-Team: Simplified Chinese <i10n>\n"
"POT-Creation-Date: 2010-07-22 17:09+0000\n"
"PO-Revision-Date: 2010-07-23 19:29+0800\n"
"Last-Translator: Jessica Ban <bancage@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"
@ -25,117 +28,469 @@ msgstr "GNOME Shell"
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 "如果为真并且格式为 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 "收藏夹中的应用程序的 desktop 文件 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 的语法。该管道应当有一个未"
"连接的 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"
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 "用于编码屏幕录像的 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 ""
"Gnome 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\"、\"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
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:252 ../js/ui/dash.js:865
#: ../js/ui/appDisplay.js:384 ../js/ui/dash.js:773
msgid "APPLICATIONS"
msgstr "应用程序"
#: ../js/ui/appDisplay.js:276
#: ../js/ui/appDisplay.js:416
msgid "PREFERENCES"
msgstr "首选项"
#: ../js/ui/appDisplay.js:644
#: ../js/ui/appDisplay.js:721
msgid "New Window"
msgstr "新窗口"
#: ../js/ui/appDisplay.js:648
#: ../js/ui/appDisplay.js:725
msgid "Remove from Favorites"
msgstr "从收藏夹中移除"
#: ../js/ui/appDisplay.js:649
#: ../js/ui/appDisplay.js:726
msgid "Add to Favorites"
msgstr "添加到收藏夹"
#: ../js/ui/appDisplay.js:1001
#: ../js/ui/appDisplay.js:1033
msgid "Drag here to add favorites"
msgstr "拖到这里加入收藏"
msgstr "拖到这里加入收藏"
#: ../js/ui/dash.js:240
msgid "Find..."
msgstr "查找..."
#: ../js/ui/appFavorites.js:88
#, c-format
msgid "%s has been added to your favorites."
msgstr "%s 已经添加到了您的收藏夹。"
#: ../js/ui/dash.js:493
#: ../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 "搜索..."
msgstr "正在搜索..."
#: ../js/ui/dash.js:507
#: ../js/ui/dash.js:485
msgid "No matching results."
msgstr ""
msgstr "无匹配结果。"
#. **** Places ****
#. Translators: This is in the sense of locations for documents,
#. network locations, etc.
#: ../js/ui/dash.js:885 ../js/ui/placeDisplay.js:519
#: ../js/ui/dash.js:792 ../js/ui/placeDisplay.js:550
msgid "PLACES & DEVICES"
msgstr ""
msgstr "位置和设备"
#. **** Documents ****
#: ../js/ui/dash.js:892
#, fuzzy
#| msgid "RECENT DOCUMENTS"
#: ../js/ui/dash.js:799 ../js/ui/docDisplay.js:494
msgid "RECENT ITEMS"
msgstr "最近的文档"
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: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 %m月%d日 %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 %m月%d日 %p%I:%M:%S"
#: ../js/ui/panel.js:598
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:602
msgid "%a %l:%M:%S %p"
msgstr "%A %p%I:%M:%S"
#: ../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:336
#: ../js/ui/panel.js:741
msgid "Activities"
msgstr "活动"
#. Translators: This is a time format.
#: ../js/ui/panel.js:549
msgid "%a %l:%M %p"
msgstr "%A %H:%M"
#: ../js/ui/placeDisplay.js:107
#, c-format
msgid "Failed to unmount '%s'"
msgstr "卸载 %s 失败"
#: ../js/ui/placeDisplay.js:144
#: ../js/ui/placeDisplay.js:110
msgid "Retry"
msgstr "重试"
#: ../js/ui/placeDisplay.js:155
msgid "Connect to..."
msgstr "连接到..."
#: ../js/ui/runDialog.js:245
#. 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:361
#: ../js/ui/runDialog.js:378
#, c-format
msgid "Execution of '%s' failed:"
msgstr "运行“%s”失败"
msgstr "运行“%s”失败"
#. 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 "可用"
#: ../js/ui/widget.js:317
msgid "Applications"
msgstr "应用程序"
#: ../js/ui/statusMenu.js:95
msgid "Busy"
msgstr "忙碌"
#: ../js/ui/widget.js:339
msgid "Recent Documents"
msgstr "最近文档"
#: ../js/ui/statusMenu.js:99
msgid "Invisible"
msgstr "隐身"
#: ../src/shell-global.c:890
#: ../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:894
#: ../src/shell-global.c:1109
#, c-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "%d 分钟前"
#: ../src/shell-global.c:899
#: ../src/shell-global.c:1114
#, c-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
msgstr[0] "%d 小时前"
#: ../src/shell-global.c:904
#: ../src/shell-global.c:1119
#, c-format
msgid "%d day ago"
msgid_plural "%d days ago"
msgstr[0] "%d 天前"
#: ../src/shell-global.c:909
#: ../src/shell-global.c:1124
#, c-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
@ -165,6 +520,15 @@ msgstr "搜索"
msgid "%1$s: %2$s"
msgstr "%1$s: %2$s"
#~ msgid "%H:%M"
#~ msgstr "%H:%M"
#~ msgid "Applications"
#~ msgstr "应用程序"
#~ msgid "Recent Documents"
#~ msgstr "最近文档"
#~ msgid "PLACES"
#~ msgstr "位置"
@ -189,23 +553,5 @@ msgstr "%1$s: %2$s"
#~ msgid "Can't logout: %s"
#~ msgstr "不能退出:%s"
#~ msgid "Account Information..."
#~ msgstr "帐户信息..."
#~ msgid "Sidebar"
#~ msgstr "侧边栏"
#~ msgid "System Preferences..."
#~ msgstr "系统首选项..."
#~ msgid "Lock Screen"
#~ msgstr "锁住屏幕"
#~ msgid "Switch User"
#~ msgstr "切换用户"
#~ msgid "Log Out..."
#~ msgstr "退出..."
#~ msgid "Shut Down..."
#~ msgstr "关机..."

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

@ -110,7 +110,8 @@ st_source_private_h = \
st/st-private.h \
st/st-table-private.h \
st/st-theme-private.h \
st/st-theme-node-private.h
st/st-theme-node-private.h \
st/st-theme-node-transition.h
# please, keep this sorted alphabetically
st_source_c = \
@ -142,6 +143,7 @@ st_source_c = \
st/st-theme-context.c \
st/st-theme-node.c \
st/st-theme-node-drawing.c \
st/st-theme-node-transition.c \
st/st-tooltip.c \
st/st-widget.c \
$(NULL)

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