Compare commits

...

165 Commits

Author SHA1 Message Date
a1c091d98d Bump version to 3.19.2
Update NEWS.
2015-11-25 00:34:56 +01:00
e1e08f0a68 loginDialog: Fix TypeError when user is deleted
LoginDialog has a private _user, but UserListItem has a public user.
Easy to get wrong since _user would be the right thing to type in 90% of
this file.
2015-11-23 17:44:49 -06:00
1a4f629554 Updated Russian translation 2015-11-23 19:20:29 +00:00
4113be770b Updated Spanish translation 2015-11-23 19:02:49 +01:00
cf3f4850b8 Updated Esperanto translation 2015-11-23 00:39:12 +01:00
14f374096a Updated Czech translation 2015-11-22 13:05:02 +01:00
6fef5c37f7 Updated Portuguese translation 2015-11-21 09:03:47 +00:00
6e7455aa1e Updated Hebrew translation 2015-11-19 20:38:03 +02:00
03bf6fa399 theme-node: Use the correct framebuffer in paint_* methods
Since commit 48a54e8ac4, paint() has an explicit framebuffer parameter,
however a couple of submethods are still using the draw framebuffer,
which breaks when rendering to an offscreen buffer.
2015-11-19 14:08:14 +01:00
f777e761c0 st: Fix some more cogl deprecations
Replace the remaining cogl_set_source* calls with the explicit
pipeline/framebuffer API.
2015-11-19 14:07:24 +01:00
31201d9618 power: Add battery percentage label
An oft requested feature, available in 4 separate extensions to
gnome-shell, and in most mobile OSes.

https://bugzilla.gnome.org/show_bug.cgi?id=735771
2015-11-19 14:04:22 +01:00
d95d78ac15 browser-plugin: Do not create a new object every time NPPVpluginScriptableNPObject is requested
Merge PluginData and PluginObject structs into a single one and create
the scriptable object associated to the plugin instance in NPP_New. Then,
when NPPVpluginScriptableNPObject is requested we just return the
scriptable object associated to the given instance. This caused the
crashes in NPN_InvokeDefault with WebKit, since we had multiple
scriptable objects for the same instance, but only one of those objects
had the onchange listener installed. Firefox seems to cache the
scriptable object for the instance and therefore NPPVpluginScriptableNPObject
is requested only once.

https://bugzilla.gnome.org/show_bug.cgi?id=737932
2015-11-17 13:17:31 -06:00
bef4f17c49 Updated Spanish translation 2015-11-17 18:52:52 +01:00
f4b7ab0cb6 browser-plugin: Set windowless mode and don't claim to need XEmbed
NPAPI plugins are windowed by default, so we need to set
NPPVpluginWindowBool value to FALSE on startup. This way the browser
will not create a GtkSocket for a GtkPlug that we are not going to
create. It doesn't make sense to claim that we need XEmbed either.

https://bugzilla.gnome.org/show_bug.cgi?id=757940
2015-11-17 11:35:03 -06:00
a180dde01c Updated Scottish Gaelic translation 2015-11-17 17:10:55 +00:00
385c918e2e Updated Scottish Gaelic translation 2015-11-17 16:10:24 +00:00
d7401c8646 Revert "power: Stop making time estimates"
This reverts commit 6c08799c7b.

See https://bugzilla.gnome.org/show_bug.cgi?id=708472#c87
2015-11-17 13:16:45 +01:00
a456d5eb19 bluetooth: Remove unused imports
https://bugzilla.gnome.org/show_bug.cgi?id=758220
2015-11-17 11:25:02 +01:00
6c08799c7b power: Stop making time estimates
Any time estimates we can come up with are notoriously unreliable;
even on devices that report correct (dis)charging rates, any change
in workload, screen brightness etc. can throw our estimate off by
a huge amount. This is further compounded by bad firmware and battery
firmware which reports inaccurate data as neither Windows nor Android do
not use that data.

So instead, limit ourselves to only showing the current percentage
and leave its interpretation to the user.

As an added bonus, we end up with shorter strings that are less likely
to cause problems with ellipsization when translated.

https://bugzilla.gnome.org/show_bug.cgi?id=708472
2015-11-17 10:58:45 +01:00
8d7bb6496c autorunManager: Follow Files' notification policy
Builtin chat and network notifications already follow the notification
policy of appropriate applications, it makes sense to do the same for
autorun notifications to give users control over hotplug notifications
in Settings.
2015-11-17 00:00:31 +01:00
f0496a2d3c Added Scottish Gaelic translation 2015-11-16 19:00:46 +00:00
6664553b7e Revert "browser-plugin: Set windowless mode and don't claim to need XEmbed"
This reverts commit a52c91e9e5.

https://bugzilla.gnome.org/show_bug.cgi?id=758035
2015-11-16 10:57:03 -06:00
2a950ca3b3 Updated Norwegian bokmål translation. 2015-11-15 20:00:58 +01:00
463cd6382c Updated Finnish translation 2015-11-15 16:53:02 +00:00
78db025b10 appFavorites: Add gnome-terminal to the rename list
https://bugzilla.gnome.org/show_bug.cgi?id=745626
2015-11-14 19:53:41 +01:00
f3265c28a9 Updated Portuguese translation 2015-11-14 07:59:17 +00:00
a6e5e459d3 Updated Hebrew translation 2015-11-13 12:29:54 +02:00
9ba399bf18 power: Add thin space between digits and percentage sign
As mentioned by Matthias Clasen on IRC, we should have a thin space
between the percentage digits and the sign itself.

https://bugzilla.gnome.org/show_bug.cgi?id=757816
2015-11-12 16:19:30 +01:00
a52c91e9e5 browser-plugin: Set windowless mode and don't claim to need XEmbed
NPAPI plugins are windowed by default, so we need to set
NPPVpluginWindowBool value to FALSE on startup. This way the browser
will not create a GtkSocket for a GtkPlug that we are not going to
create. It doesn't make sense to claim that we need XEmbed either.

https://bugzilla.gnome.org/show_bug.cgi?id=757940
2015-11-12 12:11:56 +01:00
9a7b47c23f st: Fix Gaussian kernel calculation
The result of subtracting unsigned operands is unsigned, which throws
off our calculation in case it should be negative.

This partly reverts 18b6f13395.

https://bugzilla.gnome.org/show_bug.cgi?id=757779
2015-11-12 01:02:05 +01:00
18f7d20006 Update zh_CN translations 2015-11-11 00:18:26 +08:00
3f0ee88657 browser-plugin: link with -Wl,-z,nodelete
This ensures that the module will not be unloaded, since GObject types
registered statically can't be reloaded. This should fix crashes with
browsers that correctly unload the plugins.

https://bugzilla.gnome.org/show_bug.cgi?id=737932
2015-11-10 15:23:49 +01:00
c634718dfa shell: Fix crash in polkit agent
The polkit agent does not take ownership of the request's cancellable,
so it may no longer be valid after the request finished and we need
to disconnect it before that. Before the GTask port in 8b4249ef2,
it was safe to do that when freeing the request data because requests
completed in an idle, but now we need to do it before returning the
task result.

https://bugzilla.gnome.org/show_bug.cgi?id=757668
2015-11-10 11:56:37 +01:00
df6b31de05 Updated POTFILES.in 2015-11-10 01:07:42 +01:00
b8e29ae8c7 data: merge gnome-shell.desktop and gnome-shell-wayland.desktop into one file
We can autodetect what to do based on the user's session, so drop
the separate desktop files.

This, along with some future changes, will enable us to be bus
activatable.

https://bugzilla.gnome.org/show_bug.cgi?id=741666
2015-11-09 10:37:24 -05:00
cdba8e5cea Revert "browser-plugin: try to avoid a crash"
This reverts commit faae1a028e.
2015-11-07 08:09:11 -06:00
4fccdaafb7 Updated Portuguese translation 2015-11-05 05:51:05 +00:00
df0b465e76 StTextureCache: Fix a fallout from GTask port
Set the task data that load_pixbuf_thread func expects.

https://bugzilla.gnome.org/show_bug.cgi?id=757418
2015-11-01 00:27:35 +01:00
aacdd4fd5e browser-plugin: fix spelling of GNOME 2015-10-30 17:41:16 +01:00
5f68c3a324 Bump version to 3.19.1
Update NEWS.
2015-10-29 15:50:20 +01:00
8ceae3b054 bluetooth: Show the Bluetooth menu when there were setup devices
If we detected that Bluetooth devices were setup, show the Bluetooth
menu so that users can easily turn Bluetooth back on.

This is a bit of a hack, as we cannot detect whether there is a
Bluetooth adapter at all when it's disabled, so we cannot tell whether
there were any Bluetooth devices setup, at some point. This state is
saved in the gnome-shell GSettings in the had-bluetooth-devices-setup
key.

Checking whether we saw Bluetooth devices at one point is a good
enough guess of whether there will be some in the future.

https://bugzilla.gnome.org/show_bug.cgi?id=723848
2015-10-28 11:51:07 +01:00
3fc5afaff1 Updated Czech translation 2015-10-28 10:56:48 +01:00
8b7464c648 st_theme_node_prerender_shadow: guard against failure to allocate a texture
If we are trying to render a shadow at a size that is very large in one
direction, but small in the other direction (so that we don't 9-slice
the texture), then allocating the backing texture for the offscreen
buffer may fail due to texture-size limits. Don't crash in that case.

https://bugzilla.gnome.org/show_bug.cgi?id=757150
2015-10-27 15:51:40 -04:00
3e602b1765 calendar: Fix number formatting in some languages
Some languages require using a conversion modifier to display the day
number in a translated shape. fa_IR is affected for example.

https://bugzilla.gnome.org/show_bug.cgi?id=673235
2015-10-26 17:48:40 +01:00
5858028411 theme: tone down search entry stroke
https://bugzilla.gnome.org/show_bug.cgi?id=757011
2015-10-26 16:00:48 +01:00
2c682ace81 use osd colors for search (for classic)
https://bugzilla.gnome.org/show_bug.cgi?id=757011
2015-10-26 15:49:16 +01:00
45f3106814 Updated Romanian Translations 2015-10-25 10:19:21 +01:00
aa947f9948 Updated Romanian translation
(cherry picked from commit 9e64a1e3d6)
2015-10-24 17:02:27 +00:00
0c72d1fcbd ActivitiesButton: fix overview being toggled while still animating
Adds the missing checks for whether we should toggle the overview, on
button and key release.

https://bugzilla.gnome.org/show_bug.cgi?id=756925
2015-10-23 13:44:27 +02:00
6d22670307 Defend against failure of cairo_pattern_get_surface()
There are quite a few crashes in retrace.fedoraproject.org that are a result of
of cairo_pattern_get_surface() failing, then a subsequent call to
cairo_image_surface_get_width() crashing because no surface was returned to the
out parameter. Knowing what causes these is hard - my best guess is widgets getting
allocated at ridiculous sizes - but avoiding the crash makes sense in any case.

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

https://bugzilla.gnome.org/show_bug.cgi?id=756983
2015-10-22 15:14:55 -04:00
0b9e68e305 runDialog: Reload resource on 'rt'
Moving the default theme to a resource broke the 'rt' command;
reload the resource before the theme to fix it.

https://bugzilla.gnome.org/show_bug.cgi?id=738942
2015-10-21 20:54:30 +02:00
da8155cbe5 Updated Hungarian translation
(cherry picked from commit 10e4382a7d)
2015-10-21 06:08:52 +00:00
5b7a052e18 animation: do spinner animation with low priority
It's very unexpected that a spinner animation would
preempt idles from running.

This commit runs the spinner animation with a low
priority to ensure it doesn't take over the main
loop.

https://bugzilla.gnome.org/show_bug.cgi?id=754814
2015-10-20 17:10:06 -04:00
6f26e39082 animation: Run every 16ms not ever 14ms
Right now the spinner animation updates every 14ms.
60 frames per second would be one frame per 16.667ms,
so we're waking up more frequently than we need to.

This commit changes the wakeup to happen after 16ms.

https://bugzilla.gnome.org/show_bug.cgi?id=754814
2015-10-20 17:10:06 -04:00
489b96a310 gdm: don't emit start-session-when-ready from idle function
There's no point in delaying the emission.  We should do it
right away.

https://bugzilla.gnome.org/show_bug.cgi?id=754814
2015-10-20 17:10:06 -04:00
e65d90d624 Fix text-scaling-factor under wayland.
The text-scaling-factor GSetting was not being properly propagated
to clutter and the Pango font map; under X this is done by Clutter,
which listens to XSETTINGS directly.

https://bugzilla.gnome.org/show_bug.cgi?id=756447
2015-10-20 09:35:47 -04:00
9c74e22313 windowMenu: Ensure the source actor isn't sized 0x0
If the source actor is sized 0x0, the grabHelper will close the menu
on button release if the menu ends up flipped because in that case the
release event happens when the pointer is neither over the source
actor (since it's 0x0) or over the menu actor. A zero sized source
actor works for the non-flipped menu case because the menu's actor
itself ends up underneath the pointer.

https://bugzilla.gnome.org/show_bug.cgi?id=756605
2015-10-20 15:00:33 +02:00
48a1fce151 Add RLM as appropriate 2015-10-18 17:22:24 +04:00
83e7f6f496 windowManager: fix fullscreen clone being left around
If we get another effect on the same actor, we should make sure to
remove the clone through the "overwrite" methods provided by Tweener, or
there will be a race that might end up with a stray clone being left
around.

https://bugzilla.gnome.org/show_bug.cgi?id=756714
2015-10-16 13:47:14 -07:00
3c5c3a6597 Fixed some issues reported by Bjørn Lie in bug 740906. 2015-10-16 18:10:11 +02:00
1c3ea1649f windowManager: Fix fullscreen animations on dualscreen
The translation should describe the difference between the fullscreened
and unfullscreened position of the window - however we are currently
assuming a fullscreen position of (0, 0) instead of the monitor's origin,
which causes glitches on dualscreen setups.

https://bugzilla.gnome.org/show_bug.cgi?id=756697
2015-10-16 15:50:39 +02:00
48a54e8ac4 theme-node: Pass an explicit framebuffer to paint()
This allows us to paint to an offscreen buffer without using the
deprecated cogl_push_framebuffer/cogl_pop_framebuffer functions.
2015-10-16 00:16:38 +02:00
113a854048 st: Rename *material to *pipeline
... since the last commit changed the type from CoglMaterial to
CoglPipeline.
2015-10-15 23:42:19 +02:00
882f5fa79e st: Fix a bunch of cogl deprecations 2015-10-15 23:05:11 +02:00
9acdb8012c tray: Get rid of deprecation warnings
gdk_window_set_composited() is deprecated, and we don't need it as
we end up setting it to the default anyway.
We do need gtk_widget_set_double_buffered() though, which has been
deprecated as well because it is only meaningful on X11 - but so
is XEmbed, so just shut up that warning.
2015-10-15 23:05:11 +02:00
731d64e0e4 tray: Don't use gdk_display_supports_composite()
Composite is a hard requirement for mutter's compositor, so if we get
to the point of managing the tray, we already know that the extension
is supported. So let's get rid of yet another deprecation warning.
2015-10-15 23:05:11 +02:00
ccf1bd9f27 tray-manager: Don't use GdkColor
It has been deprecated for a while in favor of GdkRgba, though in our
case translating ClutterColors to an intermediate color type before
setting _NET_SYSTEM_TRAY_COLORS is a bit silly, so just move to
ClutterColor as the rest of the code base.
2015-10-15 23:05:11 +02:00
c164a8fe03 st: Use ClutterCanvas for StDrawingArea
Stop chasing down cogl deprecations by delegating all texture
handling to a ClutterCanvas.
2015-10-15 23:01:11 +02:00
1a39666f7c shell: Port to GTask 2015-10-15 22:59:49 +02:00
f2731d4d6a st: Port to GTask
GSimpleAsyncResult has been deprecated for a while.
2015-10-15 22:59:48 +02:00
3e63fb7abe Port screenshot to GTask 2015-10-15 22:59:48 +02:00
8b4249ef26 Port polkit agent to GTask 2015-10-15 22:59:48 +02:00
bf0be6ef12 hotplug-sniffer: Port to GTask
GSimpleAsyncResult is deprecated.
2015-10-15 22:59:48 +02:00
294702d3f1 shell: Use G_DECLARE_*_TYPE macros
Cut down on boilerplate by using the (no longer that) new helper
macros. We don't care about breaking ABI in private libraries, so
use G_DECLARE_FINAL_TYPE even where the class struct used to be
exposed in the header, except for types we inherit from ourselves
(obviously) or where the class exposes any vfuncs (where changes
could affect inheritance in extensions).
2015-10-15 22:58:28 +02:00
58f3b7c748 shell: Drop questionable vfuncs
Both ShellAppSystem and ShellTrayManager are used as singletons, which
significantly reduces the usefulness of inheritance - it's unlikely for
extensions to inherit from them anyway (AND use any of the vfuncs), so
drop them to allow defining the types as final in an upcoming commit.
2015-10-15 22:13:18 +02:00
e25502aeb2 shell: Use G_DEFINE_TYPE_WITH_PRIVATE() and friends 2015-10-15 22:03:06 +02:00
ffe4eaf00d st: Use G_DECLARE_*_TYPE
Cut down on boilerplate by using the (no longer that) new helper
macros. We don't care about breaking ABI in private libraries, so
use G_DECLARE_FINAL_TYPE even where the class struct used to be
exposed in the header, except for types we inherit from ourselves
(obviously) or where the class exposes any vfuncs (where changes
could affect inheritance in extensions).
2015-10-15 22:02:35 +02:00
2f88a7a1e1 st: Drop vfuncs from StThemeNodeTransition
They are unused, as we don't use them ourselves and the class is not
exposed to introspection. Drop them to allow defining the type as final
in an upcoming commit.
2015-10-15 21:43:08 +02:00
cd7d564125 st: Use G_DEFINE_TYPE_WITH_PRIVATE() and friends 2015-10-15 21:05:22 +02:00
ede81017ec hotplug-sniffer: Modernize GObject usage 2015-10-15 21:04:07 +02:00
a539e6236a calendar-server: Modernize GObject usage 2015-10-15 21:04:07 +02:00
90b7710834 Bump version to 3.18.1
Update NEWS.
2015-10-15 19:56:47 +02:00
f8cc8f1dc1 theme: Use font-relative sizes for menu widths
For menus, it makes more sense to pick a width that fits a reasonable amount
of content rather than a fixed amount of screen estate, so use font-relative
sizes instead of pixel values.

https://bugzilla.gnome.org/show_bug.cgi?id=754581
2015-10-15 19:56:44 +02:00
f8e5e3e435 aggregateMenu: Ignore ellipsizable items in width-request
Some labels in the system status menu - namely network names - are out
of our control, and may thus grow the width "infinitively" unless we
restrict the menu width. So far we have been doing this by setting a
fixed width or max-width, but any value we put there might end up
being too restrictive in some locales. Instead, request a width that
fits all the labels we want to show unellipsized and use that instead
of an arbitrary limit.

https://bugzilla.gnome.org/show_bug.cgi?id=708472
2015-10-15 19:56:03 +02:00
508e751ffd box-layout: Support replacing layout manager
There is nothing preventing callers from replacing the internal
layout manager, and as long as the replacement is a (or derives
from) ClutterBoxLayout, everything should work fine except for
losing a bit of automatic property mapping - and the latter is
easily fixable by moving the setup out of the constructor.

https://bugzilla.gnome.org/show_bug.cgi?id=708472
2015-10-15 19:21:15 +02:00
207c847762 windowManager: add animations for fullscreen and unfullscreen
We use the newly introduced feature from Mutter to hook up our own
fullscreen and unfullscreen animations.
To give the illusion of a transition as smooth as possible, we create a
snapshot of the current contents of the actor before its state is
changed, and crossfade between the two states while the size changes.

https://bugzilla.gnome.org/show_bug.cgi?id=707248
2015-10-14 12:10:58 -04:00
3c980566d3 Updated Basque language 2015-10-14 12:26:29 +02:00
50b59e0ca6 batch: Add old commit message as comment at top of file
This is a lightly-edited version of Ray's commit message in
4902a600d5.
2015-10-13 14:43:39 -05:00
14c52bb00a dash: Ensure style for icon size computation
StIcon will skip loading the texture when its theme node is unset (which
may happen on style changes while the widget is hidden). While our size
request to compute the dash icon size will create the icon's theme node
if necessary (and of all its parents), a missing texture can still throw
off our computation.
Make sure this doesn't happen by ensuring the icon's style first, so the
texture is updated in response to StWidget::style-changed if necessary.

https://bugzilla.gnome.org/show_bug.cgi?id=745649
2015-10-13 20:21:44 +02:00
9720b32987 dash: Revert mislead cleanup
When adjusting dash icon sizes, we compute the icon padding by subtracting
the configured icon size from the first icon actor's preferred size. To
make sure that the preferred size correctly corresponds to the current
dash icon size even while the icon is animating, we enforce the size
before the size request. For that we used to temporarily manipulate
the icon texture size directly, but commit e92d204d42 cleaned this
up to use the setIconSize() method instead.
This does not work however, as the icon actor's iconSize property will
always match the dash iconSize property, making the method a noop. So
go back to the original approach of enforcing the texture size to make
sure we always base our computations on correct values.

https://bugzilla.gnome.org/show_bug.cgi?id=745649
2015-10-13 20:21:44 +02:00
674ae262c8 Change incorrect parameter names
These were renamed a while ago.
2015-10-12 15:38:44 -04:00
db297e7fdb Don't crash on accesses to stale window-backed apps
The JS code could still be holding on to a reference to a window-backed app
after all windows have vanished. (For example, the dash queues an idle to
refetch apps and display them.) Avoid dying with an error message if we
attempt to activate or otherwise manipulate such a window.

https://bugzilla.gnome.org/show_bug.cgi?id=674799
2015-10-11 15:31:39 -04:00
d57c146514 Updated Danish translation by scootergrisen 2015-10-11 18:34:51 +02:00
ec5a4328e3 Updated Danish translation 2015-10-11 16:30:56 +00:00
e4ee72c481 Update Arabic translation 2015-10-10 15:27:42 +04:00
31f1e9ff0a autorunManager: Do not mark the notification CRITICAL
There is nothing particularly critical about this notification, it
was only marked as such to get certain behavior like auto-expanding
and sticking-around to be acknowledged by the user (as it offers
more actions than the summary notification, so it is frustrating
when it goes away because it was missed).
As all notifications will now stay visible until we are sure the
users has seen them, the latter reasoning no longer applies.
Auto-expansion doesn't appear too important and may even be considered
annoying by users, so remove the CRITICAL hint now.

https://bugzilla.gnome.org/show_bug.cgi?id=657923
2015-10-09 15:55:40 +02:00
d6c049a8c9 altTab: Don't error out if we don't have windows for an app
We are currently erroring out when the tab chain doesn't contain at
least one window for an app which might happen for windows that don't
take focus like xeyes. This leaves us in a state where we can't show
the switcher at all. Let's just ignore these apps instead of looking
broken.
2015-10-08 18:27:07 +02:00
44047ac881 shell-glsl-quad: Set the pipeline blend string explicitly
The default pipeline color is opaque white and blending is turned
off. If we only draw with that color (e.g. because animations are
disabled and we're always drawn with opacity == 255), blending is kept
disabled since cogl_pipeline_set_color() returns early if the color
doesn't change from what was there before.

In our case we always want blending to be enabled which we can achieve
by setting the blending string ourselves.

https://bugzilla.gnome.org/show_bug.cgi?id=755827
2015-10-08 18:27:07 +02:00
464d5d8a13 st-button: Don't rely on hover to accept clicks
Since commit 4f1f226828 we only consider buttons clicked when the
release event had a corresponding press event. However as we use
the hover state to check whether a release event actually occurred
on the button, we dismiss any clicks in cases where we missed the
enter event - most likely due to some other actor holding a grab.
Instead, check whether the button contains the event's source, which
should be less error-prone.

https://bugzilla.gnome.org/show_bug.cgi?id=748919
2015-10-07 15:05:36 +02:00
29811a85dc Updated Portuguese translation 2015-10-07 06:07:27 +00:00
36ee4e6c3b panel: Hide app menu when disabled by settings
While the GtkSettings::gtk-shell-shows-app-menu property is meant to
reflect a desktop capability (i.e. in the GNOME case: the app menu is
shown in the top bar), it is possible for users to overwrite it.
Respect the setting and actually hide the menu in that case.

https://bugzilla.gnome.org/show_bug.cgi?id=745919
2015-10-05 14:08:20 +02:00
2036e4c85c st: Remove wrong indentation
GObject-Introspection started warning for wrong annotations, and
StGenericAccessible::set-current-value has a return value annotation
even if it returns nothing. This generates the warning:

src/st/st-generic-accessible.c:146: Warning: St:
StGenericAccessible::set-current-value: invalid return annotation

Which, coupled with fatal warnings, breaks the Shell build.
2015-10-05 12:04:55 +01:00
f24034de84 Updated Czech translation 2015-10-05 11:56:30 +02:00
522ff86081 Updated Spanish translation 2015-10-05 07:46:19 +00:00
669e3c8ed9 Updated Spanish translation 2015-10-05 07:41:45 +00:00
ce850f464c Updated Kazakh translation 2015-10-04 12:00:33 +00:00
03eaa61cef Updated Portuguese translation 2015-10-04 07:34:03 +00:00
e10e953d24 Updated Finnish translation 2015-10-04 07:22:29 +00:00
2b47bb3d82 Updated Serbian Latin translation 2015-10-01 23:39:29 +00:00
73d819116c Updated Serbian translation 2015-10-01 23:38:05 +00:00
c8dd984663 Updated German translation 2015-10-01 20:43:16 +00:00
6087eb6d0e Updated Irish translation 2015-09-30 22:30:18 -06:00
97b43d1d36 Updated Vietnamese translation
Signed-off-by: Trần Ngọc Quân <vnwildman@gmail.com>
2015-10-01 07:22:35 +07:00
57ebadbaf8 Updated Lithuanian translation 2015-09-30 22:17:38 +03:00
cad7bb1151 Updated Greek translation 2015-09-30 10:38:28 +03:00
9a376d47c5 Updated Brazilian Portuguese translation 2015-09-29 19:09:31 +00:00
b79adc05f4 Updated Russian translation 2015-09-29 19:07:25 +00:00
f765c5e319 Updated Korean translation 2015-09-29 19:14:47 +09:00
edc445c0c9 Updated Italian translation 2015-09-29 07:03:06 +00:00
ab6b0f3f7f Updated Slovak translation 2015-09-29 05:32:58 +00:00
5e7902e733 Updated Polish translation 2015-09-29 00:53:38 +02:00
f9f821aa55 Updated Swedish translation 2015-09-28 22:40:28 +00:00
9ed4b2a5ae Updated Galician translation 2015-09-28 22:34:41 +00:00
0130ced790 Updated French translation 2015-09-28 21:39:48 +00:00
8dab07af82 Update Czech translation
Fixes #737598.
2015-09-28 17:10:10 -04:00
f6cd3fa5ed panel: improve string for system menu, bug 755755
Refer to the system menu in the top bar as "System" rather than "Settings" as
it contains more than just settings and "Settings" is already used for the
settings panel. "System" is also used elsewhere, so include context for
translators.
2015-09-28 16:29:12 -04:00
faae1a028e browser-plugin: try to avoid a crash
Quite tempted to delete this unmaintained and unreliable plugin, but I
can stand it not working so long as it at least stops crashing, so let's
try this first.

Hopefully mitigates bug #737932.
2015-09-27 13:14:08 -05:00
f5e32184fe theme: Update sass submodule to pick up menu size changes
https://bugzilla.gnome.org/show_bug.cgi?id=708472
2015-09-25 20:24:32 +02:00
18c7138237 Check error of g_dbus_proxy_new_sync call
Otherwise errors pile up and we crash later on.
2015-09-24 13:33:47 -04:00
3f0fbae7e2 shell_dbus_acquire_name: Don't leak the result
The GVariant returned by g_dbus_proxy_call_sync must be
freed with g_variant_unref, to prevent a leak.
2015-09-24 13:33:47 -04:00
7f1a258ff9 shell_dbus_acquire_name: Don't leak error
If fatal is not set, we return from this function in the error
case. Don't leak the GError if that happens.
2015-09-24 13:33:45 -04:00
35b38d5cb2 Updated Vietnamese translation
Signed-off-by: Trần Ngọc Quân <vnwildman@gmail.com>
2015-09-24 15:16:45 +07:00
09e8a437d4 Update Arabic translation 2015-09-23 23:53:04 +02:00
d2bedcc182 build: Replace deprecated GNOME_COMPILE_WARNINGS macro 2015-09-23 21:32:50 +02:00
84eda6e459 st: Don't avoid parameter list
Meh, C ...
2015-09-23 21:32:50 +02:00
f5e7530fc7 st: Add default case to switch statements 2015-09-23 21:32:50 +02:00
f983b34784 st: Handle all possible enum values in switch statements 2015-09-23 21:32:50 +02:00
36bbe64898 st: Fix constness in assignment 2015-09-23 21:32:50 +02:00
627a393ed6 st: Don't mix declarations and code 2015-09-23 21:32:50 +02:00
a025b151ef st: Don't shadow existing variables 2015-09-23 21:32:50 +02:00
18b6f13395 st: Fix signed-unsigned comparisons 2015-09-23 21:32:50 +02:00
051413550f st: Don't duplicate declarations from G_DEFINE_TYPE 2015-09-23 21:32:50 +02:00
3e10574736 shell: Add default case to switch statements
... to shut up a compiler warning.
2015-09-23 21:32:50 +02:00
9a3041004b shell: Don't shadow existing variables 2015-09-23 21:32:50 +02:00
87f71b8ce1 shell: Don't mix declarations and code 2015-09-23 21:32:50 +02:00
825146f1e3 shell: Fix signed-unsigned comparisons 2015-09-23 21:32:50 +02:00
52995416fd shell: Don't avoid parameter list
Meh, C ...
2015-09-23 21:32:50 +02:00
6c43d0247a main: Fix constness mismatches 2015-09-23 21:32:49 +02:00
9aa98d9f0c menutracker: Don't shadow existing variables 2015-09-23 21:32:49 +02:00
c3a29d6df1 theme-node: Rewrite switch statement
Some compilers warn about unhandled enum values in switch statements,
so don't use one where only two out of 21 possible values make sense.
2015-09-23 21:32:49 +02:00
82f84416a9 recorder: Rewrite switch statement
Avoid compiler warnings about unhandled enum values by using a
regular if-else statement.
2015-09-23 21:32:49 +02:00
9dd3162dbe recorder-src: Rewrite switch statement
Avoid compiler warnings about unhandled enum values by using a
regular if-else statement.
2015-09-23 21:32:49 +02:00
7ef519756a Update gvc submodule 2015-09-23 21:32:49 +02:00
3bbe74d1c1 popupMenu: Set ImageMenuItem's label-actor
While we don't use image menu items ourselves, extensions might,
so make sure they are accessible out of the box.
Spotted by Jay Strict.
2015-09-23 14:20:38 +02:00
409f6718b8 calendar: Disconnect all Notification signals on NotificationMessage destruction
The destroy signal handler is kept connected despite the NotificationMessage
being destroyed, which leaves dangling NotificationMessage objects that will
be mass destroyed when the Notification object these depend upon is finally
destroyed.

Depending on the amount of accumulated NotificationMessages, this may lead
to temporary freezes or other more funky issues when recursion limits are
hit.

https://bugzilla.gnome.org/show_bug.cgi?id=755425
2015-09-22 18:16:16 +02:00
9c0e179080 Updated Serbian Latin translation 2015-09-22 11:49:36 +00:00
b3b278d41f Updated Serbian translation 2015-09-22 11:48:55 +00:00
0f466dbafb Bump version to 3.18.0
Update NEWS.
2015-09-21 22:22:18 +02:00
fbb4a9a3a6 Updated Latvian translation 2015-09-20 22:01:15 +03:00
8ddae5cd71 Updated Swedish translation 2015-09-20 17:28:59 +00:00
b0915c7b60 Updated Brazilian Portuguese translation 2015-09-20 14:01:58 +00:00
831bb4e334 Updated Indonesian translation 2015-09-19 12:35:20 +00:00
4e025506fa Updated Irish translation 2015-09-18 10:43:04 -06:00
abccf451bf Updated Danish translation 2015-09-18 17:05:37 +02:00
14954117c0 Updated Indonesian translation 2015-09-17 01:19:59 +00:00
171 changed files with 15897 additions and 12525 deletions

6
.gitignore vendored
View File

@ -17,10 +17,8 @@ config.status
config
configure
data/50-gnome-shell-*.xml
data/gnome-shell.desktop
data/gnome-shell.desktop.in
data/gnome-shell-wayland.desktop
data/gnome-shell-wayland.desktop.in
data/org.gnome.Shell.desktop
data/org.gnome.Shell.desktop.in
data/gnome-shell-extension-prefs.desktop
data/gnome-shell-extension-prefs.desktop.in
data/gnome-shell-theme.gresource

68
NEWS
View File

@ -1,3 +1,71 @@
3.19.2
======
* Make gnome-shell DBus activatable [Ray; #741666]
* Fix browser plugin crash in Firefox [Carlos; #737932, #757940]
* Optionally show battery percentage in system status area [Bastien; #735771]
* Misc. bug fixes [Kalev, Florian, Bastien; #757418, #757668, #757779, #757816,
#745626, #758220]
Contributors:
Michael Biebl, Michael Catanzaro, Piotr Drąg, Carlos Garcia Campos,
Kalev Lember, Florian Müllner, Bastien Nocera, Ray Strode
Translations:
Pedro Albuquerque [pt], liushuyu [zh_CN], Yosef Or Boczko [he],
Jiri Grönroos [fi], Kjartan Maraas [nb], GNOME Translation Robot [gd],
Daniel Mustieles [es], Marek Černocký [cs], Kristjan SCHMIDT [eo],
Stas Solovey [ru]
3.19.1
======
* Respect text-scaling factor under wayland [Owen; #756447]
* Show the Bluetooth submenu when there were setup devices [Bastien; #723848]
* Misc. bug fixes [Florian, Cosimo, Rui, Ray, Owen, Jakub, Bastien;
#756697, #756714, #756605, #754814, #738942, #756983, #756925,
#757011, #673235, #757150]
Contributors:
Cosimo Cecchi, Rui Matos, Florian Müllner, Bastien Nocera, Jakub Steiner,
Ray Strode, Owen W. Taylor
Translations:
Kjartan Maraas [nb], Khaled Hosny [ar], Balázs Meskó [hu],
Daniel Șerbănescu [ro], Marek Černocký [cs]
3.18.1
======
* Fix screen freezes when a notification is pushed [Carlos; #755425]
* Fix overzealous ellipsization in system status menu [Adel, Florian; #708472]
* Hide app menu when disabled by setting [Florian; #745919]
* Fix lightbox effect when animations are disabled [Rui; #755827]
* Do not mark hotplug notifications as critical [Florian; #657923]
* Fix icons getting cut off in dash [Florian; #745649]
* Animate fullscreen/unfullscreen operations [Cosimo; #707248]
* Misc. bug fixes [Florian, Owen; #748919, #674799, #754581]
Contributors:
Emmanuele Bassi, Michael Catanzaro, Cosimo Cecchi, Matthias Clasen,
Adel Gadllah, Carlos Garnacho, Ekaterina Gerasimova, Rui Matos,
Florian Müllner, Owen W. Taylor
Translations:
Марко Костић [sr], Милош Поповић [sr@latin], Khaled Hosny [ar],
Trần Ngọc Quân [vi], Petr Kovar [cs], Alexandre Franke [fr],
Fran Dieguez [gl], Anders Jonsson [sv], Piotr Drąg [pl], Dušan Kazik [sk],
Milo Casagrande [it], Changwoo Ryu [ko], Stas Solovey [ru],
Rafael Fontenelle [pt_BR], Tom Tryfonidis [el], Aurimas Černius [lt],
Seán de Búrca [ga], Christian Kirbach [de], Jiri Grönroos [fi],
Pedro Albuquerque [pt], Baurzhan Muftakhidinov [kk], Daniel Mustieles [es],
Marek Černocký [cs], Ask Hjorth Larsen [da], Inaki Larranaga Murgoitio [eu]
3.18.0
======
Translations:
Sendy Aditya Suryana [id], Kris Thomsen [da], Seán de Búrca [ga],
Andika Triwidada [id], Enrico Nicoletto [pt_BR], Anders Jonsson [sv],
Rūdolfs Mazurs [lv]
3.17.92
=======
* Fix race when loading multiple background animations [Josselin; #741453]

View File

@ -3,7 +3,10 @@ mozillalibdir = $(BROWSER_PLUGIN_DIR)
mozillalib_LTLIBRARIES = libgnome-shell-browser-plugin.la
libgnome_shell_browser_plugin_la_LDFLAGS = -module -avoid-version -no-undefined
# Browsers can unload and reload the module while browsing, which is not supported by GObject.
# We pass -Wl,-z,nodelete to the linker to ensure the module is never unloaded.
# https://bugzilla.gnome.org/show_bug.cgi?id=737932
libgnome_shell_browser_plugin_la_LDFLAGS = -module -avoid-version -no-undefined -Wl,-z,nodelete
libgnome_shell_browser_plugin_la_LIBADD = \
$(BROWSER_PLUGIN_LIBS)

View File

@ -33,20 +33,16 @@
#include <json-glib/json-glib.h>
#define ORIGIN "extensions.gnome.org"
#define PLUGIN_NAME "Gnome Shell Integration"
#define PLUGIN_DESCRIPTION "This plugin provides integration with Gnome Shell " \
#define PLUGIN_NAME "GNOME Shell Integration"
#define PLUGIN_DESCRIPTION "This plugin provides integration with GNOME Shell " \
"for live extension enabling and disabling. " \
"It can be used only by extensions.gnome.org"
#define PLUGIN_MIME_STRING "application/x-gnome-shell-integration::Gnome Shell Integration Dummy Content-Type";
#define PLUGIN_MIME_STRING "application/x-gnome-shell-integration::GNOME Shell Integration Dummy Content-Type";
#define PLUGIN_API_VERSION 5
#define EXTENSION_DISABLE_VERSION_CHECK_KEY "disable-extension-version-validation"
typedef struct {
GDBusProxy *proxy;
} PluginData;
static NPNetscapeFuncs funcs;
static inline gchar *
@ -145,121 +141,6 @@ check_origin_and_protocol (NPP instance)
return ret;
}
/* =============== public entry points =================== */
NPError
NP_Initialize(NPNetscapeFuncs *pfuncs, NPPluginFuncs *plugin)
{
/* global initialization routine, called once when plugin
is loaded */
g_debug ("plugin loaded");
memcpy (&funcs, pfuncs, sizeof (funcs));
plugin->size = sizeof(NPPluginFuncs);
plugin->newp = NPP_New;
plugin->destroy = NPP_Destroy;
plugin->getvalue = NPP_GetValue;
plugin->setwindow = NPP_SetWindow;
return NPERR_NO_ERROR;
}
NPError
NP_Shutdown(void)
{
return NPERR_NO_ERROR;
}
const char*
NP_GetMIMEDescription(void)
{
return PLUGIN_MIME_STRING;
}
NPError
NP_GetValue(void *instance,
NPPVariable variable,
void *value)
{
switch (variable) {
case NPPVpluginNameString:
*(char**)value = PLUGIN_NAME;
break;
case NPPVpluginDescriptionString:
*(char**)value = PLUGIN_DESCRIPTION;
break;
default:
;
}
return NPERR_NO_ERROR;
}
NPError
NPP_New(NPMIMEType mimetype,
NPP instance,
uint16_t mode,
int16_t argc,
char **argn,
char **argv,
NPSavedData *saved)
{
/* instance initialization function */
PluginData *data;
GError *error = NULL;
g_debug ("plugin created");
if (!check_origin_and_protocol (instance))
return NPERR_GENERIC_ERROR;
data = g_slice_new (PluginData);
instance->pdata = data;
data->proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
G_DBUS_PROXY_FLAGS_NONE,
NULL, /* interface info */
"org.gnome.Shell",
"/org/gnome/Shell",
"org.gnome.Shell.Extensions",
NULL, /* GCancellable */
&error);
if (!data->proxy)
{
/* ignore error if the shell is not running, otherwise warn */
if (error->domain != G_DBUS_ERROR ||
error->code != G_DBUS_ERROR_NAME_HAS_NO_OWNER)
{
g_warning ("Failed to set up Shell proxy: %s", error->message);
}
g_clear_error (&error);
return NPERR_GENERIC_ERROR;
}
g_debug ("plugin created successfully");
return NPERR_NO_ERROR;
}
NPError
NPP_Destroy(NPP instance,
NPSavedData **saved)
{
/* instance finalization function */
PluginData *data = instance->pdata;
g_debug ("plugin destroyed");
g_object_unref (data->proxy);
g_slice_free (PluginData, data);
return NPERR_NO_ERROR;
}
/* =================== scripting interface =================== */
typedef struct {
@ -330,45 +211,18 @@ static NPObject *
plugin_object_allocate (NPP instance,
NPClass *klass)
{
PluginData *data = instance->pdata;
PluginObject *obj = g_slice_new0 (PluginObject);
PluginObject *obj = (PluginObject *) funcs.memalloc (sizeof (PluginObject));
memset (obj, 0, sizeof (PluginObject));
obj->instance = instance;
obj->proxy = g_object_ref (data->proxy);
obj->settings = g_settings_new (SHELL_SCHEMA);
obj->signal_id = g_signal_connect (obj->proxy, "g-signal",
G_CALLBACK (on_shell_signal), obj);
obj->watch_name_id = g_bus_watch_name (G_BUS_TYPE_SESSION,
"org.gnome.Shell",
G_BUS_NAME_WATCHER_FLAGS_NONE,
on_shell_appeared,
NULL,
obj,
NULL);
g_debug ("plugin object created");
return (NPObject*)obj;
return (NPObject*) obj;
}
static void
plugin_object_deallocate (NPObject *npobj)
{
PluginObject *obj = (PluginObject*)npobj;
g_signal_handler_disconnect (obj->proxy, obj->signal_id);
g_object_unref (obj->proxy);
if (obj->listener)
funcs.releaseobject (obj->listener);
if (obj->watch_name_id)
g_bus_unwatch_name (obj->watch_name_id);
g_debug ("plugin object destroyed");
g_slice_free (PluginObject, obj);
funcs.memfree (npobj);
}
static inline gboolean
@ -1019,6 +873,149 @@ init_methods_and_properties (void)
onextension_changed_id = funcs.getstringidentifier ("onchange");
}
/* =============== public entry points =================== */
NPError
NP_Initialize(NPNetscapeFuncs *pfuncs, NPPluginFuncs *plugin)
{
/* global initialization routine, called once when plugin
is loaded */
g_debug ("plugin loaded");
memcpy (&funcs, pfuncs, sizeof (funcs));
plugin->size = sizeof(NPPluginFuncs);
plugin->newp = NPP_New;
plugin->destroy = NPP_Destroy;
plugin->getvalue = NPP_GetValue;
plugin->setwindow = NPP_SetWindow;
plugin->event = NPP_HandleEvent;
return NPERR_NO_ERROR;
}
NPError
NP_Shutdown(void)
{
return NPERR_NO_ERROR;
}
const char*
NP_GetMIMEDescription(void)
{
return PLUGIN_MIME_STRING;
}
NPError
NP_GetValue(void *instance,
NPPVariable variable,
void *value)
{
switch (variable) {
case NPPVpluginNameString:
*(char**)value = PLUGIN_NAME;
break;
case NPPVpluginDescriptionString:
*(char**)value = PLUGIN_DESCRIPTION;
break;
default:
;
}
return NPERR_NO_ERROR;
}
NPError
NPP_New(NPMIMEType mimetype,
NPP instance,
uint16_t mode,
int16_t argc,
char **argn,
char **argv,
NPSavedData *saved)
{
/* instance initialization function */
PluginObject *obj;
GError *error = NULL;
g_debug ("plugin created");
if (!check_origin_and_protocol (instance))
return NPERR_GENERIC_ERROR;
/* set windowless mode */
funcs.setvalue(instance, NPPVpluginWindowBool, NULL);
g_debug ("creating scriptable object");
init_methods_and_properties ();
obj = (PluginObject *) funcs.createobject (instance, &plugin_class);
instance->pdata = obj;
obj->proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
G_DBUS_PROXY_FLAGS_NONE,
NULL, /* interface info */
"org.gnome.Shell",
"/org/gnome/Shell",
"org.gnome.Shell.Extensions",
NULL, /* GCancellable */
&error);
if (!obj->proxy)
{
/* ignore error if the shell is not running, otherwise warn */
if (!g_error_matches (error, G_DBUS_ERROR, G_DBUS_ERROR_NAME_HAS_NO_OWNER))
{
g_warning ("Failed to set up Shell proxy: %s", error->message);
}
g_clear_error (&error);
return NPERR_GENERIC_ERROR;
}
obj->settings = g_settings_new (SHELL_SCHEMA);
obj->signal_id = g_signal_connect (obj->proxy, "g-signal",
G_CALLBACK (on_shell_signal), obj);
obj->watch_name_id = g_bus_watch_name (G_BUS_TYPE_SESSION,
"org.gnome.Shell",
G_BUS_NAME_WATCHER_FLAGS_NONE,
on_shell_appeared,
NULL,
obj,
NULL);
g_debug ("plugin created successfully");
return NPERR_NO_ERROR;
}
NPError
NPP_Destroy(NPP instance,
NPSavedData **saved)
{
/* instance finalization function */
PluginObject *obj = (PluginObject *) instance->pdata;
if (!obj)
return NPERR_INVALID_INSTANCE_ERROR;
g_debug ("plugin destroyed");
g_signal_handler_disconnect (obj->proxy, obj->signal_id);
g_object_unref (obj->proxy);
if (obj->listener)
funcs.releaseobject (obj->listener);
if (obj->restart_listener)
funcs.releaseobject (obj->restart_listener);
if (obj->watch_name_id)
g_bus_unwatch_name (obj->watch_name_id);
funcs.releaseobject((NPObject *)obj);
return NPERR_NO_ERROR;
}
NPError
NPP_GetValue(NPP instance,
NPPVariable variable,
@ -1029,13 +1026,10 @@ NPP_GetValue(NPP instance,
switch (variable) {
case NPPVpluginScriptableNPObject:
g_debug ("creating scriptable object");
init_methods_and_properties ();
if (!instance->pdata)
return NPERR_INVALID_INSTANCE_ERROR;
*(NPObject**)value = funcs.createobject (instance, &plugin_class);
break;
case NPPVpluginNeedsXEmbed:
*(bool *)value = TRUE;
*(NPObject**)value = instance->pdata;
break;
default:
@ -1053,3 +1047,11 @@ NPP_SetWindow(NPP instance,
{
return NPERR_NO_ERROR;
}
int16_t
NPP_HandleEvent(NPP instance,
void *event)
{
/* Ignore the event */
return FALSE;
}

View File

@ -1,5 +1,6 @@
AC_PREREQ(2.63)
AC_INIT([gnome-shell],[3.17.92],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
AC_INIT([gnome-shell],[3.19.2],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
AX_IS_RELEASE([git-directory])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_SRCDIR([src/shell-global.c])
@ -76,7 +77,7 @@ AC_MSG_RESULT($enable_systemd)
CLUTTER_MIN_VERSION=1.21.5
GOBJECT_INTROSPECTION_MIN_VERSION=1.45.4
GJS_MIN_VERSION=1.39.0
MUTTER_MIN_VERSION=3.17.92
MUTTER_MIN_VERSION=3.19.2
GTK_MIN_VERSION=3.15.0
GIO_MIN_VERSION=2.45.3
LIBECAL_MIN_VERSION=3.5.3
@ -116,7 +117,7 @@ PKG_CHECK_MODULES(GNOME_SHELL_JS, gio-2.0 gjs-internals-1.0 >= $GJS_MIN_VERSION)
PKG_CHECK_MODULES(ST, clutter-1.0 gtk+-3.0 libcroco-0.6 >= 0.6.8 x11)
PKG_CHECK_MODULES(SHELL_PERF_HELPER, gtk+-3.0 gio-2.0)
PKG_CHECK_MODULES(SHELL_HOTPLUG_SNIFFER, gio-2.0 gdk-pixbuf-2.0)
PKG_CHECK_MODULES(TRAY, gtk+-3.0)
PKG_CHECK_MODULES(TRAY, clutter-1.0 gtk+-3.0)
PKG_CHECK_MODULES(GVC, libpulse >= $PULSE_MIN_VERS libpulse-mainloop-glib gobject-2.0)
PKG_CHECK_MODULES(DESKTOP_SCHEMAS, gsettings-desktop-schemas >= 3.13.1)
@ -220,7 +221,7 @@ if test "$enable_man" != no; then
fi
AM_CONDITIONAL(ENABLE_MAN, test "$enable_man" != no)
GNOME_COMPILE_WARNINGS([error])
AX_COMPILER_FLAGS()
case "$WARN_CFLAGS" in
*-Werror*)
WARN_CFLAGS="$WARN_CFLAGS -Wno-error=deprecated-declarations"
@ -269,7 +270,7 @@ Build configuration:
Prefix: ${prefix}
Source code location: ${srcdir}
Compiler: ${CC}
Compiler Warnings: $enable_compile_warnings
Compiler Warnings: $ax_enable_compile_warnings
Support for NetworkManager: $have_networkmanager
Support for GStreamer recording: $build_recorder

View File

@ -2,7 +2,7 @@ CLEANFILES =
NULL =
desktopdir=$(datadir)/applications
desktop_DATA = gnome-shell.desktop gnome-shell-wayland.desktop gnome-shell-extension-prefs.desktop
desktop_DATA = org.gnome.Shell.desktop gnome-shell-extension-prefs.desktop
if HAVE_NETWORKMANAGER
desktop_DATA += org.gnome.Shell.PortalHelper.desktop
@ -104,8 +104,7 @@ convertdir = $(datadir)/GConf/gsettings
convert_DATA = gnome-shell-overrides.convert
EXTRA_DIST = \
gnome-shell.desktop.in.in \
gnome-shell-wayland.desktop.in.in \
org.gnome.Shell.desktop.in.in \
gnome-shell-extension-prefs.desktop.in.in \
$(introspection_DATA) \
$(menu_DATA) \
@ -121,8 +120,7 @@ EXTRA_DIST = \
$(NULL)
CLEANFILES += \
gnome-shell.desktop.in \
gnome-shell-wayland.desktop.in \
org.gnome.Shell.desktop.in \
gnome-shell-extension-prefs.in \
$(desktop_DATA) \
$(keys_DATA) \

View File

@ -1,15 +0,0 @@
[Desktop Entry]
Type=Application
_Name=GNOME Shell (wayland compositor)
_Comment=Window management and application launching
Exec=@bindir@/gnome-shell --wayland --display-server
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=gnome-shell
X-GNOME-Bugzilla-Component=general
X-GNOME-Bugzilla-Version=@VERSION@
Categories=GNOME;GTK;Core;
OnlyShowIn=GNOME;
NoDisplay=true
X-GNOME-Autostart-Phase=DisplayServer
X-GNOME-Autostart-Notify=true
X-GNOME-AutoRestart=false

View File

@ -10,7 +10,7 @@ X-GNOME-Bugzilla-Version=@VERSION@
Categories=GNOME;GTK;Core;
OnlyShowIn=GNOME;
NoDisplay=true
X-GNOME-Autostart-Phase=WindowManager
X-GNOME-Autostart-Phase=DisplayServer
X-GNOME-Provides=panel;windowmanager;
X-GNOME-Autostart-Notify=true
X-GNOME-AutoRestart=false

View File

@ -72,6 +72,16 @@
This key sets the default state of the checkbox.
</_description>
</key>
<key name="had-bluetooth-devices-setup" type="b">
<default>false</default>
<_summary>Whether the default Bluetooth adapter had set up devices associated to it</_summary>
<_description>
The shell will only show a Bluetooth menu item if a Bluetooth
adapter is powered, or if there were devices set up associated
with the default adapter. This will be reset if the default
adapter is ever seen not to have devices associated to it.
</_description>
</key>
<child name="calendar" schema="org.gnome.shell.calendar"/>
<child name="keybindings" schema="org.gnome.shell.keybindings"/>
<child name="keyboard" schema="org.gnome.shell.keyboard"/>

View File

@ -408,9 +408,9 @@ StScrollBar {
spacing-rows: 15px;
spacing-columns: 1em; }
/* Popvers/Menus */
/* Popovers/Menus */
.popup-menu {
min-width: 200px; }
min-width: 15em; }
.popup-menu .popup-sub-menu {
background-color: black;
box-shadow: inset 0 -1px 0px #0d0d0d; }
@ -625,6 +625,8 @@ StScrollBar {
#panel .panel-status-indicators-box,
#panel .panel-status-menu-box {
spacing: 2px; }
#panel .power-status.panel-status-indicators-box {
spacing: 0; }
#panel .screencast-indicator {
color: #f57900; }
@ -752,7 +754,7 @@ StScrollBar {
/* Message list */
.message-list {
width: 420px; }
width: 31.5em; }
.message-list-sections {
spacing: 1.5em; }
@ -823,7 +825,7 @@ StScrollBar {
color: transparent; }
.aggregate-menu {
width: 360px; }
min-width: 21em; }
.aggregate-menu .popup-menu-icon {
padding: 0 4px; }
@ -960,10 +962,14 @@ StScrollBar {
.search-entry {
width: 320px;
padding: 7px 9px;
border-radius: 6px; }
border-radius: 6px;
border-color: #747467;
color: #eeeeec;
background-color: #2e3436; }
.search-entry:focus {
padding: 6px 8px;
border-width: 2px; }
border-width: 2px;
border-color: #215d9c; }
.search-entry .search-entry-icon {
icon-size: 1em;
padding: 0 4px;

View File

@ -408,9 +408,9 @@ StScrollBar {
spacing-rows: 15px;
spacing-columns: 1em; }
/* Popvers/Menus */
/* Popovers/Menus */
.popup-menu {
min-width: 200px; }
min-width: 15em; }
.popup-menu .popup-sub-menu {
background-color: #343a3a;
box-shadow: inset 0 -1px 0px #282c2c; }
@ -625,6 +625,8 @@ StScrollBar {
#panel .panel-status-indicators-box,
#panel .panel-status-menu-box {
spacing: 2px; }
#panel .power-status.panel-status-indicators-box {
spacing: 0; }
#panel .screencast-indicator {
color: #f57900; }
@ -752,7 +754,7 @@ StScrollBar {
/* Message list */
.message-list {
width: 420px; }
width: 31.5em; }
.message-list-sections {
spacing: 1.5em; }
@ -823,7 +825,7 @@ StScrollBar {
color: transparent; }
.aggregate-menu {
width: 280px; }
min-width: 21em; }
.aggregate-menu .popup-menu-icon {
padding: 0 4px; }
@ -960,10 +962,14 @@ StScrollBar {
.search-entry {
width: 320px;
padding: 7px 9px;
border-radius: 6px; }
border-radius: 6px;
border-color: #747467;
color: #eeeeec;
background-color: #2e3436; }
.search-entry:focus {
padding: 6px 8px;
border-width: 2px; }
border-width: 2px;
border-color: #215d9c; }
.search-entry .search-entry-icon {
icon-size: 1em;
padding: 0 4px;

View File

@ -16,6 +16,34 @@
* along with this program; if not, see <http://www.gnu.org/licenses/>.
*/
/*
* In order for transformation animations to look good, they need to be
* incremental and have some order to them (e.g., fade out hidden items,
* then shrink to close the void left over). Chaining animations in this way can
* be error-prone and wordy using just Tweener callbacks.
*
* The classes in this file help with this:
*
* - Task. encapsulates schedulable work to be run in a specific scope.
*
* - ConsecutiveBatch. runs a series of tasks in order and completes
* when the last in the series finishes.
*
* - ConcurrentBatch. runs a set of tasks at the same time and completes
* when the last to finish completes.
*
* - Hold. prevents a batch from completing the pending task until
* the hold is released.
*
* The tasks associated with a batch are specified in a list at batch
* construction time as either task objects or plain functions.
* Batches are task objects, themselves, so they can be nested.
*
* These classes aren't specific to GDM, but were found to be unintuitive and so
* are not used elsewhere. These APIs may ultimately get dropped entirely and
* replaced by something else.
*/
const Lang = imports.lang;
const Signals = imports.signals;

View File

@ -96,7 +96,7 @@ const UserListItem = new Lang.Class({
},
_onDestroy: function() {
this._user.disconnect(this._userChangedId);
this.user.disconnect(this._userChangedId);
},
_onClicked: function() {
@ -924,11 +924,7 @@ const LoginDialog = new Lang.Class({
},
onUpdateScope: this,
onComplete: function() {
let id = Mainloop.idle_add(Lang.bind(this, function() {
this._greeter.call_start_session_when_ready_sync(serviceName, true, null);
return GLib.SOURCE_REMOVE;
}));
GLib.Source.set_name_by_id(id, '[gnome-shell] this._greeter.call_start_session_when_ready_sync');
this._greeter.call_start_session_when_ready_sync(serviceName, true, null);
},
onCompleteScope: this });
},

View File

@ -448,8 +448,6 @@ const AppSwitcher = new Lang.Class({
});
if (appIcon.cachedWindows.length > 0)
this._addIcon(appIcon);
else if (workspace == null)
throw new Error('%s appears to be running, but doesn\'t have any windows'.format(appIcon.app.get_name()));
}
this._curApp = -1;

View File

@ -7,7 +7,7 @@ const St = imports.gi.St;
const Signals = imports.signals;
const Atk = imports.gi.Atk;
const ANIMATED_ICON_UPDATE_TIMEOUT = 14;
const ANIMATED_ICON_UPDATE_TIMEOUT = 16;
const Animation = new Lang.Class({
Name: 'Animation',
@ -33,7 +33,7 @@ const Animation = new Lang.Class({
if (this._frame == 0)
this._showFrame(0);
this._timeoutId = Mainloop.timeout_add(this._speed, Lang.bind(this, this._update));
this._timeoutId = GLib.timeout_add(GLib.PRIORITY_LOW, this._speed, Lang.bind(this, this._update));
GLib.Source.set_name_by_id(this._timeoutId, '[gnome-shell] this._update');
}

View File

@ -26,6 +26,7 @@ const RENAMED_DESKTOP_IDS = {
'gnome-photos.desktop': 'org.gnome.Photos.desktop',
'gnome-screenshot.desktop': 'org.gnome.Screenshot.desktop',
'gnome-software.desktop': 'org.gnome.Software.desktop',
'gnome-terminal.desktop': 'org.gnome.Terminal.desktop',
'gnome-weather.desktop': 'org.gnome.Weather.Application.desktop',
'gnomine.desktop': 'gnome-mines.desktop',
'gnotravex.desktop': 'gnome-tetravex.desktop',

View File

@ -725,7 +725,7 @@ const Calendar = new Lang.Class({
// nRows here means 6 weeks + one header + one navbar
let nRows = 8;
while (row < 8) {
let button = new St.Button({ label: iter.getDate().toString(),
let button = new St.Button({ label: iter.toLocaleFormat(C_("date day number format", "%d")),
can_focus: true });
let rtl = button.get_text_direction() == Clutter.TextDirection.RTL;
@ -1230,7 +1230,7 @@ const NotificationMessage = new Lang.Class({
this._closed = true;
this.notification.destroy(MessageTray.NotificationDestroyedReason.DISMISSED);
}));
notification.connect('destroy', Lang.bind(this,
this._destroyId = notification.connect('destroy', Lang.bind(this,
function() {
if (!this._closed)
this.close();
@ -1262,6 +1262,10 @@ const NotificationMessage = new Lang.Class({
if (this._updatedId)
this.notification.disconnect(this._updatedId);
this._updatedId = 0;
if (this._destroyId)
this.notification.disconnect(this._destroyId);
this._destroyId = 0;
}
});

View File

@ -313,6 +313,10 @@ const AutorunSource = new Lang.Class({
getIcon: function() {
return this.mount.get_icon();
},
_createPolicy: function() {
return new MessageTray.NotificationApplicationPolicy('org.gnome.Nautilus');
}
});
@ -325,9 +329,6 @@ const AutorunNotification = new Lang.Class({
this._manager = manager;
this._mount = source.mount;
// set the notification to urgent, so that it expands out
this.setUrgency(MessageTray.Urgency.CRITICAL);
},
createBanner: function() {

View File

@ -644,15 +644,14 @@ const Dash = new Lang.Class({
let firstIcon = firstButton._delegate.icon;
let minHeight, natHeight;
let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor;
// Enforce the current icon size during the size request
firstIcon.setIconSize(this.iconSize);
firstIcon.icon.ensure_style();
let [currentWidth, currentHeight] = firstIcon.icon.get_size();
firstIcon.icon.set_size(this.iconSize * scaleFactor, this.iconSize * scaleFactor);
[minHeight, natHeight] = firstButton.get_preferred_height(-1);
let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor;
let iconSizes = baseIconSizes.map(function(s) {
return s * scaleFactor;
});
firstIcon.icon.set_size(currentWidth, currentHeight);
// Subtract icon padding and box spacing from the available height
availHeight -= iconChildren.length * (natHeight - this.iconSize * scaleFactor) +
@ -660,6 +659,10 @@ const Dash = new Lang.Class({
let availSize = availHeight / iconChildren.length;
let iconSizes = baseIconSizes.map(function(s) {
return s * scaleFactor;
});
let newIconSize = baseIconSizes[0];
for (let i = 0; i < iconSizes.length; i++) {
if (iconSizes[i] < availSize)

View File

@ -78,6 +78,7 @@ let _startDate;
let _defaultCssStylesheet = null;
let _cssStylesheet = null;
let _a11ySettings = null;
let _themeResource = null;
function _sessionUpdated() {
if (sessionMode.isPrimary)
@ -137,9 +138,7 @@ function _initializeUI() {
Shell.WindowTracker.get_default();
Shell.AppUsage.get_default();
let resource = Gio.Resource.load(global.datadir + '/gnome-shell-theme.gresource');
resource._register();
reloadThemeResource();
_loadDefaultStylesheet();
// Setup the stage hierarchy early
@ -290,6 +289,14 @@ function setThemeStylesheet(cssStylesheet) {
_cssStylesheet = cssStylesheet ? Gio.File.new_for_path(cssStylesheet) : null;
}
function reloadThemeResource() {
if (_themeResource)
_themeResource._unregister();
_themeResource = Gio.Resource.load(global.datadir + '/gnome-shell-theme.gresource');
_themeResource._register();
}
/**
* loadTheme:
*

View File

@ -95,6 +95,7 @@ const AppMenuButton = new Lang.Class({
this._startingApps = [];
this._menuManager = panel.menuManager;
this._gtkSettings = Gtk.Settings.get_default();
this._targetApp = null;
this._appMenuNotifyId = 0;
this._actionGroupNotifyId = 0;
@ -123,11 +124,14 @@ const AppMenuButton = new Lang.Class({
this._arrow = PopupMenu.arrowIcon(St.Side.BOTTOM);
this._container.add_actor(this._arrow);
this._visible = !Main.overview.visible;
this._visible = this._gtkSettings.gtk_shell_shows_app_menu &&
!Main.overview.visible;
if (!this._visible)
this.actor.hide();
this._overviewHidingId = Main.overview.connect('hiding', Lang.bind(this, this._sync));
this._overviewShowingId = Main.overview.connect('showing', Lang.bind(this, this._sync));
this._showsAppMenuId = this._gtkSettings.connect('notify::gtk-shell-shows-app-menu',
Lang.bind(this, this._sync));
this._stop = true;
@ -305,7 +309,9 @@ const AppMenuButton = new Lang.Class({
}
}
let visible = (this._targetApp != null && !Main.overview.visibleTarget);
let visible = (this._targetApp != null &&
this._gtkSettings.gtk_shell_shows_app_menu &&
!Main.overview.visibleTarget);
if (visible)
this.show();
else
@ -378,6 +384,10 @@ const AppMenuButton = new Lang.Class({
Main.overview.disconnect(this._overviewShowingId);
this._overviewShowingId = 0;
}
if (this._showsAppMenuId > 0) {
this._gtkSettings.disconnect(this._showsAppMenuId);
this._showsAppMenuId = 0;
}
if (this._switchWorkspaceNotifyId > 0) {
global.window_manager.disconnect(this._switchWorkspaceNotifyId);
this._switchWorkspaceNotifyId = 0;
@ -449,7 +459,8 @@ const ActivitiesButton = new Lang.Class({
if (event.type() == Clutter.EventType.TOUCH_END ||
event.type() == Clutter.EventType.BUTTON_RELEASE)
Main.overview.toggle();
if (Main.overview.shouldToggleByCornerOrButton())
Main.overview.toggle();
return Clutter.EVENT_PROPAGATE;
},
@ -457,7 +468,8 @@ const ActivitiesButton = new Lang.Class({
_onKeyRelease: function(actor, event) {
let symbol = event.get_key_symbol();
if (symbol == Clutter.KEY_Return || symbol == Clutter.KEY_space) {
Main.overview.toggle();
if (Main.overview.shouldToggleByCornerOrButton())
Main.overview.toggle();
}
return Clutter.EVENT_PROPAGATE;
},
@ -642,14 +654,50 @@ const PanelCorner = new Lang.Class({
}
});
const AggregateLayout = new Lang.Class({
Name: 'AggregateLayout',
Extends: Clutter.BoxLayout,
_init: function(params) {
if (!params)
params = {};
params['orientation'] = Clutter.Orientation.VERTICAL;
this.parent(params);
this._sizeChildren = [];
},
addSizeChild: function(actor) {
this._sizeChildren.push(actor);
this.layout_changed();
},
vfunc_get_preferred_width: function(container, forHeight) {
let themeNode = container.get_theme_node();
let minWidth = themeNode.get_min_width();
let natWidth = minWidth;
for (let i = 0; i < this._sizeChildren.length; i++) {
let child = this._sizeChildren[i];
let [childMin, childNat] = child.get_preferred_width(forHeight);
minWidth = Math.max(minWidth, childMin);
natWidth = Math.max(minWidth, childNat);
}
return [minWidth, natWidth];
}
});
const AggregateMenu = new Lang.Class({
Name: 'AggregateMenu',
Extends: PanelMenu.Button,
_init: function() {
this.parent(0.0, _("Settings"), false);
this.parent(0.0, C_("System menu in the top bar", "System"), false);
this.menu.actor.add_style_class_name('aggregate-menu');
let menuLayout = new AggregateLayout();
this.menu.box.set_layout_manager(menuLayout);
this._indicators = new St.BoxLayout({ style_class: 'panel-status-indicators-box' });
this.actor.add_child(this._indicators);
@ -698,6 +746,11 @@ const AggregateMenu = new Lang.Class({
this.menu.addMenuItem(this._rfkill.menu);
this.menu.addMenuItem(this._power.menu);
this.menu.addMenuItem(this._system.menu);
menuLayout.addSizeChild(this._location.menu.actor);
menuLayout.addSizeChild(this._rfkill.menu.actor);
menuLayout.addSizeChild(this._power.menu.actor);
menuLayout.addSizeChild(this._system.menu.actor);
},
});

View File

@ -396,6 +396,7 @@ const PopupImageMenuItem = new Lang.Class({
this.actor.add_child(this.label);
this._icon = new St.Icon({ style_class: 'popup-menu-icon' });
this.actor.add_child(this._icon, { align: St.Align.END });
this.actor.label_actor = this.label;
this.setIcon(iconName);
},

View File

@ -61,6 +61,7 @@ const RunDialog = new Lang.Class({
// rt is short for "reload theme"
'rt': Lang.bind(this, function() {
Main.reloadThemeResource();
Main.loadTheme();
})
};

View File

@ -1,11 +1,8 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
const Clutter = imports.gi.Clutter;
const GLib = imports.gi.GLib;
const Gio = imports.gi.Gio;
const GnomeBluetooth = imports.gi.GnomeBluetooth;
const Lang = imports.lang;
const St = imports.gi.St;
const Main = imports.ui.main;
const PanelMenu = imports.ui.panelMenu;
@ -23,6 +20,8 @@ const RfkillManagerInterface = '<node> \
const RfkillManagerProxy = Gio.DBusProxy.makeProxyWrapper(RfkillManagerInterface);
const HAD_BLUETOOTH_DEVICES_SETUP = 'had-bluetooth-devices-setup';
const Indicator = new Lang.Class({
Name: 'BTIndicator',
Extends: PanelMenu.SystemIndicator,
@ -32,6 +31,7 @@ const Indicator = new Lang.Class({
this._indicator = this._addIndicator();
this._indicator.icon_name = 'bluetooth-active-symbolic';
this._hadSetupDevices = global.settings.get_boolean(HAD_BLUETOOTH_DEVICES_SETUP);
this._proxy = new RfkillManagerProxy(Gio.DBus.session, BUS_NAME, OBJECT_PATH,
Lang.bind(this, function(proxy, error) {
@ -44,13 +44,15 @@ const Indicator = new Lang.Class({
}));
this._proxy.connect('g-properties-changed', Lang.bind(this, this._sync));
// The Bluetooth menu only appears when Bluetooth is in use,
// so just statically build it with a "Turn Off" menu item.
this._item = new PopupMenu.PopupSubMenuMenuItem('', true);
this._item = new PopupMenu.PopupSubMenuMenuItem(_("Bluetooth"), true);
this._item.icon.icon_name = 'bluetooth-active-symbolic';
this._item.menu.addAction(_("Turn Off"), Lang.bind(this, function() {
this._proxy.BluetoothAirplaneMode = true;
this._toggleItem = new PopupMenu.PopupMenuItem('');
this._toggleItem.connect('activate', Lang.bind(this, function() {
this._proxy.BluetoothAirplaneMode = !this._proxy.BluetoothAirplaneMode;
}));
this._item.menu.addMenuItem(this._toggleItem);
this._item.menu.addSettingsAction(_("Bluetooth Settings"), 'gnome-bluetooth-panel.desktop');
this.menu.addMenuItem(this._item);
@ -68,42 +70,75 @@ const Indicator = new Lang.Class({
while (ret) {
let isDefault = this._model.get_value(iter,
GnomeBluetooth.Column.DEFAULT);
if (isDefault)
let isPowered = this._model.get_value(iter,
GnomeBluetooth.Column.POWERED);
if (isDefault && isPowered)
return iter;
ret = this._model.iter_next(iter);
}
return null;
},
_getNConnectedDevices: function() {
// nDevices is the number of devices setup for the current default
// adapter if one exists and is powered. If unpowered or unavailable,
// nDevice is "1" if it had setup devices associated to it the last
// time it was seen, and "-1" if not.
//
// nConnectedDevices is the number of devices connected to the default
// adapter if one exists and is powered, or -1 if it's not available.
_getNDevices: function() {
let adapter = this._getDefaultAdapter();
if (!adapter)
return 0;
return [ this._hadSetupDevices ? 1 : -1, -1 ];
let nConnectedDevices = 0;
let nDevices = 0;
let [ret, iter] = this._model.iter_children(adapter);
while (ret) {
let isConnected = this._model.get_value(iter,
GnomeBluetooth.Column.CONNECTED);
if (isConnected)
nConnectedDevices++;
let isPaired = this._model.get_value(iter,
GnomeBluetooth.Column.PAIRED);
let isTrusted = this._model.get_value(iter,
GnomeBluetooth.Column.TRUSTED);
if (isPaired || isTrusted)
nDevices++;
ret = this._model.iter_next(iter);
}
return nDevices;
if (this._hadSetupDevices != (nDevices > 0)) {
this._hadSetupDevices = !this._hadSetupDevices;
global.settings.set_boolean(HAD_BLUETOOTH_DEVICES_SETUP, this._hadSetupDevices);
}
return [ nDevices, nConnectedDevices];
},
_sync: function() {
let nDevices = this._getNConnectedDevices();
let [ nDevices, nConnectedDevices ] = this._getNDevices();
let sensitive = !Main.sessionMode.isLocked && !Main.sessionMode.isGreeter;
this.menu.setSensitive(sensitive);
this._indicator.visible = nDevices > 0;
this._item.actor.visible = this._proxy.BluetoothHasAirplaneMode && !this._proxy.BluetoothAirplaneMode;
this._indicator.visible = nConnectedDevices > 0;
// Remember if there were setup devices and show the menu
// if we've seen setup devices and we're not hard blocked
if (nDevices > 0)
this._item.actor.visible = !this._proxy.BluetoothHardwareAirplaneMode;
else
this._item.actor.visible = this._proxy.BluetoothHasAirplaneMode && !this._proxy.BluetoothAirplaneMode;
if (nConnectedDevices > 0)
/* Translators: this is the number of connected bluetooth devices */
this._item.label.text = ngettext("%d Connected", "%d Connected", nDevices).format(nDevices);
this._item.label.text = ngettext("%d Connected", "%d Connected", nConnectedDevices).format(nConnectedDevices);
else if (nConnectedDevices == -1)
this._item.label.text = _("Off");
else
this._item.label.text = _("Not In Use");
this._toggleItem.label.text = this._proxy.BluetoothAirplaneMode ? _("Turn On") : _("Turn Off");
},
});

View File

@ -1,6 +1,8 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
const Gio = imports.gi.Gio;
const Clutter = imports.gi.Clutter;
const St = imports.gi.St;
const Lang = imports.lang;
const UPower = imports.gi.UPowerGlib;
@ -25,6 +27,8 @@ const DisplayDeviceInterface = '<node> \
const PowerManagerProxy = Gio.DBusProxy.makeProxyWrapper(DisplayDeviceInterface);
const SHOW_BATTERY_PERCENTAGE = 'show-battery-percentage';
const Indicator = new Lang.Class({
Name: 'PowerIndicator',
Extends: PanelMenu.SystemIndicator,
@ -32,7 +36,15 @@ const Indicator = new Lang.Class({
_init: function() {
this.parent();
this._desktopSettings = new Gio.Settings({ schema_id: 'org.gnome.desktop.interface' });
this._desktopSettings.connect('changed::' + SHOW_BATTERY_PERCENTAGE,
Lang.bind(this, this._sync));
this._indicator = this._addIndicator();
this._percentageLabel = new St.Label({ y_expand: true,
y_align: Clutter.ActorAlign.CENTER });
this.indicators.add(this._percentageLabel, { expand: true, y_fill: true });
this.indicators.add_style_class_name('power-status');
this._proxy = new PowerManagerProxy(Gio.DBus.system, BUS_NAME, OBJECT_PATH,
Lang.bind(this, function(proxy, error) {
@ -83,12 +95,12 @@ const Indicator = new Lang.Class({
if (this._proxy.State == UPower.DeviceState.DISCHARGING) {
// Translators: this is <hours>:<minutes> Remaining (<percentage>)
return _("%d\u2236%02d Remaining (%d%%)").format(hours, minutes, this._proxy.Percentage);
return _("%d\u2236%02d Remaining (%d\u2009%%)").format(hours, minutes, this._proxy.Percentage);
}
if (this._proxy.State == UPower.DeviceState.CHARGING) {
// Translators: this is <hours>:<minutes> Until Full (<percentage>)
return _("%d\u2236%02d Until Full (%d%%)").format(hours, minutes, this._proxy.Percentage);
return _("%d\u2236%02d Until Full (%d\u2009%%)").format(hours, minutes, this._proxy.Percentage);
}
return null;
@ -99,10 +111,12 @@ const Indicator = new Lang.Class({
let visible = this._proxy.IsPresent;
if (visible) {
this._item.actor.show();
this._percentageLabel.visible = this._desktopSettings.get_boolean(SHOW_BATTERY_PERCENTAGE);
} else {
// If there's no battery, then we use the power icon.
this._item.actor.hide();
this._indicator.icon_name = 'system-shutdown-symbolic';
this._percentageLabel.hide();
return;
}
@ -111,6 +125,14 @@ const Indicator = new Lang.Class({
this._indicator.icon_name = icon;
this._item.icon.icon_name = icon;
// The icon label
let label
if (this._proxy.State == UPower.DeviceState.FULLY_CHARGED)
label = _("%d\u2009%%").format(100);
else
label = _("%d\u2009%%").format(this._proxy.Percentage);
this._percentageLabel.clutter_text.set_markup('<span size="smaller">' + label + '</span>');
// The status label
this._item.label.text = this._getStatus();
},

View File

@ -677,6 +677,7 @@ const WindowManager = new Lang.Class({
this._minimizing = [];
this._unminimizing = [];
this._mapping = [];
this._resizing = [];
this._destroying = [];
this._movingWindow = null;
@ -692,6 +693,7 @@ const WindowManager = new Lang.Class({
this._minimizeWindowDone(shellwm, actor);
this._mapWindowDone(shellwm, actor);
this._destroyWindowDone(shellwm, actor);
this._sizeChangeWindowDone(shellwm, actor);
}));
this._shellwm.connect('switch-workspace', Lang.bind(this, this._switchWorkspace));
@ -1218,9 +1220,120 @@ const WindowManager = new Lang.Class({
},
_sizeChangeWindow : function(shellwm, actor, whichChange, oldFrameRect, oldBufferRect) {
let types = [Meta.WindowType.NORMAL];
if (!this._shouldAnimateActor(actor, types)) {
shellwm.completed_size_change(actor);
return;
}
if (whichChange == Meta.SizeChange.FULLSCREEN)
this._fullscreenWindow(shellwm, actor, oldFrameRect, oldBufferRect);
else if (whichChange == Meta.SizeChange.UNFULLSCREEN)
this._unfullscreenWindow(shellwm, actor, oldFrameRect, oldBufferRect);
else
shellwm.completed_size_change(actor);
},
_fullscreenWindow: function(shellwm, actor, oldFrameRect, oldBufferRect) {
let monitor = Main.layoutManager.monitors[actor.meta_window.get_monitor()];
actor.translation_x = oldFrameRect.x - monitor.x;
actor.translation_y = oldFrameRect.y - monitor.y;
this._fullscreenAnimation(shellwm, actor, oldFrameRect);
},
_unfullscreenWindow: function(shellwm, actor, oldFrameRect, oldBufferRect) {
let targetRect = actor.meta_window.get_frame_rect();
let monitor = Main.layoutManager.monitors[actor.meta_window.get_monitor()];
actor.translation_x = -(targetRect.x - monitor.x);
actor.translation_y = -(targetRect.y - monitor.y);
this._fullscreenAnimation(shellwm, actor, oldFrameRect);
},
_fullscreenAnimation: function(shellwm, actor, oldFrameRect) {
this._resizing.push(actor);
// Position a clone of the window on top of the old position,
// while actor updates are frozen.
// Note that the MetaWindow has up to date sizing information for
// the new geometry already.
let targetRect = actor.meta_window.get_frame_rect();
let actorContent = Shell.util_get_content_for_window_actor(actor, oldFrameRect);
let actorClone = new St.Widget({ content: actorContent });
actorClone.set_offscreen_redirect(Clutter.OffscreenRedirect.ALWAYS);
actorClone.set_position(oldFrameRect.x, oldFrameRect.y);
actorClone.set_size(oldFrameRect.width, oldFrameRect.height);
Main.uiGroup.add_actor(actorClone);
actor.__fullscreenClone = actorClone;
let scaleX = targetRect.width / oldFrameRect.width;
let scaleY = targetRect.height / oldFrameRect.height;
// Now scale and fade out the clone
Tweener.addTween(actorClone,
{ x: targetRect.x,
y: targetRect.y,
scale_x: scaleX,
scale_y: scaleY,
opacity: 0,
time: WINDOW_ANIMATION_TIME,
transition: 'easeOutQuad'
});
// Now set scale the actor to size it as the clone.
// Note that the caller of this function already set a translation
// on the actor.
actor.scale_x = 1 / scaleX;
actor.scale_y = 1 / scaleY;
// Scale it to its actual new size
Tweener.addTween(actor,
{ scale_x: 1.0,
scale_y: 1.0,
translation_x: 0,
translation_y: 0,
time: WINDOW_ANIMATION_TIME,
transition: 'easeOutQuad',
onComplete: this._sizeChangeWindowDone,
onCompleteScope: this,
onCompleteParams: [shellwm, actor],
onOverwrite: this._sizeChangeWindowOverwritten,
onOverwriteScope: this,
onOverwriteParams: [shellwm, actor]
});
// Now unfreeze actor updates, to get it to the new size.
// It's important that we don't wait until the animation is completed to
// do this, otherwise our scale will be applied to the old texture size.
shellwm.completed_size_change(actor);
},
_sizeChangeWindowDone: function(shellwm, actor) {
if (this._removeEffect(this._resizing, actor)) {
Tweener.removeTweens(actor);
actor.scale_x = 1.0;
actor.scale_y = 1.0;
actor.translation_x = 0;
actor.translation_y = 0;
let actorClone = actor.__fullscreenClone;
if (actorClone) {
actorClone.destroy();
delete actor.__fullscreenClone;
}
}
},
_sizeChangeWindowOverwritten: function(shellwm, actor) {
if (this._removeEffect(this._resizing, actor)) {
let actorClone = actor.__fullscreenClone;
if (actorClone) {
actorClone.destroy();
delete actor.__fullscreenClone;
}
}
},
_hasAttachedDialogs: function(window, ignoreWindow) {
var count = 0;
window.foreach_transient(function(win) {

View File

@ -214,7 +214,7 @@ const WindowMenuManager = new Lang.Class({
menu.close();
});
this._sourceActor.set_size(rect.width, rect.height);
this._sourceActor.set_size(Math.max(1, rect.width), Math.max(1, rect.height));
this._sourceActor.set_position(rect.x, rect.y);
this._sourceActor.show();

View File

@ -140,7 +140,7 @@
<para>
<filename>/usr/share/gnome-session/sessions/gnome.session</filename>,
<filename>/usr/share/applications/gnome-shell.desktop</filename>.</para>
<filename>/usr/share/applications/org.gnome.Shell.desktop</filename>.</para>
</refsect1>
<refsect1>

View File

@ -24,6 +24,7 @@ fi
fr
fur
ga
gd
gl
gu
he

View File

@ -2,9 +2,8 @@
# Please keep this file sorted alphabetically.
[encoding: UTF-8]
data/50-gnome-shell-system.xml.in
data/gnome-shell.desktop.in.in
data/gnome-shell-extension-prefs.desktop.in.in
data/gnome-shell-wayland.desktop.in.in
data/org.gnome.Shell.desktop.in.in
data/org.gnome.shell.gschema.xml.in.in
data/org.gnome.Shell.PortalHelper.desktop.in
js/extensionPrefs/main.js

555
po/ar.po

File diff suppressed because it is too large Load Diff

270
po/cs.po
View File

@ -3,7 +3,7 @@
# This file is distributed under the same license as the gnome-shell package.
#
# Andre Klapper <ak-47@gmx.net>, 2009.
# Petr Kovar <pknbe@volny.cz>, 2009, 2010, 2011, 2012, 2014.
# Petr Kovar <pknbe@volny.cz>, 2009, 2010, 2011, 2012, 2014, 2015.
# Adam Matoušek <adamatousek@gmail.com>, 2012, 2013.
# Marek Černocký <marek@manet.cz>, 2012, 2013, 2014, 2015.
#
@ -12,8 +12,8 @@ msgstr ""
"Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2015-09-14 08:20+0000\n"
"PO-Revision-Date: 2015-09-14 16:03+0200\n"
"POT-Creation-Date: 2015-10-27 22:11+0000\n"
"PO-Revision-Date: 2015-10-28 10:56+0100\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <gnome-cs-list@gnome.org>\n"
"Language: cs\n"
@ -21,7 +21,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Gtranslator 2.91.6\n"
"X-Generator: Gtranslator 2.91.7\n"
"X-Project-Style: gnome\n"
#: ../data/50-gnome-shell-system.xml.in.h:1
@ -300,6 +300,7 @@ msgid "Network Login"
msgstr "Přihlášení do sítě"
#: ../js/extensionPrefs/main.js:122
#, javascript-format
msgid "There was an error loading the preferences dialog for %s:"
msgstr ""
"Nastala chyba při načítání dialogového okna předvoleb pro rozšíření %s:"
@ -318,7 +319,7 @@ msgstr "Zrušit"
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215
#: ../js/gdm/authPrompt.js:447
msgid "Next"
msgstr "Následující"
msgstr "Další"
#: ../js/gdm/authPrompt.js:211 ../js/ui/shellMountOperation.js:403
#: ../js/ui/unlockDialog.js:59
@ -334,20 +335,29 @@ msgstr "Přihlásit se"
msgid "Choose Session"
msgstr "Vybrat sezení"
#. translators: this message is shown below the user list on the
#. login screen. It can be activated to reveal an entry for
#. manually entering the username.
#: ../js/gdm/loginDialog.js:431
msgid "Not listed?"
msgstr "Nejste na seznamu?"
#. Translators: this message is shown below the username entry field
#. to clue the user in on how to login to the local network realm
#: ../js/gdm/loginDialog.js:850
#, javascript-format
msgid "(e.g., user or %s)"
msgstr "(např. uživatel nebo %s)"
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:855 ../js/ui/components/networkAgent.js:271
#: ../js/ui/components/networkAgent.js:289
msgid "Username: "
msgstr "Uživatelské jméno: "
#: ../js/gdm/loginDialog.js:1184
#: ../js/gdm/loginDialog.js:1180
msgid "Login Window"
msgstr "Přihlašovací okno"
@ -355,6 +365,11 @@ msgstr "Přihlašovací okno"
msgid "Authentication error"
msgstr "Chyba ověření"
#. We don't show fingerprint messages directly since it's
#. not the main auth service. Instead we use the messages
#. as a cue to display our own message.
#. Translators: this message is shown below the password entry field
#. to indicate the user can swipe their finger instead
#: ../js/gdm/util.js:473
msgid "(or swipe finger)"
msgstr "(nebo otiskněte prst)"
@ -363,78 +378,89 @@ msgstr "(nebo otiskněte prst)"
msgid "Command not found"
msgstr "Příkaz nenalezen"
#. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer
#: ../js/misc/util.js:152
msgid "Could not parse command:"
msgstr "Nelze analyzovat příkaz:"
#: ../js/misc/util.js:160
#, javascript-format
msgid "Execution of “%s” failed:"
msgstr "Vykonání „%s“ selhalo:"
#. Translators: Time in 24h format */
#. Translators: Time in 24h format
#: ../js/misc/util.js:191
msgid "%H%M"
msgstr "%k%M"
#. Translators: this is the word "Yesterday" followed by a
#. time string in 24h format. i.e. "Yesterday, 14:30" */
#. time string in 24h format. i.e. "Yesterday, 14:30"
#: ../js/misc/util.js:197
#, no-c-format
msgid "Yesterday, %H%M"
msgstr "včera, %k%M"
#. Translators: this is the week day name followed by a time
#. string in 24h format. i.e. "Monday, 14:30" */
#. string in 24h format. i.e. "Monday, 14:30"
#: ../js/misc/util.js:203
#, no-c-format
msgid "%A, %H%M"
msgstr "%A, %k%M"
#. Translators: this is the month name and day number
#. followed by a time string in 24h format.
#. i.e. "May 25, 14:30" */
#. i.e. "May 25, 14:30"
#: ../js/misc/util.js:209
#, no-c-format
msgid "%B %d, %H%M"
msgstr "%e. %B %k%M"
#. Translators: this is the month name, day number, year
#. number followed by a time string in 24h format.
#. i.e. "May 25 2012, 14:30" */
#. i.e. "May 25 2012, 14:30"
#: ../js/misc/util.js:215
#, no-c-format
msgid "%B %d %Y, %H%M"
msgstr "%e. %B %Y, %k%M"
#. Translators: Time in 12h format */
#. Translators: Time in 12h format
#: ../js/misc/util.js:220
msgid "%l%M %p"
msgstr "%l%M%p"
#. Translators: this is the word "Yesterday" followed by a
#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */
#. time string in 12h format. i.e. "Yesterday, 2:30 pm"
#: ../js/misc/util.js:226
#, no-c-format
msgid "Yesterday, %l%M %p"
msgstr "včera, %l%M%p"
#. Translators: this is the week day name followed by a time
#. string in 12h format. i.e. "Monday, 2:30 pm" */
#. string in 12h format. i.e. "Monday, 2:30 pm"
#: ../js/misc/util.js:232
#, no-c-format
msgid "%A, %l%M %p"
msgstr "%A, %l%M%p"
#. Translators: this is the month name and day number
#. followed by a time string in 12h format.
#. i.e. "May 25, 2:30 pm" */
#. i.e. "May 25, 2:30 pm"
#: ../js/misc/util.js:238
#, no-c-format
msgid "%B %d, %l%M %p"
msgstr "%e. %B, %l%M%p"
#. Translators: this is the month name, day number, year
#. number followed by a time string in 12h format.
#. i.e. "May 25 2012, 2:30 pm"*/
#. i.e. "May 25 2012, 2:30 pm"
#: ../js/misc/util.js:244
#, no-c-format
msgid "%B %d %Y, %l%M %p"
msgstr "%e. %B %Y, %l%M%p"
#. TRANSLATORS: this is the title of the wifi captive portal login
#. * window, until we know the title of the actual login page */
#. * window, until we know the title of the actual login page
#: ../js/portalHelper/main.js:85
msgid "Web Authentication Redirect"
msgstr "Přesměrováno na ověření přes web"
@ -468,10 +494,12 @@ msgid "Show Details"
msgstr "Zobrazit podrobnosti"
#: ../js/ui/appFavorites.js:132
#, javascript-format
msgid "%s has been added to your favorites."
msgstr "%s byl přidán mezi oblíbené."
#: ../js/ui/appFavorites.js:166
#, javascript-format
msgid "%s has been removed from your favorites."
msgstr "%s byl odstraněn z oblíbených."
@ -483,12 +511,11 @@ msgstr "Změnit pozadí…"
msgid "Display Settings"
msgstr "Nastavení displeje"
#: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650
#: ../js/ui/status/system.js:366
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
msgid "Settings"
msgstr "Nastavení"
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday). */
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday).
#: ../js/ui/calendar.js:55
msgctxt "calendar-no-work"
msgid "06"
@ -498,43 +525,43 @@ msgstr "06"
#. *
#. * NOTE: These grid abbreviations are always shown together
#. * and in order, e.g. "S M T W T F S".
#. */
#.
#: ../js/ui/calendar.js:84
msgctxt "grid sunday"
msgid "S"
msgstr "Ne"
#. Translators: Calendar grid abbreviation for Monday */
#. Translators: Calendar grid abbreviation for Monday
#: ../js/ui/calendar.js:86
msgctxt "grid monday"
msgid "M"
msgstr "Po"
#. Translators: Calendar grid abbreviation for Tuesday */
#. Translators: Calendar grid abbreviation for Tuesday
#: ../js/ui/calendar.js:88
msgctxt "grid tuesday"
msgid "T"
msgstr "Út"
#. Translators: Calendar grid abbreviation for Wednesday */
#. Translators: Calendar grid abbreviation for Wednesday
#: ../js/ui/calendar.js:90
msgctxt "grid wednesday"
msgid "W"
msgstr "St"
#. Translators: Calendar grid abbreviation for Thursday */
#. Translators: Calendar grid abbreviation for Thursday
#: ../js/ui/calendar.js:92
msgctxt "grid thursday"
msgid "T"
msgstr "Čt"
#. Translators: Calendar grid abbreviation for Friday */
#. Translators: Calendar grid abbreviation for Friday
#: ../js/ui/calendar.js:94
msgctxt "grid friday"
msgid "F"
msgstr "Pá"
#. Translators: Calendar grid abbreviation for Saturday */
#. Translators: Calendar grid abbreviation for Saturday
#: ../js/ui/calendar.js:96
msgctxt "grid saturday"
msgid "S"
@ -548,45 +575,51 @@ msgstr "Předchozí měsíc"
msgid "Next month"
msgstr "Následující měsíc"
#: ../js/ui/calendar.js:728
#, javascript-format
msgctxt "date day number format"
msgid "%d"
msgstr "%e"
#: ../js/ui/calendar.js:783
msgid "Week %V"
msgstr "Týden %V"
#. Translators: Shown in calendar event list for all day events
#. * Keep it short, best if you can use less then 10 characters
#. */
#.
#: ../js/ui/calendar.js:1188
msgctxt "event list time"
msgid "All Day"
msgstr "Celý den"
#: ../js/ui/calendar.js:1291
#: ../js/ui/calendar.js:1295
msgid "Clear section"
msgstr "Vymazat část"
#: ../js/ui/calendar.js:1518
#: ../js/ui/calendar.js:1522
msgid "Events"
msgstr "Události"
#: ../js/ui/calendar.js:1527
#: ../js/ui/calendar.js:1531
msgctxt "calendar heading"
msgid "%A, %B %d"
msgstr "%A, %e. %B"
#: ../js/ui/calendar.js:1531
#: ../js/ui/calendar.js:1535
msgctxt "calendar heading"
msgid "%A, %B %d, %Y"
msgstr "%A, %e. %B %Y"
#: ../js/ui/calendar.js:1616
#: ../js/ui/calendar.js:1620
msgid "Notifications"
msgstr "Upozornění"
#: ../js/ui/calendar.js:1767
#: ../js/ui/calendar.js:1771
msgid "No Notifications"
msgstr "Žádná upozornění"
#: ../js/ui/calendar.js:1770
#: ../js/ui/calendar.js:1774
msgid "No Events"
msgstr "Žádné události"
@ -598,7 +631,8 @@ msgstr "Externí svazek připojen"
msgid "External drive disconnected"
msgstr "Externí svazek odpojen"
#: ../js/ui/components/autorunManager.js:354
#: ../js/ui/components/autorunManager.js:351
#, javascript-format
msgid "Open with %s"
msgstr "Otevřít s %s"
@ -615,6 +649,7 @@ msgstr "Napište znovu:"
msgid "Connect"
msgstr "Připojit"
#. Cisco LEAP
#: ../js/ui/components/networkAgent.js:233
#: ../js/ui/components/networkAgent.js:245
#: ../js/ui/components/networkAgent.js:273
@ -623,6 +658,7 @@ msgstr "Připojit"
msgid "Password: "
msgstr "Heslo: "
#. static WEP
#: ../js/ui/components/networkAgent.js:238
msgid "Key: "
msgstr "Klíč: "
@ -646,6 +682,7 @@ msgstr "K bezdrátové síti je vyžadováno ověření"
#: ../js/ui/components/networkAgent.js:321
#: ../js/ui/components/networkAgent.js:659
#, javascript-format
msgid ""
"Passwords or encryption keys are required to access the wireless network "
"“%s”."
@ -690,6 +727,7 @@ msgstr "Heslo k mobilní širokopásmové síti"
#: ../js/ui/components/networkAgent.js:663
#: ../js/ui/components/networkAgent.js:667
#: ../js/ui/components/networkAgent.js:680
#, javascript-format
msgid "A password is required to connect to “%s”."
msgstr "Pro připojení k „%s“ je vyžadováno heslo."
@ -712,14 +750,15 @@ msgstr "Ověřit"
#. Translators: "that didn't work" refers to the fact that the
#. * requested authentication was not gained; this can happen
#. * because of an authentication error (like invalid password),
#. * for instance. */
#. * for instance.
#: ../js/ui/components/polkitAgent.js:301 ../js/ui/shellMountOperation.js:383
msgid "Sorry, that didn't work. Please try again."
msgstr "Ověření bohužel nebylo úspěšné. Zkuste to prosím znovu."
#. Translators: this is the other person changing their old IM name to their new
#. IM name. */
#. IM name.
#: ../js/ui/components/telepathyClient.js:759
#, javascript-format
msgid "%s is now known as %s"
msgstr "%s je teď znám jako %s"
@ -731,6 +770,8 @@ msgstr "Okna"
msgid "Show Applications"
msgstr "Zobrazit aplikace"
#. Translators: this is the name of the dock/favorites area on
#. the left of the overview
#: ../js/ui/dash.js:449
msgid "Dash"
msgstr "Oblíbené"
@ -738,7 +779,7 @@ msgstr "Oblíbené"
# Not sure whether we've enough space for it, but anyway, looks more aesthetically with "%A".
#. Translators: This is the date format to use when the calendar popup is
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
#. */
#.
#: ../js/ui/dateMenu.js:73
msgid "%B %e %Y"
msgstr "%e. %B, %Y"
@ -747,7 +788,7 @@ msgstr "%e. %B, %Y"
#. Translators: This is the accessible name of the date button shown
#. * below the time in the shell; it should combine the weekday and the
#. * date, e.g. "Tuesday February 17 2015".
#. */
#.
#: ../js/ui/dateMenu.js:80
msgid "%A %B %e %Y"
msgstr "%A, %e. %B, %Y"
@ -761,6 +802,7 @@ msgid "World Clocks"
msgstr "Světové hodiny"
#: ../js/ui/endSessionDialog.js:64
#, javascript-format
msgctxt "title"
msgid "Log Out %s"
msgstr "Odhlásit uživatele %s"
@ -771,6 +813,7 @@ msgid "Log Out"
msgstr "Odhlášení"
#: ../js/ui/endSessionDialog.js:67
#, javascript-format
msgid "%s will be logged out automatically in %d second."
msgid_plural "%s will be logged out automatically in %d seconds."
msgstr[0] "Uživatel %s bude automaticky odhlášen za %d sekundu."
@ -778,6 +821,7 @@ msgstr[1] "Uživatel %s bude automaticky odhlášen za %d sekundy."
msgstr[2] "Uživatel %s bude automaticky odhlášen za %d sekund."
#: ../js/ui/endSessionDialog.js:72
#, javascript-format
msgid "You will be logged out automatically in %d second."
msgid_plural "You will be logged out automatically in %d seconds."
msgstr[0] "Budete automaticky odhlášeni za %d sekundu."
@ -800,6 +844,7 @@ msgid "Install Updates & Power Off"
msgstr "Nainstalovat aktualizace a vypnout"
#: ../js/ui/endSessionDialog.js:87
#, javascript-format
msgid "The system will power off automatically in %d second."
msgid_plural "The system will power off automatically in %d seconds."
msgstr[0] "Systém bude automaticky vypnut za %d sekundu."
@ -827,6 +872,7 @@ msgid "Restart"
msgstr "Restart"
#: ../js/ui/endSessionDialog.js:105
#, javascript-format
msgid "The system will restart automatically in %d second."
msgid_plural "The system will restart automatically in %d seconds."
msgstr[0] "Systém bude automaticky restartován za %d sekundu."
@ -839,6 +885,7 @@ msgid "Restart & Install Updates"
msgstr "Restartovat a nainstalovat aktualizace"
#: ../js/ui/endSessionDialog.js:121
#, javascript-format
msgid "The system will automatically restart and install updates in %d second."
msgid_plural ""
"The system will automatically restart and install updates in %d seconds."
@ -880,13 +927,15 @@ msgstr "Některé aplikace jsou zaneprázdněny nebo obsahují neuloženou prác
msgid "Other users are logged in."
msgstr "Jsou přihlášeni jiní uživatelé."
#. Translators: Remote here refers to a remote session, like a ssh login */
#. Translators: Remote here refers to a remote session, like a ssh login
#: ../js/ui/endSessionDialog.js:640
#, javascript-format
msgid "%s (remote)"
msgstr "%s (vzdálený)"
#. Translators: Console here refers to a tty like a VT console */
#. Translators: Console here refers to a tty like a VT console
#: ../js/ui/endSessionDialog.js:643
#, javascript-format
msgid "%s (console)"
msgstr "%s (konzola)"
@ -895,6 +944,7 @@ msgid "Install"
msgstr "Instalovat"
#: ../js/ui/extensionDownloader.js:204
#, javascript-format
msgid "Download and install “%s” from extensions.gnome.org?"
msgstr "Stáhnout a nainstalovat „%s“ z extensions.gnome.org?"
@ -902,7 +952,7 @@ msgstr "Stáhnout a nainstalovat „%s“ z extensions.gnome.org?"
msgid "Keyboard"
msgstr "Klávesnice"
#. translators: 'Hide' is a verb */
#. translators: 'Hide' is a verb
#: ../js/ui/legacyTray.js:66
msgid "Hide tray"
msgstr "Skrýt pořadač"
@ -915,8 +965,9 @@ msgstr "Stavové ikony"
msgid "No extensions installed"
msgstr "Nejsou nainstalována žádná rozšíření"
#. Translators: argument is an extension UUID. */
#. Translators: argument is an extension UUID.
#: ../js/ui/lookingGlass.js:697
#, javascript-format
msgid "%s has not emitted any errors."
msgstr "Rozšíření %s nevyvolalo žádné chyby."
@ -934,7 +985,7 @@ msgstr "Povoleno"
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1830
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
msgid "Disabled"
msgstr "Zakázáno"
@ -973,48 +1024,59 @@ msgstr "Přehled"
#. Translators: this is the text displayed
#. in the search entry when no search is
#. active; it should not exceed ~30
#. characters. */
#. characters.
#: ../js/ui/overview.js:244
msgid "Type to search…"
msgstr "Vyhledávejte psaním…"
msgstr "vyhledávejte psaním…"
#: ../js/ui/panel.js:352
#: ../js/ui/panel.js:358
msgid "Quit"
msgstr "Ukončit"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview". */
#: ../js/ui/panel.js:404
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:414
msgid "Activities"
msgstr "Činnosti"
#: ../js/ui/panel.js:754
#: ../js/ui/panel.js:695
msgctxt "System menu in the top bar"
msgid "System"
msgstr "Systém"
#: ../js/ui/panel.js:807
msgid "Top Bar"
msgstr "Horní lišta"
#. 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:289
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
#: ../js/ui/runDialog.js:70
#: ../js/ui/runDialog.js:71
msgid "Enter a Command"
msgstr "Zadejte příkaz:"
#: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:162
#: ../js/ui/runDialog.js:111 ../js/ui/windowMenu.js:162
msgid "Close"
msgstr "Zavřít"
#: ../js/ui/runDialog.js:281
#: ../js/ui/runDialog.js:282
msgid "Restarting…"
msgstr "Restartuje se…"
#. Translators: This is a time format for a date in
#. long format */
#. long format
#: ../js/ui/screenShield.js:85
msgid "%A, %B %d"
msgstr "%A, %e. %B"
#: ../js/ui/screenShield.js:144
#, javascript-format
msgid "%d new message"
msgid_plural "%d new messages"
msgstr[0] "%d nová zpráva"
@ -1022,6 +1084,7 @@ msgstr[1] "%d nové zprávy"
msgstr[2] "%d nových zpráv"
#: ../js/ui/screenShield.js:146
#, javascript-format
msgid "%d new notification"
msgid_plural "%d new notifications"
msgstr[0] "%d nové upozornění"
@ -1036,6 +1099,13 @@ msgstr "Uzamknout"
msgid "GNOME needs to lock the screen"
msgstr "GNOME potřebuje uzamknout obrazovku"
#. We could not become modal, so we can't activate the
#. screenshield. The user is probably very upset at this
#. point, but any application using global grabs is broken
#. Just tell him to stop using this app
#.
#. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs
#: ../js/ui/screenShield.js:805 ../js/ui/screenShield.js:1271
msgid "Unable to lock"
msgstr "Nelze uzamknout obrazovku"
@ -1131,9 +1201,9 @@ msgstr "Vypnout"
msgid "Bluetooth Settings"
msgstr "Nastavení Bluetooth"
#. Translators: this is the number of connected bluetooth devices */
#. Translators: this is the number of connected bluetooth devices
#: ../js/ui/status/bluetooth.js:105
#| msgid "Connected"
#, javascript-format
msgid "%d Connected"
msgid_plural "%d Connected"
msgstr[0] "%d připojené"
@ -1153,7 +1223,6 @@ msgid "Show Keyboard Layout"
msgstr "Zobrazit rozložení klávesnice"
#: ../js/ui/status/location.js:71 ../js/ui/status/location.js:177
#| msgid "Location"
msgid "Location Enabled"
msgstr "Zjišťování polohy je povoleno"
@ -1166,12 +1235,10 @@ msgid "Privacy Settings"
msgstr "Nastavení ochrany osobních údajů"
#: ../js/ui/status/location.js:176
#| msgid "Location"
msgid "Location In Use"
msgstr "Zjišťování polohy se používá"
#: ../js/ui/status/location.js:180
#| msgid "Connection failed"
msgid "Location Disabled"
msgstr "Zjišťování polohy je zakázáno"
@ -1183,53 +1250,61 @@ msgstr "Povoleno"
msgid "<unknown>"
msgstr "<neznámé>"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:451 ../js/ui/status/network.js:1308
#, javascript-format
msgid "%s Off"
msgstr "%s je vypnuto"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:454
#, javascript-format
msgid "%s Connected"
msgstr "%s je připojeno"
#. Translators: this is for network devices that are physically present but are not
#. under NetworkManager's control (and thus cannot be used in the menu);
#. %s is a network identifier */
#. %s is a network identifier
#: ../js/ui/status/network.js:459
#, javascript-format
msgid "%s Unmanaged"
msgstr "%s není spravováno"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:462
#, javascript-format
msgid "%s Disconnecting"
msgstr "%s se odpojuje"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:469 ../js/ui/status/network.js:1300
#, javascript-format
msgid "%s Connecting"
msgstr "%s se připojuje"
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier */
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier
#: ../js/ui/status/network.js:472
#, javascript-format
msgid "%s Requires Authentication"
msgstr "%s požaduje ověření"
#. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing; %s is a network identifier */
#. module, which is missing; %s is a network identifier
#: ../js/ui/status/network.js:480
#, javascript-format
msgid "Firmware Missing For %s"
msgstr "Schází firmware pro %s"
#. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage; %s is a network identifier */
#. is disabled by rfkill, or it has no coverage; %s is a network identifier
#: ../js/ui/status/network.js:484
#, javascript-format
msgid "%s Unavailable"
msgstr "%s je nedostupné"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:487
#| msgid "Connection failed"
#, javascript-format
msgid "%s Connection Failed"
msgstr "%s selhalo připojení"
@ -1241,14 +1316,16 @@ msgstr "Nastavení připojení po drátu"
msgid "Mobile Broadband Settings"
msgstr "Nastavení mobilní širokopásmové sítě"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:588 ../js/ui/status/network.js:1305
#, javascript-format
msgid "%s Hardware Disabled"
msgstr "%s je hardwarově zakázáno"
#. Translators: this is for a network device that cannot be activated
#. because it's disabled by rfkill (airplane mode); %s is a network identifier */
#. because it's disabled by rfkill (airplane mode); %s is a network identifier
#: ../js/ui/status/network.js:592
#, javascript-format
msgid "%s Disabled"
msgstr "%s je zakázáno"
@ -1308,14 +1385,15 @@ msgstr "Nastavení WiFi"
msgid "Turn On"
msgstr "Zapnout"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:1296
#| msgid "Hotspot Active"
#, javascript-format
msgid "%s Hotspot Active"
msgstr "%s je aktivní přístupový bod"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:1311
#, javascript-format
msgid "%s Not Connected"
msgstr "%s není připojeno"
@ -1323,7 +1401,7 @@ msgstr "%s není připojeno"
msgid "connecting..."
msgstr "připojuje se…"
#. Translators: this is for network connections that require some kind of key or password */
#. Translators: this is for network connections that require some kind of key or password
#: ../js/ui/status/network.js:1414
msgid "authentication required"
msgstr "je požadováno ověření"
@ -1364,18 +1442,27 @@ msgstr "Nastavení napájení"
msgid "Fully Charged"
msgstr "Plně nabito"
#. 0 is reported when UPower does not have enough data
#. to estimate battery life
#: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78
msgid "Estimating…"
msgstr "Odhaduje se…"
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
#: ../js/ui/status/power.js:86
#, javascript-format
msgid "%d%02d Remaining (%d%%)"
msgstr "Zbývá %d%02d (%d%%)"
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
#: ../js/ui/status/power.js:91
#, javascript-format
msgid "%d%02d Until Full (%d%%)"
msgstr "%d%02d do nabití (%d%%)"
#. The menu only appears when airplane mode is on, so just
#. statically build it as if it was on, rather than dynamically
#. changing the menu contents.
#: ../js/ui/status/rfkill.js:88
msgid "Airplane Mode On"
msgstr "Režim „letadlo“ je zapnutý"
@ -1433,6 +1520,7 @@ msgid "Search"
msgstr "Hledat"
#: ../js/ui/windowAttentionHandler.js:20
#, javascript-format
msgid "“%s” is ready"
msgstr "Připraveno „%s“"
@ -1442,7 +1530,7 @@ msgstr "Chcete zachovat nastavení displeje?"
#. Translators: this and the following message should be limited in lenght,
#. to avoid ellipsizing the labels.
#. */
#.
#: ../js/ui/windowManager.js:82
msgid "Revert Settings"
msgstr "Obnovit původní"
@ -1452,6 +1540,7 @@ msgid "Keep Changes"
msgstr "Zachovat"
#: ../js/ui/windowManager.js:103
#, javascript-format
msgid "Settings changes will revert in %d second"
msgid_plural "Settings changes will revert in %d seconds"
msgstr[0] "Nastavení se obnoví na původní za %d sekundu"
@ -1459,8 +1548,9 @@ msgstr[1] "Nastavení se obnoví na původní za %d sekundy"
msgstr[2] "Nastavení se obnoví na původní za %d sekund"
#. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height. */
#. * the width of the window and the second is the height.
#: ../js/ui/windowManager.js:658
#, javascript-format
msgid "%d x %d"
msgstr "%d×%d"
@ -1534,7 +1624,7 @@ msgstr "Kalendář Evolution"
#. translators:
#. * The number of sound outputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1837
#: ../src/gvc/gvc-mixer-control.c:1835
#, c-format
msgid "%u Output"
msgid_plural "%u Outputs"
@ -1544,7 +1634,7 @@ msgstr[2] "%u výstupů"
#. translators:
#. * The number of sound inputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1847
#: ../src/gvc/gvc-mixer-control.c:1845
#, c-format
msgid "%u Input"
msgid_plural "%u Inputs"
@ -1552,44 +1642,44 @@ msgstr[0] "%u vstup"
msgstr[1] "%u vstupy"
msgstr[2] "%u vstupů"
#: ../src/gvc/gvc-mixer-control.c:2373
#: ../src/gvc/gvc-mixer-control.c:2371
msgid "System Sounds"
msgstr "Systémové zvuky"
#: ../src/main.c:373
#: ../src/main.c:381
msgid "Print version"
msgstr "Vypsat verzi"
#: ../src/main.c:379
#: ../src/main.c:387
msgid "Mode used by GDM for login screen"
msgstr "Režim použitý GDM pro přihlašovací obrazovku"
#: ../src/main.c:385
#: ../src/main.c:393
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
msgstr "Použít pro přihlašovací obrazovku zadaný režim, např. „gdm“."
#: ../src/main.c:391
#: ../src/main.c:399
msgid "List possible modes"
msgstr "Vypsat možné režimy"
#: ../src/shell-app.c:239
#: ../src/shell-app.c:246
msgctxt "program"
msgid "Unknown"
msgstr "Neznámé"
#: ../src/shell-app.c:480
#: ../src/shell-app.c:487
#, c-format
msgid "Failed to launch “%s”"
msgstr "Nelze spustit „%s“"
#: ../src/shell-keyring-prompt.c:742
#: ../src/shell-keyring-prompt.c:730
msgid "Passwords do not match."
msgstr "Hesla si neodpovídají."
#: ../src/shell-keyring-prompt.c:750
#: ../src/shell-keyring-prompt.c:738
msgid "Password cannot be blank"
msgstr "Heslo nemůže být prázdné."
#: ../src/shell-polkit-authentication-agent.c:346
#: ../src/shell-polkit-authentication-agent.c:353
msgid "Authentication dialog was dismissed by the user"
msgstr "Dialogové okno ověření bylo uživatelem zrušeno"

541
po/da.po

File diff suppressed because it is too large Load Diff

186
po/de.po
View File

@ -21,8 +21,8 @@ msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2015-09-03 14:04+0000\n"
"PO-Revision-Date: 2015-09-05 09:35+0100\n"
"POT-Creation-Date: 2015-10-01 20:41+0000\n"
"PO-Revision-Date: 2015-10-01 22:42+0200\n"
"Last-Translator: Christian Kirbach <christian.kirbach@gmail.com>\n"
"Language-Team: Deutsch <gnome-de@gnome.org>\n"
"Language: de_DE\n"
@ -30,7 +30,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 1.7.5\n"
"X-Generator: Poedit 1.8.4\n"
#: ../data/50-gnome-shell-system.xml.in.h:1
msgid "System"
@ -353,15 +353,23 @@ msgstr "Anmelden"
msgid "Choose Session"
msgstr "Sitzung wählen"
#. translators: this message is shown below the user list on the
#. login screen. It can be activated to reveal an entry for
#. manually entering the username.
#: ../js/gdm/loginDialog.js:431
msgid "Not listed?"
msgstr "Nicht aufgeführt?"
#. Translators: this message is shown below the username entry field
#. to clue the user in on how to login to the local network realm
#: ../js/gdm/loginDialog.js:850
#, javascript-format
msgid "(e.g., user or %s)"
msgstr "(z.B. Benutzer oder %s)"
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:855 ../js/ui/components/networkAgent.js:271
#: ../js/ui/components/networkAgent.js:289
msgid "Username: "
@ -375,6 +383,11 @@ msgstr "Anmeldefenster"
msgid "Authentication error"
msgstr "Anmeldung fehlgeschlagen"
#. We don't show fingerprint messages directly since it's
#. not the main auth service. Instead we use the messages
#. as a cue to display our own message.
#. Translators: this message is shown below the password entry field
#. to indicate the user can swipe their finger instead
#: ../js/gdm/util.js:473
msgid "(or swipe finger)"
msgstr "(oder benutzen Sie den Fingerabdruckleser)"
@ -383,6 +396,8 @@ msgstr "(oder benutzen Sie den Fingerabdruckleser)"
msgid "Command not found"
msgstr "Befehl nicht gefunden"
#. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer
#: ../js/misc/util.js:152
msgid "Could not parse command:"
msgstr "Befehl konnte nicht verarbeitet werden:"
@ -392,71 +407,79 @@ msgstr "Befehl konnte nicht verarbeitet werden:"
msgid "Execution of “%s” failed:"
msgstr "Ausführung von »%s« ist gescheitert:"
#. Translators: Time in 24h format */
#. Translators: Time in 24h format
#: ../js/misc/util.js:191
msgid "%H%M"
msgstr "%H%M"
#. Translators: this is the word "Yesterday" followed by a
#. time string in 24h format. i.e. "Yesterday, 14:30" */
#. time string in 24h format. i.e. "Yesterday, 14:30"
#: ../js/misc/util.js:197
#, no-c-format
msgid "Yesterday, %H%M"
msgstr "Gestern, %H:%M"
#. Translators: this is the week day name followed by a time
#. string in 24h format. i.e. "Monday, 14:30" */
#. string in 24h format. i.e. "Monday, 14:30"
#: ../js/misc/util.js:203
#, no-c-format
msgid "%A, %H%M"
msgstr "%A, %H%M"
#. Translators: this is the month name and day number
#. followed by a time string in 24h format.
#. i.e. "May 25, 14:30" */
#. i.e. "May 25, 14:30"
#: ../js/misc/util.js:209
#, no-c-format
msgid "%B %d, %H%M"
msgstr "%e. %B, %H%M"
#. Translators: this is the month name, day number, year
#. number followed by a time string in 24h format.
#. i.e. "May 25 2012, 14:30" */
#. i.e. "May 25 2012, 14:30"
#: ../js/misc/util.js:215
#, no-c-format
msgid "%B %d %Y, %H%M"
msgstr "%e. %B %Y, %H:%M"
# 24h Format
#. Translators: Time in 12h format */
#. Translators: Time in 12h format
#: ../js/misc/util.js:220
msgid "%l%M %p"
msgstr "%H%M"
#. Translators: this is the word "Yesterday" followed by a
#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */
#. time string in 12h format. i.e. "Yesterday, 2:30 pm"
#: ../js/misc/util.js:226
#, no-c-format
msgid "Yesterday, %l%M %p"
msgstr "Gestern, %H:%M"
#. Translators: this is the week day name followed by a time
#. string in 12h format. i.e. "Monday, 2:30 pm" */
#. string in 12h format. i.e. "Monday, 2:30 pm"
#: ../js/misc/util.js:232
#, no-c-format
msgid "%A, %l%M %p"
msgstr "%A, %H%M"
#. Translators: this is the month name and day number
#. followed by a time string in 12h format.
#. i.e. "May 25, 2:30 pm" */
#. i.e. "May 25, 2:30 pm"
#: ../js/misc/util.js:238
#, no-c-format
msgid "%B %d, %l%M %p"
msgstr "%e. %B, %H%M"
#. Translators: this is the month name, day number, year
#. number followed by a time string in 12h format.
#. i.e. "May 25 2012, 2:30 pm"*/
#. i.e. "May 25 2012, 2:30 pm"
#: ../js/misc/util.js:244
#, no-c-format
msgid "%B %d %Y, %l%M %p"
msgstr "%e. %B %Y, %H:%M"
#. TRANSLATORS: this is the title of the wifi captive portal login
#. * window, until we know the title of the actual login page */
#. * window, until we know the title of the actual login page
#: ../js/portalHelper/main.js:85
msgid "Web Authentication Redirect"
msgstr "Umleitung zu einer Internet-Anmeldung"
@ -507,12 +530,11 @@ msgstr "Hintergrund ändern …"
msgid "Display Settings"
msgstr "Anzeigeeinstellungen"
#: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650
#: ../js/ui/status/system.js:366
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
msgid "Settings"
msgstr "Einstellungen"
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday). */
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday).
#: ../js/ui/calendar.js:55
msgctxt "calendar-no-work"
msgid "06"
@ -522,43 +544,43 @@ msgstr "06"
#. *
#. * NOTE: These grid abbreviations are always shown together
#. * and in order, e.g. "S M T W T F S".
#. */
#.
#: ../js/ui/calendar.js:84
msgctxt "grid sunday"
msgid "S"
msgstr "S"
#. Translators: Calendar grid abbreviation for Monday */
#. Translators: Calendar grid abbreviation for Monday
#: ../js/ui/calendar.js:86
msgctxt "grid monday"
msgid "M"
msgstr "M"
#. Translators: Calendar grid abbreviation for Tuesday */
#. Translators: Calendar grid abbreviation for Tuesday
#: ../js/ui/calendar.js:88
msgctxt "grid tuesday"
msgid "T"
msgstr "D"
#. Translators: Calendar grid abbreviation for Wednesday */
#. Translators: Calendar grid abbreviation for Wednesday
#: ../js/ui/calendar.js:90
msgctxt "grid wednesday"
msgid "W"
msgstr "M"
#. Translators: Calendar grid abbreviation for Thursday */
#. Translators: Calendar grid abbreviation for Thursday
#: ../js/ui/calendar.js:92
msgctxt "grid thursday"
msgid "T"
msgstr "D"
#. Translators: Calendar grid abbreviation for Friday */
#. Translators: Calendar grid abbreviation for Friday
#: ../js/ui/calendar.js:94
msgctxt "grid friday"
msgid "F"
msgstr "F"
#. Translators: Calendar grid abbreviation for Saturday */
#. Translators: Calendar grid abbreviation for Saturday
#: ../js/ui/calendar.js:96
msgctxt "grid saturday"
msgid "S"
@ -578,39 +600,39 @@ msgstr "Woche %V"
#. Translators: Shown in calendar event list for all day events
#. * Keep it short, best if you can use less then 10 characters
#. */
#.
#: ../js/ui/calendar.js:1188
msgctxt "event list time"
msgid "All Day"
msgstr "Ganztägig"
#: ../js/ui/calendar.js:1291
#: ../js/ui/calendar.js:1295
msgid "Clear section"
msgstr "Abschnitt löschen"
#: ../js/ui/calendar.js:1518
#: ../js/ui/calendar.js:1522
msgid "Events"
msgstr "Termine"
#: ../js/ui/calendar.js:1527
#: ../js/ui/calendar.js:1531
msgctxt "calendar heading"
msgid "%A, %B %d"
msgstr "%A, %d. %B"
#: ../js/ui/calendar.js:1531
#: ../js/ui/calendar.js:1535
msgctxt "calendar heading"
msgid "%A, %B %d, %Y"
msgstr "%a, %d. %B %Y"
#: ../js/ui/calendar.js:1616
#: ../js/ui/calendar.js:1620
msgid "Notifications"
msgstr "Benachrichtigungen"
#: ../js/ui/calendar.js:1767
#: ../js/ui/calendar.js:1771
msgid "No Notifications"
msgstr "Keine Benachrichtigungen"
#: ../js/ui/calendar.js:1770
#: ../js/ui/calendar.js:1774
msgid "No Events"
msgstr "Keine Termine"
@ -640,6 +662,7 @@ msgstr "Erneut eingeben:"
msgid "Connect"
msgstr "Verbinden"
#. Cisco LEAP
#: ../js/ui/components/networkAgent.js:233
#: ../js/ui/components/networkAgent.js:245
#: ../js/ui/components/networkAgent.js:273
@ -648,6 +671,7 @@ msgstr "Verbinden"
msgid "Password: "
msgstr "Passwort:"
#. static WEP
#: ../js/ui/components/networkAgent.js:238
msgid "Key: "
msgstr "Schlüssel:"
@ -738,13 +762,13 @@ msgstr "Anmelden"
#. Translators: "that didn't work" refers to the fact that the
#. * requested authentication was not gained; this can happen
#. * because of an authentication error (like invalid password),
#. * for instance. */
#. * for instance.
#: ../js/ui/components/polkitAgent.js:301 ../js/ui/shellMountOperation.js:383
msgid "Sorry, that didn't work. Please try again."
msgstr "Entschuldigung, das hat nicht geklappt. Bitte versuchen Sie es erneut."
#. Translators: this is the other person changing their old IM name to their new
#. IM name. */
#. IM name.
#: ../js/ui/components/telepathyClient.js:759
#, javascript-format
msgid "%s is now known as %s"
@ -759,13 +783,15 @@ msgid "Show Applications"
msgstr "Anwendungen anzeigen"
# Würde ich so übernehmen, oder evtl. »Dock«.
#. Translators: this is the name of the dock/favorites area on
#. the left of the overview
#: ../js/ui/dash.js:449
msgid "Dash"
msgstr "Dash"
#. Translators: This is the date format to use when the calendar popup is
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
#. */
#.
#: ../js/ui/dateMenu.js:73
msgid "%B %e %Y"
msgstr "%e. %B %Y"
@ -773,7 +799,7 @@ msgstr "%e. %B %Y"
#. Translators: This is the accessible name of the date button shown
#. * below the time in the shell; it should combine the weekday and the
#. * date, e.g. "Tuesday February 17 2015".
#. */
#.
#: ../js/ui/dateMenu.js:80
msgid "%A %B %e %Y"
msgstr "%A, %e. %B %Y"
@ -905,13 +931,13 @@ msgstr ""
msgid "Other users are logged in."
msgstr "Andere Benutzer sind angemeldet."
#. Translators: Remote here refers to a remote session, like a ssh login */
#. Translators: Remote here refers to a remote session, like a ssh login
#: ../js/ui/endSessionDialog.js:640
#, javascript-format
msgid "%s (remote)"
msgstr "%s (Entfernt)"
#. Translators: Console here refers to a tty like a VT console */
#. Translators: Console here refers to a tty like a VT console
#: ../js/ui/endSessionDialog.js:643
#, javascript-format
msgid "%s (console)"
@ -930,7 +956,7 @@ msgstr "»%s« von extensions.gnome.org herunterladen und installieren?"
msgid "Keyboard"
msgstr "Tastatur"
#. translators: 'Hide' is a verb */
#. translators: 'Hide' is a verb
#: ../js/ui/legacyTray.js:66
msgid "Hide tray"
msgstr "Ablage verbergen"
@ -943,7 +969,7 @@ msgstr "Statussymbole"
msgid "No extensions installed"
msgstr "Keine Erweiterungen installiert"
#. Translators: argument is an extension UUID. */
#. Translators: argument is an extension UUID.
#: ../js/ui/lookingGlass.js:697
#, javascript-format
msgid "%s has not emitted any errors."
@ -963,7 +989,7 @@ msgstr "Eingeschaltet"
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1830
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
msgid "Disabled"
msgstr "Ausgeschaltet"
@ -1002,7 +1028,7 @@ msgstr "Übersicht"
#. Translators: this is the text displayed
#. in the search entry when no search is
#. active; it should not exceed ~30
#. characters. */
#. characters.
#: ../js/ui/overview.js:244
msgid "Type to search…"
msgstr "Suchbegriff eingeben …"
@ -1012,15 +1038,25 @@ msgid "Quit"
msgstr "Beenden"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview". */
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:404
msgid "Activities"
msgstr "Aktivitäten"
#: ../js/ui/panel.js:650
msgctxt "System menu in the top bar"
msgid "System"
msgstr "System"
#: ../js/ui/panel.js:754
msgid "Top Bar"
msgstr "Oberes Panel"
#. 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:289
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
@ -1041,7 +1077,7 @@ msgstr "Neustart …"
# %d - Tag des Monats als Zahl (Bereich 01 bis 31)
# %B - ausgeschriebener Name des Monats, abhängig von der gesetzten Umgebung
#. Translators: This is a time format for a date in
#. long format */
#. long format
#: ../js/ui/screenShield.js:85
msgid "%A, %B %d"
msgstr "%A, %d. %B"
@ -1068,6 +1104,13 @@ msgstr "Sperren"
msgid "GNOME needs to lock the screen"
msgstr "GNOME muss den Bildschirm sperren"
#. We could not become modal, so we can't activate the
#. screenshield. The user is probably very upset at this
#. point, but any application using global grabs is broken
#. Just tell him to stop using this app
#.
#. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs
#: ../js/ui/screenShield.js:805 ../js/ui/screenShield.js:1271
msgid "Unable to lock"
msgstr "Sperrung fehlgeschlagen"
@ -1163,7 +1206,7 @@ msgstr "Ausschalten"
msgid "Bluetooth Settings"
msgstr "Bluetooth-Einstellungen"
#. Translators: this is the number of connected bluetooth devices */
#. Translators: this is the number of connected bluetooth devices
#: ../js/ui/status/bluetooth.js:105
#, javascript-format
msgid "%d Connected"
@ -1211,13 +1254,13 @@ msgstr "Einschalten"
msgid "<unknown>"
msgstr "<Unbekannt>"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:451 ../js/ui/status/network.js:1308
#, javascript-format
msgid "%s Off"
msgstr "%s ausgeschaltet"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:454
#, javascript-format
msgid "%s Connected"
@ -1225,45 +1268,45 @@ msgstr "%s verbunden"
#. Translators: this is for network devices that are physically present but are not
#. under NetworkManager's control (and thus cannot be used in the menu);
#. %s is a network identifier */
#. %s is a network identifier
#: ../js/ui/status/network.js:459
#, javascript-format
msgid "%s Unmanaged"
msgstr "%s nicht verwaltet"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:462
#, javascript-format
msgid "%s Disconnecting"
msgstr "Verbindungsabbau von %s"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:469 ../js/ui/status/network.js:1300
#, javascript-format
msgid "%s Connecting"
msgstr "Verbindungsaufbau von %s"
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier */
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier
#: ../js/ui/status/network.js:472
#, javascript-format
msgid "%s Requires Authentication"
msgstr "%s erfordert eine Anmeldung"
#. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing; %s is a network identifier */
#. module, which is missing; %s is a network identifier
#: ../js/ui/status/network.js:480
#, javascript-format
msgid "Firmware Missing For %s"
msgstr "Firmware fehlt für %s"
#. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage; %s is a network identifier */
#. is disabled by rfkill, or it has no coverage; %s is a network identifier
#: ../js/ui/status/network.js:484
#, javascript-format
msgid "%s Unavailable"
msgstr "%s nicht verfügbar"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:487
#, javascript-format
msgid "%s Connection Failed"
@ -1277,14 +1320,14 @@ msgstr "LAN-Einstellungen"
msgid "Mobile Broadband Settings"
msgstr "Einstellungen der mobilen Breitbandverbindung"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:588 ../js/ui/status/network.js:1305
#, javascript-format
msgid "%s Hardware Disabled"
msgstr "Hardware von %s ausgeschaltet"
#. Translators: this is for a network device that cannot be activated
#. because it's disabled by rfkill (airplane mode); %s is a network identifier */
#. because it's disabled by rfkill (airplane mode); %s is a network identifier
#: ../js/ui/status/network.js:592
#, javascript-format
msgid "%s Disabled"
@ -1349,13 +1392,13 @@ msgstr "Drahtlos-Einstellungen"
msgid "Turn On"
msgstr "Einschalten"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:1296
#, javascript-format
msgid "%s Hotspot Active"
msgstr "Hotspot %s eingeschaltet"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:1311
#, javascript-format
msgid "%s Not Connected"
@ -1365,7 +1408,7 @@ msgstr "%s nicht verbunden"
msgid "connecting..."
msgstr "Verbindungsaufbau …"
#. Translators: this is for network connections that require some kind of key or password */
#. Translators: this is for network connections that require some kind of key or password
#: ../js/ui/status/network.js:1414
msgid "authentication required"
msgstr "Anmeldung erforderlich"
@ -1406,20 +1449,27 @@ msgstr "Energieeinstellungen"
msgid "Fully Charged"
msgstr "Vollständig geladen"
#. 0 is reported when UPower does not have enough data
#. to estimate battery life
#: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78
msgid "Estimating…"
msgstr "Schätzung …"
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
#: ../js/ui/status/power.js:86
#, javascript-format
msgid "%d%02d Remaining (%d%%)"
msgstr "%d%02d verbleibend (%d%%)"
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
#: ../js/ui/status/power.js:91
#, javascript-format
msgid "%d%02d Until Full (%d%%)"
msgstr "%d%02d bis geladen (%d%%)"
#. The menu only appears when airplane mode is on, so just
#. statically build it as if it was on, rather than dynamically
#. changing the menu contents.
#: ../js/ui/status/rfkill.js:88
msgid "Airplane Mode On"
msgstr "Flugmodus ist eingeschaltet"
@ -1487,7 +1537,7 @@ msgstr "Wollen Sie diese Anzeigeeinstellungen beibehalten?"
#. Translators: this and the following message should be limited in lenght,
#. to avoid ellipsizing the labels.
#. */
#.
#: ../js/ui/windowManager.js:82
msgid "Revert Settings"
msgstr "Zurücksetzen"
@ -1504,7 +1554,7 @@ msgstr[0] "Die Änderungen der Einstellungen werden in %d Sekunde zurückgesetzt
msgstr[1] "Die Änderungen der Einstellungen werden in %d Sekunden zurückgesetzt"
#. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height. */
#. * the width of the window and the second is the height.
#: ../js/ui/windowManager.js:658
#, javascript-format
msgid "%d x %d"
@ -1580,7 +1630,7 @@ msgstr "Evolution-Kalender"
#. translators:
#. * The number of sound outputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1837
#: ../src/gvc/gvc-mixer-control.c:1835
#, c-format
msgid "%u Output"
msgid_plural "%u Outputs"
@ -1589,31 +1639,31 @@ msgstr[1] "%u Ausgänge"
#. translators:
#. * The number of sound inputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1847
#: ../src/gvc/gvc-mixer-control.c:1845
#, c-format
msgid "%u Input"
msgid_plural "%u Inputs"
msgstr[0] "%u Eingang"
msgstr[1] "%u Eingänge"
#: ../src/gvc/gvc-mixer-control.c:2373
#: ../src/gvc/gvc-mixer-control.c:2371
msgid "System Sounds"
msgstr "Systemklänge"
#: ../src/main.c:373
#: ../src/main.c:381
msgid "Print version"
msgstr "Version ausgeben"
#: ../src/main.c:379
#: ../src/main.c:387
msgid "Mode used by GDM for login screen"
msgstr "Der durch GDM im Anmeldefenster verwendete Modus"
#: ../src/main.c:385
#: ../src/main.c:393
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
msgstr ""
"Einen spezifischen Modus nutzen, wie z.B. »gdm« für den Anmeldebildschirm"
#: ../src/main.c:391
#: ../src/main.c:399
msgid "List possible modes"
msgstr "Die möglichen Modi auflisten"

194
po/el.po
View File

@ -7,8 +7,8 @@ msgstr ""
"Project-Id-Version: gnome-shell.po.master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2015-08-28 20:12+0000\n"
"PO-Revision-Date: 2015-08-29 01:20+0300\n"
"POT-Creation-Date: 2015-09-29 20:37+0000\n"
"PO-Revision-Date: 2015-09-30 10:37+0300\n"
"Last-Translator: Tom Tryfonidis <tomtryf@gmail.com>\n"
"Language-Team: www.gnome.gr\n"
"Language: el\n"
@ -332,7 +332,7 @@ msgid "Cancel"
msgstr "Ακύρωση"
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215
#: ../js/gdm/authPrompt.js:435
#: ../js/gdm/authPrompt.js:447
msgid "Next"
msgstr "Επόμενο"
@ -350,21 +350,29 @@ msgstr "Σύνδεση"
msgid "Choose Session"
msgstr "Επιλογή συνεδρίας"
#. translators: this message is shown below the user list on the
#. login screen. It can be activated to reveal an entry for
#. manually entering the username.
#: ../js/gdm/loginDialog.js:431
msgid "Not listed?"
msgstr "Δεν είστε στη λίστα;"
#: ../js/gdm/loginDialog.js:847
#. Translators: this message is shown below the username entry field
#. to clue the user in on how to login to the local network realm
#: ../js/gdm/loginDialog.js:850
#, javascript-format
msgid "(e.g., user or %s)"
msgstr "(π.χ, χρήστης ή %s)"
#: ../js/gdm/loginDialog.js:852 ../js/ui/components/networkAgent.js:271
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:855 ../js/ui/components/networkAgent.js:271
#: ../js/ui/components/networkAgent.js:289
msgid "Username: "
msgstr "Όνομα χρήστη: "
#: ../js/gdm/loginDialog.js:1181
#: ../js/gdm/loginDialog.js:1184
msgid "Login Window"
msgstr "Παράθυρο σύνδεσης"
@ -372,6 +380,11 @@ msgstr "Παράθυρο σύνδεσης"
msgid "Authentication error"
msgstr "Σφάλμα πιστοποίησης"
#. We don't show fingerprint messages directly since it's
#. not the main auth service. Instead we use the messages
#. as a cue to display our own message.
#. Translators: this message is shown below the password entry field
#. to indicate the user can swipe their finger instead
#: ../js/gdm/util.js:473
msgid "(or swipe finger)"
msgstr "(ή περάστε το δάκτυλο σας)"
@ -380,6 +393,8 @@ msgstr "(ή περάστε το δάκτυλο σας)"
msgid "Command not found"
msgstr "Δε βρέθηκε η εντολή"
#. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer
#: ../js/misc/util.js:152
msgid "Could not parse command:"
msgstr "Δεν ήταν δυνατό να γίνει ανάλυση της εντολής:"
@ -389,70 +404,78 @@ msgstr "Δεν ήταν δυνατό να γίνει ανάλυση της εν
msgid "Execution of “%s” failed:"
msgstr "Απέτυχε η εκτέλεση του “%s”:"
#. Translators: Time in 24h format */
#. Translators: Time in 24h format
#: ../js/misc/util.js:191
msgid "%H%M"
msgstr "%H%M"
#. Translators: this is the word "Yesterday" followed by a
#. time string in 24h format. i.e. "Yesterday, 14:30" */
#. time string in 24h format. i.e. "Yesterday, 14:30"
#: ../js/misc/util.js:197
#, no-c-format
msgid "Yesterday, %H%M"
msgstr "Χθες, %H%M"
#. Translators: this is the week day name followed by a time
#. string in 24h format. i.e. "Monday, 14:30" */
#. string in 24h format. i.e. "Monday, 14:30"
#: ../js/misc/util.js:203
#, no-c-format
msgid "%A, %H%M"
msgstr "%A, %H%M"
#. Translators: this is the month name and day number
#. followed by a time string in 24h format.
#. i.e. "May 25, 14:30" */
#. i.e. "May 25, 14:30"
#: ../js/misc/util.js:209
#, no-c-format
msgid "%B %d, %H%M"
msgstr "%B %d, %H%M"
#. Translators: this is the month name, day number, year
#. number followed by a time string in 24h format.
#. i.e. "May 25 2012, 14:30" */
#. i.e. "May 25 2012, 14:30"
#: ../js/misc/util.js:215
#, no-c-format
msgid "%B %d %Y, %H%M"
msgstr "%B %d %Y, %H%M"
#. Translators: Time in 12h format */
#. Translators: Time in 12h format
#: ../js/misc/util.js:220
msgid "%l%M %p"
msgstr "%l%M%p"
#. Translators: this is the word "Yesterday" followed by a
#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */
#. time string in 12h format. i.e. "Yesterday, 2:30 pm"
#: ../js/misc/util.js:226
#, no-c-format
msgid "Yesterday, %l%M %p"
msgstr "Χθες %l:%M %p"
#. Translators: this is the week day name followed by a time
#. string in 12h format. i.e. "Monday, 2:30 pm" */
#. string in 12h format. i.e. "Monday, 2:30 pm"
#: ../js/misc/util.js:232
#, no-c-format
msgid "%A, %l%M %p"
msgstr "%A, %l%M %p"
#. Translators: this is the month name and day number
#. followed by a time string in 12h format.
#. i.e. "May 25, 2:30 pm" */
#. i.e. "May 25, 2:30 pm"
#: ../js/misc/util.js:238
#, no-c-format
msgid "%B %d, %l%M %p"
msgstr "%B %d, %l%M %p"
#. Translators: this is the month name, day number, year
#. number followed by a time string in 12h format.
#. i.e. "May 25 2012, 2:30 pm"*/
#. i.e. "May 25 2012, 2:30 pm"
#: ../js/misc/util.js:244
#, no-c-format
msgid "%B %d %Y, %l%M %p"
msgstr "%B %d %Y, %l%M %p"
#. TRANSLATORS: this is the title of the wifi captive portal login
#. * window, until we know the title of the actual login page */
#. * window, until we know the title of the actual login page
#: ../js/portalHelper/main.js:85
msgid "Web Authentication Redirect"
msgstr "Ανακατεύθυνση πιστοποίησης ιστού"
@ -503,12 +526,11 @@ msgstr "Αλλαγή παρασκηνίου…"
msgid "Display Settings"
msgstr "Ρυθμίσεις οθόνης"
#: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650
#: ../js/ui/status/system.js:366
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
msgid "Settings"
msgstr "Ρυθμίσεις"
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday). */
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday).
#: ../js/ui/calendar.js:55
msgctxt "calendar-no-work"
msgid "06"
@ -518,43 +540,43 @@ msgstr "06"
#. *
#. * NOTE: These grid abbreviations are always shown together
#. * and in order, e.g. "S M T W T F S".
#. */
#.
#: ../js/ui/calendar.js:84
msgctxt "grid sunday"
msgid "S"
msgstr "Κυ"
#. Translators: Calendar grid abbreviation for Monday */
#. Translators: Calendar grid abbreviation for Monday
#: ../js/ui/calendar.js:86
msgctxt "grid monday"
msgid "M"
msgstr "Δε"
#. Translators: Calendar grid abbreviation for Tuesday */
#. Translators: Calendar grid abbreviation for Tuesday
#: ../js/ui/calendar.js:88
msgctxt "grid tuesday"
msgid "T"
msgstr "Τρ"
#. Translators: Calendar grid abbreviation for Wednesday */
#. Translators: Calendar grid abbreviation for Wednesday
#: ../js/ui/calendar.js:90
msgctxt "grid wednesday"
msgid "W"
msgstr "Τε"
#. Translators: Calendar grid abbreviation for Thursday */
#. Translators: Calendar grid abbreviation for Thursday
#: ../js/ui/calendar.js:92
msgctxt "grid thursday"
msgid "T"
msgstr "Πε"
#. Translators: Calendar grid abbreviation for Friday */
#. Translators: Calendar grid abbreviation for Friday
#: ../js/ui/calendar.js:94
msgctxt "grid friday"
msgid "F"
msgstr "Πα"
#. Translators: Calendar grid abbreviation for Saturday */
#. Translators: Calendar grid abbreviation for Saturday
#: ../js/ui/calendar.js:96
msgctxt "grid saturday"
msgid "S"
@ -574,39 +596,39 @@ msgstr "Εβδομάδα %V"
#. Translators: Shown in calendar event list for all day events
#. * Keep it short, best if you can use less then 10 characters
#. */
#.
#: ../js/ui/calendar.js:1188
msgctxt "event list time"
msgid "All Day"
msgstr "Όλη μέρα"
#: ../js/ui/calendar.js:1291
#: ../js/ui/calendar.js:1295
msgid "Clear section"
msgstr "Εκκαθάριση περιοχής"
#: ../js/ui/calendar.js:1518
#: ../js/ui/calendar.js:1522
msgid "Events"
msgstr "Συμβάντα"
#: ../js/ui/calendar.js:1527
#: ../js/ui/calendar.js:1531
msgctxt "calendar heading"
msgid "%A, %B %d"
msgstr "%A, %B %d"
#: ../js/ui/calendar.js:1531
#: ../js/ui/calendar.js:1535
msgctxt "calendar heading"
msgid "%A, %B %d, %Y"
msgstr "%A, %d %B, %Y"
#: ../js/ui/calendar.js:1616
#: ../js/ui/calendar.js:1620
msgid "Notifications"
msgstr "Ειδοποιήσεις"
#: ../js/ui/calendar.js:1767
#: ../js/ui/calendar.js:1771
msgid "No Notifications"
msgstr "Καμία ειδοποίηση"
#: ../js/ui/calendar.js:1770
#: ../js/ui/calendar.js:1774
msgid "No Events"
msgstr "Κανένα συμβάν"
@ -636,6 +658,7 @@ msgstr "Πληκτρολογήστε ξανά:"
msgid "Connect"
msgstr "Σύνδεση"
#. Cisco LEAP
#: ../js/ui/components/networkAgent.js:233
#: ../js/ui/components/networkAgent.js:245
#: ../js/ui/components/networkAgent.js:273
@ -644,6 +667,7 @@ msgstr "Σύνδεση"
msgid "Password: "
msgstr "Κωδικός πρόσβασης: "
#. static WEP
#: ../js/ui/components/networkAgent.js:238
msgid "Key: "
msgstr "Κλειδί: "
@ -735,13 +759,13 @@ msgstr "Πιστοποίηση"
#. Translators: "that didn't work" refers to the fact that the
#. * requested authentication was not gained; this can happen
#. * because of an authentication error (like invalid password),
#. * for instance. */
#. * for instance.
#: ../js/ui/components/polkitAgent.js:301 ../js/ui/shellMountOperation.js:383
msgid "Sorry, that didn't work. Please try again."
msgstr "Συγνώμη, αυτό δεν λειτούργησε. Παρακαλούμε προσπαθήστε ξανά."
#. Translators: this is the other person changing their old IM name to their new
#. IM name. */
#. IM name.
#: ../js/ui/components/telepathyClient.js:759
#, javascript-format
msgid "%s is now known as %s"
@ -755,13 +779,15 @@ msgstr "Παράθυρα"
msgid "Show Applications"
msgstr "Εμφάνιση εφαρμογών"
#. Translators: this is the name of the dock/favorites area on
#. the left of the overview
#: ../js/ui/dash.js:449
msgid "Dash"
msgstr "Ταμπλό"
#. Translators: This is the date format to use when the calendar popup is
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
#. */
#.
#: ../js/ui/dateMenu.js:73
msgid "%B %e %Y"
msgstr "%B %e %Y"
@ -769,7 +795,7 @@ msgstr "%B %e %Y"
#. Translators: This is the accessible name of the date button shown
#. * below the time in the shell; it should combine the weekday and the
#. * date, e.g. "Tuesday February 17 2015".
#. */
#.
#: ../js/ui/dateMenu.js:80
msgid "%A %B %e %Y"
msgstr "%A %e %B %Y"
@ -903,13 +929,13 @@ msgstr ""
msgid "Other users are logged in."
msgstr "Είναι συνδεδεμένοι άλλοι χρήστες."
#. Translators: Remote here refers to a remote session, like a ssh login */
#. Translators: Remote here refers to a remote session, like a ssh login
#: ../js/ui/endSessionDialog.js:640
#, javascript-format
msgid "%s (remote)"
msgstr "%s (απομακρυσμένο)"
#. Translators: Console here refers to a tty like a VT console */
#. Translators: Console here refers to a tty like a VT console
#: ../js/ui/endSessionDialog.js:643
#, javascript-format
msgid "%s (console)"
@ -928,7 +954,7 @@ msgstr "Λήψη και εγκατάσταση του “%s” από το exten
msgid "Keyboard"
msgstr "Πληκτρολόγιο"
#. translators: 'Hide' is a verb */
#. translators: 'Hide' is a verb
#: ../js/ui/legacyTray.js:66
msgid "Hide tray"
msgstr "Απόκρυψη περιοχής ειδοποιήσεων"
@ -941,7 +967,7 @@ msgstr "Εικονίδια κατάστασης"
msgid "No extensions installed"
msgstr "Δεν υπάρχουν εγκατεστημένες επεκτάσεις"
#. Translators: argument is an extension UUID. */
#. Translators: argument is an extension UUID.
#: ../js/ui/lookingGlass.js:697
#, javascript-format
msgid "%s has not emitted any errors."
@ -961,7 +987,7 @@ msgstr "Ενεργοποιημένο"
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1830
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
msgid "Disabled"
msgstr "Απενεργοποιημένο"
@ -1000,7 +1026,7 @@ msgstr "Επισκόπηση"
#. Translators: this is the text displayed
#. in the search entry when no search is
#. active; it should not exceed ~30
#. characters. */
#. characters.
#: ../js/ui/overview.js:244
msgid "Type to search…"
msgstr "Πληκτρολογήστε για αναζήτηση…"
@ -1010,15 +1036,25 @@ msgid "Quit"
msgstr "Έξοδος"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview". */
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:404
msgid "Activities"
msgstr "Δραστηριότητες"
#: ../js/ui/panel.js:650
msgctxt "System menu in the top bar"
msgid "System"
msgstr "Σύστημα"
#: ../js/ui/panel.js:754
msgid "Top Bar"
msgstr "Πάνω μπάρα"
#. Translators: this MUST be either "toggle-switch-us"
#. (for toggle switches containing the English words
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
#. switches containing "◯" and "|"). Other values will
#. simply result in invisible toggle switches.
#: ../js/ui/popupMenu.js:289
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
@ -1036,7 +1072,7 @@ msgid "Restarting…"
msgstr "Επανεκκίνηση…"
#. Translators: This is a time format for a date in
#. long format */
#. long format
#: ../js/ui/screenShield.js:85
msgid "%A, %B %d"
msgstr "%A, %B %d"
@ -1063,6 +1099,13 @@ msgstr "Κλείδωμα"
msgid "GNOME needs to lock the screen"
msgstr "Το GNOME χρειάζεται να κλειδώσει την οθόνη"
#. We could not become modal, so we can't activate the
#. screenshield. The user is probably very upset at this
#. point, but any application using global grabs is broken
#. Just tell him to stop using this app
#.
#. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs
#: ../js/ui/screenShield.js:805 ../js/ui/screenShield.js:1271
msgid "Unable to lock"
msgstr "Αδυναμία κλειδώματος"
@ -1158,7 +1201,7 @@ msgstr "Σβήσιμο"
msgid "Bluetooth Settings"
msgstr "Ρυθμίσεις Bluetooth"
#. Translators: this is the number of connected bluetooth devices */
#. Translators: this is the number of connected bluetooth devices
#: ../js/ui/status/bluetooth.js:105
#, javascript-format
msgid "%d Connected"
@ -1206,59 +1249,59 @@ msgstr "Ενεργοποίηση"
msgid "<unknown>"
msgstr "<άγνωστο>"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:451 ../js/ui/status/network.js:1308
#, javascript-format
msgid "%s Off"
msgstr "Απενεργοποιημένο %s"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:454
#, javascript-format
msgid "%s Connected"
msgstr "Συνδέθηκε το %s"
msgstr "%s συνδεδεμένο"
#. Translators: this is for network devices that are physically present but are not
#. under NetworkManager's control (and thus cannot be used in the menu);
#. %s is a network identifier */
#. %s is a network identifier
#: ../js/ui/status/network.js:459
#, javascript-format
msgid "%s Unmanaged"
msgstr "Χωρίς διαχείριση %s"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:462
#, javascript-format
msgid "%s Disconnecting"
msgstr "Γίνεται αποσύνδεση %s"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:469 ../js/ui/status/network.js:1300
#, javascript-format
msgid "%s Connecting"
msgstr "Γίνεται σύνδεση %s"
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier */
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier
#: ../js/ui/status/network.js:472
#, javascript-format
msgid "%s Requires Authentication"
msgstr "Το %s απαιτεί πιστοποίηση"
#. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing; %s is a network identifier */
#. module, which is missing; %s is a network identifier
#: ../js/ui/status/network.js:480
#, javascript-format
msgid "Firmware Missing For %s"
msgstr "Λείπει υλικολογισμικό για το %s"
#. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage; %s is a network identifier */
#. is disabled by rfkill, or it has no coverage; %s is a network identifier
#: ../js/ui/status/network.js:484
#, javascript-format
msgid "%s Unavailable"
msgstr "Το %s δεν είναι διαθέσιμο"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:487
#, javascript-format
msgid "%s Connection Failed"
@ -1272,14 +1315,14 @@ msgstr "Ενσύρματες ρυθμίσεις"
msgid "Mobile Broadband Settings"
msgstr "Ρυθμίσεις ευρυζωνικής σύνδεσης"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:588 ../js/ui/status/network.js:1305
#, javascript-format
msgid "%s Hardware Disabled"
msgstr "Το υλικό απενεργοποιήθηκε για το %s"
#. Translators: this is for a network device that cannot be activated
#. because it's disabled by rfkill (airplane mode); %s is a network identifier */
#. because it's disabled by rfkill (airplane mode); %s is a network identifier
#: ../js/ui/status/network.js:592
#, javascript-format
msgid "%s Disabled"
@ -1342,13 +1385,13 @@ msgstr "Ρυθμίσεις Wi-Fi"
msgid "Turn On"
msgstr "Ενεργοποίηση"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:1296
#, javascript-format
msgid "%s Hotspot Active"
msgstr "Ενεργό σημείο πρόσβασης %s"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:1311
#, javascript-format
msgid "%s Not Connected"
@ -1358,7 +1401,7 @@ msgstr "Χωρίς σύνδεση το %s"
msgid "connecting..."
msgstr "σύνδεση..."
#. Translators: this is for network connections that require some kind of key or password */
#. Translators: this is for network connections that require some kind of key or password
#: ../js/ui/status/network.js:1414
msgid "authentication required"
msgstr "απαιτείται πιστοποίηση"
@ -1399,20 +1442,27 @@ msgstr "Ρυθμίσεις τροφοδοσίας"
msgid "Fully Charged"
msgstr "Πλήρως φορτισμένη"
#. 0 is reported when UPower does not have enough data
#. to estimate battery life
#: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78
msgid "Estimating…"
msgstr "Εκτίμηση…"
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
#: ../js/ui/status/power.js:86
#, javascript-format
msgid "%d%02d Remaining (%d%%)"
msgstr "%d%02d Απομένει (%d%%)"
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
#: ../js/ui/status/power.js:91
#, javascript-format
msgid "%d%02d Until Full (%d%%)"
msgstr "%d%02d Πλήρης μέχρι (%d%%)"
#. The menu only appears when airplane mode is on, so just
#. statically build it as if it was on, rather than dynamically
#. changing the menu contents.
#: ../js/ui/status/rfkill.js:88
msgid "Airplane Mode On"
msgstr "Λειτουργία αεροπλάνου ενεργή"
@ -1480,7 +1530,7 @@ msgstr "Θέλετε να κρατήσετε αυτές τις ρυθμίσει
#. Translators: this and the following message should be limited in lenght,
#. to avoid ellipsizing the labels.
#. */
#.
#: ../js/ui/windowManager.js:82
msgid "Revert Settings"
msgstr "Επαναφορά ρυθμίσεων"
@ -1497,7 +1547,7 @@ msgstr[0] "Οι αλλαγές ρυθμίσεων θα επανέλθουν σε
msgstr[1] "Οι αλλαγές ρυθμίσεων θα επανέλθουν σε %d δευτερόλεπτα"
#. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height. */
#. * the width of the window and the second is the height.
#: ../js/ui/windowManager.js:658
#, javascript-format
msgid "%d x %d"
@ -1573,7 +1623,7 @@ msgstr "Ημερολόγιο Evolution"
#. translators:
#. * The number of sound outputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1837
#: ../src/gvc/gvc-mixer-control.c:1835
#, c-format
msgid "%u Output"
msgid_plural "%u Outputs"
@ -1582,31 +1632,31 @@ msgstr[1] "%u έξοδοι"
#. translators:
#. * The number of sound inputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1847
#: ../src/gvc/gvc-mixer-control.c:1845
#, c-format
msgid "%u Input"
msgid_plural "%u Inputs"
msgstr[0] "%u είσοδος"
msgstr[1] "%u είσοδοι"
#: ../src/gvc/gvc-mixer-control.c:2373
#: ../src/gvc/gvc-mixer-control.c:2371
msgid "System Sounds"
msgstr "Ήχοι συστήματος"
#: ../src/main.c:373
#: ../src/main.c:381
msgid "Print version"
msgstr "Εμφάνιση έκδοσης"
#: ../src/main.c:379
#: ../src/main.c:387
msgid "Mode used by GDM for login screen"
msgstr "Λειτουργία που χρησιμοποιείται από το GDM για την οθόνη σύνδεσης"
#: ../src/main.c:385
#: ../src/main.c:393
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
msgstr ""
"Χρήση μιας συγκεκριμένης λειτουργίας, π.χ. \"gdm\" για την οθόνη σύνδεσης"
#: ../src/main.c:391
#: ../src/main.c:399
msgid "List possible modes"
msgstr "Λίστα πιθανών λειτουργιών"

1591
po/eo.po

File diff suppressed because it is too large Load Diff

5685
po/es.po

File diff suppressed because it is too large Load Diff

664
po/eu.po

File diff suppressed because it is too large Load Diff

388
po/fi.po

File diff suppressed because it is too large Load Diff

190
po/fr.po
View File

@ -19,8 +19,8 @@ msgstr ""
"Project-Id-Version: gnome-shell master fr\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2015-08-31 19:25+0000\n"
"PO-Revision-Date: 2015-09-01 11:03+0200\n"
"POT-Creation-Date: 2015-09-28 20:46+0000\n"
"PO-Revision-Date: 2015-09-28 23:39+0200\n"
"Last-Translator: Alexandre Franke <alexandre.franke@gmail.com>\n"
"Language-Team: français <gnomefr@traduc.org>\n"
"Language: French\n"
@ -362,21 +362,29 @@ msgstr "Se connecter"
msgid "Choose Session"
msgstr "Choisir une session"
#. translators: this message is shown below the user list on the
#. login screen. It can be activated to reveal an entry for
#. manually entering the username.
#: ../js/gdm/loginDialog.js:431
msgid "Not listed?"
msgstr "Absent de la liste ?"
#: ../js/gdm/loginDialog.js:847
#. Translators: this message is shown below the username entry field
#. to clue the user in on how to login to the local network realm
#: ../js/gdm/loginDialog.js:850
#, javascript-format
msgid "(e.g., user or %s)"
msgstr "(par ex. utilisateur ou %s)"
#: ../js/gdm/loginDialog.js:852 ../js/ui/components/networkAgent.js:271
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:855 ../js/ui/components/networkAgent.js:271
#: ../js/ui/components/networkAgent.js:289
msgid "Username: "
msgstr "Nom d'utilisateur : "
#: ../js/gdm/loginDialog.js:1181
#: ../js/gdm/loginDialog.js:1184
msgid "Login Window"
msgstr "Fenêtre de connexion"
@ -384,6 +392,11 @@ msgstr "Fenêtre de connexion"
msgid "Authentication error"
msgstr "Erreur d'authentification"
#. We don't show fingerprint messages directly since it's
#. not the main auth service. Instead we use the messages
#. as a cue to display our own message.
#. Translators: this message is shown below the password entry field
#. to indicate the user can swipe their finger instead
#: ../js/gdm/util.js:473
msgid "(or swipe finger)"
msgstr "(ou faites glisser le doigt)"
@ -392,6 +405,8 @@ msgstr "(ou faites glisser le doigt)"
msgid "Command not found"
msgstr "Commande non trouvée"
#. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer
#: ../js/misc/util.js:152
msgid "Could not parse command:"
msgstr "Impossible d'analyser la commande :"
@ -401,70 +416,78 @@ msgstr "Impossible d'analyser la commande :"
msgid "Execution of “%s” failed:"
msgstr "Exécution de « %s » impossible :"
#. Translators: Time in 24h format */
#. Translators: Time in 24h format
#: ../js/misc/util.js:191
msgid "%H%M"
msgstr "%H%M"
#. Translators: this is the word "Yesterday" followed by a
#. time string in 24h format. i.e. "Yesterday, 14:30" */
#. time string in 24h format. i.e. "Yesterday, 14:30"
#: ../js/misc/util.js:197
#, no-c-format
msgid "Yesterday, %H%M"
msgstr "Hier, %H%M"
#. Translators: this is the week day name followed by a time
#. string in 24h format. i.e. "Monday, 14:30" */
#. string in 24h format. i.e. "Monday, 14:30"
#: ../js/misc/util.js:203
#, no-c-format
msgid "%A, %H%M"
msgstr "%A, %H%M"
#. Translators: this is the month name and day number
#. followed by a time string in 24h format.
#. i.e. "May 25, 14:30" */
#. i.e. "May 25, 14:30"
#: ../js/misc/util.js:209
#, no-c-format
msgid "%B %d, %H%M"
msgstr "%d %B, %H%M"
#. Translators: this is the month name, day number, year
#. number followed by a time string in 24h format.
#. i.e. "May 25 2012, 14:30" */
#. i.e. "May 25 2012, 14:30"
#: ../js/misc/util.js:215
#, no-c-format
msgid "%B %d %Y, %H%M"
msgstr "%d %B %Y, %H%M"
#. Translators: Time in 12h format */
#. Translators: Time in 12h format
#: ../js/misc/util.js:220
msgid "%l%M %p"
msgstr "%l%M %p"
#. Translators: this is the word "Yesterday" followed by a
#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */
#. time string in 12h format. i.e. "Yesterday, 2:30 pm"
#: ../js/misc/util.js:226
#, no-c-format
msgid "Yesterday, %l%M %p"
msgstr "Hier, %l%M %p"
#. Translators: this is the week day name followed by a time
#. string in 12h format. i.e. "Monday, 2:30 pm" */
#. string in 12h format. i.e. "Monday, 2:30 pm"
#: ../js/misc/util.js:232
#, no-c-format
msgid "%A, %l%M %p"
msgstr "%A, %l%M %p"
#. Translators: this is the month name and day number
#. followed by a time string in 12h format.
#. i.e. "May 25, 2:30 pm" */
#. i.e. "May 25, 2:30 pm"
#: ../js/misc/util.js:238
#, no-c-format
msgid "%B %d, %l%M %p"
msgstr "%d %B, %l%M %p"
#. Translators: this is the month name, day number, year
#. number followed by a time string in 12h format.
#. i.e. "May 25 2012, 2:30 pm"*/
#. i.e. "May 25 2012, 2:30 pm"
#: ../js/misc/util.js:244
#, no-c-format
msgid "%B %d %Y, %l%M %p"
msgstr "%d %B %Y, %l%M %p"
#. TRANSLATORS: this is the title of the wifi captive portal login
#. * window, until we know the title of the actual login page */
#. * window, until we know the title of the actual login page
#: ../js/portalHelper/main.js:85
msgid "Web Authentication Redirect"
msgstr "Redirection de l'authentification Web"
@ -515,12 +538,11 @@ msgstr "Modifier l'arrière-plan…"
msgid "Display Settings"
msgstr "Paramètres d'affichage"
#: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650
#: ../js/ui/status/system.js:366
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
msgid "Settings"
msgstr "Paramètres"
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday). */
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday).
#: ../js/ui/calendar.js:55
msgctxt "calendar-no-work"
msgid "06"
@ -530,43 +552,43 @@ msgstr "06"
#. *
#. * NOTE: These grid abbreviations are always shown together
#. * and in order, e.g. "S M T W T F S".
#. */
#.
#: ../js/ui/calendar.js:84
msgctxt "grid sunday"
msgid "S"
msgstr "D"
#. Translators: Calendar grid abbreviation for Monday */
#. Translators: Calendar grid abbreviation for Monday
#: ../js/ui/calendar.js:86
msgctxt "grid monday"
msgid "M"
msgstr "L"
#. Translators: Calendar grid abbreviation for Tuesday */
#. Translators: Calendar grid abbreviation for Tuesday
#: ../js/ui/calendar.js:88
msgctxt "grid tuesday"
msgid "T"
msgstr "M"
#. Translators: Calendar grid abbreviation for Wednesday */
#. Translators: Calendar grid abbreviation for Wednesday
#: ../js/ui/calendar.js:90
msgctxt "grid wednesday"
msgid "W"
msgstr "M"
#. Translators: Calendar grid abbreviation for Thursday */
#. Translators: Calendar grid abbreviation for Thursday
#: ../js/ui/calendar.js:92
msgctxt "grid thursday"
msgid "T"
msgstr "J"
#. Translators: Calendar grid abbreviation for Friday */
#. Translators: Calendar grid abbreviation for Friday
#: ../js/ui/calendar.js:94
msgctxt "grid friday"
msgid "F"
msgstr "V"
#. Translators: Calendar grid abbreviation for Saturday */
#. Translators: Calendar grid abbreviation for Saturday
#: ../js/ui/calendar.js:96
msgctxt "grid saturday"
msgid "S"
@ -601,39 +623,39 @@ msgstr "Semaine %V"
#
#. Translators: Shown in calendar event list for all day events
#. * Keep it short, best if you can use less then 10 characters
#. */
#.
#: ../js/ui/calendar.js:1188
msgctxt "event list time"
msgid "All Day"
msgstr "Journée"
#: ../js/ui/calendar.js:1291
#: ../js/ui/calendar.js:1295
msgid "Clear section"
msgstr "Effacer la section"
#: ../js/ui/calendar.js:1518
#: ../js/ui/calendar.js:1522
msgid "Events"
msgstr "Évènements"
#: ../js/ui/calendar.js:1527
#: ../js/ui/calendar.js:1531
msgctxt "calendar heading"
msgid "%A, %B %d"
msgstr "%A %d %B"
#: ../js/ui/calendar.js:1531
#: ../js/ui/calendar.js:1535
msgctxt "calendar heading"
msgid "%A, %B %d, %Y"
msgstr "%A %d %B, %Y"
#: ../js/ui/calendar.js:1616
#: ../js/ui/calendar.js:1620
msgid "Notifications"
msgstr "Notifications"
#: ../js/ui/calendar.js:1767
#: ../js/ui/calendar.js:1771
msgid "No Notifications"
msgstr "Aucune notification"
#: ../js/ui/calendar.js:1770
#: ../js/ui/calendar.js:1774
msgid "No Events"
msgstr "Aucun évènement"
@ -663,6 +685,7 @@ msgstr "Saisissez à nouveau :"
msgid "Connect"
msgstr "Se connecter"
#. Cisco LEAP
#: ../js/ui/components/networkAgent.js:233
#: ../js/ui/components/networkAgent.js:245
#: ../js/ui/components/networkAgent.js:273
@ -671,6 +694,7 @@ msgstr "Se connecter"
msgid "Password: "
msgstr "Mot de passe : "
#. static WEP
#: ../js/ui/components/networkAgent.js:238
msgid "Key: "
msgstr "Clé : "
@ -762,13 +786,13 @@ msgstr "S'authentifier"
#. Translators: "that didn't work" refers to the fact that the
#. * requested authentication was not gained; this can happen
#. * because of an authentication error (like invalid password),
#. * for instance. */
#. * for instance.
#: ../js/ui/components/polkitAgent.js:301 ../js/ui/shellMountOperation.js:383
msgid "Sorry, that didn't work. Please try again."
msgstr "Échec de l'authentification. Essayez à nouveau."
#. Translators: this is the other person changing their old IM name to their new
#. IM name. */
#. IM name.
#: ../js/ui/components/telepathyClient.js:759
#, javascript-format
msgid "%s is now known as %s"
@ -782,6 +806,8 @@ msgstr "Fenêtres"
msgid "Show Applications"
msgstr "Afficher les applications"
#. Translators: this is the name of the dock/favorites area on
#. the left of the overview
#: ../js/ui/dash.js:449
msgid "Dash"
msgstr "Dash"
@ -794,7 +820,7 @@ msgstr "Dash"
# L M M J V S D
#. Translators: This is the date format to use when the calendar popup is
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
#. */
#.
#: ../js/ui/dateMenu.js:73
msgid "%B %e %Y"
msgstr "%-e %B %Y"
@ -808,7 +834,7 @@ msgstr "%-e %B %Y"
#. Translators: This is the accessible name of the date button shown
#. * below the time in the shell; it should combine the weekday and the
#. * date, e.g. "Tuesday February 17 2015".
#. */
#.
#: ../js/ui/dateMenu.js:80
msgid "%A %B %e %Y"
msgstr "%A %e %B %Y"
@ -938,13 +964,13 @@ msgstr ""
msgid "Other users are logged in."
msgstr "D'autres utilisateurs sont connectés."
#. Translators: Remote here refers to a remote session, like a ssh login */
#. Translators: Remote here refers to a remote session, like a ssh login
#: ../js/ui/endSessionDialog.js:640
#, javascript-format
msgid "%s (remote)"
msgstr "%s (distant)"
#. Translators: Console here refers to a tty like a VT console */
#. Translators: Console here refers to a tty like a VT console
#: ../js/ui/endSessionDialog.js:643
#, javascript-format
msgid "%s (console)"
@ -963,7 +989,7 @@ msgstr "Télécharger et installer « %s » à partir de extensions.gnome.org
msgid "Keyboard"
msgstr "Clavier"
#. translators: 'Hide' is a verb */
#. translators: 'Hide' is a verb
#: ../js/ui/legacyTray.js:66
msgid "Hide tray"
msgstr "Masquer le tiroir"
@ -976,7 +1002,7 @@ msgstr "Icônes d'état"
msgid "No extensions installed"
msgstr "Aucune extension installée"
#. Translators: argument is an extension UUID. */
#. Translators: argument is an extension UUID.
#: ../js/ui/lookingGlass.js:697
#, javascript-format
msgid "%s has not emitted any errors."
@ -996,7 +1022,7 @@ msgstr "Activé"
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1830
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
msgid "Disabled"
msgstr "Désactivé"
@ -1035,7 +1061,7 @@ msgstr "Vue d'ensemble"
#. Translators: this is the text displayed
#. in the search entry when no search is
#. active; it should not exceed ~30
#. characters. */
#. characters.
#: ../js/ui/overview.js:244
msgid "Type to search…"
msgstr "Rechercher…"
@ -1045,15 +1071,25 @@ msgid "Quit"
msgstr "Quitter"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview". */
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:404
msgid "Activities"
msgstr "Activités"
#: ../js/ui/panel.js:650
msgctxt "System menu in the top bar"
msgid "System"
msgstr "Système"
#: ../js/ui/panel.js:754
msgid "Top Bar"
msgstr "Barre supérieure"
#. 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:289
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
@ -1071,7 +1107,7 @@ msgid "Restarting…"
msgstr "Redémarrage en cours…"
#. Translators: This is a time format for a date in
#. long format */
#. long format
#: ../js/ui/screenShield.js:85
msgid "%A, %B %d"
msgstr "%A %d %B"
@ -1098,6 +1134,13 @@ msgstr "Verrouiller"
msgid "GNOME needs to lock the screen"
msgstr "GNOME a besoin de verrouiller l'écran"
#. We could not become modal, so we can't activate the
#. screenshield. The user is probably very upset at this
#. point, but any application using global grabs is broken
#. Just tell him to stop using this app
#.
#. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs
#: ../js/ui/screenShield.js:805 ../js/ui/screenShield.js:1271
msgid "Unable to lock"
msgstr "Impossible de verrouiller"
@ -1193,7 +1236,7 @@ msgstr "Éteindre"
msgid "Bluetooth Settings"
msgstr "Paramètres Bluetooth"
#. Translators: this is the number of connected bluetooth devices */
#. Translators: this is the number of connected bluetooth devices
#: ../js/ui/status/bluetooth.js:105
#, javascript-format
msgid "%d Connected"
@ -1241,13 +1284,13 @@ msgstr "Activer"
msgid "<unknown>"
msgstr "<inconnu>"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:451 ../js/ui/status/network.js:1308
#, javascript-format
msgid "%s Off"
msgstr "%s éteint"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:454
#, javascript-format
msgid "%s Connected"
@ -1255,45 +1298,45 @@ msgstr "%s connecté"
#. Translators: this is for network devices that are physically present but are not
#. under NetworkManager's control (and thus cannot be used in the menu);
#. %s is a network identifier */
#. %s is a network identifier
#: ../js/ui/status/network.js:459
#, javascript-format
msgid "%s Unmanaged"
msgstr "%s non géré"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:462
#, javascript-format
msgid "%s Disconnecting"
msgstr "Déconnexion de %s en cours"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:469 ../js/ui/status/network.js:1300
#, javascript-format
msgid "%s Connecting"
msgstr "Connexion de %s en cours"
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier */
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier
#: ../js/ui/status/network.js:472
#, javascript-format
msgid "%s Requires Authentication"
msgstr "Authentification nécessaire pour %s"
#. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing; %s is a network identifier */
#. module, which is missing; %s is a network identifier
#: ../js/ui/status/network.js:480
#, javascript-format
msgid "Firmware Missing For %s"
msgstr "Micrologiciel manquant pour %s"
#. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage; %s is a network identifier */
#. is disabled by rfkill, or it has no coverage; %s is a network identifier
#: ../js/ui/status/network.js:484
#, javascript-format
msgid "%s Unavailable"
msgstr "%s non disponible"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:487
#, javascript-format
msgid "%s Connection Failed"
@ -1307,14 +1350,14 @@ msgstr "Paramètres filaire"
msgid "Mobile Broadband Settings"
msgstr "Paramètres connexion mobile"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:588 ../js/ui/status/network.js:1305
#, javascript-format
msgid "%s Hardware Disabled"
msgstr "Équipement %s désactivé"
#. Translators: this is for a network device that cannot be activated
#. because it's disabled by rfkill (airplane mode); %s is a network identifier */
#. because it's disabled by rfkill (airplane mode); %s is a network identifier
#: ../js/ui/status/network.js:592
#, javascript-format
msgid "%s Disabled"
@ -1376,13 +1419,13 @@ msgstr "Paramètres Wi-Fi"
msgid "Turn On"
msgstr "Activer"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:1296
#, javascript-format
msgid "%s Hotspot Active"
msgstr "Hotspot %s actif"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:1311
#, javascript-format
msgid "%s Not Connected"
@ -1392,7 +1435,7 @@ msgstr "%s non connecté"
msgid "connecting..."
msgstr "connexion..."
#. Translators: this is for network connections that require some kind of key or password */
#. Translators: this is for network connections that require some kind of key or password
#: ../js/ui/status/network.js:1414
msgid "authentication required"
msgstr "authentification nécessaire"
@ -1433,20 +1476,27 @@ msgstr "Paramètres de gestion de l'énergie"
msgid "Fully Charged"
msgstr "Charge complète"
#. 0 is reported when UPower does not have enough data
#. to estimate battery life
#: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78
msgid "Estimating…"
msgstr "Estimation en cours…"
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
#: ../js/ui/status/power.js:86
#, javascript-format
msgid "%d%02d Remaining (%d%%)"
msgstr "%d%02d restant (%d%%)"
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
#: ../js/ui/status/power.js:91
#, javascript-format
msgid "%d%02d Until Full (%d%%)"
msgstr "%d%02d avant chargement complet (%d%%)"
#. The menu only appears when airplane mode is on, so just
#. statically build it as if it was on, rather than dynamically
#. changing the menu contents.
#: ../js/ui/status/rfkill.js:88
msgid "Airplane Mode On"
msgstr "Mode avion activé"
@ -1514,7 +1564,7 @@ msgstr "Voulez-vous conserver ces paramètres d'affichage ?"
#. Translators: this and the following message should be limited in lenght,
#. to avoid ellipsizing the labels.
#. */
#.
#: ../js/ui/windowManager.js:82
msgid "Revert Settings"
msgstr "Restaurer les paramètres"
@ -1531,7 +1581,7 @@ msgstr[0] "Les paramètres seront restaurés dans %d seconde"
msgstr[1] "Les paramètres seront restaurés dans %d secondes"
#. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height. */
#. * the width of the window and the second is the height.
#: ../js/ui/windowManager.js:658
#, javascript-format
msgid "%d x %d"
@ -1607,7 +1657,7 @@ msgstr "Agenda d'Evolution"
#. translators:
#. * The number of sound outputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1837
#: ../src/gvc/gvc-mixer-control.c:1835
#, c-format
msgid "%u Output"
msgid_plural "%u Outputs"
@ -1616,31 +1666,31 @@ msgstr[1] "%u sorties"
#. translators:
#. * The number of sound inputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1847
#: ../src/gvc/gvc-mixer-control.c:1845
#, c-format
msgid "%u Input"
msgid_plural "%u Inputs"
msgstr[0] "%u entrée"
msgstr[1] "%u entrées"
#: ../src/gvc/gvc-mixer-control.c:2373
#: ../src/gvc/gvc-mixer-control.c:2371
msgid "System Sounds"
msgstr "Sons système"
#: ../src/main.c:373
#: ../src/main.c:381
msgid "Print version"
msgstr "Affiche la version"
#: ../src/main.c:379
#: ../src/main.c:387
msgid "Mode used by GDM for login screen"
msgstr "Mode utilisé par GDM pour l'écran de connexion"
#: ../src/main.c:385
#: ../src/main.c:393
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
msgstr ""
"Utiliser un mode particulier, par ex. « gdm » pour l'écran de connexion"
#: ../src/main.c:391
#: ../src/main.c:399
msgid "List possible modes"
msgstr "Lister les modes possibles"

1695
po/ga.po

File diff suppressed because it is too large Load Diff

1517
po/gd.po Normal file

File diff suppressed because it is too large Load Diff

View File

@ -10,9 +10,10 @@
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-08-26 00:05+0200\n"
"PO-Revision-Date: 2015-08-26 00:10+0200\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2015-09-28 20:46+0000\n"
"PO-Revision-Date: 2015-09-29 00:34+0200\n"
"Last-Translator: Fran Dieguez <frandieguez@gnome.org>\n"
"Language-Team: gnome-l10n-gl@gnome.org\n"
"Language: gl\n"
@ -320,7 +321,7 @@ msgid "Cancel"
msgstr "Cancelar"
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215
#: ../js/gdm/authPrompt.js:435
#: ../js/gdm/authPrompt.js:447
msgid "Next"
msgstr "Seguinte"
@ -347,7 +348,7 @@ msgstr "Non está na lista?"
#. Translators: this message is shown below the username entry field
#. to clue the user in on how to login to the local network realm
#: ../js/gdm/loginDialog.js:847
#: ../js/gdm/loginDialog.js:850
#, javascript-format
msgid "(e.g., user or %s)"
msgstr "(p.ex., usuario ou %s)"
@ -355,12 +356,12 @@ msgstr "(p.ex., usuario ou %s)"
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:852 ../js/ui/components/networkAgent.js:271
#: ../js/gdm/loginDialog.js:855 ../js/ui/components/networkAgent.js:271
#: ../js/ui/components/networkAgent.js:289
msgid "Username: "
msgstr "Nome de usuario: "
#: ../js/gdm/loginDialog.js:1181
#: ../js/gdm/loginDialog.js:1184
msgid "Login Window"
msgstr "Xanela de inicio de sesión"
@ -514,8 +515,7 @@ msgstr "Cambiar fondo de escritorio…"
msgid "Display Settings"
msgstr "Preferencias da pantalla"
#: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650
#: ../js/ui/status/system.js:366
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
msgid "Settings"
msgstr "Preferencias"
@ -591,33 +591,33 @@ msgctxt "event list time"
msgid "All Day"
msgstr "Todo o día"
#: ../js/ui/calendar.js:1291
#: ../js/ui/calendar.js:1295
msgid "Clear section"
msgstr "Limpar sección"
#: ../js/ui/calendar.js:1518
#: ../js/ui/calendar.js:1522
msgid "Events"
msgstr "Eventos"
#: ../js/ui/calendar.js:1527
#: ../js/ui/calendar.js:1531
msgctxt "calendar heading"
msgid "%A, %B %d"
msgstr "%A, %d de %B"
#: ../js/ui/calendar.js:1531
#: ../js/ui/calendar.js:1535
msgctxt "calendar heading"
msgid "%A, %B %d, %Y"
msgstr "%A, %d de %B de %Y"
#: ../js/ui/calendar.js:1616
#: ../js/ui/calendar.js:1620
msgid "Notifications"
msgstr "Notificacións"
#: ../js/ui/calendar.js:1767
#: ../js/ui/calendar.js:1771
msgid "No Notifications"
msgstr "Non hai notificacións"
#: ../js/ui/calendar.js:1770
#: ../js/ui/calendar.js:1774
msgid "No Events"
msgstr "Non hai eventos"
@ -973,7 +973,7 @@ msgstr "Activado"
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1830
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
msgid "Disabled"
msgstr "Desactivado"
@ -1027,6 +1027,12 @@ msgstr "Saír"
msgid "Activities"
msgstr "Actividades"
#: ../js/ui/panel.js:650
#| msgid "System"
msgctxt "System menu in the top bar"
msgid "System"
msgstr "Sistema"
#: ../js/ui/panel.js:754
msgid "Top Bar"
msgstr "Barra superior"
@ -1603,7 +1609,7 @@ msgstr "Calendario de Evolution"
#. translators:
#. * The number of sound outputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1837
#: ../src/gvc/gvc-mixer-control.c:1835
#, c-format
msgid "%u Output"
msgid_plural "%u Outputs"
@ -1612,32 +1618,32 @@ msgstr[1] "%u saídas"
#. translators:
#. * The number of sound inputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1847
#: ../src/gvc/gvc-mixer-control.c:1845
#, c-format
msgid "%u Input"
msgid_plural "%u Inputs"
msgstr[0] "%u entrada"
msgstr[1] "%u entradas"
#: ../src/gvc/gvc-mixer-control.c:2373
#: ../src/gvc/gvc-mixer-control.c:2371
msgid "System Sounds"
msgstr "Sons do sistema"
#: ../src/main.c:373
#: ../src/main.c:381
msgid "Print version"
msgstr "Imprimir versión"
#: ../src/main.c:379
#: ../src/main.c:387
msgid "Mode used by GDM for login screen"
msgstr "Modo usado por GDM para a pantalla de inicio"
#: ../src/main.c:385
#: ../src/main.c:393
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
msgstr ""
"Usar un modo específico, por exemplo, «gdm» para a pantalla de inicio de "
"sesión"
#: ../src/main.c:391
#: ../src/main.c:399
msgid "List possible modes"
msgstr "Listar os modos posíbeis"

267
po/he.po
View File

@ -10,8 +10,8 @@ msgid ""
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-08-30 21:15+0300\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-11-19 20:37+0200\n"
"PO-Revision-Date: 2015-11-19 20:37+0200\n"
"Last-Translator: Yosef Or Boczko <yoseforb@gmail.com>\n"
"Language-Team: עברית <>\n"
@ -47,15 +47,6 @@ msgstr "הצגת כל היישומים"
#: ../data/50-gnome-shell-system.xml.in.h:6
msgid "Open the application menu"
msgstr "פתיחת תפריט היישום"
#: ../data/gnome-shell.desktop.in.in.h:1
msgid "GNOME Shell"
msgstr "מעטפת GNOME"
#: ../data/gnome-shell.desktop.in.in.h:2
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
msgid "Window management and application launching"
msgstr "ניהול חלונות והרצת יישומים"
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1
msgid "GNOME Shell Extension Preferences"
@ -64,9 +55,13 @@ msgstr "העדפות ההרחבות של GNOME Shell"
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:2
msgid "Configure GNOME Shell Extensions"
msgstr "הגדרת הרחבות GNOME Shell"
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
msgid "GNOME Shell (wayland compositor)"
#: ../data/org.gnome.Shell.desktop.in.in.h:1
msgid "GNOME Shell"
msgstr "מעטפת GNOME"
#: ../data/org.gnome.Shell.desktop.in.in.h:2
msgid "Window management and application launching"
msgstr "ניהול חלונות והרצת יישומים"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
@ -170,74 +165,92 @@ msgstr ""
"'Remember Password' checkbox will be present. This key sets the default "
"state of the checkbox."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
msgid ""
"Whether the default Bluetooth adapter had set up devices associated to it"
msgstr ""
"Whether the default Bluetooth adapter had set up devices associated to it"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
msgid ""
"The shell will only show a Bluetooth menu item if a Bluetooth adapter is "
"powered, or if there were devices set up associated with the default "
"adapter. This will be reset if the default adapter is ever seen not to have "
"devices associated to it."
msgstr ""
"The shell will only show a Bluetooth menu item if a Bluetooth adapter is "
"powered, or if there were devices set up associated with the default "
"adapter. This will be reset if the default adapter is ever seen not to have "
"devices associated to it."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
msgid "Show the week date in the calendar"
msgstr "Show the week date in the calendar"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
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.in.h:22
msgid "Keybinding to open the application menu"
msgstr "Keybinding to open the application menu"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
msgid "Keybinding to open the application menu."
msgstr "Keybinding to open the application menu."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
msgid "Keybinding to open the \"Show Applications\" view"
msgstr "Keybinding to open the \"Show Applications\" view"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
msgid ""
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
msgstr ""
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
msgid "Keybinding to open the overview"
msgstr "Keybinding to open the overview"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
msgid "Keybinding to open the Activities Overview."
msgstr "Keybinding to open the Activities Overview."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
msgid "Keybinding to toggle the visibility of the notification list"
msgstr "Keybinding to toggle the visibility of the notification list"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
msgid "Keybinding to toggle the visibility of the notification list."
msgstr "Keybinding to toggle the visibility of the notification list."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
msgid "Keybinding to focus the active notification"
msgstr "Keybinding to focus the active notification"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
msgid "Keybinding to focus the active notification."
msgstr "Keybinding to focus the active notification."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
msgid ""
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
msgstr ""
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
msgid "Which keyboard to use"
msgstr "Which keyboard to use"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
msgid "The type of keyboard to use."
msgstr "The type of keyboard to use."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
msgid "Limit switcher to current workspace."
msgstr "Limit switcher to current workspace."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
msgid ""
"If true, only applications that have windows on the current workspace are "
@ -245,51 +258,51 @@ msgstr ""
msgstr ""
"If true, only applications that have windows on the current workspace are "
"shown in the switcher. Otherwise, all applications are included."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
msgid "The application icon mode."
msgstr "The application icon mode."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
msgid ""
"Configures how the windows are shown in the switcher. Valid possibilities "
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
"only' (shows only the application icon) or 'both'."
msgstr ""
"Configures how the windows are shown in the switcher. Valid possibilities "
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
"only' (shows only the application icon) or 'both'."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
msgid ""
"If true, only windows from the current workspace are shown in the switcher. "
"Otherwise, all windows are included."
msgstr ""
"If true, only windows from the current workspace are shown in the switcher. "
"Otherwise, all windows are included."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
msgid "Attach modal dialog to the parent window"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
msgid ""
"Configures how the windows are shown in the switcher. Valid possibilities "
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
"only' (shows only the application icon) or 'both'."
msgstr ""
"Configures how the windows are shown in the switcher. Valid possibilities "
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
"only' (shows only the application icon) or 'both'."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
msgid ""
"If true, only windows from the current workspace are shown in the switcher. "
"Otherwise, all windows are included."
msgstr ""
"If true, only windows from the current workspace are shown in the switcher. "
"Otherwise, all windows are included."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
msgid "Attach modal dialog to the parent window"
msgstr "Attach modal dialog to the parent window"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
msgid ""
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
msgstr ""
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
msgid "Enable edge tiling when dropping windows on screen edges"
msgstr "Enable edge tiling when dropping windows on screen edges"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
msgid "Workspaces are managed dynamically"
msgstr "Workspaces are managed dynamically"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:44
msgid "Workspaces only on primary monitor"
msgstr "Workspaces only on primary monitor"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:45
msgid "Delay focus changes in mouse mode until the pointer stops moving"
msgstr "Delay focus changes in mouse mode until the pointer stops moving"
@ -314,7 +327,7 @@ msgid "Cancel"
msgid "Cancel"
msgstr "ביטול"
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215
#: ../js/gdm/authPrompt.js:447
msgid "Next"
msgstr "הבא"
@ -341,7 +354,7 @@ msgstr "לא רשום?"
msgstr "לא רשום?"
#. Translators: this message is shown below the username entry field
#. to clue the user in on how to login to the local network realm
#. to clue the user in on how to login to the local network realm
#: ../js/gdm/loginDialog.js:850
#, javascript-format
msgid "(e.g., user or %s)"
@ -349,12 +362,12 @@ msgstr "(משתמש או %s לדוגמה)"
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:855 ../js/ui/components/networkAgent.js:271
#: ../js/ui/components/networkAgent.js:289
msgid "Username: "
msgstr "שם משתמש:"
#: ../js/gdm/loginDialog.js:1180
msgid "Login Window"
msgstr "חלון כניסה"
@ -490,12 +503,12 @@ msgstr "הוספה למועדפים"
#: ../js/ui/appDisplay.js:1897
msgid "Show Details"
msgstr "הצגת פרטים"
#: ../js/ui/appFavorites.js:133
#, javascript-format
msgid "%s has been added to your favorites."
msgstr "%s נוסף למועדפים שלך."
#: ../js/ui/appFavorites.js:167
#, javascript-format
msgid "%s has been removed from your favorites."
@ -508,8 +521,7 @@ msgstr "החלפת הרקע…"
#: ../js/ui/backgroundMenu.js:21
msgid "Display Settings"
msgstr "הגדרות תצוגה"
#: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
msgid "Settings"
msgstr "הגדרות"
@ -573,6 +585,12 @@ msgstr "חודש קודם"
#: ../js/ui/calendar.js:576
msgid "Next month"
msgstr "חודש הבא"
#: ../js/ui/calendar.js:728
#, javascript-format
msgctxt "date day number format"
msgid "%d"
msgstr "%d"
#: ../js/ui/calendar.js:783
msgid "Week %V"
@ -585,33 +603,33 @@ msgctxt "event list time"
msgctxt "event list time"
msgid "All Day"
msgstr "יום שלם"
#: ../js/ui/calendar.js:1295
msgid "Clear section"
msgstr "ניקוי מקטע"
#: ../js/ui/calendar.js:1522
msgid "Events"
msgstr "אירועים"
#: ../js/ui/calendar.js:1531
msgctxt "calendar heading"
msgid "%A, %B %d"
msgstr "%A, ה־%e ב%B"
#: ../js/ui/calendar.js:1535
msgctxt "calendar heading"
msgid "%A, %B %d, %Y"
msgstr "%A, ה־%e ב%B, %Y"
#: ../js/ui/calendar.js:1620
msgid "Notifications"
msgstr "התרעות"
#: ../js/ui/calendar.js:1771
msgid "No Notifications"
msgstr "אין התרעות"
#: ../js/ui/calendar.js:1774
msgid "No Events"
msgstr "אין אירועים"
@ -623,7 +641,7 @@ msgstr "חובר כונן חיצוני"
#: ../js/ui/components/automountManager.js:102
msgid "External drive disconnected"
msgstr "נותק כונן חיצוני"
#: ../js/ui/components/autorunManager.js:355
#, javascript-format
msgid "Open with %s"
@ -961,7 +979,7 @@ msgstr "פעיל"
msgstr "פעיל"
#. translators:
#. * The device has been disabled
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
msgid "Disabled"
msgstr "מנוטרל"
@ -1005,17 +1023,22 @@ msgstr "סקירה"
#: ../js/ui/overview.js:244
msgid "Type to search…"
msgstr "יש להקליד כדי לחפש…"
#: ../js/ui/panel.js:358
msgid "Quit"
msgstr "יציאה"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:414
msgid "Activities"
msgstr "פעילויות"
#: ../js/ui/panel.js:695
msgctxt "System menu in the top bar"
msgid "System"
msgstr "מערכת"
#: ../js/ui/panel.js:807
msgid "Top Bar"
msgstr "הסרגל העליון"
@ -1028,15 +1051,15 @@ msgstr "הסרגל העליון"
#: ../js/ui/popupMenu.js:289
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
#: ../js/ui/runDialog.js:71
msgid "Enter a Command"
msgstr "נא להזין פקודה"
#: ../js/ui/runDialog.js:111 ../js/ui/windowMenu.js:162
msgid "Close"
msgstr "סגירה"
#: ../js/ui/runDialog.js:282
msgid "Restarting…"
msgstr "מופעל מחדש…"
@ -1161,29 +1184,41 @@ msgstr "ניגודיות גבוהה"
#: ../js/ui/status/accessibility.js:202
msgid "Large Text"
msgstr "טקסט גדול"
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:178
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
#: ../js/ui/status/rfkill.js:117
msgid "Turn Off"
#: ../js/ui/status/bluetooth.js:47
msgid "Bluetooth"
msgstr "Bluetooth"
#: ../js/ui/status/bluetooth.js:56
msgid "Bluetooth Settings"
msgstr "הגדרות Bluetooth"
#. Translators: this is the number of connected bluetooth devices
#. Translators: this is the number of connected bluetooth devices
#: ../js/ui/status/bluetooth.js:136
#, c-format
msgid "%d Connected"
msgid_plural "%d Connected"
msgstr[0] "אחד מחובר"
msgstr[1] "%d מחוברים"
#: ../js/ui/status/bluetooth.js:138
msgid "Off"
msgstr "כבוי"
#: ../js/ui/status/bluetooth.js:140
msgid "Not In Use"
msgstr "לא בשימוש"
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:1279
msgid "Turn On"
msgstr "הפעלה"
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:178
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
#: ../js/ui/status/rfkill.js:117
msgid "Turn Off"
msgstr "כיבוי"
#: ../js/ui/status/brightness.js:44
msgid "Brightness"
@ -1351,10 +1386,6 @@ msgstr "בחירת רשת"
#: ../js/ui/status/network.js:1177
msgid "Wi-Fi Settings"
msgstr "הגדרות רשת אלחוטית"
#: ../js/ui/status/network.js:1279
msgid "Turn On"
msgstr "הפעלה"
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:1296
@ -1404,32 +1435,37 @@ msgstr "ההתחברות נכשלה"
#: ../js/ui/status/network.js:1698
msgid "Activation of network connection failed"
msgstr "הפעלת חיבור הרשת נכשלה"
#: ../js/ui/status/power.js:61
msgid "Power Settings"
msgstr "הגדרות צריכת החשמל"
#: ../js/ui/status/power.js:77
msgid "Fully Charged"
msgstr "בטעינה מלאה"
#. 0 is reported when UPower does not have enough data
#. to estimate battery life
#. to estimate battery life
#: ../js/ui/status/power.js:84 ../js/ui/status/power.js:90
msgid "Estimating…"
msgstr "מתבצע שערוך…"
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
#: ../js/ui/status/power.js:98
#, javascript-format
#, javascript-format
msgid "%d%02d Remaining (%d%%)"
msgstr "%d%02d נותרו (%d%%)"
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
#: ../js/ui/status/power.js:103
#, javascript-format
#, javascript-format
msgid "%d%02d Until Full (%d%%)"
msgstr "%d:%02d עד לטעינה מלאה (%d%%)"
#: ../js/ui/status/power.js:131 ../js/ui/status/power.js:133
#, javascript-format
msgid "%d%%"
msgstr "%d%%"
#. The menu only appears when airplane mode is on, so just
#. statically build it as if it was on, rather than dynamically
@ -1594,7 +1630,7 @@ msgstr "יומן אבולושן"
msgstr "יומן אבולושן"
#. translators:
#. * The number of sound outputs on a particular device
#. * The number of sound outputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1835
#, c-format
msgid "%u Output"
@ -1603,57 +1639,57 @@ msgstr[1] "%u פלטים"
msgstr[1] "%u פלטים"
#. translators:
#. * The number of sound inputs on a particular device
#. * The number of sound inputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1845
#, c-format
msgid "%u Input"
msgid_plural "%u Inputs"
msgstr[0] "קלט אחד"
msgstr[1] "%u קלטים"
#: ../src/gvc/gvc-mixer-control.c:2371
msgid "System Sounds"
msgstr "צלילי מערכת"
#: ../src/main.c:381
msgid "Print version"
msgstr "Print version"
#: ../src/main.c:387
msgid "Mode used by GDM for login screen"
msgstr "המצב בו GDM יעשה שימוש לצורך מסך הכניסה"
#: ../src/main.c:393
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
msgstr "שימוש במצב מסוים, לדוגמה: „gdm“ למסך הכניסה"
#: ../src/main.c:399
msgid "List possible modes"
msgstr "הצגת המצבים האפשריים"
#: ../src/shell-app.c:246
msgctxt "program"
msgid "Unknown"
msgstr "לא ידוע"
#: ../src/shell-app.c:487
#, c-format
msgid "Failed to launch “%s”"
msgstr "אירע כשל בטעינת „%s”"
#: ../src/shell-keyring-prompt.c:730
msgid "Passwords do not match."
msgstr "הססמאות אינן תואמות."
#: ../src/shell-keyring-prompt.c:738
msgid "Password cannot be blank"
msgstr "הססמה אינה יכולה להישאר ריקה"
#: ../src/shell-polkit-authentication-agent.c:353
msgid "Authentication dialog was dismissed by the user"
msgstr "המשתמש בחר להתעלם מתיבת דו־שיח האימות"
#~ msgid "Bluetooth"
#~ msgid "GNOME Shell (wayland compositor)"
#~ msgstr "GNOME Shell (מסדר wayland)"
# javascript-format
@ -1661,9 +1697,6 @@ msgstr "המשתמש בחר להתעלם מתיבת דו־שיח האימות"
#~ msgid_plural "%d Connected Devices"
#~ msgstr[0] "התקן אחד מחובר"
#~ msgstr[1] "%d התקנים מחוברים"
#~ msgid "Off"
#~ msgstr "כבוי"
#~ msgid "Authentication required"
#~ msgstr "נדרש אימות"
@ -2257,10 +2290,6 @@ msgstr "המשתמש בחר להתעלם מתיבת דו־שיח האימות"
#~ msgstr[0] "דקה אחת נותרה"
#~ msgstr[1] "%d דקות נותרו"
#~ msgstr[2] "שתי דקות נותרו"
#~ msgctxt "percent of battery remaining"
#~ msgid "%d%%"
#~ msgstr "%d%%"
#~ msgid "AC Adapter"
#~ msgstr "מתאם חשמל"

529
po/hu.po

File diff suppressed because it is too large Load Diff

704
po/id.po

File diff suppressed because it is too large Load Diff

186
po/it.po
View File

@ -11,8 +11,8 @@ msgstr ""
"Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2015-09-03 20:12+0000\n"
"PO-Revision-Date: 2015-09-04 10:15+0200\n"
"POT-Creation-Date: 2015-09-28 20:46+0000\n"
"PO-Revision-Date: 2015-09-29 09:02+0200\n"
"Last-Translator: Milo Casagrande <milo@milo.name>\n"
"Language-Team: Italiano <tp@lists.linux.it>\n"
"Language: it\n"
@ -21,7 +21,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-DamnedLies-Scope: partial\n"
"X-Generator: Poedit 1.8.4\n"
"X-Generator: Poedit 1.8.5\n"
#: ../data/50-gnome-shell-system.xml.in.h:1
msgid "System"
@ -350,15 +350,23 @@ msgstr "Accedi"
msgid "Choose Session"
msgstr "Scegli sessione"
#. translators: this message is shown below the user list on the
#. login screen. It can be activated to reveal an entry for
#. manually entering the username.
#: ../js/gdm/loginDialog.js:431
msgid "Not listed?"
msgstr "Non elencato?"
#. Translators: this message is shown below the username entry field
#. to clue the user in on how to login to the local network realm
#: ../js/gdm/loginDialog.js:850
#, javascript-format
msgid "(e.g., user or %s)"
msgstr "(p.e. utente o %s)"
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:855 ../js/ui/components/networkAgent.js:271
#: ../js/ui/components/networkAgent.js:289
msgid "Username: "
@ -372,6 +380,11 @@ msgstr "Finestra di accesso"
msgid "Authentication error"
msgstr "Errore di autenticazione"
#. We don't show fingerprint messages directly since it's
#. not the main auth service. Instead we use the messages
#. as a cue to display our own message.
#. Translators: this message is shown below the password entry field
#. to indicate the user can swipe their finger instead
#: ../js/gdm/util.js:473
msgid "(or swipe finger)"
msgstr "(o passare il dito)"
@ -380,6 +393,8 @@ msgstr "(o passare il dito)"
msgid "Command not found"
msgstr "Comando non trovato"
#. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer
#: ../js/misc/util.js:152
msgid "Could not parse command:"
msgstr "Impossibile analizzare il comando:"
@ -389,70 +404,78 @@ msgstr "Impossibile analizzare il comando:"
msgid "Execution of “%s” failed:"
msgstr "Esecuzione di «%s» non riuscita:"
#. Translators: Time in 24h format */
#. Translators: Time in 24h format
#: ../js/misc/util.js:191
msgid "%H%M"
msgstr "%H%M"
#. Translators: this is the word "Yesterday" followed by a
#. time string in 24h format. i.e. "Yesterday, 14:30" */
#. time string in 24h format. i.e. "Yesterday, 14:30"
#: ../js/misc/util.js:197
#, no-c-format
msgid "Yesterday, %H%M"
msgstr "Ieri, %H%M"
#. Translators: this is the week day name followed by a time
#. string in 24h format. i.e. "Monday, 14:30" */
#. string in 24h format. i.e. "Monday, 14:30"
#: ../js/misc/util.js:203
#, no-c-format
msgid "%A, %H%M"
msgstr "%A, %H%M"
#. Translators: this is the month name and day number
#. followed by a time string in 24h format.
#. i.e. "May 25, 14:30" */
#. i.e. "May 25, 14:30"
#: ../js/misc/util.js:209
#, no-c-format
msgid "%B %d, %H%M"
msgstr "%e %B, %H%M"
#. Translators: this is the month name, day number, year
#. number followed by a time string in 24h format.
#. i.e. "May 25 2012, 14:30" */
#. i.e. "May 25 2012, 14:30"
#: ../js/misc/util.js:215
#, no-c-format
msgid "%B %d %Y, %H%M"
msgstr "%e %B %Y, %H%M"
#. Translators: Time in 12h format */
#. Translators: Time in 12h format
#: ../js/misc/util.js:220
msgid "%l%M %p"
msgstr "%I%M %p"
#. Translators: this is the word "Yesterday" followed by a
#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */
#. time string in 12h format. i.e. "Yesterday, 2:30 pm"
#: ../js/misc/util.js:226
#, no-c-format
msgid "Yesterday, %l%M %p"
msgstr "Ieri, %I%M %p"
#. Translators: this is the week day name followed by a time
#. string in 12h format. i.e. "Monday, 2:30 pm" */
#. string in 12h format. i.e. "Monday, 2:30 pm"
#: ../js/misc/util.js:232
#, no-c-format
msgid "%A, %l%M %p"
msgstr "%A, %I%M %p"
#. Translators: this is the month name and day number
#. followed by a time string in 12h format.
#. i.e. "May 25, 2:30 pm" */
#. i.e. "May 25, 2:30 pm"
#: ../js/misc/util.js:238
#, no-c-format
msgid "%B %d, %l%M %p"
msgstr "%d %B, %I%M %p"
#. Translators: this is the month name, day number, year
#. number followed by a time string in 12h format.
#. i.e. "May 25 2012, 2:30 pm"*/
#. i.e. "May 25 2012, 2:30 pm"
#: ../js/misc/util.js:244
#, no-c-format
msgid "%B %d %Y, %l%M %p"
msgstr "%d %B %Y, %I%M %p"
#. TRANSLATORS: this is the title of the wifi captive portal login
#. * window, until we know the title of the actual login page */
#. * window, until we know the title of the actual login page
#: ../js/portalHelper/main.js:85
msgid "Web Authentication Redirect"
msgstr "Redirezione autenticazione web"
@ -505,12 +528,11 @@ msgstr "Cambia sfondo…"
msgid "Display Settings"
msgstr "Impostazioni monitor"
#: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650
#: ../js/ui/status/system.js:366
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
msgid "Settings"
msgstr "Impostazioni"
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday). */
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday).
#: ../js/ui/calendar.js:55
msgctxt "calendar-no-work"
msgid "06"
@ -520,43 +542,43 @@ msgstr "06"
#. *
#. * NOTE: These grid abbreviations are always shown together
#. * and in order, e.g. "S M T W T F S".
#. */
#.
#: ../js/ui/calendar.js:84
msgctxt "grid sunday"
msgid "S"
msgstr "D"
#. Translators: Calendar grid abbreviation for Monday */
#. Translators: Calendar grid abbreviation for Monday
#: ../js/ui/calendar.js:86
msgctxt "grid monday"
msgid "M"
msgstr "L"
#. Translators: Calendar grid abbreviation for Tuesday */
#. Translators: Calendar grid abbreviation for Tuesday
#: ../js/ui/calendar.js:88
msgctxt "grid tuesday"
msgid "T"
msgstr "M"
#. Translators: Calendar grid abbreviation for Wednesday */
#. Translators: Calendar grid abbreviation for Wednesday
#: ../js/ui/calendar.js:90
msgctxt "grid wednesday"
msgid "W"
msgstr "M"
#. Translators: Calendar grid abbreviation for Thursday */
#. Translators: Calendar grid abbreviation for Thursday
#: ../js/ui/calendar.js:92
msgctxt "grid thursday"
msgid "T"
msgstr "G"
#. Translators: Calendar grid abbreviation for Friday */
#. Translators: Calendar grid abbreviation for Friday
#: ../js/ui/calendar.js:94
msgctxt "grid friday"
msgid "F"
msgstr "V"
#. Translators: Calendar grid abbreviation for Saturday */
#. Translators: Calendar grid abbreviation for Saturday
#: ../js/ui/calendar.js:96
msgctxt "grid saturday"
msgid "S"
@ -576,39 +598,39 @@ msgstr "Settimana %V"
#. Translators: Shown in calendar event list for all day events
#. * Keep it short, best if you can use less then 10 characters
#. */
#.
#: ../js/ui/calendar.js:1188
msgctxt "event list time"
msgid "All Day"
msgstr "Giornata"
#: ../js/ui/calendar.js:1291
#: ../js/ui/calendar.js:1295
msgid "Clear section"
msgstr "Annulla selezione"
#: ../js/ui/calendar.js:1518
#: ../js/ui/calendar.js:1522
msgid "Events"
msgstr "Eventi"
#: ../js/ui/calendar.js:1527
#: ../js/ui/calendar.js:1531
msgctxt "calendar heading"
msgid "%A, %B %d"
msgstr "%A, %e %B"
#: ../js/ui/calendar.js:1531
#: ../js/ui/calendar.js:1535
msgctxt "calendar heading"
msgid "%A, %B %d, %Y"
msgstr "%A, %e %B %Y"
#: ../js/ui/calendar.js:1616
#: ../js/ui/calendar.js:1620
msgid "Notifications"
msgstr "Notifiche"
#: ../js/ui/calendar.js:1767
#: ../js/ui/calendar.js:1771
msgid "No Notifications"
msgstr "Nessuna notifica"
#: ../js/ui/calendar.js:1770
#: ../js/ui/calendar.js:1774
msgid "No Events"
msgstr "Nessun evento"
@ -638,6 +660,7 @@ msgstr "Inserire di nuovo:"
msgid "Connect"
msgstr "Connetti"
#. Cisco LEAP
#: ../js/ui/components/networkAgent.js:233
#: ../js/ui/components/networkAgent.js:245
#: ../js/ui/components/networkAgent.js:273
@ -646,6 +669,7 @@ msgstr "Connetti"
msgid "Password: "
msgstr "Password: "
#. static WEP
#: ../js/ui/components/networkAgent.js:238
msgid "Key: "
msgstr "Chiave: "
@ -737,13 +761,13 @@ msgstr "Autentica"
#. Translators: "that didn't work" refers to the fact that the
#. * requested authentication was not gained; this can happen
#. * because of an authentication error (like invalid password),
#. * for instance. */
#. * for instance.
#: ../js/ui/components/polkitAgent.js:301 ../js/ui/shellMountOperation.js:383
msgid "Sorry, that didn't work. Please try again."
msgstr "Errore nell'autenticazione. Provare di nuovo."
#. Translators: this is the other person changing their old IM name to their new
#. IM name. */
#. IM name.
#: ../js/ui/components/telepathyClient.js:759
#, javascript-format
msgid "%s is now known as %s"
@ -758,13 +782,15 @@ msgid "Show Applications"
msgstr "Mostra applicazioni"
# cruscotto?!?!?!?!?!?!?
#. Translators: this is the name of the dock/favorites area on
#. the left of the overview
#: ../js/ui/dash.js:449
msgid "Dash"
msgstr "Dash"
#. Translators: This is the date format to use when the calendar popup is
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
#. */
#.
#: ../js/ui/dateMenu.js:73
msgid "%B %e %Y"
msgstr "%e %B %Y"
@ -772,7 +798,7 @@ msgstr "%e %B %Y"
#. Translators: This is the accessible name of the date button shown
#. * below the time in the shell; it should combine the weekday and the
#. * date, e.g. "Tuesday February 17 2015".
#. */
#.
#: ../js/ui/dateMenu.js:80
msgid "%A %B %e %Y"
msgstr "%A %e %B %Y"
@ -905,13 +931,13 @@ msgstr "Alcune applicazioni risultano occupate o con lavoro non salvato."
msgid "Other users are logged in."
msgstr "Altri utenti sono collegati."
#. Translators: Remote here refers to a remote session, like a ssh login */
#. Translators: Remote here refers to a remote session, like a ssh login
#: ../js/ui/endSessionDialog.js:640
#, javascript-format
msgid "%s (remote)"
msgstr "%s (remoto)"
#. Translators: Console here refers to a tty like a VT console */
#. Translators: Console here refers to a tty like a VT console
#: ../js/ui/endSessionDialog.js:643
#, javascript-format
msgid "%s (console)"
@ -930,7 +956,7 @@ msgstr "Scaricare e installare «%s» da extensions.gnome.org?"
msgid "Keyboard"
msgstr "Tastiera"
#. translators: 'Hide' is a verb */
#. translators: 'Hide' is a verb
#: ../js/ui/legacyTray.js:66
msgid "Hide tray"
msgstr "Nascondi cassetto"
@ -943,7 +969,7 @@ msgstr "Icone di stato"
msgid "No extensions installed"
msgstr "Nessuna estensione installata"
#. Translators: argument is an extension UUID. */
#. Translators: argument is an extension UUID.
#: ../js/ui/lookingGlass.js:697
#, javascript-format
msgid "%s has not emitted any errors."
@ -965,7 +991,7 @@ msgstr "Abilitato"
# (ndt) o disabilitata?
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1830
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
msgid "Disabled"
msgstr "Disabilitato"
@ -1004,7 +1030,7 @@ msgstr "Panoramica"
#. Translators: this is the text displayed
#. in the search entry when no search is
#. active; it should not exceed ~30
#. characters. */
#. characters.
#: ../js/ui/overview.js:244
msgid "Type to search…"
msgstr "Digita per cercare…"
@ -1014,15 +1040,25 @@ msgid "Quit"
msgstr "Esci"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview". */
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:404
msgid "Activities"
msgstr "Attività"
#: ../js/ui/panel.js:650
msgctxt "System menu in the top bar"
msgid "System"
msgstr "Sistema"
#: ../js/ui/panel.js:754
msgid "Top Bar"
msgstr "Barra superiore"
#. 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:289
msgid "toggle-switch-us"
msgstr "toggle-switch-us"
@ -1040,7 +1076,7 @@ msgid "Restarting…"
msgstr "Riavvio…"
#. Translators: This is a time format for a date in
#. long format */
#. long format
#: ../js/ui/screenShield.js:85
msgid "%A, %B %d"
msgstr "%A, %d %B"
@ -1067,6 +1103,13 @@ msgstr "Blocca"
msgid "GNOME needs to lock the screen"
msgstr "GNOME deve bloccare lo schermo"
#. We could not become modal, so we can't activate the
#. screenshield. The user is probably very upset at this
#. point, but any application using global grabs is broken
#. Just tell him to stop using this app
#.
#. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs
#: ../js/ui/screenShield.js:805 ../js/ui/screenShield.js:1271
msgid "Unable to lock"
msgstr "Impossibile bloccare"
@ -1163,7 +1206,7 @@ msgstr "Spegni"
msgid "Bluetooth Settings"
msgstr "Impostazioni Bluetooth"
#. Translators: this is the number of connected bluetooth devices */
#. Translators: this is the number of connected bluetooth devices
#: ../js/ui/status/bluetooth.js:105
#, javascript-format
msgid "%d Connected"
@ -1212,13 +1255,13 @@ msgstr "Abilita"
msgid "<unknown>"
msgstr "<sconosciuto>"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:451 ../js/ui/status/network.js:1308
#, javascript-format
msgid "%s Off"
msgstr "%s spento"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:454
#, javascript-format
msgid "%s Connected"
@ -1227,45 +1270,45 @@ msgstr "%s collegato"
# FIXME o femminile? boh
#. Translators: this is for network devices that are physically present but are not
#. under NetworkManager's control (and thus cannot be used in the menu);
#. %s is a network identifier */
#. %s is a network identifier
#: ../js/ui/status/network.js:459
#, javascript-format
msgid "%s Unmanaged"
msgstr "%s non gestito"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:462
#, javascript-format
msgid "%s Disconnecting"
msgstr "%s in disconnessione"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:469 ../js/ui/status/network.js:1300
#, javascript-format
msgid "%s Connecting"
msgstr "%s in connessione"
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier */
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier
#: ../js/ui/status/network.js:472
#, javascript-format
msgid "%s Requires Authentication"
msgstr "%s richiede autenticazione"
#. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing; %s is a network identifier */
#. module, which is missing; %s is a network identifier
#: ../js/ui/status/network.js:480
#, javascript-format
msgid "Firmware Missing For %s"
msgstr "Firmware mancante per %s"
#. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage; %s is a network identifier */
#. is disabled by rfkill, or it has no coverage; %s is a network identifier
#: ../js/ui/status/network.js:484
#, javascript-format
msgid "%s Unavailable"
msgstr "%s non disponibile"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:487
#, javascript-format
msgid "%s Connection Failed"
@ -1280,7 +1323,7 @@ msgid "Mobile Broadband Settings"
msgstr "Impostazioni banda larga mobile"
# (ndt) o disabilitata?
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:588 ../js/ui/status/network.js:1305
#, javascript-format
msgid "%s Hardware Disabled"
@ -1288,7 +1331,7 @@ msgstr "%s disabilitato via hardware"
# (ndt) o disabilitata?
#. Translators: this is for a network device that cannot be activated
#. because it's disabled by rfkill (airplane mode); %s is a network identifier */
#. because it's disabled by rfkill (airplane mode); %s is a network identifier
#: ../js/ui/status/network.js:592
#, javascript-format
msgid "%s Disabled"
@ -1350,13 +1393,13 @@ msgstr "Impostazioni Wi-Fi"
msgid "Turn On"
msgstr "Attiva"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:1296
#, javascript-format
msgid "%s Hotspot Active"
msgstr "Hotspot %s attivo"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:1311
#, javascript-format
msgid "%s Not Connected"
@ -1366,7 +1409,7 @@ msgstr "%s non collegato"
msgid "connecting..."
msgstr "connessione…"
#. Translators: this is for network connections that require some kind of key or password */
#. Translators: this is for network connections that require some kind of key or password
#: ../js/ui/status/network.js:1414
msgid "authentication required"
msgstr "richiesta autenticazione"
@ -1407,21 +1450,28 @@ msgstr "Impostazioni alimentazione"
msgid "Fully Charged"
msgstr "Carica"
#. 0 is reported when UPower does not have enough data
#. to estimate battery life
#: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78
msgid "Estimating…"
msgstr "In stima…"
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
#: ../js/ui/status/power.js:86
#, javascript-format
msgid "%d%02d Remaining (%d%%)"
msgstr "%d%02d rimanente (%d%%)"
# in stile MacOS sarebbe "al pieno" :P
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
#: ../js/ui/status/power.js:91
#, javascript-format
msgid "%d%02d Until Full (%d%%)"
msgstr "%d%02d alla carica (%d%%)"
#. The menu only appears when airplane mode is on, so just
#. statically build it as if it was on, rather than dynamically
#. changing the menu contents.
#: ../js/ui/status/rfkill.js:88
msgid "Airplane Mode On"
msgstr "Modalità aereo attiva"
@ -1490,7 +1540,7 @@ msgstr "Mantenere queste impostazioni per il monitor?"
#. Translators: this and the following message should be limited in lenght,
#. to avoid ellipsizing the labels.
#. */
#.
#: ../js/ui/windowManager.js:82
msgid "Revert Settings"
msgstr "Ripristina impostazioni"
@ -1507,7 +1557,7 @@ msgstr[0] "Le modifiche alle impostazioni saranno ripristinate tra %d secondo"
msgstr[1] "Le modifiche alle impostazioni saranno ripristinate tra %d secondi"
#. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height. */
#. * the width of the window and the second is the height.
#: ../js/ui/windowManager.js:658
#, javascript-format
msgid "%d x %d"
@ -1583,7 +1633,7 @@ msgstr "Calendario di Evolution"
#. translators:
#. * The number of sound outputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1837
#: ../src/gvc/gvc-mixer-control.c:1835
#, c-format
msgid "%u Output"
msgid_plural "%u Outputs"
@ -1592,30 +1642,30 @@ msgstr[1] "%u uscite"
#. translators:
#. * The number of sound inputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1847
#: ../src/gvc/gvc-mixer-control.c:1845
#, c-format
msgid "%u Input"
msgid_plural "%u Inputs"
msgstr[0] "%u ingresso"
msgstr[1] "%u ingressi"
#: ../src/gvc/gvc-mixer-control.c:2373
#: ../src/gvc/gvc-mixer-control.c:2371
msgid "System Sounds"
msgstr "Audio di sistema"
#: ../src/main.c:373
#: ../src/main.c:381
msgid "Print version"
msgstr "Stampa la versione"
#: ../src/main.c:379
#: ../src/main.c:387
msgid "Mode used by GDM for login screen"
msgstr "Modalità usata da GDM per la schermata d'accesso"
#: ../src/main.c:385
#: ../src/main.c:393
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
msgstr "Usa una modalità specifica, p.e. \"gdm\" per la schermata di accesso"
#: ../src/main.c:391
#: ../src/main.c:399
msgid "List possible modes"
msgstr "Elenca le modalità possibili"

186
po/kk.po
View File

@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2015-09-12 08:19+0000\n"
"PO-Revision-Date: 2015-09-12 21:07+0500\n"
"POT-Creation-Date: 2015-10-04 08:41+0000\n"
"PO-Revision-Date: 2015-10-04 17:00+0500\n"
"Last-Translator: Baurzhan Muftakhidinov <baurthefirst@gmail.com>\n"
"Language-Team: Kazakh <kk_KZ@googlegroups.com>\n"
"Language: kk\n"
@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Poedit 1.8.4\n"
"X-Generator: Poedit 1.8.5\n"
#: ../data/50-gnome-shell-system.xml.in.h:1
msgid "System"
@ -338,15 +338,23 @@ msgstr "Кіру"
msgid "Choose Session"
msgstr "Сессияны таңдау"
#. translators: this message is shown below the user list on the
#. login screen. It can be activated to reveal an entry for
#. manually entering the username.
#: ../js/gdm/loginDialog.js:431
msgid "Not listed?"
msgstr "Тізімде жоқсыз ба?"
#. Translators: this message is shown below the username entry field
#. to clue the user in on how to login to the local network realm
#: ../js/gdm/loginDialog.js:850
#, javascript-format
msgid "(e.g., user or %s)"
msgstr "(мыс., пайдаланушы не %s)"
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:855 ../js/ui/components/networkAgent.js:271
#: ../js/ui/components/networkAgent.js:289
msgid "Username: "
@ -360,6 +368,11 @@ msgstr "Жүйеге кіру терезесі"
msgid "Authentication error"
msgstr "Аутентификация қатесі"
#. We don't show fingerprint messages directly since it's
#. not the main auth service. Instead we use the messages
#. as a cue to display our own message.
#. Translators: this message is shown below the password entry field
#. to indicate the user can swipe their finger instead
#: ../js/gdm/util.js:473
msgid "(or swipe finger)"
msgstr "(немесе саусағыңызды өткізіңіз)"
@ -368,6 +381,8 @@ msgstr "(немесе саусағыңызды өткізіңіз)"
msgid "Command not found"
msgstr "Команда табылмады"
#. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer
#: ../js/misc/util.js:152
msgid "Could not parse command:"
msgstr "Команданы талдау мүмкін емес:"
@ -377,70 +392,78 @@ msgstr "Команданы талдау мүмкін емес:"
msgid "Execution of “%s” failed:"
msgstr "\"%s\" жөнелту сәтсіз:"
#. Translators: Time in 24h format */
#. Translators: Time in 24h format
#: ../js/misc/util.js:191
msgid "%H%M"
msgstr "%H%M"
#. Translators: this is the word "Yesterday" followed by a
#. time string in 24h format. i.e. "Yesterday, 14:30" */
#. time string in 24h format. i.e. "Yesterday, 14:30"
#: ../js/misc/util.js:197
#, no-c-format
msgid "Yesterday, %H%M"
msgstr "Кеше, %H%M"
#. Translators: this is the week day name followed by a time
#. string in 24h format. i.e. "Monday, 14:30" */
#. string in 24h format. i.e. "Monday, 14:30"
#: ../js/misc/util.js:203
#, no-c-format
msgid "%A, %H%M"
msgstr "%A, %H%M"
#. Translators: this is the month name and day number
#. followed by a time string in 24h format.
#. i.e. "May 25, 14:30" */
#. i.e. "May 25, 14:30"
#: ../js/misc/util.js:209
#, no-c-format
msgid "%B %d, %H%M"
msgstr "%B %d, %H%M"
#. Translators: this is the month name, day number, year
#. number followed by a time string in 24h format.
#. i.e. "May 25 2012, 14:30" */
#. i.e. "May 25 2012, 14:30"
#: ../js/misc/util.js:215
#, no-c-format
msgid "%B %d %Y, %H%M"
msgstr "%B %d %Y, %H%M"
#. Translators: Time in 12h format */
#. Translators: Time in 12h format
#: ../js/misc/util.js:220
msgid "%l%M %p"
msgstr "%l%M %p"
#. Translators: this is the word "Yesterday" followed by a
#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */
#. time string in 12h format. i.e. "Yesterday, 2:30 pm"
#: ../js/misc/util.js:226
#, no-c-format
msgid "Yesterday, %l%M %p"
msgstr "Кеше, %l%M %p"
#. Translators: this is the week day name followed by a time
#. string in 12h format. i.e. "Monday, 2:30 pm" */
#. string in 12h format. i.e. "Monday, 2:30 pm"
#: ../js/misc/util.js:232
#, no-c-format
msgid "%A, %l%M %p"
msgstr "%A, %l%M %p"
#. Translators: this is the month name and day number
#. followed by a time string in 12h format.
#. i.e. "May 25, 2:30 pm" */
#. i.e. "May 25, 2:30 pm"
#: ../js/misc/util.js:238
#, no-c-format
msgid "%B %d, %l%M %p"
msgstr "%B %d, %l%M %p"
#. Translators: this is the month name, day number, year
#. number followed by a time string in 12h format.
#. i.e. "May 25 2012, 2:30 pm"*/
#. i.e. "May 25 2012, 2:30 pm"
#: ../js/misc/util.js:244
#, no-c-format
msgid "%B %d %Y, %l%M %p"
msgstr "%B %d %Y, %l%M %p"
#. TRANSLATORS: this is the title of the wifi captive portal login
#. * window, until we know the title of the actual login page */
#. * window, until we know the title of the actual login page
#: ../js/portalHelper/main.js:85
msgid "Web Authentication Redirect"
msgstr "Веб аутентификацияның қайта бағдарлауы"
@ -491,12 +514,11 @@ msgstr "Фонды өзгерту..."
msgid "Display Settings"
msgstr "Экран баптаулары"
#: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650
#: ../js/ui/status/system.js:366
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
msgid "Settings"
msgstr "Баптаулар"
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday). */
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday).
#: ../js/ui/calendar.js:55
msgctxt "calendar-no-work"
msgid "06"
@ -506,43 +528,43 @@ msgstr "06"
#. *
#. * NOTE: These grid abbreviations are always shown together
#. * and in order, e.g. "S M T W T F S".
#. */
#.
#: ../js/ui/calendar.js:84
msgctxt "grid sunday"
msgid "S"
msgstr "Жк"
#. Translators: Calendar grid abbreviation for Monday */
#. Translators: Calendar grid abbreviation for Monday
#: ../js/ui/calendar.js:86
msgctxt "grid monday"
msgid "M"
msgstr "Дс"
#. Translators: Calendar grid abbreviation for Tuesday */
#. Translators: Calendar grid abbreviation for Tuesday
#: ../js/ui/calendar.js:88
msgctxt "grid tuesday"
msgid "T"
msgstr "Сс"
#. Translators: Calendar grid abbreviation for Wednesday */
#. Translators: Calendar grid abbreviation for Wednesday
#: ../js/ui/calendar.js:90
msgctxt "grid wednesday"
msgid "W"
msgstr "Ср"
#. Translators: Calendar grid abbreviation for Thursday */
#. Translators: Calendar grid abbreviation for Thursday
#: ../js/ui/calendar.js:92
msgctxt "grid thursday"
msgid "T"
msgstr "Бс"
#. Translators: Calendar grid abbreviation for Friday */
#. Translators: Calendar grid abbreviation for Friday
#: ../js/ui/calendar.js:94
msgctxt "grid friday"
msgid "F"
msgstr "Жм"
#. Translators: Calendar grid abbreviation for Saturday */
#. Translators: Calendar grid abbreviation for Saturday
#: ../js/ui/calendar.js:96
msgctxt "grid saturday"
msgid "S"
@ -562,39 +584,39 @@ msgstr "Апта %V"
#. Translators: Shown in calendar event list for all day events
#. * Keep it short, best if you can use less then 10 characters
#. */
#.
#: ../js/ui/calendar.js:1188
msgctxt "event list time"
msgid "All Day"
msgstr "Толық күн"
#: ../js/ui/calendar.js:1291
#: ../js/ui/calendar.js:1295
msgid "Clear section"
msgstr "Санатты тазарту"
#: ../js/ui/calendar.js:1518
#: ../js/ui/calendar.js:1522
msgid "Events"
msgstr "Оқиғалар"
#: ../js/ui/calendar.js:1527
#: ../js/ui/calendar.js:1531
msgctxt "calendar heading"
msgid "%A, %B %d"
msgstr "%A, %B %d"
#: ../js/ui/calendar.js:1531
#: ../js/ui/calendar.js:1535
msgctxt "calendar heading"
msgid "%A, %B %d, %Y"
msgstr "%A, %B %d, %Y"
#: ../js/ui/calendar.js:1616
#: ../js/ui/calendar.js:1620
msgid "Notifications"
msgstr "Хабарламалар"
#: ../js/ui/calendar.js:1767
#: ../js/ui/calendar.js:1771
msgid "No Notifications"
msgstr "Хабарламалар жоқ"
#: ../js/ui/calendar.js:1770
#: ../js/ui/calendar.js:1774
msgid "No Events"
msgstr "Оқиғалар жоқ"
@ -624,6 +646,7 @@ msgstr "Қайтадан енгізіңіз:"
msgid "Connect"
msgstr "Байланысу"
#. Cisco LEAP
#: ../js/ui/components/networkAgent.js:233
#: ../js/ui/components/networkAgent.js:245
#: ../js/ui/components/networkAgent.js:273
@ -632,6 +655,7 @@ msgstr "Байланысу"
msgid "Password: "
msgstr "Пароль:"
#. static WEP
#: ../js/ui/components/networkAgent.js:238
msgid "Key: "
msgstr "Кілт:"
@ -722,13 +746,13 @@ msgstr "Аутентификация"
#. Translators: "that didn't work" refers to the fact that the
#. * requested authentication was not gained; this can happen
#. * because of an authentication error (like invalid password),
#. * for instance. */
#. * for instance.
#: ../js/ui/components/polkitAgent.js:301 ../js/ui/shellMountOperation.js:383
msgid "Sorry, that didn't work. Please try again."
msgstr "Кешіріңіз, талап сәтсіз. Қайтадан көріңіз."
#. Translators: this is the other person changing their old IM name to their new
#. IM name. */
#. IM name.
#: ../js/ui/components/telepathyClient.js:759
#, javascript-format
msgid "%s is now known as %s"
@ -742,13 +766,15 @@ msgstr "Терезелер"
msgid "Show Applications"
msgstr "Қолданбаларды көрсету"
#. Translators: this is the name of the dock/favorites area on
#. the left of the overview
#: ../js/ui/dash.js:449
msgid "Dash"
msgstr "Dash"
#. Translators: This is the date format to use when the calendar popup is
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
#. */
#.
#: ../js/ui/dateMenu.js:73
msgid "%B %e %Y"
msgstr "%B %e %Y"
@ -756,7 +782,7 @@ msgstr "%B %e %Y"
#. Translators: This is the accessible name of the date button shown
#. * below the time in the shell; it should combine the weekday and the
#. * date, e.g. "Tuesday February 17 2015".
#. */
#.
#: ../js/ui/dateMenu.js:80
msgid "%A %B %e %Y"
msgstr "%A %B %e %Y"
@ -882,13 +908,13 @@ msgstr "Кейбір қолданбалар бос емес не сақталм
msgid "Other users are logged in."
msgstr "Басқа пайдаланушылар жүйеге кіріп тұр."
#. Translators: Remote here refers to a remote session, like a ssh login */
#. Translators: Remote here refers to a remote session, like a ssh login
#: ../js/ui/endSessionDialog.js:640
#, javascript-format
msgid "%s (remote)"
msgstr "%s (қашықтағы)"
#. Translators: Console here refers to a tty like a VT console */
#. Translators: Console here refers to a tty like a VT console
#: ../js/ui/endSessionDialog.js:643
#, javascript-format
msgid "%s (console)"
@ -907,7 +933,7 @@ msgstr "extensions.gnome.org адресінен “%s” жүктеп алып,
msgid "Keyboard"
msgstr "Пернетақта"
#. translators: 'Hide' is a verb */
#. translators: 'Hide' is a verb
#: ../js/ui/legacyTray.js:66
msgid "Hide tray"
msgstr "Жүйелік трейді жасыру"
@ -920,7 +946,7 @@ msgstr "Қалып-күй таңбашалары"
msgid "No extensions installed"
msgstr "Кеңейтулер орнатылмаған"
#. Translators: argument is an extension UUID. */
#. Translators: argument is an extension UUID.
#: ../js/ui/lookingGlass.js:697
#, javascript-format
msgid "%s has not emitted any errors."
@ -940,7 +966,7 @@ msgstr "Іске қосылған"
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1830
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
msgid "Disabled"
msgstr "Сөндірулі"
@ -979,7 +1005,7 @@ msgstr "Шолу"
#. Translators: this is the text displayed
#. in the search entry when no search is
#. active; it should not exceed ~30
#. characters. */
#. characters.
#: ../js/ui/overview.js:244
msgid "Type to search…"
msgstr "Іздеу үшін теріңіз..."
@ -989,15 +1015,25 @@ msgid "Quit"
msgstr "Шығу"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview". */
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:404
msgid "Activities"
msgstr "Көрініс"
#: ../js/ui/panel.js:650
msgctxt "System menu in the top bar"
msgid "System"
msgstr "Жүйелік"
#: ../js/ui/panel.js:754
msgid "Top Bar"
msgstr "Үстідегі панель"
#. Translators: this MUST be either "toggle-switch-us"
#. (for toggle switches containing the English words
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
#. switches containing "◯" and "|"). Other values will
#. simply result in invisible toggle switches.
#: ../js/ui/popupMenu.js:289
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
@ -1015,7 +1051,7 @@ msgid "Restarting…"
msgstr "Қайта қосу…"
#. Translators: This is a time format for a date in
#. long format */
#. long format
#: ../js/ui/screenShield.js:85
msgid "%A, %B %d"
msgstr "%A, %B %d"
@ -1040,6 +1076,13 @@ msgstr "Блоктау"
msgid "GNOME needs to lock the screen"
msgstr "GNOME экранды блоктау керек"
#. We could not become modal, so we can't activate the
#. screenshield. The user is probably very upset at this
#. point, but any application using global grabs is broken
#. Just tell him to stop using this app
#.
#. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs
#: ../js/ui/screenShield.js:805 ../js/ui/screenShield.js:1271
msgid "Unable to lock"
msgstr "Блоктау мүмкін емес"
@ -1135,7 +1178,7 @@ msgstr "Сөндіру"
msgid "Bluetooth Settings"
msgstr "Bluetooth баптаулары"
#. Translators: this is the number of connected bluetooth devices */
#. Translators: this is the number of connected bluetooth devices
#: ../js/ui/status/bluetooth.js:105
#, javascript-format
msgid "%d Connected"
@ -1182,13 +1225,13 @@ msgstr "Іске қосу"
msgid "<unknown>"
msgstr "<белгісіз>"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:451 ../js/ui/status/network.js:1308
#, javascript-format
msgid "%s Off"
msgstr "%s сөндірулі"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:454
#, javascript-format
msgid "%s Connected"
@ -1196,45 +1239,45 @@ msgstr "%s байланысқан"
#. Translators: this is for network devices that are physically present but are not
#. under NetworkManager's control (and thus cannot be used in the menu);
#. %s is a network identifier */
#. %s is a network identifier
#: ../js/ui/status/network.js:459
#, javascript-format
msgid "%s Unmanaged"
msgstr "%s басқарылмайтын"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:462
#, javascript-format
msgid "%s Disconnecting"
msgstr "%s байланысты үзуде"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:469 ../js/ui/status/network.js:1300
#, javascript-format
msgid "%s Connecting"
msgstr "%s байланысуда"
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier */
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier
#: ../js/ui/status/network.js:472
#, javascript-format
msgid "%s Requires Authentication"
msgstr "%s аутентификацияны талап етеді"
#. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing; %s is a network identifier */
#. module, which is missing; %s is a network identifier
#: ../js/ui/status/network.js:480
#, javascript-format
msgid "Firmware Missing For %s"
msgstr "%s үшін бинарлы кодтары жоқ"
#. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage; %s is a network identifier */
#. is disabled by rfkill, or it has no coverage; %s is a network identifier
#: ../js/ui/status/network.js:484
#, javascript-format
msgid "%s Unavailable"
msgstr "%s қолжетерсіз"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:487
#, javascript-format
msgid "%s Connection Failed"
@ -1248,14 +1291,14 @@ msgstr "Сымды желі баптаулары"
msgid "Mobile Broadband Settings"
msgstr "Сымсыз кеңжолақты желісінің баптаулары"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:588 ../js/ui/status/network.js:1305
#, javascript-format
msgid "%s Hardware Disabled"
msgstr "%s құрылғылық түрде сөндірулі тұр"
#. Translators: this is for a network device that cannot be activated
#. because it's disabled by rfkill (airplane mode); %s is a network identifier */
#. because it's disabled by rfkill (airplane mode); %s is a network identifier
#: ../js/ui/status/network.js:592
#, javascript-format
msgid "%s Disabled"
@ -1317,13 +1360,13 @@ msgstr "Wi-Fi баптаулары"
msgid "Turn On"
msgstr "Іске қосу"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:1296
#, javascript-format
msgid "%s Hotspot Active"
msgstr "%s қатынау нүктесі белсенді"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:1311
#, javascript-format
msgid "%s Not Connected"
@ -1333,7 +1376,7 @@ msgstr "%s байланыспаған"
msgid "connecting..."
msgstr "байланысты орнату..."
#. Translators: this is for network connections that require some kind of key or password */
#. Translators: this is for network connections that require some kind of key or password
#: ../js/ui/status/network.js:1414
msgid "authentication required"
msgstr "аутентификация керек"
@ -1374,20 +1417,27 @@ msgstr "Қорек баптаулары"
msgid "Fully Charged"
msgstr "Толығымен зарядталған"
#. 0 is reported when UPower does not have enough data
#. to estimate battery life
#: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78
msgid "Estimating…"
msgstr "Есептеу..."
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
#: ../js/ui/status/power.js:86
#, javascript-format
msgid "%d%02d Remaining (%d%%)"
msgstr "%d%02d қалды (%d%%)"
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
#: ../js/ui/status/power.js:91
#, javascript-format
msgid "%d%02d Until Full (%d%%)"
msgstr "%d%02d толық зарядқа дейін (%d%%)"
#. The menu only appears when airplane mode is on, so just
#. statically build it as if it was on, rather than dynamically
#. changing the menu contents.
#: ../js/ui/status/rfkill.js:88
msgid "Airplane Mode On"
msgstr "Ұшақтағы режим іске қосулы"
@ -1455,7 +1505,7 @@ msgstr "Экранның бұл баптауларын сақтауды қала
#. Translators: this and the following message should be limited in lenght,
#. to avoid ellipsizing the labels.
#. */
#.
#: ../js/ui/windowManager.js:82
msgid "Revert Settings"
msgstr "Баптауларды қалпына келтіру"
@ -1471,7 +1521,7 @@ msgid_plural "Settings changes will revert in %d seconds"
msgstr[0] "Өзгертілген баптаулар %d секундтан кейін қалпына келтіріледі"
#. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height. */
#. * the width of the window and the second is the height.
#: ../js/ui/windowManager.js:658
#, javascript-format
msgid "%d x %d"
@ -1547,7 +1597,7 @@ msgstr "Evolution күнтізбесі"
#. translators:
#. * The number of sound outputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1837
#: ../src/gvc/gvc-mixer-control.c:1835
#, c-format
msgid "%u Output"
msgid_plural "%u Outputs"
@ -1555,29 +1605,29 @@ msgstr[0] "%u шығысы"
#. translators:
#. * The number of sound inputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1847
#: ../src/gvc/gvc-mixer-control.c:1845
#, c-format
msgid "%u Input"
msgid_plural "%u Inputs"
msgstr[0] "%u кірісі"
#: ../src/gvc/gvc-mixer-control.c:2373
#: ../src/gvc/gvc-mixer-control.c:2371
msgid "System Sounds"
msgstr "Жүйелік дыбыстар"
#: ../src/main.c:373
#: ../src/main.c:381
msgid "Print version"
msgstr "Баспа нұсқасы"
#: ../src/main.c:379
#: ../src/main.c:387
msgid "Mode used by GDM for login screen"
msgstr "GDM жүйеге кіру экраны үшін қолданатын режимі"
#: ../src/main.c:385
#: ../src/main.c:393
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
msgstr "Жүйеге кіру экраны үшін арнайы режимді, мыс. \"gdm\", қолдану"
#: ../src/main.c:391
#: ../src/main.c:399
msgid "List possible modes"
msgstr "Қолжетерлік режимдерді тізіп шығу"

186
po/ko.po
View File

@ -20,8 +20,8 @@ msgstr ""
"Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2015-09-05 08:12+0000\n"
"PO-Revision-Date: 2015-09-06 02:06+0900\n"
"POT-Creation-Date: 2015-09-29 08:39+0000\n"
"PO-Revision-Date: 2015-09-29 19:14+0900\n"
"Last-Translator: Changwoo Ryu <cwryu@debian.org>\n"
"Language-Team: GNOME Korea <gnome-kr@googlegroups.com>\n"
"Language: Korean\n"
@ -331,15 +331,23 @@ msgstr "로그인"
msgid "Choose Session"
msgstr "세션 선택"
#. translators: this message is shown below the user list on the
#. login screen. It can be activated to reveal an entry for
#. manually entering the username.
#: ../js/gdm/loginDialog.js:431
msgid "Not listed?"
msgstr "목록에 없습니까?"
#. Translators: this message is shown below the username entry field
#. to clue the user in on how to login to the local network realm
#: ../js/gdm/loginDialog.js:850
#, javascript-format
msgid "(e.g., user or %s)"
msgstr "(예를 들어, 사용자 또는 %s)"
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:855 ../js/ui/components/networkAgent.js:271
#: ../js/ui/components/networkAgent.js:289
msgid "Username: "
@ -353,6 +361,11 @@ msgstr "로그인 창"
msgid "Authentication error"
msgstr "인증 오류"
#. We don't show fingerprint messages directly since it's
#. not the main auth service. Instead we use the messages
#. as a cue to display our own message.
#. Translators: this message is shown below the password entry field
#. to indicate the user can swipe their finger instead
#: ../js/gdm/util.js:473
msgid "(or swipe finger)"
msgstr "(또는 지문을 문지르십시오)"
@ -361,6 +374,8 @@ msgstr "(또는 지문을 문지르십시오)"
msgid "Command not found"
msgstr "명령이 없습니다"
#. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer
#: ../js/misc/util.js:152
msgid "Could not parse command:"
msgstr "명령어를 파싱할 수 없습니다:"
@ -370,70 +385,78 @@ msgstr "명령어를 파싱할 수 없습니다:"
msgid "Execution of “%s” failed:"
msgstr "“%s” 실행이 실패했습니다:"
#. Translators: Time in 24h format */
#. Translators: Time in 24h format
#: ../js/misc/util.js:191
msgid "%H%M"
msgstr "%H%M"
#. Translators: this is the word "Yesterday" followed by a
#. time string in 24h format. i.e. "Yesterday, 14:30" */
#. time string in 24h format. i.e. "Yesterday, 14:30"
#: ../js/misc/util.js:197
#, no-c-format
msgid "Yesterday, %H%M"
msgstr "어제, %H:%M"
#. Translators: this is the week day name followed by a time
#. string in 24h format. i.e. "Monday, 14:30" */
#. string in 24h format. i.e. "Monday, 14:30"
#: ../js/misc/util.js:203
#, no-c-format
msgid "%A, %H%M"
msgstr "%A, %H:%M"
#. Translators: this is the month name and day number
#. followed by a time string in 24h format.
#. i.e. "May 25, 14:30" */
#. i.e. "May 25, 14:30"
#: ../js/misc/util.js:209
#, no-c-format
msgid "%B %d, %H%M"
msgstr "%B %d일, %H%M"
#. Translators: this is the month name, day number, year
#. number followed by a time string in 24h format.
#. i.e. "May 25 2012, 14:30" */
#. i.e. "May 25 2012, 14:30"
#: ../js/misc/util.js:215
#, no-c-format
msgid "%B %d %Y, %H%M"
msgstr "%Y년 %B %d일, %H%M"
#. Translators: Time in 12h format */
#. Translators: Time in 12h format
#: ../js/misc/util.js:220
msgid "%l%M %p"
msgstr "%p %l%M"
#. Translators: this is the word "Yesterday" followed by a
#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */
#. time string in 12h format. i.e. "Yesterday, 2:30 pm"
#: ../js/misc/util.js:226
#, no-c-format
msgid "Yesterday, %l%M %p"
msgstr "어제, %p %l%M"
#. Translators: this is the week day name followed by a time
#. string in 12h format. i.e. "Monday, 2:30 pm" */
#. string in 12h format. i.e. "Monday, 2:30 pm"
#: ../js/misc/util.js:232
#, no-c-format
msgid "%A, %l%M %p"
msgstr "%A, %p %l%M"
#. Translators: this is the month name and day number
#. followed by a time string in 12h format.
#. i.e. "May 25, 2:30 pm" */
#. i.e. "May 25, 2:30 pm"
#: ../js/misc/util.js:238
#, no-c-format
msgid "%B %d, %l%M %p"
msgstr "%B %d일, %p %l%M"
#. Translators: this is the month name, day number, year
#. number followed by a time string in 12h format.
#. i.e. "May 25 2012, 2:30 pm"*/
#. i.e. "May 25 2012, 2:30 pm"
#: ../js/misc/util.js:244
#, no-c-format
msgid "%B %d %Y, %l%M %p"
msgstr "%Y년 %B %d일, %p %l%M"
#. TRANSLATORS: this is the title of the wifi captive portal login
#. * window, until we know the title of the actual login page */
#. * window, until we know the title of the actual login page
#: ../js/portalHelper/main.js:85
msgid "Web Authentication Redirect"
msgstr "웹 인증 리다이렉트"
@ -485,12 +508,11 @@ msgstr "배경 바꾸기…"
msgid "Display Settings"
msgstr "디스플레이 설정"
#: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650
#: ../js/ui/status/system.js:366
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
msgid "Settings"
msgstr "설정"
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday). */
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday).
#: ../js/ui/calendar.js:55
msgctxt "calendar-no-work"
msgid "06"
@ -500,43 +522,43 @@ msgstr "06"
#. *
#. * NOTE: These grid abbreviations are always shown together
#. * and in order, e.g. "S M T W T F S".
#. */
#.
#: ../js/ui/calendar.js:84
msgctxt "grid sunday"
msgid "S"
msgstr "일"
#. Translators: Calendar grid abbreviation for Monday */
#. Translators: Calendar grid abbreviation for Monday
#: ../js/ui/calendar.js:86
msgctxt "grid monday"
msgid "M"
msgstr "월"
#. Translators: Calendar grid abbreviation for Tuesday */
#. Translators: Calendar grid abbreviation for Tuesday
#: ../js/ui/calendar.js:88
msgctxt "grid tuesday"
msgid "T"
msgstr "화"
#. Translators: Calendar grid abbreviation for Wednesday */
#. Translators: Calendar grid abbreviation for Wednesday
#: ../js/ui/calendar.js:90
msgctxt "grid wednesday"
msgid "W"
msgstr "수"
#. Translators: Calendar grid abbreviation for Thursday */
#. Translators: Calendar grid abbreviation for Thursday
#: ../js/ui/calendar.js:92
msgctxt "grid thursday"
msgid "T"
msgstr "목"
#. Translators: Calendar grid abbreviation for Friday */
#. Translators: Calendar grid abbreviation for Friday
#: ../js/ui/calendar.js:94
msgctxt "grid friday"
msgid "F"
msgstr "금"
#. Translators: Calendar grid abbreviation for Saturday */
#. Translators: Calendar grid abbreviation for Saturday
#: ../js/ui/calendar.js:96
msgctxt "grid saturday"
msgid "S"
@ -556,39 +578,39 @@ msgstr "주 %V"
#. Translators: Shown in calendar event list for all day events
#. * Keep it short, best if you can use less then 10 characters
#. */
#.
#: ../js/ui/calendar.js:1188
msgctxt "event list time"
msgid "All Day"
msgstr "종일"
#: ../js/ui/calendar.js:1291
#: ../js/ui/calendar.js:1295
msgid "Clear section"
msgstr "부분 지우기"
#: ../js/ui/calendar.js:1518
#: ../js/ui/calendar.js:1522
msgid "Events"
msgstr "행사"
#: ../js/ui/calendar.js:1527
#: ../js/ui/calendar.js:1531
msgctxt "calendar heading"
msgid "%A, %B %d"
msgstr "%B %d일 %A"
#: ../js/ui/calendar.js:1531
#: ../js/ui/calendar.js:1535
msgctxt "calendar heading"
msgid "%A, %B %d, %Y"
msgstr "%Y년 %B %d일 %A"
#: ../js/ui/calendar.js:1616
#: ../js/ui/calendar.js:1620
msgid "Notifications"
msgstr "알림"
#: ../js/ui/calendar.js:1767
#: ../js/ui/calendar.js:1771
msgid "No Notifications"
msgstr "알림 없음"
#: ../js/ui/calendar.js:1770
#: ../js/ui/calendar.js:1774
msgid "No Events"
msgstr "행사 없음"
@ -618,6 +640,7 @@ msgstr "다시 입력하십시오:"
msgid "Connect"
msgstr "연결"
#. Cisco LEAP
#: ../js/ui/components/networkAgent.js:233
#: ../js/ui/components/networkAgent.js:245
#: ../js/ui/components/networkAgent.js:273
@ -626,6 +649,7 @@ msgstr "연결"
msgid "Password: "
msgstr "암호: "
#. static WEP
#: ../js/ui/components/networkAgent.js:238
msgid "Key: "
msgstr "키: "
@ -715,13 +739,13 @@ msgstr "인증"
#. Translators: "that didn't work" refers to the fact that the
#. * requested authentication was not gained; this can happen
#. * because of an authentication error (like invalid password),
#. * for instance. */
#. * for instance.
#: ../js/ui/components/polkitAgent.js:301 ../js/ui/shellMountOperation.js:383
msgid "Sorry, that didn't work. Please try again."
msgstr "죄송합니다. 동작하지 않았습니다. 다시 시도하십시오."
#. Translators: this is the other person changing their old IM name to their new
#. IM name. */
#. IM name.
#: ../js/ui/components/telepathyClient.js:759
#, javascript-format
msgid "%s is now known as %s"
@ -735,13 +759,15 @@ msgstr "창"
msgid "Show Applications"
msgstr "프로그램 표시"
#. Translators: this is the name of the dock/favorites area on
#. the left of the overview
#: ../js/ui/dash.js:449
msgid "Dash"
msgstr "대시보드"
#. Translators: This is the date format to use when the calendar popup is
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
#. */
#.
#: ../js/ui/dateMenu.js:73
msgid "%B %e %Y"
msgstr "%Y년 %B %e일"
@ -749,7 +775,7 @@ msgstr "%Y년 %B %e일"
#. Translators: This is the accessible name of the date button shown
#. * below the time in the shell; it should combine the weekday and the
#. * date, e.g. "Tuesday February 17 2015".
#. */
#.
#: ../js/ui/dateMenu.js:80
msgid "%A %B %e %Y"
msgstr "%Y년 %B %e일 %A"
@ -871,13 +897,13 @@ msgstr "일부 프로그램이 동작 중이거나 저장하지 않은 작업이
msgid "Other users are logged in."
msgstr "다른 사용자가 로그인 중입니다."
#. Translators: Remote here refers to a remote session, like a ssh login */
#. Translators: Remote here refers to a remote session, like a ssh login
#: ../js/ui/endSessionDialog.js:640
#, javascript-format
msgid "%s (remote)"
msgstr "%s (원격)"
#. Translators: Console here refers to a tty like a VT console */
#. Translators: Console here refers to a tty like a VT console
#: ../js/ui/endSessionDialog.js:643
#, javascript-format
msgid "%s (console)"
@ -897,7 +923,7 @@ msgstr ""
msgid "Keyboard"
msgstr "키보드"
#. translators: 'Hide' is a verb */
#. translators: 'Hide' is a verb
#: ../js/ui/legacyTray.js:66
msgid "Hide tray"
msgstr "트레이 숨기기"
@ -910,7 +936,7 @@ msgstr "상태 아이콘"
msgid "No extensions installed"
msgstr "확장을 설치하지 않았습니다"
#. Translators: argument is an extension UUID. */
#. Translators: argument is an extension UUID.
#: ../js/ui/lookingGlass.js:697
#, javascript-format
msgid "%s has not emitted any errors."
@ -930,7 +956,7 @@ msgstr "사용"
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1830
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
msgid "Disabled"
msgstr "사용 않음"
@ -969,7 +995,7 @@ msgstr "개요"
#. Translators: this is the text displayed
#. in the search entry when no search is
#. active; it should not exceed ~30
#. characters. */
#. characters.
#: ../js/ui/overview.js:244
msgid "Type to search…"
msgstr "검색하려면 입력하십시오…"
@ -979,15 +1005,25 @@ msgid "Quit"
msgstr "끝내기"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview". */
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:404
msgid "Activities"
msgstr "현재 활동"
#: ../js/ui/panel.js:650
msgctxt "System menu in the top bar"
msgid "System"
msgstr "시스템"
#: ../js/ui/panel.js:754
msgid "Top Bar"
msgstr "위 막대"
#. Translators: this MUST be either "toggle-switch-us"
#. (for toggle switches containing the English words
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
#. switches containing "◯" and "|"). Other values will
#. simply result in invisible toggle switches.
#: ../js/ui/popupMenu.js:289
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
@ -1005,7 +1041,7 @@ msgid "Restarting…"
msgstr "다시 시작하는 중…"
#. Translators: This is a time format for a date in
#. long format */
#. long format
#: ../js/ui/screenShield.js:85
msgid "%A, %B %d"
msgstr "%B %d일 %A"
@ -1030,6 +1066,13 @@ msgstr "잠그기"
msgid "GNOME needs to lock the screen"
msgstr "그놈에서 화면을 잠궈야 합니다"
#. We could not become modal, so we can't activate the
#. screenshield. The user is probably very upset at this
#. point, but any application using global grabs is broken
#. Just tell him to stop using this app
#.
#. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs
#: ../js/ui/screenShield.js:805 ../js/ui/screenShield.js:1271
msgid "Unable to lock"
msgstr "잠글 수 없습니다"
@ -1125,7 +1168,7 @@ msgstr "끄기"
msgid "Bluetooth Settings"
msgstr "블루투스 설정"
#. Translators: this is the number of connected bluetooth devices */
#. Translators: this is the number of connected bluetooth devices
#: ../js/ui/status/bluetooth.js:105
#, javascript-format
msgid "%d Connected"
@ -1172,13 +1215,13 @@ msgstr "사용"
msgid "<unknown>"
msgstr "<알 수 없음>"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:451 ../js/ui/status/network.js:1308
#, javascript-format
msgid "%s Off"
msgstr "%s 꺼짐"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:454
#, javascript-format
msgid "%s Connected"
@ -1186,45 +1229,45 @@ msgstr "%s 연결됨"
#. Translators: this is for network devices that are physically present but are not
#. under NetworkManager's control (and thus cannot be used in the menu);
#. %s is a network identifier */
#. %s is a network identifier
#: ../js/ui/status/network.js:459
#, javascript-format
msgid "%s Unmanaged"
msgstr "%s 관리되지 않음"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:462
#, javascript-format
msgid "%s Disconnecting"
msgstr "%s 연결 끊는 중"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:469 ../js/ui/status/network.js:1300
#, javascript-format
msgid "%s Connecting"
msgstr "%s 연결하는 중"
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier */
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier
#: ../js/ui/status/network.js:472
#, javascript-format
msgid "%s Requires Authentication"
msgstr "%s 인증 필요"
#. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing; %s is a network identifier */
#. module, which is missing; %s is a network identifier
#: ../js/ui/status/network.js:480
#, javascript-format
msgid "Firmware Missing For %s"
msgstr "%s에 필요한 펌웨어 없음"
#. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage; %s is a network identifier */
#. is disabled by rfkill, or it has no coverage; %s is a network identifier
#: ../js/ui/status/network.js:484
#, javascript-format
msgid "%s Unavailable"
msgstr "%s 사용 불가"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:487
#, javascript-format
msgid "%s Connection Failed"
@ -1238,14 +1281,14 @@ msgstr "유선 네트워크 설정"
msgid "Mobile Broadband Settings"
msgstr "휴대전화 네트워크 설정"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:588 ../js/ui/status/network.js:1305
#, javascript-format
msgid "%s Hardware Disabled"
msgstr "%s 하드웨어 사용 않음"
#. Translators: this is for a network device that cannot be activated
#. because it's disabled by rfkill (airplane mode); %s is a network identifier */
#. because it's disabled by rfkill (airplane mode); %s is a network identifier
#: ../js/ui/status/network.js:592
#, javascript-format
msgid "%s Disabled"
@ -1307,13 +1350,13 @@ msgstr "와이파이 설정"
msgid "Turn On"
msgstr "켜기"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:1296
#, javascript-format
msgid "%s Hotspot Active"
msgstr "%s 핫스팟 사용 중"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:1311
#, javascript-format
msgid "%s Not Connected"
@ -1323,7 +1366,7 @@ msgstr "%s 연결되지 않음"
msgid "connecting..."
msgstr "연결하는 중..."
#. Translators: this is for network connections that require some kind of key or password */
#. Translators: this is for network connections that require some kind of key or password
#: ../js/ui/status/network.js:1414
msgid "authentication required"
msgstr "인증 필요"
@ -1346,7 +1389,7 @@ msgstr "가상사설망"
#: ../js/ui/status/network.js:1513
msgid "VPN Off"
msgstr "가상사설망 끄기"
msgstr "가상사설망 꺼짐"
#: ../js/ui/status/network.js:1697
msgid "Connection failed"
@ -1364,20 +1407,27 @@ msgstr "전원 설정"
msgid "Fully Charged"
msgstr "완전 충전"
#. 0 is reported when UPower does not have enough data
#. to estimate battery life
#: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78
msgid "Estimating…"
msgstr "예상치 계산 중…"
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
#: ../js/ui/status/power.js:86
#, javascript-format
msgid "%d%02d Remaining (%d%%)"
msgstr "%d%02d 남음(%d%%)"
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
#: ../js/ui/status/power.js:91
#, javascript-format
msgid "%d%02d Until Full (%d%%)"
msgstr "충전까지 %d:%02d(%d%%)"
#. The menu only appears when airplane mode is on, so just
#. statically build it as if it was on, rather than dynamically
#. changing the menu contents.
#: ../js/ui/status/rfkill.js:88
msgid "Airplane Mode On"
msgstr "비행기 모드 켜짐"
@ -1447,7 +1497,7 @@ msgstr "이 디스플레이 설정을 유지하시겠습니까?"
#. Translators: this and the following message should be limited in lenght,
#. to avoid ellipsizing the labels.
#. */
#.
#: ../js/ui/windowManager.js:82
msgid "Revert Settings"
msgstr "설정 되돌리기"
@ -1463,7 +1513,7 @@ msgid_plural "Settings changes will revert in %d seconds"
msgstr[0] "바뀐 설정을 %d초 후에 되돌립니다"
#. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height. */
#. * the width of the window and the second is the height.
#: ../js/ui/windowManager.js:658
#, javascript-format
msgid "%d x %d"
@ -1539,7 +1589,7 @@ msgstr "에볼루션 달력"
#. translators:
#. * The number of sound outputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1837
#: ../src/gvc/gvc-mixer-control.c:1835
#, c-format
msgid "%u Output"
msgid_plural "%u Outputs"
@ -1547,30 +1597,30 @@ msgstr[0] "%u개 출력"
#. translators:
#. * The number of sound inputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1847
#: ../src/gvc/gvc-mixer-control.c:1845
#, c-format
msgid "%u Input"
msgid_plural "%u Inputs"
msgstr[0] "%u개 입력"
#: ../src/gvc/gvc-mixer-control.c:2373
#: ../src/gvc/gvc-mixer-control.c:2371
msgid "System Sounds"
msgstr "시스템 소리"
# 커맨드라인 옵션 설명
#: ../src/main.c:373
#: ../src/main.c:381
msgid "Print version"
msgstr "버전을 표시합니다"
#: ../src/main.c:379
#: ../src/main.c:387
msgid "Mode used by GDM for login screen"
msgstr "GDM에서 로그인 화면에 사용할 모드"
#: ../src/main.c:385
#: ../src/main.c:393
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
msgstr "특정 모드 사용. 예를 들어 로그인 화면에 대해 \"gdm\""
#: ../src/main.c:391
#: ../src/main.c:399
msgid "List possible modes"
msgstr "가능한 모드 목록 표시"

222
po/lt.po
View File

@ -11,8 +11,8 @@ msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2015-08-20 15:10+0000\n"
"PO-Revision-Date: 2015-08-20 22:36+0300\n"
"POT-Creation-Date: 2015-09-30 08:35+0000\n"
"PO-Revision-Date: 2015-09-30 22:16+0300\n"
"Last-Translator: Aurimas Černius <aurisc4@gmail.com>\n"
"Language-Team: Lietuvių <gnome-lt@lists.akl.lt>\n"
"Language: lt\n"
@ -318,7 +318,7 @@ msgid "Cancel"
msgstr "Atsisakyti"
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215
#: ../js/gdm/authPrompt.js:435
#: ../js/gdm/authPrompt.js:447
msgid "Next"
msgstr "Kitas"
@ -336,21 +336,29 @@ msgstr "Prisijungti"
msgid "Choose Session"
msgstr "Pasirinkite seansą"
#. translators: this message is shown below the user list on the
#. login screen. It can be activated to reveal an entry for
#. manually entering the username.
#: ../js/gdm/loginDialog.js:431
msgid "Not listed?"
msgstr "Nėra sąraše?"
#: ../js/gdm/loginDialog.js:847
#. Translators: this message is shown below the username entry field
#. to clue the user in on how to login to the local network realm
#: ../js/gdm/loginDialog.js:850
#, javascript-format
msgid "(e.g., user or %s)"
msgstr "(pvz., naudotojas arba %s)"
#: ../js/gdm/loginDialog.js:852 ../js/ui/components/networkAgent.js:271
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:855 ../js/ui/components/networkAgent.js:271
#: ../js/ui/components/networkAgent.js:289
msgid "Username: "
msgstr "Naudotojo vardas: "
#: ../js/gdm/loginDialog.js:1181
#: ../js/gdm/loginDialog.js:1184
msgid "Login Window"
msgstr "Prisijungimo langas"
@ -358,6 +366,11 @@ msgstr "Prisijungimo langas"
msgid "Authentication error"
msgstr "Tapatybės patvirtinimo klaida"
#. We don't show fingerprint messages directly since it's
#. not the main auth service. Instead we use the messages
#. as a cue to display our own message.
#. Translators: this message is shown below the password entry field
#. to indicate the user can swipe their finger instead
#: ../js/gdm/util.js:473
msgid "(or swipe finger)"
msgstr "(arba perbraukite pirštu)"
@ -366,6 +379,8 @@ msgstr "(arba perbraukite pirštu)"
msgid "Command not found"
msgstr "Komanda nerasta"
#. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer
#: ../js/misc/util.js:152
msgid "Could not parse command:"
msgstr "Nepavyko perskaityti komandos:"
@ -375,70 +390,78 @@ msgstr "Nepavyko perskaityti komandos:"
msgid "Execution of “%s” failed:"
msgstr "Nepavyko įvykdyti „%s“:"
#. Translators: Time in 24h format */
#. Translators: Time in 24h format
#: ../js/misc/util.js:191
msgid "%H%M"
msgstr "%H%M"
#. Translators: this is the word "Yesterday" followed by a
#. time string in 24h format. i.e. "Yesterday, 14:30" */
#. time string in 24h format. i.e. "Yesterday, 14:30"
#: ../js/misc/util.js:197
#, no-c-format
msgid "Yesterday, %H%M"
msgstr "Vakar, %H:%M"
#. Translators: this is the week day name followed by a time
#. string in 24h format. i.e. "Monday, 14:30" */
#. string in 24h format. i.e. "Monday, 14:30"
#: ../js/misc/util.js:203
#, no-c-format
msgid "%A, %H%M"
msgstr "%A, %H%M"
#. Translators: this is the month name and day number
#. followed by a time string in 24h format.
#. i.e. "May 25, 14:30" */
#. i.e. "May 25, 14:30"
#: ../js/misc/util.js:209
#, no-c-format
msgid "%B %d, %H%M"
msgstr "%B %d, %H%M"
#. Translators: this is the month name, day number, year
#. number followed by a time string in 24h format.
#. i.e. "May 25 2012, 14:30" */
#. i.e. "May 25 2012, 14:30"
#: ../js/misc/util.js:215
#, no-c-format
msgid "%B %d %Y, %H%M"
msgstr "%Y %m %d, %H%M"
#. Translators: Time in 12h format */
#. Translators: Time in 12h format
#: ../js/misc/util.js:220
msgid "%l%M %p"
msgstr "%l%M %p"
#. Translators: this is the word "Yesterday" followed by a
#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */
#. time string in 12h format. i.e. "Yesterday, 2:30 pm"
#: ../js/misc/util.js:226
#, no-c-format
msgid "Yesterday, %l%M %p"
msgstr "Vakar, %l%M %p"
#. Translators: this is the week day name followed by a time
#. string in 12h format. i.e. "Monday, 2:30 pm" */
#. string in 12h format. i.e. "Monday, 2:30 pm"
#: ../js/misc/util.js:232
#, no-c-format
msgid "%A, %l%M %p"
msgstr "%A, %l%M %p"
#. Translators: this is the month name and day number
#. followed by a time string in 12h format.
#. i.e. "May 25, 2:30 pm" */
#. i.e. "May 25, 2:30 pm"
#: ../js/misc/util.js:238
#, no-c-format
msgid "%B %d, %l%M %p"
msgstr "%B %d, %l%M %p"
#. Translators: this is the month name, day number, year
#. number followed by a time string in 12h format.
#. i.e. "May 25 2012, 2:30 pm"*/
#. i.e. "May 25 2012, 2:30 pm"
#: ../js/misc/util.js:244
#, no-c-format
msgid "%B %d %Y, %l%M %p"
msgstr "%Y %B %d, %l%M %p"
#. TRANSLATORS: this is the title of the wifi captive portal login
#. * window, until we know the title of the actual login page */
#. * window, until we know the title of the actual login page
#: ../js/portalHelper/main.js:85
msgid "Web Authentication Redirect"
msgstr "Reikia patvirtinti tapatybę internete"
@ -486,16 +509,14 @@ msgid "Change Background…"
msgstr "Keisti foną…"
#: ../js/ui/backgroundMenu.js:21
#| msgid "Privacy Settings"
msgid "Display Settings"
msgstr "Ekrano nustatymai"
#: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650
#: ../js/ui/status/system.js:366
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
msgid "Settings"
msgstr "Nustatymai"
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday). */
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday).
#: ../js/ui/calendar.js:55
msgctxt "calendar-no-work"
msgid "06"
@ -505,43 +526,43 @@ msgstr "06"
#. *
#. * NOTE: These grid abbreviations are always shown together
#. * and in order, e.g. "S M T W T F S".
#. */
#.
#: ../js/ui/calendar.js:84
msgctxt "grid sunday"
msgid "S"
msgstr "S"
#. Translators: Calendar grid abbreviation for Monday */
#. Translators: Calendar grid abbreviation for Monday
#: ../js/ui/calendar.js:86
msgctxt "grid monday"
msgid "M"
msgstr "P"
#. Translators: Calendar grid abbreviation for Tuesday */
#. Translators: Calendar grid abbreviation for Tuesday
#: ../js/ui/calendar.js:88
msgctxt "grid tuesday"
msgid "T"
msgstr "A"
#. Translators: Calendar grid abbreviation for Wednesday */
#. Translators: Calendar grid abbreviation for Wednesday
#: ../js/ui/calendar.js:90
msgctxt "grid wednesday"
msgid "W"
msgstr "T"
#. Translators: Calendar grid abbreviation for Thursday */
#. Translators: Calendar grid abbreviation for Thursday
#: ../js/ui/calendar.js:92
msgctxt "grid thursday"
msgid "T"
msgstr "K"
#. Translators: Calendar grid abbreviation for Friday */
#. Translators: Calendar grid abbreviation for Friday
#: ../js/ui/calendar.js:94
msgctxt "grid friday"
msgid "F"
msgstr "P"
#. Translators: Calendar grid abbreviation for Saturday */
#. Translators: Calendar grid abbreviation for Saturday
#: ../js/ui/calendar.js:96
msgctxt "grid saturday"
msgid "S"
@ -561,39 +582,39 @@ msgstr "Savaitė %V"
#. Translators: Shown in calendar event list for all day events
#. * Keep it short, best if you can use less then 10 characters
#. */
#.
#: ../js/ui/calendar.js:1188
msgctxt "event list time"
msgid "All Day"
msgstr "Visa diena"
#: ../js/ui/calendar.js:1291
#: ../js/ui/calendar.js:1295
msgid "Clear section"
msgstr "Išvalyti skiltį"
#: ../js/ui/calendar.js:1518
#: ../js/ui/calendar.js:1522
msgid "Events"
msgstr "Įvykiai"
#: ../js/ui/calendar.js:1527
#: ../js/ui/calendar.js:1531
msgctxt "calendar heading"
msgid "%A, %B %d"
msgstr "%A, %B %d d."
#: ../js/ui/calendar.js:1531
#: ../js/ui/calendar.js:1535
msgctxt "calendar heading"
msgid "%A, %B %d, %Y"
msgstr "%A, %Y m. %B %d d."
#: ../js/ui/calendar.js:1616
#: ../js/ui/calendar.js:1620
msgid "Notifications"
msgstr "Pranešimai"
#: ../js/ui/calendar.js:1767
#: ../js/ui/calendar.js:1771
msgid "No Notifications"
msgstr "Nėra pranešimų"
#: ../js/ui/calendar.js:1770
#: ../js/ui/calendar.js:1774
msgid "No Events"
msgstr "Nėra įvykių"
@ -623,6 +644,7 @@ msgstr "Įveskite dar kartą:"
msgid "Connect"
msgstr "Prisijungti"
#. Cisco LEAP
#: ../js/ui/components/networkAgent.js:233
#: ../js/ui/components/networkAgent.js:245
#: ../js/ui/components/networkAgent.js:273
@ -631,6 +653,7 @@ msgstr "Prisijungti"
msgid "Password: "
msgstr "Slaptažodis: "
#. static WEP
#: ../js/ui/components/networkAgent.js:238
msgid "Key: "
msgstr "Raktas: "
@ -722,13 +745,13 @@ msgstr "Patvirtinti tapatybę"
#. Translators: "that didn't work" refers to the fact that the
#. * requested authentication was not gained; this can happen
#. * because of an authentication error (like invalid password),
#. * for instance. */
#. * for instance.
#: ../js/ui/components/polkitAgent.js:301 ../js/ui/shellMountOperation.js:383
msgid "Sorry, that didn't work. Please try again."
msgstr "Atsiprašome, tai nesuveikė. Bandykite dar kartą."
#. Translators: this is the other person changing their old IM name to their new
#. IM name. */
#. IM name.
#: ../js/ui/components/telepathyClient.js:759
#, javascript-format
msgid "%s is now known as %s"
@ -742,24 +765,26 @@ msgstr "Langai"
msgid "Show Applications"
msgstr "Paleisti programas"
#. Translators: this is the name of the dock/favorites area on
#. the left of the overview
#: ../js/ui/dash.js:449
msgid "Dash"
msgstr "Paleidimo sritis"
#. Translators: This is the date format to use when the calendar popup is
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
#. */
#.
#: ../js/ui/dateMenu.js:73
msgid "%B %e %Y"
msgstr "%B %e %Y"
msgstr "%Y m. %B %d d."
#. Translators: This is the accessible name of the date button shown
#. * below the time in the shell; it should combine the weekday and the
#. * date, e.g. "Tuesday February 17 2015".
#. */
#.
#: ../js/ui/dateMenu.js:80
msgid "%A %B %e %Y"
msgstr "%A, %Y %B %d"
msgstr "%A, %Y m. %B %d d."
#: ../js/ui/dateMenu.js:160
msgid "Add world clocks…"
@ -893,13 +918,13 @@ msgstr "Kai kurios programos dirba arba turi neįrašyto darbo."
msgid "Other users are logged in."
msgstr "Yra prisijungusių kitų naudotojų"
#. Translators: Remote here refers to a remote session, like a ssh login */
#. Translators: Remote here refers to a remote session, like a ssh login
#: ../js/ui/endSessionDialog.js:640
#, javascript-format
msgid "%s (remote)"
msgstr "%s (nutolęs)"
#. Translators: Console here refers to a tty like a VT console */
#. Translators: Console here refers to a tty like a VT console
#: ../js/ui/endSessionDialog.js:643
#, javascript-format
msgid "%s (console)"
@ -918,7 +943,7 @@ msgstr "Parsiųsti ir įdiegti „%s“ iš extensions.gnome.org?"
msgid "Keyboard"
msgstr "Klaviatūra"
#. translators: 'Hide' is a verb */
#. translators: 'Hide' is a verb
#: ../js/ui/legacyTray.js:66
msgid "Hide tray"
msgstr "Slėpti dėklą"
@ -931,7 +956,7 @@ msgstr "Būsenos piktogramos"
msgid "No extensions installed"
msgstr "Nėra įdiegtų plėtinių"
#. Translators: argument is an extension UUID. */
#. Translators: argument is an extension UUID.
#: ../js/ui/lookingGlass.js:697
#, javascript-format
msgid "%s has not emitted any errors."
@ -951,7 +976,7 @@ msgstr "Įjungta"
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1830
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
msgid "Disabled"
msgstr "Išjungta"
@ -990,7 +1015,7 @@ msgstr "Apžvalga"
#. Translators: this is the text displayed
#. in the search entry when no search is
#. active; it should not exceed ~30
#. characters. */
#. characters.
#: ../js/ui/overview.js:244
msgid "Type to search…"
msgstr "Rašykite, ko ieškote…"
@ -1000,15 +1025,26 @@ msgid "Quit"
msgstr "Užverti"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview". */
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:404
msgid "Activities"
msgstr "Apžvalga"
#: ../js/ui/panel.js:650
#| msgid "System"
msgctxt "System menu in the top bar"
msgid "System"
msgstr "Sistema"
#: ../js/ui/panel.js:754
msgid "Top Bar"
msgstr "Viršutinė juosta"
#. 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:289
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
@ -1026,7 +1062,7 @@ msgid "Restarting…"
msgstr "Perleidžiama…"
#. Translators: This is a time format for a date in
#. long format */
#. long format
#: ../js/ui/screenShield.js:85
msgid "%A, %B %d"
msgstr "%A, %B %d d."
@ -1055,6 +1091,13 @@ msgstr "Užrakinti"
msgid "GNOME needs to lock the screen"
msgstr "GNOME aplinkai reikia užrakinti ekraną"
#. We could not become modal, so we can't activate the
#. screenshield. The user is probably very upset at this
#. point, but any application using global grabs is broken
#. Just tell him to stop using this app
#.
#. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs
#: ../js/ui/screenShield.js:805 ../js/ui/screenShield.js:1271
msgid "Unable to lock"
msgstr "Nepavyksta užrakinti"
@ -1150,10 +1193,9 @@ msgstr "Išjungti"
msgid "Bluetooth Settings"
msgstr "Bluetooth nustatymai"
#. Translators: this is the number of connected bluetooth devices */
#. Translators: this is the number of connected bluetooth devices
#: ../js/ui/status/bluetooth.js:105
#, javascript-format
#| msgid "Connected"
msgid "%d Connected"
msgid_plural "%d Connected"
msgstr[0] "%d prijungtas"
@ -1161,7 +1203,6 @@ msgstr[1] "%d prijungti"
msgstr[2] "%d prijungta"
#: ../js/ui/status/bluetooth.js:107
#| msgid "In Use"
msgid "Not In Use"
msgstr "Naudojamas"
@ -1174,7 +1215,6 @@ msgid "Show Keyboard Layout"
msgstr "Rodyti klaviatūros išdėstymą"
#: ../js/ui/status/location.js:71 ../js/ui/status/location.js:177
#| msgid "Location"
msgid "Location Enabled"
msgstr "Vietos nustatymas įjungtas"
@ -1187,12 +1227,10 @@ msgid "Privacy Settings"
msgstr "Privatumo nustatymai"
#: ../js/ui/status/location.js:176
#| msgid "Location"
msgid "Location In Use"
msgstr "Vietos nustatymas naudojamas"
#: ../js/ui/status/location.js:180
#| msgid "Connection failed"
msgid "Location Disabled"
msgstr "Vietos nustatymas išjungtas"
@ -1204,69 +1242,61 @@ msgstr "Įjungti"
msgid "<unknown>"
msgstr "<nežinoma>"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:451 ../js/ui/status/network.js:1308
#, javascript-format
msgid "%s Off"
msgstr "%s išjungtas"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:454
#, javascript-format
#| msgid "Connected"
msgid "%s Connected"
msgstr "Prisijungta prie %s"
#. Translators: this is for network devices that are physically present but are not
#. under NetworkManager's control (and thus cannot be used in the menu);
#. %s is a network identifier */
#. %s is a network identifier
#: ../js/ui/status/network.js:459
#, javascript-format
#| msgid "Unmanaged"
msgid "%s Unmanaged"
msgstr "%s nevaldomas"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:462
#, javascript-format
#| msgid "Disconnecting"
msgid "%s Disconnecting"
msgstr "Atsijungiama nuo %s"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:469 ../js/ui/status/network.js:1300
#, javascript-format
#| msgid "Connecting"
msgid "%s Connecting"
msgstr "Jungiamasi prie %s"
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier */
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier
#: ../js/ui/status/network.js:472
#, javascript-format
#| msgid "Wired 802.1X authentication"
msgid "%s Requires Authentication"
msgstr "%s reikalauja patvirtinti tapatybę"
#. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing; %s is a network identifier */
#. module, which is missing; %s is a network identifier
#: ../js/ui/status/network.js:480
#, javascript-format
#| msgid "Firmware missing"
msgid "Firmware Missing For %s"
msgstr "%s trūksta integruotos programinės įrangos"
#. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage; %s is a network identifier */
#. is disabled by rfkill, or it has no coverage; %s is a network identifier
#: ../js/ui/status/network.js:484
#, javascript-format
#| msgid "Unavailable"
msgid "%s Unavailable"
msgstr "%s nepasiekiamas"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:487
#, javascript-format
#| msgid "Connection failed"
msgid "%s Connection Failed"
msgstr "Nepavyko prisijungti prie %s"
@ -1278,18 +1308,16 @@ msgstr "Laidinio ryšio nustatymai"
msgid "Mobile Broadband Settings"
msgstr "Mobiliojo plačiajuosčio tinklo nustatymai"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:588 ../js/ui/status/network.js:1305
#, javascript-format
#| msgid "Hardware Disabled"
msgid "%s Hardware Disabled"
msgstr "%s aparatinė įranga išjungta"
#. Translators: this is for a network device that cannot be activated
#. because it's disabled by rfkill (airplane mode); %s is a network identifier */
#. because it's disabled by rfkill (airplane mode); %s is a network identifier
#: ../js/ui/status/network.js:592
#, javascript-format
#| msgid "Disabled"
msgid "%s Disabled"
msgstr "%s išjungtas"
@ -1349,17 +1377,15 @@ msgstr "Belaidžio ryšio nustatymai"
msgid "Turn On"
msgstr "Įjungti"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:1296
#, javascript-format
#| msgid "Hotspot Active"
msgid "%s Hotspot Active"
msgstr "Prieigos taškas %s aktyvus"
#. Translators: %s is a network identifier */
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:1311
#, javascript-format
#| msgid "Not Connected"
msgid "%s Not Connected"
msgstr "Neprisijungta prie %s"
@ -1367,7 +1393,7 @@ msgstr "Neprisijungta prie %s"
msgid "connecting..."
msgstr "jungiamasi..."
#. Translators: this is for network connections that require some kind of key or password */
#. Translators: this is for network connections that require some kind of key or password
#: ../js/ui/status/network.js:1414
msgid "authentication required"
msgstr "reikia patvirtinti tapatybę"
@ -1389,7 +1415,6 @@ msgid "VPN"
msgstr "VPN"
#: ../js/ui/status/network.js:1513
#| msgid "Power Off"
msgid "VPN Off"
msgstr "VPN išjungtas"
@ -1409,22 +1434,28 @@ msgstr "Energijos valdymo nustatymai"
msgid "Fully Charged"
msgstr "Pilnai įkrauta"
#. 0 is reported when UPower does not have enough data
#. to estimate battery life
#: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78
msgid "Estimating…"
msgstr "Įvertinama…"
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
#: ../js/ui/status/power.js:86
#, javascript-format
msgid "%d%02d Remaining (%d%%)"
msgstr "Liko %d%02d (%d%%)"
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
#: ../js/ui/status/power.js:91
#, javascript-format
msgid "%d%02d Until Full (%d%%)"
msgstr "%d%02d iki pilno (%d%%)"
#. The menu only appears when airplane mode is on, so just
#. statically build it as if it was on, rather than dynamically
#. changing the menu contents.
#: ../js/ui/status/rfkill.js:88
#| msgid "Airplane Mode is On"
msgid "Airplane Mode On"
msgstr "Skrydžio veiksena įjungta"
@ -1437,7 +1468,6 @@ msgid "Log Out"
msgstr "Atsijungti"
#: ../js/ui/status/system.js:353
#| msgid "Power Settings"
msgid "Account Settings"
msgstr "Paskyros nustatymai"
@ -1492,7 +1522,7 @@ msgstr "Ar nori įrašyti šiuos vaizduoklio nustatymus?"
#. Translators: this and the following message should be limited in lenght,
#. to avoid ellipsizing the labels.
#. */
#.
#: ../js/ui/windowManager.js:82
msgid "Revert Settings"
msgstr "Grąžinti nustatymus"
@ -1510,7 +1540,7 @@ msgstr[1] "Pakeitimai bus grąžinti po %d sekundžių"
msgstr[2] "Pakeitimai bus grąžinti po %d sekundžių"
#. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height. */
#. * the width of the window and the second is the height.
#: ../js/ui/windowManager.js:658
#, javascript-format
msgid "%d x %d"
@ -1549,12 +1579,10 @@ msgid "Always on Visible Workspace"
msgstr "Visada matomame darbalaukyje"
#: ../js/ui/windowMenu.js:105
#| msgid "Move to Workspace Up"
msgid "Move to Workspace Left"
msgstr "Perkelti į kairiau esantį darbalaukį"
#: ../js/ui/windowMenu.js:110
#| msgid "Move to Workspace Up"
msgid "Move to Workspace Right"
msgstr "Perkelti į dešiniau esantį darbalaukį"
@ -1567,12 +1595,10 @@ msgid "Move to Workspace Down"
msgstr "Perkelti į žemiau esantį darbalaukį"
#: ../js/ui/windowMenu.js:136
#| msgid "Move to Workspace Up"
msgid "Move to Monitor Up"
msgstr "Perkelti į aukščiau esantį monitorių"
#: ../js/ui/windowMenu.js:142
#| msgid "Move to Workspace Down"
msgid "Move to Monitor Down"
msgstr "Perkelti į žemiau esantį monitorių"
@ -1590,7 +1616,7 @@ msgstr "Evolution kalendorius"
#. translators:
#. * The number of sound outputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1837
#: ../src/gvc/gvc-mixer-control.c:1835
#, c-format
msgid "%u Output"
msgid_plural "%u Outputs"
@ -1600,7 +1626,7 @@ msgstr[2] "%u išvesčių"
#. translators:
#. * The number of sound inputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1847
#: ../src/gvc/gvc-mixer-control.c:1845
#, c-format
msgid "%u Input"
msgid_plural "%u Inputs"
@ -1608,23 +1634,23 @@ msgstr[0] "%u įvestis"
msgstr[1] "%u įvestys"
msgstr[2] "%u įvesčių"
#: ../src/gvc/gvc-mixer-control.c:2373
#: ../src/gvc/gvc-mixer-control.c:2371
msgid "System Sounds"
msgstr "Sistemos garsai"
#: ../src/main.c:373
#: ../src/main.c:381
msgid "Print version"
msgstr "Išvesti versijos numerį"
#: ../src/main.c:379
#: ../src/main.c:387
msgid "Mode used by GDM for login screen"
msgstr "Veiksena, naudojama GDM prisijungimo ekrane"
#: ../src/main.c:385
#: ../src/main.c:393
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
msgstr "Naudoti konkrečią veikseną, pvz., „gdm“ prisijungimo ekranui"
#: ../src/main.c:391
#: ../src/main.c:399
msgid "List possible modes"
msgstr "Išvardinti galimas veiksenas"

610
po/lv.po

File diff suppressed because it is too large Load Diff

212
po/nb.po
View File

@ -7,10 +7,10 @@
# Torstein Adolf Winterseth <kvikende@fsfe.org>, 2010.
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell 3.17.x\n"
"Project-Id-Version: gnome-shell 3.19.x\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-09-07 19:22+0200\n"
"PO-Revision-Date: 2015-09-07 19:31+0200\n"
"POT-Creation-Date: 2015-11-15 19:59+0100\n"
"PO-Revision-Date: 2015-11-15 20:00+0100\n"
"Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
"Language-Team: Norwegian bokmål <i18n-nb@lister.ping.uio.no>\n"
"Language: Norwegian bokmål\n"
@ -44,15 +44,6 @@ msgstr "Vis alle programmer"
msgid "Open the application menu"
msgstr "Åpne programmenyen"
#: ../data/gnome-shell.desktop.in.in.h:1
msgid "GNOME Shell"
msgstr "GNOME Shell"
#: ../data/gnome-shell.desktop.in.in.h:2
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
msgid "Window management and application launching"
msgstr "Vindushåndtering og oppstart av programmer"
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1
msgid "GNOME Shell Extension Preferences"
msgstr "Brukervalg for GNOME Shell-utvidelser"
@ -61,9 +52,13 @@ msgstr "Brukervalg for GNOME Shell-utvidelser"
msgid "Configure GNOME Shell Extensions"
msgstr "Sett opp utvidelser for GNOME Shell"
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
msgid "GNOME Shell (wayland compositor)"
msgstr "GNOME Shell (Wayland-kompositør)"
#: ../data/org.gnome.Shell.desktop.in.in.h:1
msgid "GNOME Shell"
msgstr "GNOME Shell"
#: ../data/org.gnome.Shell.desktop.in.in.h:2
msgid "Window management and application launching"
msgstr "Vindushåndtering og oppstart av programmer"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
msgid "Enable internal tools useful for developers and testers from Alt-F2"
@ -166,75 +161,88 @@ msgstr ""
"standardverdien for avkryssingsboksen."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
msgid ""
"Whether the default Bluetooth adapter had set up devices associated to it"
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
msgid ""
"The shell will only show a Bluetooth menu item if a Bluetooth adapter is "
"powered, or if there were devices set up associated with the default "
"adapter. This will be reset if the default adapter is ever seen not to have "
"devices associated to it."
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
msgid "Show the week date in the calendar"
msgstr "Vis ukedato/ukenummer i kalender"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
msgid "If true, display the ISO week date in the calendar."
msgstr "Viser ISO-ukedato i kalenderen hvis «true»."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
msgid "Keybinding to open the application menu"
msgstr "Tastaturbinding som åpner programmenyen"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
msgid "Keybinding to open the application menu."
msgstr "Tastaturbinding som åpner programmenyen."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
msgid "Keybinding to open the \"Show Applications\" view"
msgstr "Tastaturbinding som åpner visningen «Vis programmer»"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
msgid ""
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
msgstr ""
"Tastaturbinding som åpner visningen «Vis programmer» i aktivitetsoversikten."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
msgid "Keybinding to open the overview"
msgstr "Tastaturbinding som åpner oversikten"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
msgid "Keybinding to open the Activities Overview."
msgstr "Tastaturbinding som åpner aktivitetsoversikten."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
msgid "Keybinding to toggle the visibility of the notification list"
msgstr "Tastaturbinding som slår av/på visning av varslingsliste"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
msgid "Keybinding to toggle the visibility of the notification list."
msgstr "Tastaturbinding som slår av/på visning av varslingsliste."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
msgid "Keybinding to focus the active notification"
msgstr "Tastaturbinding som fokuserer aktiv varsling"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
msgid "Keybinding to focus the active notification."
msgstr "Tastaturbinding som fokuserer aktiv varsling."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
msgid ""
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
msgstr ""
"Hurtigtast som stanser og fortsetter pågående bevegelser til "
"feilsøkingsformål"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
msgid "Which keyboard to use"
msgstr "Tastatur som skal brukes"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
msgid "The type of keyboard to use."
msgstr "Type tastatur som skal brukes."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
msgid "Limit switcher to current workspace."
msgstr "Begrens programveksling til gjeldende arbeidsområde."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
msgid ""
"If true, only applications that have windows on the current workspace are "
"shown in the switcher. Otherwise, all applications are included."
@ -243,11 +251,11 @@ msgstr ""
"gjeldende arbeidsområder som vises i programveksleren. I motsatt fall kan du "
"veksle mellom programmer på tvers av arbeidsområder."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
msgid "The application icon mode."
msgstr "Ikonmodus for programmet."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
msgid ""
"Configures how the windows are shown in the switcher. Valid possibilities "
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
@ -257,7 +265,7 @@ msgstr ""
"valgalternativer er «thumbnail-only» (viser miniatyrbilde av vinduet), «app-"
"icon-only» (viser bare programikonet) og «both» (viser begge forannevnte)."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
msgid ""
"If true, only windows from the current workspace are shown in the switcher. "
"Otherwise, all windows are included."
@ -266,30 +274,30 @@ msgstr ""
"arbeidsområder som vises i programveksleren. I motsatt fall vises vinduer "
"fra alle arbeidsområder."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
msgid "Attach modal dialog to the parent window"
msgstr "Fest modal dialog til opphavsvinduet"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
msgid ""
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
msgstr ""
"Denne nøkkelen overstyrer nøkkelen i org.gnome.mutter når GNOME Shell kjøres."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
msgid "Enable edge tiling when dropping windows on screen edges"
msgstr ""
"Del opp skjermkantene i fliser når brukeren drar og slipper vinduer på dem"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
msgid "Workspaces are managed dynamically"
msgstr "Arbeidsområder håndteres dynamisk"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
#: ../data/org.gnome.shell.gschema.xml.in.in.h:44
msgid "Workspaces only on primary monitor"
msgstr "Arbeidsområder vises kun på hovedskjerm"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
#: ../data/org.gnome.shell.gschema.xml.in.in.h:45
msgid "Delay focus changes in mouse mode until the pointer stops moving"
msgstr "Utsett fokusendringer i musmodus til peker slutter å bevege seg"
@ -354,7 +362,7 @@ msgstr "(f.eks. bruker eller %s)"
msgid "Username: "
msgstr "Brukernavn: "
#: ../js/gdm/loginDialog.js:1184
#: ../js/gdm/loginDialog.js:1180
msgid "Login Window"
msgstr "Innloggingsvindu"
@ -490,12 +498,12 @@ msgstr "Legg til i favoritter"
msgid "Show Details"
msgstr "Vis detaljer"
#: ../js/ui/appFavorites.js:132
#: ../js/ui/appFavorites.js:133
#, javascript-format
msgid "%s has been added to your favorites."
msgstr "%s ble lagt til i favoritter."
#: ../js/ui/appFavorites.js:166
#: ../js/ui/appFavorites.js:167
#, javascript-format
msgid "%s has been removed from your favorites."
msgstr "%s ble fjernet fra favoritter."
@ -508,8 +516,7 @@ msgstr "Bytt bakgrunn …"
msgid "Display Settings"
msgstr "Innstillinger for skjerm"
#: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650
#: ../js/ui/status/system.js:366
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
msgid "Settings"
msgstr "Innstillinger"
@ -573,6 +580,12 @@ msgstr "Forrige måned"
msgid "Next month"
msgstr "Neste måned"
#: ../js/ui/calendar.js:728
#, javascript-format
msgctxt "date day number format"
msgid "%d"
msgstr "%d"
#: ../js/ui/calendar.js:783
msgid "Week %V"
msgstr "Uke %V"
@ -585,33 +598,33 @@ msgctxt "event list time"
msgid "All Day"
msgstr "Hele dagen"
#: ../js/ui/calendar.js:1291
#: ../js/ui/calendar.js:1295
msgid "Clear section"
msgstr "Tøm seksjon"
#: ../js/ui/calendar.js:1518
#: ../js/ui/calendar.js:1522
msgid "Events"
msgstr "Hendelser"
#: ../js/ui/calendar.js:1527
#: ../js/ui/calendar.js:1531
msgctxt "calendar heading"
msgid "%A, %B %d"
msgstr "%A %B %d"
#: ../js/ui/calendar.js:1531
#: ../js/ui/calendar.js:1535
msgctxt "calendar heading"
msgid "%A, %B %d, %Y"
msgstr "%A %B %d, %Y"
#: ../js/ui/calendar.js:1616
#: ../js/ui/calendar.js:1620
msgid "Notifications"
msgstr "Varslinger"
#: ../js/ui/calendar.js:1767
#: ../js/ui/calendar.js:1771
msgid "No Notifications"
msgstr "Ingen varslinger"
#: ../js/ui/calendar.js:1770
#: ../js/ui/calendar.js:1774
msgid "No Events"
msgstr "Ingen hendelser"
@ -623,7 +636,7 @@ msgstr "Ekstern stasjon koblet til"
msgid "External drive disconnected"
msgstr "Ekstern stasjon koblet fra"
#: ../js/ui/components/autorunManager.js:354
#: ../js/ui/components/autorunManager.js:351
#, javascript-format
msgid "Open with %s"
msgstr "Åpne med %s"
@ -968,7 +981,7 @@ msgstr "Slått på"
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1830
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
msgid "Disabled"
msgstr "Slått av"
@ -1012,17 +1025,22 @@ msgstr "Oversikt"
msgid "Type to search…"
msgstr "Skriv for å søke …"
#: ../js/ui/panel.js:352
#: ../js/ui/panel.js:358
msgid "Quit"
msgstr "Avslutt"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:404
#: ../js/ui/panel.js:414
msgid "Activities"
msgstr "Aktiviteter"
#: ../js/ui/panel.js:754
#: ../js/ui/panel.js:695
msgctxt "System menu in the top bar"
msgid "System"
msgstr "System"
#: ../js/ui/panel.js:807
msgid "Top Bar"
msgstr "Topp-panel"
@ -1035,15 +1053,15 @@ msgstr "Topp-panel"
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
#: ../js/ui/runDialog.js:70
#: ../js/ui/runDialog.js:71
msgid "Enter a Command"
msgstr "Skriv inn en kommando"
#: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:162
#: ../js/ui/runDialog.js:111 ../js/ui/windowMenu.js:162
msgid "Close"
msgstr "Lukk"
#: ../js/ui/runDialog.js:281
#: ../js/ui/runDialog.js:282
msgid "Restarting…"
msgstr "Starter på nytt …"
@ -1166,29 +1184,41 @@ msgstr "Høy kontrast"
msgid "Large Text"
msgstr "Stor tekst"
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:178
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
#: ../js/ui/status/rfkill.js:117
msgid "Turn Off"
msgstr "Slå av"
#: ../js/ui/status/bluetooth.js:50
msgid "Bluetooth"
msgstr "Bluetooth"
#: ../js/ui/status/bluetooth.js:54
#: ../js/ui/status/bluetooth.js:59
msgid "Bluetooth Settings"
msgstr "Bluetooth-innstillinger"
#. Translators: this is the number of connected bluetooth devices
#: ../js/ui/status/bluetooth.js:105
#: ../js/ui/status/bluetooth.js:139
#, javascript-format
msgid "%d Connected"
msgid_plural "%d Connected"
msgstr[0] "%d koblet til"
msgstr[1] "%d koblet til"
#: ../js/ui/status/bluetooth.js:107
#: ../js/ui/status/bluetooth.js:141
msgid "Off"
msgstr "Av"
#: ../js/ui/status/bluetooth.js:143
msgid "Not In Use"
msgstr "Ikke i bruk"
#: ../js/ui/status/bluetooth.js:145 ../js/ui/status/network.js:1279
msgid "Turn On"
msgstr "Slå på"
#: ../js/ui/status/bluetooth.js:145 ../js/ui/status/network.js:178
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
#: ../js/ui/status/rfkill.js:117
msgid "Turn Off"
msgstr "Slå av"
#: ../js/ui/status/brightness.js:44
msgid "Brightness"
msgstr "Lysstyrke"
@ -1356,10 +1386,6 @@ msgstr "Velg nettverk"
msgid "Wi-Fi Settings"
msgstr "Innstillinger"
#: ../js/ui/status/network.js:1279
msgid "Turn On"
msgstr "Slå på"
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:1296
#, javascript-format
@ -1426,14 +1452,14 @@ msgstr "Estimerer …"
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
#: ../js/ui/status/power.js:86
#, javascript-format
msgid "%d%02d Remaining (%d%%)"
msgstr "%d:%02d gjenstår (%d%%)"
msgid "%d%02d Remaining (%d%%)"
msgstr "%d:%02d gjenstår (%d %%)"
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
#: ../js/ui/status/power.js:91
#, javascript-format
msgid "%d%02d Until Full (%d%%)"
msgstr "%d:%02d til batteriet er fullt (%d%%)"
msgid "%d%02d Until Full (%d%%)"
msgstr "%d:%02d til batteriet er fullt (%d %%)"
#. The menu only appears when airplane mode is on, so just
#. statically build it as if it was on, rather than dynamically
@ -1562,19 +1588,19 @@ msgstr "Alltid på synlig arbeidsområde"
#: ../js/ui/windowMenu.js:105
msgid "Move to Workspace Left"
msgstr " til arbeidsområdet til venstre"
msgstr "Flytt til arbeidsområdet til venstre"
#: ../js/ui/windowMenu.js:110
msgid "Move to Workspace Right"
msgstr " til arbeidsområdet til høyre"
msgstr "Flytt til arbeidsområdet til høyre"
#: ../js/ui/windowMenu.js:115
msgid "Move to Workspace Up"
msgstr " til arbeidsområdet over"
msgstr "Flytt til arbeidsområdet over"
#: ../js/ui/windowMenu.js:120
msgid "Move to Workspace Down"
msgstr " til arbeidsområdet under"
msgstr "Flytt til arbeidsområdet under"
#: ../js/ui/windowMenu.js:136
msgid "Move to Monitor Up"
@ -1598,7 +1624,7 @@ msgstr "Evolution kalender"
#. translators:
#. * The number of sound outputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1837
#: ../src/gvc/gvc-mixer-control.c:1835
#, c-format
msgid "%u Output"
msgid_plural "%u Outputs"
@ -1607,51 +1633,51 @@ msgstr[1] "%u utganger"
#. translators:
#. * The number of sound inputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1847
#: ../src/gvc/gvc-mixer-control.c:1845
#, c-format
msgid "%u Input"
msgid_plural "%u Inputs"
msgstr[0] "%u inngang"
msgstr[1] "%u innganger"
#: ../src/gvc/gvc-mixer-control.c:2373
#: ../src/gvc/gvc-mixer-control.c:2371
msgid "System Sounds"
msgstr "Systemlyder"
#: ../src/main.c:373
#: ../src/main.c:381
msgid "Print version"
msgstr "Vis versjon"
#: ../src/main.c:379
#: ../src/main.c:387
msgid "Mode used by GDM for login screen"
msgstr "Modus som brukes av GDM for innloggingsskjermen"
#: ../src/main.c:385
#: ../src/main.c:393
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
msgstr "Bruk spesifikt modus, f.eks «gdm» for innloggingsskjerm"
#: ../src/main.c:391
#: ../src/main.c:399
msgid "List possible modes"
msgstr "Vis mulige modi"
#: ../src/shell-app.c:239
#: ../src/shell-app.c:246
msgctxt "program"
msgid "Unknown"
msgstr "Ukjent"
#: ../src/shell-app.c:480
#: ../src/shell-app.c:487
#, c-format
msgid "Failed to launch “%s”"
msgstr "Klarte ikke å starte «%s»"
#: ../src/shell-keyring-prompt.c:742
#: ../src/shell-keyring-prompt.c:730
msgid "Passwords do not match."
msgstr "Passordene er ikke like."
#: ../src/shell-keyring-prompt.c:750
#: ../src/shell-keyring-prompt.c:738
msgid "Password cannot be blank"
msgstr "Passordet kan ikke være tomt"
#: ../src/shell-polkit-authentication-agent.c:346
#: ../src/shell-polkit-authentication-agent.c:353
msgid "Authentication dialog was dismissed by the user"
msgstr "Autentiseringsdialogen ble lukket av brukeren"

View File

@ -12,8 +12,8 @@ msgid ""
msgstr ""
"Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-08-24 15:27+0200\n"
"PO-Revision-Date: 2015-08-24 15:28+0200\n"
"POT-Creation-Date: 2015-09-29 00:50+0200\n"
"PO-Revision-Date: 2015-09-29 00:52+0200\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Polish <gnomepl@aviary.pl>\n"
"Language: pl\n"
@ -331,7 +331,7 @@ msgid "Cancel"
msgstr "Anuluj"
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215
#: ../js/gdm/authPrompt.js:435
#: ../js/gdm/authPrompt.js:447
msgid "Next"
msgstr "Dalej"
@ -358,7 +358,7 @@ msgstr "Inny użytkownik?"
#. Translators: this message is shown below the username entry field
#. to clue the user in on how to login to the local network realm
#: ../js/gdm/loginDialog.js:847
#: ../js/gdm/loginDialog.js:850
#, javascript-format
msgid "(e.g., user or %s)"
msgstr "(np. użytkownik lub %s)"
@ -366,12 +366,12 @@ msgstr "(np. użytkownik lub %s)"
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:852 ../js/ui/components/networkAgent.js:271
#: ../js/gdm/loginDialog.js:855 ../js/ui/components/networkAgent.js:271
#: ../js/ui/components/networkAgent.js:289
msgid "Username: "
msgstr "Nazwa użytkownika: "
#: ../js/gdm/loginDialog.js:1181
#: ../js/gdm/loginDialog.js:1184
msgid "Login Window"
msgstr "Okno logowania"
@ -525,8 +525,7 @@ msgstr "Zmień tło…"
msgid "Display Settings"
msgstr "Ustawienia ekranu"
#: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650
#: ../js/ui/status/system.js:366
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
msgid "Settings"
msgstr "Ustawienia"
@ -602,33 +601,33 @@ msgctxt "event list time"
msgid "All Day"
msgstr "Cały dzień"
#: ../js/ui/calendar.js:1291
#: ../js/ui/calendar.js:1295
msgid "Clear section"
msgstr "Wyczyść"
#: ../js/ui/calendar.js:1518
#: ../js/ui/calendar.js:1522
msgid "Events"
msgstr "Wydarzenia"
#: ../js/ui/calendar.js:1527
#: ../js/ui/calendar.js:1531
msgctxt "calendar heading"
msgid "%A, %B %d"
msgstr "%A, %e %B"
#: ../js/ui/calendar.js:1531
#: ../js/ui/calendar.js:1535
msgctxt "calendar heading"
msgid "%A, %B %d, %Y"
msgstr "%A, %e %B %Y"
#: ../js/ui/calendar.js:1616
#: ../js/ui/calendar.js:1620
msgid "Notifications"
msgstr "Powiadomienia"
#: ../js/ui/calendar.js:1767
#: ../js/ui/calendar.js:1771
msgid "No Notifications"
msgstr "Brak powiadomień"
#: ../js/ui/calendar.js:1770
#: ../js/ui/calendar.js:1774
msgid "No Events"
msgstr "Brak wydarzeń"
@ -991,7 +990,7 @@ msgstr "Włączone"
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1830
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
msgid "Disabled"
msgstr "Wyłączone"
@ -1045,6 +1044,11 @@ msgstr "Zakończ"
msgid "Activities"
msgstr "Podgląd"
#: ../js/ui/panel.js:650
msgctxt "System menu in the top bar"
msgid "System"
msgstr "Menu systemowe"
#: ../js/ui/panel.js:754
msgid "Top Bar"
msgstr "Górny pasek"
@ -1625,7 +1629,7 @@ msgstr "Kalendarz programu Evolution"
#. translators:
#. * The number of sound outputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1837
#: ../src/gvc/gvc-mixer-control.c:1835
#, c-format
msgid "%u Output"
msgid_plural "%u Outputs"
@ -1635,7 +1639,7 @@ msgstr[2] "%u wyjść"
#. translators:
#. * The number of sound inputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1847
#: ../src/gvc/gvc-mixer-control.c:1845
#, c-format
msgid "%u Input"
msgid_plural "%u Inputs"
@ -1643,23 +1647,23 @@ msgstr[0] "%u wejście"
msgstr[1] "%u wejścia"
msgstr[2] "%u wejść"
#: ../src/gvc/gvc-mixer-control.c:2373
#: ../src/gvc/gvc-mixer-control.c:2371
msgid "System Sounds"
msgstr "Dźwięki systemowe"
#: ../src/main.c:373
#: ../src/main.c:381
msgid "Print version"
msgstr "Wyświetla wersję"
#: ../src/main.c:379
#: ../src/main.c:387
msgid "Mode used by GDM for login screen"
msgstr "Tryb używany przez GDM dla ekranu logowania"
#: ../src/main.c:385
#: ../src/main.c:393
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
msgstr "Używa podanego trybu, np. „gdm” dla ekranu logowania"
#: ../src/main.c:391
#: ../src/main.c:399
msgid "List possible modes"
msgstr "Wyświetla listę możliwych trybów"

411
po/pt.po

File diff suppressed because it is too large Load Diff

View File

@ -12,7 +12,7 @@
# Djavan Fagundes <djavan@comum.org>, 2012.
# Juan Diego Martins da Costa Cruz <juan.martins@ifrn.edu.br>, 2013.
# Fábio Nogueira <fnogueira@gnome.org>, 2014.
# Rafael Ferreira <rafael.f.f1@gmail.com>, 2013, 2014.
# Rafael Fontenelle <rffontenelle@gmail.com>, 2013, 2014,2015.
# Georges Basile Stavracas Neto <georges.stavracas@gmail.com>, 2014.
# Enrico Nicoletto <liverig@gmail.com>, 2013, 2014, 2015.
# Felipe Braga <fbobraga@gmail.com>, 2015.
@ -22,16 +22,16 @@ msgstr ""
"Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2015-08-10 20:07+0000\n"
"PO-Revision-Date: 2015-08-10 20:38-0300\n"
"Last-Translator: Enrico Nicoletto <liverig@gmail.com>\n"
"POT-Creation-Date: 2015-09-29 08:39+0000\n"
"PO-Revision-Date: 2015-09-29 16:08-0300\n"
"Last-Translator: Rafael Fontenelle <rffontenelle@gmail.com>\n"
"Language-Team: Brazilian Portuguese <gnome-pt_br-list@gnome.org>\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Poedit 1.6.4\n"
"X-Generator: Poedit 1.8.1\n"
"X-Project-Style: gnome\n"
#: ../data/50-gnome-shell-system.xml.in.h:1
@ -341,7 +341,7 @@ msgid "Cancel"
msgstr "Cancelar"
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215
#: ../js/gdm/authPrompt.js:435
#: ../js/gdm/authPrompt.js:447
msgid "Next"
msgstr "Próximo"
@ -359,21 +359,29 @@ msgstr "Entrar"
msgid "Choose Session"
msgstr "Escolher sessão"
#. translators: this message is shown below the user list on the
#. login screen. It can be activated to reveal an entry for
#. manually entering the username.
#: ../js/gdm/loginDialog.js:431
msgid "Not listed?"
msgstr "Não está listado?"
#: ../js/gdm/loginDialog.js:847
#. Translators: this message is shown below the username entry field
#. to clue the user in on how to login to the local network realm
#: ../js/gdm/loginDialog.js:850
#, javascript-format
msgid "(e.g., user or %s)"
msgstr "(ex.: usuário ou %s)"
#: ../js/gdm/loginDialog.js:852 ../js/ui/components/networkAgent.js:271
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:855 ../js/ui/components/networkAgent.js:271
#: ../js/ui/components/networkAgent.js:289
msgid "Username: "
msgstr "Nome de usuário: "
#: ../js/gdm/loginDialog.js:1181
#: ../js/gdm/loginDialog.js:1184
msgid "Login Window"
msgstr "Janela de sessão"
@ -381,6 +389,11 @@ msgstr "Janela de sessão"
msgid "Authentication error"
msgstr "Erro de autenticação"
#. We don't show fingerprint messages directly since it's
#. not the main auth service. Instead we use the messages
#. as a cue to display our own message.
#. Translators: this message is shown below the password entry field
#. to indicate the user can swipe their finger instead
#: ../js/gdm/util.js:473
msgid "(or swipe finger)"
msgstr "(ou deslize o dedo)"
@ -389,6 +402,8 @@ msgstr "(ou deslize o dedo)"
msgid "Command not found"
msgstr "Comando não encontrado"
#. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer
#: ../js/misc/util.js:152
msgid "Could not parse command:"
msgstr "Não foi possível analisar comando:"
@ -398,70 +413,78 @@ msgstr "Não foi possível analisar comando:"
msgid "Execution of “%s” failed:"
msgstr "A execução de \"%s\" falhou:"
#. Translators: Time in 24h format */
#. Translators: Time in 24h format
#: ../js/misc/util.js:191
msgid "%H%M"
msgstr "%H%M"
#. Translators: this is the word "Yesterday" followed by a
#. time string in 24h format. i.e. "Yesterday, 14:30" */
#. time string in 24h format. i.e. "Yesterday, 14:30"
#: ../js/misc/util.js:197
#, no-c-format
msgid "Yesterday, %H%M"
msgstr "Ontem, %H%M"
#. Translators: this is the week day name followed by a time
#. string in 24h format. i.e. "Monday, 14:30" */
#. string in 24h format. i.e. "Monday, 14:30"
#: ../js/misc/util.js:203
#, no-c-format
msgid "%A, %H%M"
msgstr "%A, %H%M"
#. Translators: this is the month name and day number
#. followed by a time string in 24h format.
#. i.e. "May 25, 14:30" */
#. i.e. "May 25, 14:30"
#: ../js/misc/util.js:209
#, no-c-format
msgid "%B %d, %H%M"
msgstr "%d de %B, %H%M"
#. Translators: this is the month name, day number, year
#. number followed by a time string in 24h format.
#. i.e. "May 25 2012, 14:30" */
#. i.e. "May 25 2012, 14:30"
#: ../js/misc/util.js:215
#, no-c-format
msgid "%B %d %Y, %H%M"
msgstr "%d de %B de %Y, %H%M"
#. Translators: Time in 12h format */
#. Translators: Time in 12h format
#: ../js/misc/util.js:220
msgid "%l%M %p"
msgstr "%l%M %p"
#. Translators: this is the word "Yesterday" followed by a
#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */
#. time string in 12h format. i.e. "Yesterday, 2:30 pm"
#: ../js/misc/util.js:226
#, no-c-format
msgid "Yesterday, %l%M %p"
msgstr "Ontem, %l%M %p"
#. Translators: this is the week day name followed by a time
#. string in 12h format. i.e. "Monday, 2:30 pm" */
#. string in 12h format. i.e. "Monday, 2:30 pm"
#: ../js/misc/util.js:232
#, no-c-format
msgid "%A, %l%M %p"
msgstr "%A, %l%M %p"
#. Translators: this is the month name and day number
#. followed by a time string in 12h format.
#. i.e. "May 25, 2:30 pm" */
#. i.e. "May 25, 2:30 pm"
#: ../js/misc/util.js:238
#, no-c-format
msgid "%B %d, %l%M %p"
msgstr "%d de %B, %l%M %p"
#. Translators: this is the month name, day number, year
#. number followed by a time string in 12h format.
#. i.e. "May 25 2012, 2:30 pm"*/
#. i.e. "May 25 2012, 2:30 pm"
#: ../js/misc/util.js:244
#, no-c-format
msgid "%B %d %Y, %l%M %p"
msgstr "%d de %B de %Y, %l%M %p"
#. TRANSLATORS: this is the title of the wifi captive portal login
#. * window, until we know the title of the actual login page */
#. * window, until we know the title of the actual login page
#: ../js/portalHelper/main.js:85
msgid "Web Authentication Redirect"
msgstr "Redirecionamento para autenticação web"
@ -512,12 +535,11 @@ msgstr "Alterar plano de fundo…"
msgid "Display Settings"
msgstr "Configurações de exibição"
#: ../js/ui/backgroundMenu.js:22 ../js/ui/panel.js:650
#: ../js/ui/status/system.js:357
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
msgid "Settings"
msgstr "Configurações"
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday). */
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday).
#: ../js/ui/calendar.js:55
msgctxt "calendar-no-work"
msgid "06"
@ -527,43 +549,43 @@ msgstr "06"
#. *
#. * NOTE: These grid abbreviations are always shown together
#. * and in order, e.g. "S M T W T F S".
#. */
#.
#: ../js/ui/calendar.js:84
msgctxt "grid sunday"
msgid "S"
msgstr "D"
#. Translators: Calendar grid abbreviation for Monday */
#. Translators: Calendar grid abbreviation for Monday
#: ../js/ui/calendar.js:86
msgctxt "grid monday"
msgid "M"
msgstr "S"
#. Translators: Calendar grid abbreviation for Tuesday */
#. Translators: Calendar grid abbreviation for Tuesday
#: ../js/ui/calendar.js:88
msgctxt "grid tuesday"
msgid "T"
msgstr "T"
#. Translators: Calendar grid abbreviation for Wednesday */
#. Translators: Calendar grid abbreviation for Wednesday
#: ../js/ui/calendar.js:90
msgctxt "grid wednesday"
msgid "W"
msgstr "Q"
#. Translators: Calendar grid abbreviation for Thursday */
#. Translators: Calendar grid abbreviation for Thursday
#: ../js/ui/calendar.js:92
msgctxt "grid thursday"
msgid "T"
msgstr "Q"
#. Translators: Calendar grid abbreviation for Friday */
#. Translators: Calendar grid abbreviation for Friday
#: ../js/ui/calendar.js:94
msgctxt "grid friday"
msgid "F"
msgstr "S"
#. Translators: Calendar grid abbreviation for Saturday */
#. Translators: Calendar grid abbreviation for Saturday
#: ../js/ui/calendar.js:96
msgctxt "grid saturday"
msgid "S"
@ -583,39 +605,39 @@ msgstr "Semana %V"
#. Translators: Shown in calendar event list for all day events
#. * Keep it short, best if you can use less then 10 characters
#. */
#.
#: ../js/ui/calendar.js:1188
msgctxt "event list time"
msgid "All Day"
msgstr "Dia todo"
#: ../js/ui/calendar.js:1291
#: ../js/ui/calendar.js:1295
msgid "Clear section"
msgstr "Limpar seção"
#: ../js/ui/calendar.js:1518
#: ../js/ui/calendar.js:1522
msgid "Events"
msgstr "Eventos"
#: ../js/ui/calendar.js:1527
#: ../js/ui/calendar.js:1531
msgctxt "calendar heading"
msgid "%A, %B %d"
msgstr "%A, %d de %B"
#: ../js/ui/calendar.js:1531
#: ../js/ui/calendar.js:1535
msgctxt "calendar heading"
msgid "%A, %B %d, %Y"
msgstr "%A, %d de %B de %Y"
#: ../js/ui/calendar.js:1616
#: ../js/ui/calendar.js:1620
msgid "Notifications"
msgstr "Notificações"
#: ../js/ui/calendar.js:1767
#: ../js/ui/calendar.js:1771
msgid "No Notifications"
msgstr "Nenhuma notificação"
#: ../js/ui/calendar.js:1770
#: ../js/ui/calendar.js:1774
msgid "No Events"
msgstr "Nenhum evento"
@ -640,11 +662,12 @@ msgstr "Senha:"
msgid "Type again:"
msgstr "Digite novamente:"
#: ../js/ui/components/networkAgent.js:140 ../js/ui/status/network.js:277
#: ../js/ui/status/network.js:359 ../js/ui/status/network.js:919
#: ../js/ui/components/networkAgent.js:140 ../js/ui/status/network.js:269
#: ../js/ui/status/network.js:352 ../js/ui/status/network.js:919
msgid "Connect"
msgstr "Conectar"
#. Cisco LEAP
#: ../js/ui/components/networkAgent.js:233
#: ../js/ui/components/networkAgent.js:245
#: ../js/ui/components/networkAgent.js:273
@ -653,6 +676,7 @@ msgstr "Conectar"
msgid "Password: "
msgstr "Senha: "
#. static WEP
#: ../js/ui/components/networkAgent.js:238
msgid "Key: "
msgstr "Chave: "
@ -725,7 +749,7 @@ msgstr "Senha da rede de banda larga móvel"
msgid "A password is required to connect to “%s”."
msgstr "Uma senha é necessária para se conectar a \"%s\""
#: ../js/ui/components/networkAgent.js:647 ../js/ui/status/network.js:1654
#: ../js/ui/components/networkAgent.js:647 ../js/ui/status/network.js:1658
msgid "Network Manager"
msgstr "Gerenciador de rede"
@ -744,13 +768,13 @@ msgstr "Autenticação"
#. Translators: "that didn't work" refers to the fact that the
#. * requested authentication was not gained; this can happen
#. * because of an authentication error (like invalid password),
#. * for instance. */
#. * for instance.
#: ../js/ui/components/polkitAgent.js:301 ../js/ui/shellMountOperation.js:383
msgid "Sorry, that didn't work. Please try again."
msgstr "Desculpe, isto não funcionou. Por favor, tente novamente."
#. Translators: this is the other person changing their old IM name to their new
#. IM name. */
#. IM name.
#: ../js/ui/components/telepathyClient.js:759
#, javascript-format
msgid "%s is now known as %s"
@ -764,13 +788,15 @@ msgstr "Janelas"
msgid "Show Applications"
msgstr "Mostrar aplicativos"
#. Translators: this is the name of the dock/favorites area on
#. the left of the overview
#: ../js/ui/dash.js:449
msgid "Dash"
msgstr "Dash"
#. Translators: This is the date format to use when the calendar popup is
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
#. */
#.
#: ../js/ui/dateMenu.js:73
msgid "%B %e %Y"
msgstr "%e de %B de %Y"
@ -778,7 +804,7 @@ msgstr "%e de %B de %Y"
#. Translators: This is the accessible name of the date button shown
#. * below the time in the shell; it should combine the weekday and the
#. * date, e.g. "Tuesday February 17 2015".
#. */
#.
#: ../js/ui/dateMenu.js:80
msgid "%A %B %e %Y"
msgstr "%A, %e de %B de %Y"
@ -911,13 +937,13 @@ msgstr "Alguns aplicativos estão ocupados ou possuem trabalhos não salvos."
msgid "Other users are logged in."
msgstr "Outros usuários estão com sessão aberta."
#. Translators: Remote here refers to a remote session, like a ssh login */
#. Translators: Remote here refers to a remote session, like a ssh login
#: ../js/ui/endSessionDialog.js:640
#, javascript-format
msgid "%s (remote)"
msgstr "%s (remoto)"
#. Translators: Console here refers to a tty like a VT console */
#. Translators: Console here refers to a tty like a VT console
#: ../js/ui/endSessionDialog.js:643
#, javascript-format
msgid "%s (console)"
@ -936,7 +962,7 @@ msgstr "Baixar e instalar \"%s\" de extensions.gnome.org?"
msgid "Keyboard"
msgstr "Teclado"
#. translators: 'Hide' is a verb */
#. translators: 'Hide' is a verb
#: ../js/ui/legacyTray.js:66
msgid "Hide tray"
msgstr "Esconder bandeja"
@ -949,7 +975,7 @@ msgstr "Ícones de status"
msgid "No extensions installed"
msgstr "Nenhuma extensão instalada"
#. Translators: argument is an extension UUID. */
#. Translators: argument is an extension UUID.
#: ../js/ui/lookingGlass.js:697
#, javascript-format
msgid "%s has not emitted any errors."
@ -963,17 +989,13 @@ msgstr "Ocultar erros"
msgid "Show Errors"
msgstr "Exibir erros"
#: ../js/ui/lookingGlass.js:716 ../js/ui/status/location.js:71
#: ../js/ui/status/location.js:176
#: ../js/ui/lookingGlass.js:716
msgid "Enabled"
msgstr "Habilitado"
#. Translators: this is for a network device that cannot be activated
#. because it's disabled by rfkill (airplane mode) */
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:719 ../js/ui/status/location.js:179
#: ../js/ui/status/network.js:592 ../src/gvc/gvc-mixer-control.c:1830
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
msgid "Disabled"
msgstr "Desabilitado"
@ -1012,7 +1034,7 @@ msgstr "Panorama"
#. Translators: this is the text displayed
#. in the search entry when no search is
#. active; it should not exceed ~30
#. characters. */
#. characters.
#: ../js/ui/overview.js:244
msgid "Type to search…"
msgstr "Digite para pesquisar…"
@ -1022,15 +1044,25 @@ msgid "Quit"
msgstr "Sair"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview". */
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:404
msgid "Activities"
msgstr "Atividades"
#: ../js/ui/panel.js:755
#: ../js/ui/panel.js:650
msgctxt "System menu in the top bar"
msgid "System"
msgstr "Sistema"
#: ../js/ui/panel.js:754
msgid "Top Bar"
msgstr "Barra superior"
#. 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:289
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
@ -1048,7 +1080,7 @@ msgid "Restarting…"
msgstr "Reiniciando…"
#. Translators: This is a time format for a date in
#. long format */
#. long format
#: ../js/ui/screenShield.js:85
msgid "%A, %B %d"
msgstr "%A, %d de %B"
@ -1067,7 +1099,7 @@ msgid_plural "%d new notifications"
msgstr[0] "%d nova notificação"
msgstr[1] "%d novas notificações"
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:365
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:374
msgid "Lock"
msgstr "Bloquear"
@ -1075,6 +1107,13 @@ msgstr "Bloquear"
msgid "GNOME needs to lock the screen"
msgstr "GNOME precisa bloquear a tela"
#. We could not become modal, so we can't activate the
#. screenshield. The user is probably very upset at this
#. point, but any application using global grabs is broken
#. Just tell him to stop using this app
#.
#. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs
#: ../js/ui/screenShield.js:805 ../js/ui/screenShield.js:1271
msgid "Unable to lock"
msgstr "Não foi possível bloquear"
@ -1159,14 +1198,10 @@ msgstr "Alto contraste"
msgid "Large Text"
msgstr "Texto grande"
#: ../js/ui/status/bluetooth.js:49
msgid "Bluetooth"
msgstr "Bluetooth"
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:178
#: ../js/ui/status/network.js:360 ../js/ui/status/network.js:1279
#: ../js/ui/status/network.js:1390 ../js/ui/status/rfkill.js:91
#: ../js/ui/status/rfkill.js:118
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
#: ../js/ui/status/rfkill.js:117
msgid "Turn Off"
msgstr "Desligar"
@ -1174,16 +1209,18 @@ msgstr "Desligar"
msgid "Bluetooth Settings"
msgstr "Configurações de Bluetooth"
#: ../js/ui/status/bluetooth.js:104
#. Translators: this is the number of connected bluetooth devices
#: ../js/ui/status/bluetooth.js:105
#, javascript-format
msgid "%d Connected Device"
msgid_plural "%d Connected Devices"
msgstr[0] "%d dispositivo conectado"
msgstr[1] "%d dispositivos conectados"
msgid "%d Connected"
msgid_plural "%d Connected"
msgstr[0] "%d conectado"
msgstr[1] "%d conectados"
#: ../js/ui/status/bluetooth.js:106 ../js/ui/status/network.js:1307
msgid "Not Connected"
msgstr "Não conectado"
# Livre no sentido de disponível, ou seja, não estar em uso --Enrico
#: ../js/ui/status/bluetooth.js:107
msgid "Not In Use"
msgstr "Livre"
#: ../js/ui/status/brightness.js:44
msgid "Brightness"
@ -1193,11 +1230,11 @@ msgstr "Brilho"
msgid "Show Keyboard Layout"
msgstr "Exibir disposição de teclado"
#: ../js/ui/status/location.js:65
msgid "Location"
msgstr "Localização"
#: ../js/ui/status/location.js:71 ../js/ui/status/location.js:177
msgid "Location Enabled"
msgstr "Localização habilitada"
#: ../js/ui/status/location.js:72 ../js/ui/status/location.js:177
#: ../js/ui/status/location.js:72 ../js/ui/status/location.js:178
msgid "Disable"
msgstr "Desabilitar"
@ -1206,10 +1243,14 @@ msgid "Privacy Settings"
msgstr "Configurações de privacidade"
#: ../js/ui/status/location.js:176
msgid "In Use"
msgstr "Em uso"
msgid "Location In Use"
msgstr "Localização em uso"
#: ../js/ui/status/location.js:180
msgid "Location Disabled"
msgstr "Localização desabilitada"
#: ../js/ui/status/location.js:181
msgid "Enable"
msgstr "Habilitar"
@ -1217,62 +1258,85 @@ msgstr "Habilitar"
msgid "<unknown>"
msgstr "<desconhecido>"
#: ../js/ui/status/network.js:457 ../js/ui/status/network.js:1305
#: ../js/ui/status/network.js:1509
msgid "Off"
msgstr "Off"
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:451 ../js/ui/status/network.js:1308
#, javascript-format
msgid "%s Off"
msgstr "%s desligado"
#: ../js/ui/status/network.js:459
msgid "Connected"
msgstr "Conectado"
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:454
#, javascript-format
msgid "%s Connected"
msgstr "Conectado a %s"
# Não gerenciável para transmitir a idéia que o Networkmanager não consegue gerenciar o dispositivo --Enrico
#. Translators: this is for network devices that are physically present but are not
#. under NetworkManager's control (and thus cannot be used in the menu) */
#: ../js/ui/status/network.js:463
msgid "Unmanaged"
msgstr "Não gerenciável"
#. under NetworkManager's control (and thus cannot be used in the menu);
#. %s is a network identifier
#: ../js/ui/status/network.js:459
#, javascript-format
msgid "%s Unmanaged"
msgstr "%s não é gerenciável"
#: ../js/ui/status/network.js:465
msgid "Disconnecting"
msgstr "Desconectando"
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:462
#, javascript-format
msgid "%s Disconnecting"
msgstr "Desconectando de %s"
#: ../js/ui/status/network.js:471 ../js/ui/status/network.js:1299
msgid "Connecting"
msgstr "Conectando"
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:469 ../js/ui/status/network.js:1300
#, javascript-format
msgid "%s Connecting"
msgstr "Conectando a %s"
#. Translators: this is for network connections that require some kind of key or password */
#: ../js/ui/status/network.js:474
msgid "Authentication required"
msgstr "Autenticação necessária"
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier
#: ../js/ui/status/network.js:472
#, javascript-format
msgid "%s Requires Authentication"
msgstr "%s requer autenticação"
#. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing */
#: ../js/ui/status/network.js:482
msgid "Firmware missing"
msgstr "Firmware em falta"
#. module, which is missing; %s is a network identifier
#: ../js/ui/status/network.js:480
#, javascript-format
msgid "Firmware Missing For %s"
msgstr "Firmware em falta para %s"
#. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage */
#: ../js/ui/status/network.js:486
msgid "Unavailable"
msgstr "Indisponível"
#. is disabled by rfkill, or it has no coverage; %s is a network identifier
#: ../js/ui/status/network.js:484
#, javascript-format
msgid "%s Unavailable"
msgstr "%s está indisponível"
#: ../js/ui/status/network.js:488 ../js/ui/status/network.js:1693
msgid "Connection failed"
msgstr "Falha de conexão"
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:487
#, javascript-format
msgid "%s Connection Failed"
msgstr "Falha na conexão de %s"
#: ../js/ui/status/network.js:504
#: ../js/ui/status/network.js:503
msgid "Wired Settings"
msgstr "Configurações da rede cabeada"
#: ../js/ui/status/network.js:546 ../js/ui/status/network.js:624
#: ../js/ui/status/network.js:545 ../js/ui/status/network.js:624
msgid "Mobile Broadband Settings"
msgstr "Configurações de banda larga móvel"
#: ../js/ui/status/network.js:588 ../js/ui/status/network.js:1303
msgid "Hardware Disabled"
msgstr "Hardware desabilitado"
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:588 ../js/ui/status/network.js:1305
#, javascript-format
msgid "%s Hardware Disabled"
msgstr "Hardware de %s desabilitado"
#. Translators: this is for a network device that cannot be activated
#. because it's disabled by rfkill (airplane mode); %s is a network identifier
#: ../js/ui/status/network.js:592
#, javascript-format
msgid "%s Disabled"
msgstr "%s está desabilitado"
#: ../js/ui/status/network.js:632
msgid "Use as Internet connection"
@ -1314,7 +1378,7 @@ msgstr "Selecione uma rede"
msgid "No Networks"
msgstr "Nenhuma rede"
#: ../js/ui/status/network.js:904 ../js/ui/status/rfkill.js:116
#: ../js/ui/status/network.js:904 ../js/ui/status/rfkill.js:115
msgid "Use hardware switch to turn off"
msgstr "Usar alternador de hardware para desligar"
@ -1330,36 +1394,52 @@ msgstr "Configurações de Wi-Fi"
msgid "Turn On"
msgstr "Ligar"
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:1296
msgid "Hotspot Active"
msgstr "Ponto de acesso ativo"
#, javascript-format
msgid "%s Hotspot Active"
msgstr "Ponto de acesso %s está ativo"
#: ../js/ui/status/network.js:1407
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:1311
#, javascript-format
msgid "%s Not Connected"
msgstr "%s não está conectado"
#: ../js/ui/status/network.js:1411
msgid "connecting..."
msgstr "conectando..."
#. Translators: this is for network connections that require some kind of key or password */
#: ../js/ui/status/network.js:1410
#. Translators: this is for network connections that require some kind of key or password
#: ../js/ui/status/network.js:1414
msgid "authentication required"
msgstr "autenticação necessária"
#: ../js/ui/status/network.js:1412
#: ../js/ui/status/network.js:1416
msgid "connection failed"
msgstr "conexão falhou"
#: ../js/ui/status/network.js:1478 ../js/ui/status/rfkill.js:94
#: ../js/ui/status/network.js:1482 ../js/ui/status/rfkill.js:93
msgid "Network Settings"
msgstr "Configurações de rede"
#: ../js/ui/status/network.js:1480
#: ../js/ui/status/network.js:1484
msgid "VPN Settings"
msgstr "Configurações de VPN"
#: ../js/ui/status/network.js:1499
#: ../js/ui/status/network.js:1503
msgid "VPN"
msgstr "VPN"
#: ../js/ui/status/network.js:1694
#: ../js/ui/status/network.js:1513
msgid "VPN Off"
msgstr "VPN desligada"
#: ../js/ui/status/network.js:1697
msgid "Connection failed"
msgstr "Falha de conexão"
#: ../js/ui/status/network.js:1698
msgid "Activation of network connection failed"
msgstr "Falha ao ativar a conexão da rede"
@ -1371,55 +1451,52 @@ msgstr "Configurações de energia"
msgid "Fully Charged"
msgstr "Completamente carregada"
#. 0 is reported when UPower does not have enough data
#. to estimate battery life
#: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78
msgid "Estimating…"
msgstr "Estimando…"
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
#: ../js/ui/status/power.js:86
#, javascript-format
msgid "%d%02d Remaining (%d%%)"
msgstr "%d:%02d restante(s) (%d%%)"
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
#: ../js/ui/status/power.js:91
#, javascript-format
msgid "%d%02d Until Full (%d%%)"
msgstr "%d:%02d até completamente carregada (%d%%)"
# UPS significa uninterruptible power supply, mas no Brasil vejo usando mais
# "No-break", que é a mesma coisa, então optei pela segunda. -- Rafael Ferreira
#: ../js/ui/status/power.js:119
msgid "UPS"
msgstr "No-break"
#: ../js/ui/status/power.js:121
msgid "Battery"
msgstr "Bateria"
#. The menu only appears when airplane mode is on, so just
#. statically build it as if it was on, rather than dynamically
#. changing the menu contents.
#: ../js/ui/status/rfkill.js:88
msgid "Airplane Mode"
msgstr "Modo avião"
msgid "Airplane Mode On"
msgstr "Modo avião ligado"
#: ../js/ui/status/rfkill.js:90
msgid "On"
msgstr "On"
#: ../js/ui/status/system.js:337
#: ../js/ui/status/system.js:343
msgid "Switch User"
msgstr "Alternar usuário"
#: ../js/ui/status/system.js:342
#: ../js/ui/status/system.js:348
msgid "Log Out"
msgstr "Encerrar sessão"
#: ../js/ui/status/system.js:361
#: ../js/ui/status/system.js:353
msgid "Account Settings"
msgstr "Configurações de conta"
#: ../js/ui/status/system.js:370
msgid "Orientation Lock"
msgstr "Bloqueio da orientação"
#: ../js/ui/status/system.js:369
#: ../js/ui/status/system.js:378
msgid "Suspend"
msgstr "Suspender"
#: ../js/ui/status/system.js:372
#: ../js/ui/status/system.js:381
msgid "Power Off"
msgstr "Desligar"
@ -1462,7 +1539,7 @@ msgstr "Você deseja manter essas configurações de exibição?"
#. Translators: this and the following message should be limited in lenght,
#. to avoid ellipsizing the labels.
#. */
#.
#: ../js/ui/windowManager.js:82
msgid "Revert Settings"
msgstr "Reverter configurações"
@ -1479,7 +1556,7 @@ msgstr[0] "Alterações nas configurações serão revertidas em %d segundo"
msgstr[1] "Alterações nas configurações serão revertidas em %d segundos"
#. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height. */
#. * the width of the window and the second is the height.
#: ../js/ui/windowManager.js:658
#, javascript-format
msgid "%d x %d"
@ -1518,12 +1595,10 @@ msgid "Always on Visible Workspace"
msgstr "Sempre na área de trabalho visível"
#: ../js/ui/windowMenu.js:105
#| msgid "Move to Workspace Up"
msgid "Move to Workspace Left"
msgstr "Mover para a área de trabalho esquerda"
#: ../js/ui/windowMenu.js:110
#| msgid "Move to Workspace Up"
msgid "Move to Workspace Right"
msgstr "Mover para a área de trabalho direita"
@ -1557,7 +1632,7 @@ msgstr "Agenda do Evolution"
#. translators:
#. * The number of sound outputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1837
#: ../src/gvc/gvc-mixer-control.c:1835
#, c-format
msgid "%u Output"
msgid_plural "%u Outputs"
@ -1566,30 +1641,30 @@ msgstr[1] "%u saídas"
#. translators:
#. * The number of sound inputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1847
#: ../src/gvc/gvc-mixer-control.c:1845
#, c-format
msgid "%u Input"
msgid_plural "%u Inputs"
msgstr[0] "%u entrada"
msgstr[1] "%u entradas"
#: ../src/gvc/gvc-mixer-control.c:2373
#: ../src/gvc/gvc-mixer-control.c:2371
msgid "System Sounds"
msgstr "Sons do sistema"
#: ../src/main.c:373
#: ../src/main.c:381
msgid "Print version"
msgstr "Versão de impressão"
#: ../src/main.c:379
#: ../src/main.c:387
msgid "Mode used by GDM for login screen"
msgstr "Modo usado pelo GDM para a tela de início de sessão"
#: ../src/main.c:385
#: ../src/main.c:393
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
msgstr "Utilizar um modo específico, ex.: \"gdm\" para a tela de login"
#: ../src/main.c:391
#: ../src/main.c:399
msgid "List possible modes"
msgstr "Listar modos possíveis"
@ -1615,6 +1690,34 @@ msgstr "A senha não pode estar em branco"
msgid "Authentication dialog was dismissed by the user"
msgstr "O diálogo de autenticação foi descartado pelo usuário"
#~ msgid "Bluetooth"
#~ msgstr "Bluetooth"
#~ msgid "%d Connected Device"
#~ msgid_plural "%d Connected Devices"
#~ msgstr[0] "%d dispositivo conectado"
#~ msgstr[1] "%d dispositivos conectados"
#~ msgid "Off"
#~ msgstr "Off"
#~ msgid "Authentication required"
#~ msgstr "Autenticação necessária"
# UPS significa uninterruptible power supply, mas no Brasil vejo usando mais
# "No-break", que é a mesma coisa, então optei pela segunda. -- Rafael Ferreira
#~ msgid "UPS"
#~ msgstr "No-break"
#~ msgid "Battery"
#~ msgstr "Bateria"
#~ msgid "Airplane Mode"
#~ msgstr "Modo avião"
#~ msgid "On"
#~ msgstr "On"
#~ msgctxt "event list time"
#~ msgid "%H%M"
#~ msgstr "%H%M"

1987
po/ro.po

File diff suppressed because it is too large Load Diff

408
po/ru.po

File diff suppressed because it is too large Load Diff

436
po/sk.po

File diff suppressed because it is too large Load Diff

747
po/sr.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

594
po/sv.po

File diff suppressed because it is too large Load Diff

691
po/vi.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -41,8 +41,6 @@
#define N_(x) x
#endif
#define CALENDAR_SOURCES_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CALENDAR_TYPE_SOURCES, CalendarSourcesPrivate))
typedef struct _ClientData ClientData;
typedef struct _CalendarSourceData CalendarSourceData;
@ -66,6 +64,14 @@ struct _CalendarSourceData
guint loaded : 1;
};
typedef struct _CalendarSourcesPrivate CalendarSourcesPrivate;
struct _CalendarSources
{
GObject parent;
CalendarSourcesPrivate *priv;
};
struct _CalendarSourcesPrivate
{
ESourceRegistry *registry;
@ -77,8 +83,8 @@ struct _CalendarSourcesPrivate
CalendarSourceData task_sources;
};
static void calendar_sources_class_init (CalendarSourcesClass *klass);
static void calendar_sources_init (CalendarSources *sources);
G_DEFINE_TYPE_WITH_PRIVATE (CalendarSources, calendar_sources, G_TYPE_OBJECT)
static void calendar_sources_finalize (GObject *object);
static void backend_died_cb (EClient *client, CalendarSourceData *source_data);
@ -108,34 +114,6 @@ client_data_free (ClientData *data)
g_slice_free (ClientData, data);
}
GType
calendar_sources_get_type (void)
{
static GType sources_type = 0;
if (!sources_type)
{
static const GTypeInfo sources_info =
{
sizeof (CalendarSourcesClass),
NULL, /* base_init */
NULL, /* base_finalize */
(GClassInitFunc) calendar_sources_class_init,
NULL, /* class_finalize */
NULL, /* class_data */
sizeof (CalendarSources),
0, /* n_preallocs */
(GInstanceInitFunc) calendar_sources_init,
};
sources_type = g_type_register_static (G_TYPE_OBJECT,
"CalendarSources",
&sources_info, 0);
}
return sources_type;
}
static void
calendar_sources_class_init (CalendarSourcesClass *klass)
{
@ -145,14 +123,11 @@ calendar_sources_class_init (CalendarSourcesClass *klass)
gobject_class->finalize = calendar_sources_finalize;
g_type_class_add_private (klass, sizeof (CalendarSourcesPrivate));
signals [APPOINTMENT_SOURCES_CHANGED] =
g_signal_new ("appointment-sources-changed",
G_TYPE_FROM_CLASS (gobject_class),
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (CalendarSourcesClass,
appointment_sources_changed),
0,
NULL,
NULL,
NULL,
@ -163,8 +138,7 @@ calendar_sources_class_init (CalendarSourcesClass *klass)
g_signal_new ("task-sources-changed",
G_TYPE_FROM_CLASS (gobject_class),
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (CalendarSourcesClass,
task_sources_changed),
0,
NULL,
NULL,
NULL,
@ -179,7 +153,7 @@ calendar_sources_init (CalendarSources *sources)
GDBusConnection *session_bus;
GVariant *result;
sources->priv = CALENDAR_SOURCES_GET_PRIVATE (sources);
sources->priv = calendar_sources_get_instance_private (sources);
/* WORKAROUND: the hardcoded timeout for e_source_registry_new_sync()
(and other library calls that eventually call g_dbus_proxy_new[_sync]())

View File

@ -28,33 +28,10 @@
G_BEGIN_DECLS
#define CALENDAR_TYPE_SOURCES (calendar_sources_get_type ())
#define CALENDAR_SOURCES(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), CALENDAR_TYPE_SOURCES, CalendarSources))
#define CALENDAR_SOURCES_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), CALENDAR_TYPE_SOURCES, CalendarSourcesClass))
#define CALENDAR_IS_SOURCES(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), CALENDAR_TYPE_SOURCES))
#define CALENDAR_IS_SOURCES_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), CALENDAR_TYPE_SOURCES))
#define CALENDAR_SOURCES_GET_CLASS(o)(G_TYPE_INSTANCE_GET_CLASS ((o), CALENDAR_TYPE_SOURCES, CalendarSourcesClass))
#define CALENDAR_TYPE_SOURCES (calendar_sources_get_type ())
G_DECLARE_FINAL_TYPE (CalendarSources, calendar_sources,
CALENDAR, SOURCES, GObject)
typedef struct _CalendarSources CalendarSources;
typedef struct _CalendarSourcesClass CalendarSourcesClass;
typedef struct _CalendarSourcesPrivate CalendarSourcesPrivate;
struct _CalendarSources
{
GObject parent;
CalendarSourcesPrivate *priv;
};
struct _CalendarSourcesClass
{
GObjectClass parent_class;
void (* appointment_sources_changed) (CalendarSources *sources);
void (* task_sources_changed) (CalendarSources *sources);
};
GType calendar_sources_get_type (void) G_GNUC_CONST;
CalendarSources *calendar_sources_get (void);
GList *calendar_sources_get_appointment_clients (CalendarSources *sources);
GList *calendar_sources_get_task_clients (CalendarSources *sources);

View File

@ -45,8 +45,8 @@ static void gnome_shell_plugin_unminimize (MetaPlugin *plugin,
static void gnome_shell_plugin_size_change (MetaPlugin *plugin,
MetaWindowActor *actor,
MetaSizeChange which_change,
MetaRectangle *old_rect,
MetaRectangle *new_rect);
MetaRectangle *old_frame_rect,
MetaRectangle *old_buffer_rect);
static void gnome_shell_plugin_map (MetaPlugin *plugin,
MetaWindowActor *actor);
static void gnome_shell_plugin_destroy (MetaPlugin *plugin,

View File

@ -176,15 +176,15 @@ gtk_menu_tracker_section_sync_separators (GtkMenuTrackerSection *section,
if (subsection)
{
gboolean could_have_separator;
gboolean section_could_have_separator;
could_have_separator = (section->with_separators && n_items > 0) || subsection->separator_label;
section_could_have_separator = (section->with_separators && n_items > 0) || subsection->separator_label;
/* Only pass the parent_model and parent_index in case they may be used to create the separator. */
n_items += gtk_menu_tracker_section_sync_separators (subsection, tracker, offset + n_items,
could_have_separator,
could_have_separator ? section->model : NULL,
could_have_separator ? i : 0);
section_could_have_separator,
section_could_have_separator ? section->model : NULL,
section_could_have_separator ? i : 0);
}
else
n_items++;
@ -197,11 +197,11 @@ gtk_menu_tracker_section_sync_separators (GtkMenuTrackerSection *section,
if (should_have_separator > section->has_separator)
{
/* Add a separator */
GtkMenuTrackerItem *item;
GtkMenuTrackerItem *menuitem;
item = _gtk_menu_tracker_item_new (tracker->observable, parent_model, parent_index, NULL, TRUE);
(* tracker->insert_func) (item, offset, tracker->user_data);
g_object_unref (item);
menuitem = _gtk_menu_tracker_item_new (tracker->observable, parent_model, parent_index, NULL, TRUE);
(* tracker->insert_func) (menuitem, offset, tracker->user_data);
g_object_unref (menuitem);
section->has_separator = TRUE;
}

Submodule src/gvc updated: fac3a900e5...0a79019088

View File

@ -43,8 +43,6 @@
#define DIRECTORY_LOAD_ITEMS_PER_CALLBACK 100
#define HIGH_SCORE_RATIO 0.10
G_DEFINE_TYPE (ShellMimeSniffer, shell_mime_sniffer, G_TYPE_OBJECT);
enum {
PROP_FILE = 1,
NUM_PROPERTIES
@ -72,16 +70,26 @@ typedef struct {
gint total_items;
} DeepCountState;
typedef struct _ShellMimeSnifferPrivate ShellMimeSnifferPrivate;
struct _ShellMimeSniffer
{
GObject parent_instance;
ShellMimeSnifferPrivate *priv;
};
struct _ShellMimeSnifferPrivate {
GFile *file;
GCancellable *cancellable;
guint watchdog_id;
GSimpleAsyncResult *async_result;
gchar **sniffed_mime;
GTask *task;
};
G_DEFINE_TYPE_WITH_PRIVATE (ShellMimeSniffer, shell_mime_sniffer, G_TYPE_OBJECT);
static void deep_count_load (DeepCountState *state,
GFile *file);
@ -179,6 +187,7 @@ prepare_async_result (DeepCountState *state)
GArray *results;
GPtrArray *sniffed_mime;
SniffedResult result;
char **mimes;
sniffed_mime = g_ptr_array_new ();
results = g_array_new (TRUE, TRUE, sizeof (SniffedResult));
@ -220,10 +229,10 @@ prepare_async_result (DeepCountState *state)
out:
g_ptr_array_add (sniffed_mime, NULL);
self->priv->sniffed_mime = (gchar **) g_ptr_array_free (sniffed_mime, FALSE);
mimes = (gchar **) g_ptr_array_free (sniffed_mime, FALSE);
g_array_free (results, TRUE);
g_simple_async_result_complete_in_idle (self->priv->async_result);
g_task_return_pointer (self->priv->task, mimes, (GDestroyNotify)g_strfreev);
}
/* adapted from nautilus/libnautilus-private/nautilus-directory-async.c */
@ -416,20 +425,17 @@ query_info_async_ready_cb (GObject *source,
if (error != NULL)
{
g_simple_async_result_take_error (self->priv->async_result,
error);
g_simple_async_result_complete_in_idle (self->priv->async_result);
g_task_return_error (self->priv->task, error);
return;
}
if (g_file_info_get_file_type (info) != G_FILE_TYPE_DIRECTORY)
{
g_simple_async_result_set_error (self->priv->async_result,
G_IO_ERROR,
G_IO_ERROR_NOT_DIRECTORY,
"Not a directory");
g_simple_async_result_complete_in_idle (self->priv->async_result);
g_task_return_new_error (self->priv->task,
G_IO_ERROR,
G_IO_ERROR_NOT_DIRECTORY,
"Not a directory");
return;
}
@ -475,7 +481,7 @@ shell_mime_sniffer_dispose (GObject *object)
g_clear_object (&self->priv->file);
g_clear_object (&self->priv->cancellable);
g_clear_object (&self->priv->async_result);
g_clear_object (&self->priv->task);
if (self->priv->watchdog_id != 0)
{
@ -486,16 +492,6 @@ shell_mime_sniffer_dispose (GObject *object)
G_OBJECT_CLASS (shell_mime_sniffer_parent_class)->dispose (object);
}
static void
shell_mime_sniffer_finalize (GObject *object)
{
ShellMimeSniffer *self = SHELL_MIME_SNIFFER (object);
g_strfreev (self->priv->sniffed_mime);
G_OBJECT_CLASS (shell_mime_sniffer_parent_class)->finalize (object);
}
static void
shell_mime_sniffer_get_property (GObject *object,
guint prop_id,
@ -539,7 +535,6 @@ shell_mime_sniffer_class_init (ShellMimeSnifferClass *klass)
oclass = G_OBJECT_CLASS (klass);
oclass->dispose = shell_mime_sniffer_dispose;
oclass->finalize = shell_mime_sniffer_finalize;
oclass->get_property = shell_mime_sniffer_get_property;
oclass->set_property = shell_mime_sniffer_set_property;
@ -550,17 +545,13 @@ shell_mime_sniffer_class_init (ShellMimeSnifferClass *klass)
G_TYPE_FILE,
G_PARAM_READWRITE);
g_type_class_add_private (klass, sizeof (ShellMimeSnifferPrivate));
g_object_class_install_properties (oclass, NUM_PROPERTIES, properties);
}
static void
shell_mime_sniffer_init (ShellMimeSniffer *self)
{
self->priv =
G_TYPE_INSTANCE_GET_PRIVATE (self,
SHELL_TYPE_MIME_SNIFFER,
ShellMimeSnifferPrivate);
self->priv = shell_mime_sniffer_get_instance_private (self);
init_mimetypes ();
}
@ -578,14 +569,11 @@ shell_mime_sniffer_sniff_async (ShellMimeSniffer *self,
gpointer user_data)
{
g_assert (self->priv->watchdog_id == 0);
g_assert (self->priv->async_result == NULL);
g_assert (self->priv->task == NULL);
self->priv->async_result =
g_simple_async_result_new (G_OBJECT (self),
callback, user_data,
shell_mime_sniffer_sniff_finish);
self->priv->cancellable = g_cancellable_new ();
self->priv->task = g_task_new (self, self->priv->cancellable,
callback, user_data);
self->priv->watchdog_id =
g_timeout_add (WATCHDOG_TIMEOUT,
@ -600,8 +588,5 @@ shell_mime_sniffer_sniff_finish (ShellMimeSniffer *self,
GAsyncResult *res,
GError **error)
{
if (g_simple_async_result_propagate_error (self->priv->async_result, error))
return NULL;
return g_strdupv (self->priv->sniffed_mime);
return g_task_propagate_pointer (self->priv->task, error);
}

View File

@ -27,30 +27,9 @@
G_BEGIN_DECLS
#define SHELL_TYPE_MIME_SNIFFER (shell_mime_sniffer_get_type ())
#define SHELL_MIME_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SHELL_TYPE_MIME_SNIFFER, ShellMimeSniffer))
#define SHELL_IS_MIME_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SHELL_TYPE_MIME_SNIFFER))
#define SHELL_MIME_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SHELL_TYPE_MIME_SNIFFER, ShellMimeSnifferClass))
#define SHELL_IS_MIME_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SHELL_TYPE_MIME_SNIFFER))
#define SHELL_MIME_SNIFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SHELL_TYPE_MIME_SNIFFER, ShellMimeSnifferClass))
typedef struct _ShellMimeSniffer ShellMimeSniffer;
typedef struct _ShellMimeSnifferPrivate ShellMimeSnifferPrivate;
typedef struct _ShellMimeSnifferClass ShellMimeSnifferClass;
struct _ShellMimeSniffer
{
GObject parent_instance;
ShellMimeSnifferPrivate *priv;
};
struct _ShellMimeSnifferClass
{
GObjectClass parent_class;
};
GType shell_mime_sniffer_get_type (void) G_GNUC_CONST;
#define SHELL_TYPE_MIME_SNIFFER (shell_mime_sniffer_get_type ())
G_DECLARE_FINAL_TYPE (ShellMimeSniffer, shell_mime_sniffer,
SHELL, MIME_SNIFFER, GObject)
ShellMimeSniffer *shell_mime_sniffer_new (GFile *file);

View File

@ -51,11 +51,11 @@ enum {
static int _shell_debug;
static void
shell_dbus_acquire_name (GDBusProxy *bus,
guint32 request_name_flags,
guint32 *request_name_result,
gchar *name,
gboolean fatal)
shell_dbus_acquire_name (GDBusProxy *bus,
guint32 request_name_flags,
guint32 *request_name_result,
const gchar *name,
gboolean fatal)
{
GError *error = NULL;
GVariant *request_name_variant;
@ -69,24 +69,26 @@ shell_dbus_acquire_name (GDBusProxy *bus,
&error)))
{
g_printerr ("failed to acquire %s: %s\n", name, error->message);
g_clear_error (&error);
if (!fatal)
return;
exit (1);
}
g_variant_get (request_name_variant, "(u)", request_name_result);
g_variant_unref (request_name_variant);
}
static void
shell_dbus_acquire_names (GDBusProxy *bus,
guint32 request_name_flags,
gchar *name,
gboolean fatal, ...) G_GNUC_NULL_TERMINATED;
shell_dbus_acquire_names (GDBusProxy *bus,
guint32 request_name_flags,
const gchar *name,
gboolean fatal, ...) G_GNUC_NULL_TERMINATED;
static void
shell_dbus_acquire_names (GDBusProxy *bus,
guint32 request_name_flags,
gchar *name,
gboolean fatal, ...)
shell_dbus_acquire_names (GDBusProxy *bus,
guint32 request_name_flags,
const gchar *name,
gboolean fatal, ...)
{
va_list al;
guint32 request_name_result;
@ -130,6 +132,12 @@ shell_dbus_init (gboolean replace)
NULL, /* cancellable */
&error);
if (!bus)
{
g_printerr ("Failed to get a session bus proxy: %s", error->message);
exit (1);
}
request_name_flags = G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT;
if (replace)
request_name_flags |= DBUS_NAME_FLAG_REPLACE_EXISTING;
@ -454,7 +462,7 @@ main (int argc, char **argv)
/* Initialize the global object */
if (session_mode == NULL)
session_mode = is_gdm_mode ? "gdm" : "user";
session_mode = is_gdm_mode ? (char *)"gdm" : (char *)"user";
_shell_global_init ("session-mode", session_mode, NULL);

View File

@ -37,6 +37,15 @@ enum {
static guint signals[LAST_SIGNAL] = { 0 };
typedef struct _ShellAppSystemPrivate ShellAppSystemPrivate;
struct _ShellAppSystem
{
GObject parent;
ShellAppSystemPrivate *priv;
};
struct _ShellAppSystemPrivate {
GHashTable *running_apps;
GHashTable *id_to_app;
@ -45,7 +54,7 @@ struct _ShellAppSystemPrivate {
static void shell_app_system_finalize (GObject *object);
G_DEFINE_TYPE(ShellAppSystem, shell_app_system, G_TYPE_OBJECT);
G_DEFINE_TYPE_WITH_PRIVATE (ShellAppSystem, shell_app_system, G_TYPE_OBJECT);
static void shell_app_system_class_init(ShellAppSystemClass *klass)
{
@ -64,11 +73,9 @@ static void shell_app_system_class_init(ShellAppSystemClass *klass)
g_signal_new ("installed-changed",
SHELL_TYPE_APP_SYSTEM,
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (ShellAppSystemClass, installed_changed),
NULL, NULL, NULL,
0,
NULL, NULL, NULL,
G_TYPE_NONE, 0);
g_type_class_add_private (gobject_class, sizeof (ShellAppSystemPrivate));
}
static void
@ -147,9 +154,7 @@ shell_app_system_init (ShellAppSystem *self)
ShellAppSystemPrivate *priv;
GAppInfoMonitor *monitor;
self->priv = priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
SHELL_TYPE_APP_SYSTEM,
ShellAppSystemPrivate);
self->priv = priv = shell_app_system_get_instance_private (self);
priv->running_apps = g_hash_table_new_full (NULL, NULL, (GDestroyNotify) g_object_unref, NULL);
priv->id_to_app = g_hash_table_new_full (g_str_hash, g_str_equal,
@ -182,7 +187,7 @@ shell_app_system_finalize (GObject *object)
* Return Value: (transfer none): The global #ShellAppSystem singleton
*/
ShellAppSystem *
shell_app_system_get_default ()
shell_app_system_get_default (void)
{
static ShellAppSystem *instance = NULL;
@ -348,6 +353,9 @@ _shell_app_system_notify_app_state_changed (ShellAppSystem *self,
case SHELL_APP_STATE_STOPPED:
g_hash_table_remove (self->priv->running_apps, app);
break;
default:
g_warn_if_reached();
break;
}
g_signal_emit (self, signals[APP_STATE_CHANGED], 0, app);
}

View File

@ -8,33 +8,10 @@
#include "shell-app.h"
#define SHELL_TYPE_APP_SYSTEM (shell_app_system_get_type ())
#define SHELL_APP_SYSTEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SHELL_TYPE_APP_SYSTEM, ShellAppSystem))
#define SHELL_APP_SYSTEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SHELL_TYPE_APP_SYSTEM, ShellAppSystemClass))
#define SHELL_IS_APP_SYSTEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SHELL_TYPE_APP_SYSTEM))
#define SHELL_IS_APP_SYSTEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SHELL_TYPE_APP_SYSTEM))
#define SHELL_APP_SYSTEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SHELL_TYPE_APP_SYSTEM, ShellAppSystemClass))
#define SHELL_TYPE_APP_SYSTEM (shell_app_system_get_type ())
G_DECLARE_FINAL_TYPE (ShellAppSystem, shell_app_system,
SHELL, APP_SYSTEM, GObject)
typedef struct _ShellAppSystem ShellAppSystem;
typedef struct _ShellAppSystemClass ShellAppSystemClass;
typedef struct _ShellAppSystemPrivate ShellAppSystemPrivate;
struct _ShellAppSystem
{
GObject parent;
ShellAppSystemPrivate *priv;
};
struct _ShellAppSystemClass
{
GObjectClass parent_class;
void (*installed_changed)(ShellAppSystem *appsys, gpointer user_data);
void (*favorites_changed)(ShellAppSystem *appsys, gpointer user_data);
};
GType shell_app_system_get_type (void) G_GNUC_CONST;
ShellAppSystem *shell_app_system_get_default (void);
ShellApp *shell_app_system_lookup_app (ShellAppSystem *system,

View File

@ -996,7 +996,7 @@ on_enable_monitoring_key_changed (GSettings *settings,
* Return Value: (transfer none): The global #ShellAppUsage instance
*/
ShellAppUsage *
shell_app_usage_get_default ()
shell_app_usage_get_default (void)
{
static ShellAppUsage *instance;

View File

@ -7,23 +7,9 @@
G_BEGIN_DECLS
typedef struct _ShellAppUsage ShellAppUsage;
typedef struct _ShellAppUsageClass ShellAppUsageClass;
typedef struct _ShellAppUsagePrivate ShellAppUsagePrivate;
#define SHELL_TYPE_APP_USAGE (shell_app_usage_get_type ())
#define SHELL_APP_USAGE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), SHELL_TYPE_APP_USAGE, ShellAppUsage))
#define SHELL_APP_USAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SHELL_TYPE_APP_USAGE, ShellAppUsageClass))
#define SHELL_IS_APP_USAGE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), SHELL_TYPE_APP_USAGE))
#define SHELL_IS_APP_USAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SHELL_TYPE_APP_USAGE))
#define SHELL_APP_USAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SHELL_TYPE_APP_USAGE, ShellAppUsageClass))
struct _ShellAppUsageClass
{
GObjectClass parent_class;
};
GType shell_app_usage_get_type (void) G_GNUC_CONST;
G_DECLARE_FINAL_TYPE (ShellAppUsage, shell_app_usage,
SHELL, APP_USAGE, GObject)
ShellAppUsage* shell_app_usage_get_default(void);

View File

@ -156,16 +156,20 @@ static MetaWindow *
window_backed_app_get_window (ShellApp *app)
{
g_assert (app->info == NULL);
g_assert (app->running_state);
g_assert (app->running_state->windows);
return app->running_state->windows->data;
if (app->running_state)
{
g_assert (app->running_state->windows);
return app->running_state->windows->data;
}
else
return NULL;
}
static ClutterActor *
window_backed_app_get_icon (ShellApp *app,
int size)
{
MetaWindow *window;
MetaWindow *window = NULL;
ClutterActor *actor;
gint scale;
ShellGlobal *global;
@ -181,14 +185,16 @@ window_backed_app_get_icon (ShellApp *app,
* window-backend apps, it's possible we get a request for the icon.
* Avoid asserting here and just return an empty image.
*/
if (app->running_state == NULL)
if (app->running_state != NULL)
window = window_backed_app_get_window (app);
if (window == NULL)
{
actor = clutter_texture_new ();
g_object_set (actor, "opacity", 0, "width", (float) size, "height", (float) size, NULL);
return actor;
}
window = window_backed_app_get_window (app);
actor = st_texture_cache_bind_cairo_surface_property (st_texture_cache_get_default (),
G_OBJECT (window),
"icon");
@ -232,9 +238,10 @@ shell_app_get_name (ShellApp *app)
else
{
MetaWindow *window = window_backed_app_get_window (app);
const char *name;
const char *name = NULL;
name = meta_window_get_wm_class (window);
if (window)
name = meta_window_get_wm_class (window);
if (!name)
name = C_("program", "Unknown");
return name;
@ -491,6 +498,9 @@ shell_app_activate_full (ShellApp *app,
case SHELL_APP_STATE_RUNNING:
shell_app_activate_window (app, NULL, timestamp);
break;
default:
g_assert_not_reached();
break;
}
}
@ -699,7 +709,7 @@ static int
shell_app_get_last_user_time (ShellApp *app)
{
GSList *iter;
int last_user_time;
guint32 last_user_time;
last_user_time = 0;
@ -709,7 +719,7 @@ shell_app_get_last_user_time (ShellApp *app)
last_user_time = MAX (last_user_time, meta_window_get_user_time (iter->data));
}
return last_user_time;
return (int)last_user_time;
}
/**
@ -1151,7 +1161,13 @@ shell_app_launch (ShellApp *app,
if (app->info == NULL)
{
MetaWindow *window = window_backed_app_get_window (app);
meta_window_activate (window, timestamp);
/* We don't use an error return if there no longer any windows, because the
* user attempting to activate a stale window backed app isn't something
* we would expect the caller to meaningfully handle or display an error
* message to the user.
*/
if (window)
meta_window_activate (window, timestamp);
return TRUE;
}

View File

@ -9,23 +9,8 @@
G_BEGIN_DECLS
typedef struct _ShellApp ShellApp;
typedef struct _ShellAppClass ShellAppClass;
typedef struct _ShellAppPrivate ShellAppPrivate;
typedef struct _ShellAppAction ShellAppAction;
#define SHELL_TYPE_APP (shell_app_get_type ())
#define SHELL_APP(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), SHELL_TYPE_APP, ShellApp))
#define SHELL_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SHELL_TYPE_APP, ShellAppClass))
#define SHELL_IS_APP(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), SHELL_TYPE_APP))
#define SHELL_IS_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SHELL_TYPE_APP))
#define SHELL_APP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SHELL_TYPE_APP, ShellAppClass))
struct _ShellAppClass
{
GObjectClass parent_class;
};
#define SHELL_TYPE_APP (shell_app_get_type ())
G_DECLARE_FINAL_TYPE (ShellApp, shell_app, SHELL, APP, GObject)
typedef enum {
SHELL_APP_STATE_STOPPED,
@ -33,8 +18,6 @@ typedef enum {
SHELL_APP_STATE_RUNNING
} ShellAppState;
GType shell_app_get_type (void) G_GNUC_CONST;
const char *shell_app_get_id (ShellApp *app);
GDesktopAppInfo *shell_app_get_app_info (ShellApp *app);

View File

@ -23,18 +23,22 @@
* - Actor is mapped [actor and all parents visible, actor in stage]
*/
G_DEFINE_TYPE (ShellEmbeddedWindow, shell_embedded_window, GTK_TYPE_WINDOW);
enum {
PROP_0
};
typedef struct _ShellEmbeddedWindowPrivate ShellEmbeddedWindowPrivate;
struct _ShellEmbeddedWindowPrivate {
ShellGtkEmbed *actor;
GdkRectangle position;
};
G_DEFINE_TYPE_WITH_PRIVATE (ShellEmbeddedWindow,
shell_embedded_window,
GTK_TYPE_WINDOW);
/*
* The normal gtk_window_show() starts all of the complicated asynchronous
* window resizing code running; we don't want or need any of that.
@ -47,19 +51,22 @@ static void
shell_embedded_window_show (GtkWidget *widget)
{
ShellEmbeddedWindow *window = SHELL_EMBEDDED_WINDOW (widget);
ShellEmbeddedWindowPrivate *priv;
GtkWidgetClass *widget_class;
priv = shell_embedded_window_get_instance_private (window);
/* Skip GtkWindow, but run the default GtkWidget handling which
* marks the widget visible */
widget_class = g_type_class_peek (GTK_TYPE_WIDGET);
widget_class->show (widget);
if (window->priv->actor)
if (priv->actor)
{
/* Size is 0x0 if the GtkWindow is not shown */
clutter_actor_queue_relayout (CLUTTER_ACTOR (window->priv->actor));
clutter_actor_queue_relayout (CLUTTER_ACTOR (priv->actor));
if (clutter_actor_is_realized (CLUTTER_ACTOR (window->priv->actor)))
if (clutter_actor_is_realized (CLUTTER_ACTOR (priv->actor)))
gtk_widget_map (widget);
}
}
@ -68,9 +75,12 @@ static void
shell_embedded_window_hide (GtkWidget *widget)
{
ShellEmbeddedWindow *window = SHELL_EMBEDDED_WINDOW (widget);
ShellEmbeddedWindowPrivate *priv;
if (window->priv->actor)
clutter_actor_queue_relayout (CLUTTER_ACTOR (window->priv->actor));
priv = shell_embedded_window_get_instance_private (window);
if (priv->actor)
clutter_actor_queue_relayout (CLUTTER_ACTOR (priv->actor));
GTK_WIDGET_CLASS (shell_embedded_window_parent_class)->hide (widget);
}
@ -90,6 +100,9 @@ static void
shell_embedded_window_check_resize (GtkContainer *container)
{
ShellEmbeddedWindow *window = SHELL_EMBEDDED_WINDOW (container);
ShellEmbeddedWindowPrivate *priv;
priv = shell_embedded_window_get_instance_private (window);
/* Check resize is called when a resize is queued on something
* inside the GtkWindow; we need to make sure that in response
@ -97,8 +110,8 @@ shell_embedded_window_check_resize (GtkContainer *container)
* gtk_widget_size_allocate() are called; we defer to the Clutter
* logic and assume it will do the right thing.
*/
if (window->priv->actor)
clutter_actor_queue_relayout (CLUTTER_ACTOR (window->priv->actor));
if (priv->actor)
clutter_actor_queue_relayout (CLUTTER_ACTOR (priv->actor));
}
static GObject *
@ -134,8 +147,6 @@ shell_embedded_window_class_init (ShellEmbeddedWindowClass *klass)
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
GtkContainerClass *container_class = GTK_CONTAINER_CLASS (klass);
g_type_class_add_private (klass, sizeof (ShellEmbeddedWindowPrivate));
object_class->constructor = shell_embedded_window_constructor;
widget_class->show = shell_embedded_window_show;
@ -148,8 +159,6 @@ shell_embedded_window_class_init (ShellEmbeddedWindowClass *klass)
static void
shell_embedded_window_init (ShellEmbeddedWindow *window)
{
window->priv = G_TYPE_INSTANCE_GET_PRIVATE (window, SHELL_TYPE_EMBEDDED_WINDOW,
ShellEmbeddedWindowPrivate);
}
/*
@ -161,9 +170,12 @@ _shell_embedded_window_set_actor (ShellEmbeddedWindow *window,
ShellGtkEmbed *actor)
{
ShellEmbeddedWindowPrivate *priv;
g_return_if_fail (SHELL_IS_EMBEDDED_WINDOW (window));
window->priv->actor = actor;
priv = shell_embedded_window_get_instance_private (window);
priv->actor = actor;
if (actor &&
clutter_actor_is_mapped (CLUTTER_ACTOR (actor)) &&
@ -178,20 +190,23 @@ _shell_embedded_window_allocate (ShellEmbeddedWindow *window,
int width,
int height)
{
ShellEmbeddedWindowPrivate *priv;
GtkAllocation allocation;
g_return_if_fail (SHELL_IS_EMBEDDED_WINDOW (window));
if (window->priv->position.x == x &&
window->priv->position.y == y &&
window->priv->position.width == width &&
window->priv->position.height == height)
priv = shell_embedded_window_get_instance_private (window);
if (priv->position.x == x &&
priv->position.y == y &&
priv->position.width == width &&
priv->position.height == height)
return;
window->priv->position.x = x;
window->priv->position.y = y;
window->priv->position.width = width;
window->priv->position.height = height;
priv->position.x = x;
priv->position.y = y;
priv->position.width = width;
priv->position.height = height;
if (gtk_widget_get_realized (GTK_WIDGET (window)))
gdk_window_move_resize (gtk_widget_get_window (GTK_WIDGET (window)),

View File

@ -5,31 +5,15 @@
#include <gtk/gtk.h>
#include <clutter/clutter.h>
#define SHELL_TYPE_EMBEDDED_WINDOW (shell_embedded_window_get_type ())
#define SHELL_EMBEDDED_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SHELL_TYPE_EMBEDDED_WINDOW, ShellEmbeddedWindow))
#define SHELL_EMBEDDED_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SHELL_TYPE_EMBEDDED_WINDOW, ShellEmbeddedWindowClass))
#define SHELL_IS_EMBEDDED_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SHELL_TYPE_EMBEDDED_WINDOW))
#define SHELL_IS_EMBEDDED_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SHELL_TYPE_EMBEDDED_WINDOW))
#define SHELL_EMBEDDED_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SHELL_TYPE_EMBEDDED_WINDOW, ShellEmbeddedWindowClass))
typedef struct _ShellEmbeddedWindow ShellEmbeddedWindow;
typedef struct _ShellEmbeddedWindowClass ShellEmbeddedWindowClass;
typedef struct _ShellEmbeddedWindowPrivate ShellEmbeddedWindowPrivate;
struct _ShellEmbeddedWindow
{
GtkWindow parent;
ShellEmbeddedWindowPrivate *priv;
};
#define SHELL_TYPE_EMBEDDED_WINDOW (shell_embedded_window_get_type ())
G_DECLARE_DERIVABLE_TYPE (ShellEmbeddedWindow, shell_embedded_window,
SHELL, EMBEDDED_WINDOW, GtkWindow)
struct _ShellEmbeddedWindowClass
{
GtkWindowClass parent_class;
};
GType shell_embedded_window_get_type (void) G_GNUC_CONST;
GtkWidget *shell_embedded_window_new (void);
#endif /* __SHELL_EMBEDDED_WINDOW_H__ */

View File

@ -23,16 +23,26 @@
static void shell_generic_container_iface_init (ClutterContainerIface *iface);
G_DEFINE_TYPE_WITH_CODE(ShellGenericContainer,
shell_generic_container,
ST_TYPE_WIDGET,
G_IMPLEMENT_INTERFACE (CLUTTER_TYPE_CONTAINER,
shell_generic_container_iface_init));
typedef struct _ShellGenericContainerPrivate ShellGenericContainerPrivate;
struct _ShellGenericContainer
{
StWidget parent;
ShellGenericContainerPrivate *priv;
};
struct _ShellGenericContainerPrivate {
GHashTable *skip_paint;
};
G_DEFINE_TYPE_WITH_CODE(ShellGenericContainer,
shell_generic_container,
ST_TYPE_WIDGET,
G_ADD_PRIVATE (ShellGenericContainer)
G_IMPLEMENT_INTERFACE (CLUTTER_TYPE_CONTAINER,
shell_generic_container_iface_init));
/* Signals */
enum
{
@ -385,8 +395,6 @@ shell_generic_container_class_init (ShellGenericContainerClass *klass)
0,
NULL, NULL, NULL,
G_TYPE_NONE, 2, CLUTTER_TYPE_ACTOR_BOX, CLUTTER_TYPE_ALLOCATION_FLAGS);
g_type_class_add_private (gobject_class, sizeof (ShellGenericContainerPrivate));
}
static void
@ -407,8 +415,7 @@ shell_generic_container_iface_init (ClutterContainerIface *iface)
static void
shell_generic_container_init (ShellGenericContainer *area)
{
area->priv = G_TYPE_INSTANCE_GET_PRIVATE (area, SHELL_TYPE_GENERIC_CONTAINER,
ShellGenericContainerPrivate);
area->priv = shell_generic_container_get_instance_private (area);
area->priv->skip_paint = g_hash_table_new (NULL, NULL);
}

View File

@ -4,12 +4,9 @@
#include "st.h"
#define SHELL_TYPE_GENERIC_CONTAINER (shell_generic_container_get_type ())
#define SHELL_GENERIC_CONTAINER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SHELL_TYPE_GENERIC_CONTAINER, ShellGenericContainer))
#define SHELL_GENERIC_CONTAINER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SHELL_TYPE_GENERIC_CONTAINER, ShellGenericContainerClass))
#define SHELL_IS_GENERIC_CONTAINER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SHELL_TYPE_GENERIC_CONTAINER))
#define SHELL_IS_GENERIC_CONTAINER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SHELL_TYPE_GENERIC_CONTAINER))
#define SHELL_GENERIC_CONTAINER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SHELL_TYPE_GENERIC_CONTAINER, ShellGenericContainerClass))
#define SHELL_TYPE_GENERIC_CONTAINER (shell_generic_container_get_type ())
G_DECLARE_FINAL_TYPE (ShellGenericContainer, shell_generic_container,
SHELL, GENERIC_CONTAINER, StWidget)
typedef struct {
float min_size;
@ -22,25 +19,6 @@ typedef struct {
#define SHELL_TYPE_GENERIC_CONTAINER_ALLOCATION (shell_generic_container_allocation_get_type ())
GType shell_generic_container_allocation_get_type (void);
typedef struct _ShellGenericContainer ShellGenericContainer;
typedef struct _ShellGenericContainerClass ShellGenericContainerClass;
typedef struct _ShellGenericContainerPrivate ShellGenericContainerPrivate;
struct _ShellGenericContainer
{
StWidget parent;
ShellGenericContainerPrivate *priv;
};
struct _ShellGenericContainerClass
{
StWidgetClass parent_class;
};
GType shell_generic_container_get_type (void) G_GNUC_CONST;
guint shell_generic_container_get_n_skip_paint (ShellGenericContainer *self);
gboolean shell_generic_container_get_skip_paint (ShellGenericContainer *self,

View File

@ -867,7 +867,12 @@ update_scale_factor (GtkSettings *settings,
{
g_object_set (context, "scale-factor", g_value_get_int (&value), NULL);
if (meta_is_wayland_compositor ())
g_object_set (clutter_settings_get_default (), "font-dpi", 96 * 1024 * g_value_get_int (&value), NULL);
{
int xft_dpi;
g_object_get (settings, "gtk-xft-dpi", &xft_dpi, NULL);
g_object_set (clutter_settings_get_default (), "font-dpi", xft_dpi, NULL);
}
}
/* Make sure clutter and gdk scaling stays disabled */

View File

@ -10,22 +10,8 @@
G_BEGIN_DECLS
typedef struct _ShellGlobal ShellGlobal;
typedef struct _ShellGlobalClass ShellGlobalClass;
#define SHELL_TYPE_GLOBAL (shell_global_get_type ())
#define SHELL_GLOBAL(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), SHELL_TYPE_GLOBAL, ShellGlobal))
#define SHELL_GLOBAL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SHELL_TYPE_GLOBAL, ShellGlobalClass))
#define SHELL_IS_GLOBAL(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), SHELL_TYPE_GLOBAL))
#define SHELL_IS_GLOBAL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SHELL_TYPE_GLOBAL))
#define SHELL_GLOBAL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SHELL_TYPE_GLOBAL, ShellGlobalClass))
struct _ShellGlobalClass
{
GObjectClass parent_class;
};
GType shell_global_get_type (void) G_GNUC_CONST;
#define SHELL_TYPE_GLOBAL (shell_global_get_type ())
G_DECLARE_FINAL_TYPE (ShellGlobal, shell_global, SHELL, GLOBAL, GObject)
ShellGlobal *shell_global_get (void);

View File

@ -16,13 +16,14 @@
#include <cogl/cogl.h>
#include "shell-glsl-quad.h"
G_DEFINE_TYPE (ShellGLSLQuad, shell_glsl_quad, CLUTTER_TYPE_ACTOR);
typedef struct _ShellGLSLQuadPrivate ShellGLSLQuadPrivate;
struct _ShellGLSLQuadPrivate
{
CoglPipeline *pipeline;
};
G_DEFINE_TYPE_WITH_PRIVATE (ShellGLSLQuad, shell_glsl_quad, CLUTTER_TYPE_ACTOR);
static gboolean
shell_glsl_quad_get_paint_volume (ClutterActor *actor,
ClutterPaintVolume *volume)
@ -38,7 +39,7 @@ shell_glsl_quad_paint (ClutterActor *actor)
guint8 paint_opacity;
ClutterActorBox box;
priv = self->priv;
priv = shell_glsl_quad_get_instance_private (self);
paint_opacity = clutter_actor_get_paint_opacity (actor);
clutter_actor_get_allocation_box (actor, &box);
@ -106,7 +107,7 @@ shell_glsl_quad_dispose (GObject *gobject)
ShellGLSLQuad *self = SHELL_GLSL_QUAD (gobject);
ShellGLSLQuadPrivate *priv;
priv = self->priv;
priv = shell_glsl_quad_get_instance_private (self);
g_clear_pointer (&priv->pipeline, cogl_object_unref);
@ -116,7 +117,6 @@ shell_glsl_quad_dispose (GObject *gobject)
static void
shell_glsl_quad_init (ShellGLSLQuad *quad)
{
quad->priv = G_TYPE_INSTANCE_GET_PRIVATE (quad, SHELL_TYPE_GLSL_QUAD, ShellGLSLQuadPrivate);
}
static void
@ -124,6 +124,7 @@ shell_glsl_quad_constructed (GObject *object)
{
ShellGLSLQuad *self;
ShellGLSLQuadClass *klass;
ShellGLSLQuadPrivate *priv;
CoglContext *ctx =
clutter_backend_get_cogl_context (clutter_get_default_backend ());
@ -135,18 +136,20 @@ shell_glsl_quad_constructed (GObject *object)
*/
klass = SHELL_GLSL_QUAD_GET_CLASS (object);
self = SHELL_GLSL_QUAD (object);
priv = shell_glsl_quad_get_instance_private (self);
if (G_UNLIKELY (klass->base_pipeline == NULL))
{
klass->base_pipeline = cogl_pipeline_new (ctx);
cogl_pipeline_set_blend (klass->base_pipeline, "RGBA = ADD (SRC_COLOR * (SRC_COLOR[A]), DST_COLOR * (1-SRC_COLOR[A]))", NULL);
if (klass->build_pipeline != NULL)
klass->build_pipeline (self);
}
self->priv->pipeline = cogl_pipeline_copy (klass->base_pipeline);
priv->pipeline = cogl_pipeline_copy (klass->base_pipeline);
cogl_pipeline_set_layer_null_texture (self->priv->pipeline, 0, COGL_TEXTURE_TYPE_2D);
cogl_pipeline_set_layer_null_texture (priv->pipeline, 0, COGL_TEXTURE_TYPE_2D);
}
static void
@ -160,8 +163,6 @@ shell_glsl_quad_class_init (ShellGLSLQuadClass *klass)
actor_class->get_paint_volume = shell_glsl_quad_get_paint_volume;
actor_class->paint = shell_glsl_quad_paint;
g_type_class_add_private (klass, sizeof (ShellGLSLQuadPrivate));
}
/**
@ -176,7 +177,8 @@ int
shell_glsl_quad_get_uniform_location (ShellGLSLQuad *quad,
const char *name)
{
return cogl_pipeline_get_uniform_location (quad->priv->pipeline, name);
ShellGLSLQuadPrivate *priv = shell_glsl_quad_get_instance_private (quad);
return cogl_pipeline_get_uniform_location (priv->pipeline, name);
}
/**
@ -194,7 +196,8 @@ shell_glsl_quad_set_uniform_float (ShellGLSLQuad *quad,
int total_count,
const float *value)
{
cogl_pipeline_set_uniform_float (quad->priv->pipeline, uniform,
ShellGLSLQuadPrivate *priv = shell_glsl_quad_get_instance_private (quad);
cogl_pipeline_set_uniform_float (priv->pipeline, uniform,
n_components, total_count / n_components,
value);
}

View File

@ -26,23 +26,9 @@ typedef enum {
SHELL_SNIPPET_HOOK_TEXTURE_LOOKUP
} ShellSnippetHook;
#define SHELL_TYPE_GLSL_QUAD (shell_glsl_quad_get_type ())
#define SHELL_GLSL_QUAD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SHELL_TYPE_GLSL_QUAD, ShellGLSLQuad))
#define SHELL_GLSL_QUAD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SHELL_TYPE_GLSL_QUAD, ShellGLSLQuadClass))
#define SHELL_IS_GLSL_QUAD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SHELL_TYPE_GLSL_QUAD))
#define SHELL_IS_GLSL_QUAD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SHELL_TYPE_GLSL_QUAD))
#define SHELL_GLSL_QUAD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SHELL_TYPE_GLSL_QUAD, ShellGLSLQuadClass))
typedef struct _ShellGLSLQuad ShellGLSLQuad;
typedef struct _ShellGLSLQuadClass ShellGLSLQuadClass;
typedef struct _ShellGLSLQuadPrivate ShellGLSLQuadPrivate;
struct _ShellGLSLQuad
{
ClutterActor parent;
ShellGLSLQuadPrivate *priv;
};
#define SHELL_TYPE_GLSL_QUAD (shell_glsl_quad_get_type ())
G_DECLARE_DERIVABLE_TYPE (ShellGLSLQuad, shell_glsl_quad,
SHELL, GLSL_QUAD, ClutterActor)
struct _ShellGLSLQuadClass
{
@ -53,8 +39,6 @@ struct _ShellGLSLQuadClass
void (*build_pipeline) (ShellGLSLQuad *effect);
};
GType shell_glsl_quad_get_type (void) G_GNUC_CONST;
void shell_glsl_quad_add_glsl_snippet (ShellGLSLQuad *quad,
ShellSnippetHook hook,
const char *declarations,

View File

@ -15,6 +15,8 @@ enum {
PROP_WINDOW
};
typedef struct _ShellGtkEmbedPrivate ShellGtkEmbedPrivate;
struct _ShellGtkEmbedPrivate
{
ShellEmbeddedWindow *window;
@ -25,7 +27,7 @@ struct _ShellGtkEmbedPrivate
guint window_created_handler;
};
G_DEFINE_TYPE (ShellGtkEmbed, shell_gtk_embed, CLUTTER_TYPE_CLONE);
G_DEFINE_TYPE_WITH_PRIVATE (ShellGtkEmbed, shell_gtk_embed, CLUTTER_TYPE_CLONE);
static void shell_gtk_embed_set_window (ShellGtkEmbed *embed,
ShellEmbeddedWindow *window);
@ -40,7 +42,7 @@ shell_gtk_embed_on_window_destroy (GtkWidget *object,
static void
shell_gtk_embed_remove_window_actor (ShellGtkEmbed *embed)
{
ShellGtkEmbedPrivate *priv = embed->priv;
ShellGtkEmbedPrivate *priv = shell_gtk_embed_get_instance_private (embed);
if (priv->window_actor)
{
@ -60,7 +62,7 @@ shell_gtk_embed_window_created_cb (MetaDisplay *display,
MetaWindow *window,
ShellGtkEmbed *embed)
{
ShellGtkEmbedPrivate *priv = embed->priv;
ShellGtkEmbedPrivate *priv = shell_gtk_embed_get_instance_private (embed);
Window xwindow = meta_window_get_xwindow (window);
GdkWindow *gdk_window = gtk_widget_get_window (GTK_WIDGET (priv->window));
@ -68,7 +70,6 @@ shell_gtk_embed_window_created_cb (MetaDisplay *display,
{
ClutterActor *window_actor =
CLUTTER_ACTOR (meta_window_get_compositor_private (window));
MetaDisplay *display = shell_global_get_display (shell_global_get ());
GCallback remove_cb = G_CALLBACK (shell_gtk_embed_remove_window_actor);
cairo_region_t *empty_region;
@ -120,11 +121,12 @@ static void
shell_gtk_embed_on_window_mapped (GtkWidget *object,
ShellGtkEmbed *embed)
{
ShellGtkEmbedPrivate *priv = shell_gtk_embed_get_instance_private (embed);
MetaDisplay *display = shell_global_get_display (shell_global_get ());
/* Listen for new windows so we can detect when Mutter has
created a MutterWindow for this window */
embed->priv->window_created_handler =
priv->window_created_handler =
g_signal_connect (display,
"window-created",
G_CALLBACK (shell_gtk_embed_window_created_cb),
@ -135,44 +137,45 @@ static void
shell_gtk_embed_set_window (ShellGtkEmbed *embed,
ShellEmbeddedWindow *window)
{
ShellGtkEmbedPrivate *priv = shell_gtk_embed_get_instance_private (embed);
MetaDisplay *display = shell_global_get_display (shell_global_get ());
if (embed->priv->window)
if (priv->window)
{
if (embed->priv->window_created_handler)
if (priv->window_created_handler)
{
g_signal_handler_disconnect (display,
embed->priv->window_created_handler);
embed->priv->window_created_handler = 0;
priv->window_created_handler);
priv->window_created_handler = 0;
}
shell_gtk_embed_remove_window_actor (embed);
_shell_embedded_window_set_actor (embed->priv->window, NULL);
_shell_embedded_window_set_actor (priv->window, NULL);
g_object_unref (embed->priv->window);
g_object_unref (priv->window);
g_signal_handlers_disconnect_by_func (embed->priv->window,
g_signal_handlers_disconnect_by_func (priv->window,
(gpointer)shell_gtk_embed_on_window_destroy,
embed);
g_signal_handlers_disconnect_by_func (embed->priv->window,
g_signal_handlers_disconnect_by_func (priv->window,
(gpointer)shell_gtk_embed_on_window_mapped,
embed);
}
embed->priv->window = window;
priv->window = window;
if (embed->priv->window)
if (priv->window)
{
g_object_ref (embed->priv->window);
g_object_ref (priv->window);
_shell_embedded_window_set_actor (embed->priv->window, embed);
_shell_embedded_window_set_actor (priv->window, embed);
g_signal_connect (embed->priv->window, "destroy",
g_signal_connect (priv->window, "destroy",
G_CALLBACK (shell_gtk_embed_on_window_destroy), embed);
g_signal_connect (embed->priv->window, "map",
g_signal_connect (priv->window, "map",
G_CALLBACK (shell_gtk_embed_on_window_mapped), embed);
}
@ -206,11 +209,12 @@ shell_gtk_embed_get_property (GObject *object,
GParamSpec *pspec)
{
ShellGtkEmbed *embed = SHELL_GTK_EMBED (object);
ShellGtkEmbedPrivate *priv = shell_gtk_embed_get_instance_private (embed);
switch (prop_id)
{
case PROP_WINDOW:
g_value_set_object (value, embed->priv->window);
g_value_set_object (value, priv->window);
break;
default:
@ -226,12 +230,13 @@ shell_gtk_embed_get_preferred_width (ClutterActor *actor,
float *natural_width_p)
{
ShellGtkEmbed *embed = SHELL_GTK_EMBED (actor);
ShellGtkEmbedPrivate *priv = shell_gtk_embed_get_instance_private (embed);
if (embed->priv->window
&& gtk_widget_get_visible (GTK_WIDGET (embed->priv->window)))
if (priv->window
&& gtk_widget_get_visible (GTK_WIDGET (priv->window)))
{
GtkRequisition min_req, natural_req;
gtk_widget_get_preferred_size (GTK_WIDGET (embed->priv->window), &min_req, &natural_req);
gtk_widget_get_preferred_size (GTK_WIDGET (priv->window), &min_req, &natural_req);
*min_width_p = min_req.width;
*natural_width_p = natural_req.width;
@ -247,12 +252,13 @@ shell_gtk_embed_get_preferred_height (ClutterActor *actor,
float *natural_height_p)
{
ShellGtkEmbed *embed = SHELL_GTK_EMBED (actor);
ShellGtkEmbedPrivate *priv = shell_gtk_embed_get_instance_private (embed);
if (embed->priv->window
&& gtk_widget_get_visible (GTK_WIDGET (embed->priv->window)))
if (priv->window
&& gtk_widget_get_visible (GTK_WIDGET (priv->window)))
{
GtkRequisition min_req, natural_req;
gtk_widget_get_preferred_size (GTK_WIDGET (embed->priv->window), &min_req, &natural_req);
gtk_widget_get_preferred_size (GTK_WIDGET (priv->window), &min_req, &natural_req);
*min_height_p = min_req.height;
*natural_height_p = natural_req.height;
@ -267,6 +273,7 @@ shell_gtk_embed_allocate (ClutterActor *actor,
ClutterAllocationFlags flags)
{
ShellGtkEmbed *embed = SHELL_GTK_EMBED (actor);
ShellGtkEmbedPrivate *priv = shell_gtk_embed_get_instance_private (embed);
float wx = 0.0, wy = 0.0, x, y, ax, ay;
CLUTTER_ACTOR_CLASS (shell_gtk_embed_parent_class)->
@ -286,7 +293,7 @@ shell_gtk_embed_allocate (ClutterActor *actor,
actor = clutter_actor_get_parent (actor);
}
_shell_embedded_window_allocate (embed->priv->window,
_shell_embedded_window_allocate (priv->window,
(int)(0.5 + wx), (int)(0.5 + wy),
box->x2 - box->x1,
box->y2 - box->y1);
@ -296,8 +303,9 @@ static void
shell_gtk_embed_map (ClutterActor *actor)
{
ShellGtkEmbed *embed = SHELL_GTK_EMBED (actor);
ShellGtkEmbedPrivate *priv = shell_gtk_embed_get_instance_private (embed);
_shell_embedded_window_map (embed->priv->window);
_shell_embedded_window_map (priv->window);
CLUTTER_ACTOR_CLASS (shell_gtk_embed_parent_class)->map (actor);
}
@ -306,8 +314,9 @@ static void
shell_gtk_embed_unmap (ClutterActor *actor)
{
ShellGtkEmbed *embed = SHELL_GTK_EMBED (actor);
ShellGtkEmbedPrivate *priv = shell_gtk_embed_get_instance_private (embed);
_shell_embedded_window_unmap (embed->priv->window);
_shell_embedded_window_unmap (priv->window);
CLUTTER_ACTOR_CLASS (shell_gtk_embed_parent_class)->unmap (actor);
}
@ -328,8 +337,6 @@ shell_gtk_embed_class_init (ShellGtkEmbedClass *klass)
GObjectClass *object_class = G_OBJECT_CLASS (klass);
ClutterActorClass *actor_class = CLUTTER_ACTOR_CLASS (klass);
g_type_class_add_private (klass, sizeof (ShellGtkEmbedPrivate));
object_class->get_property = shell_gtk_embed_get_property;
object_class->set_property = shell_gtk_embed_set_property;
object_class->dispose = shell_gtk_embed_dispose;
@ -352,8 +359,6 @@ shell_gtk_embed_class_init (ShellGtkEmbedClass *klass)
static void
shell_gtk_embed_init (ShellGtkEmbed *embed)
{
embed->priv = G_TYPE_INSTANCE_GET_PRIVATE (embed, SHELL_TYPE_GTK_EMBED,
ShellGtkEmbedPrivate);
}
/*

View File

@ -6,30 +6,15 @@
#include "shell-embedded-window.h"
#define SHELL_TYPE_GTK_EMBED (shell_gtk_embed_get_type ())
#define SHELL_GTK_EMBED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SHELL_TYPE_GTK_EMBED, ShellGtkEmbed))
#define SHELL_GTK_EMBED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SHELL_TYPE_GTK_EMBED, ShellGtkEmbedClass))
#define SHELL_IS_GTK_EMBED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SHELL_TYPE_GTK_EMBED))
#define SHELL_IS_GTK_EMBED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SHELL_TYPE_GTK_EMBED))
#define SHELL_GTK_EMBED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SHELL_TYPE_GTK_EMBED, ShellGtkEmbedClass))
typedef struct _ShellGtkEmbed ShellGtkEmbed;
typedef struct _ShellGtkEmbedClass ShellGtkEmbedClass;
typedef struct _ShellGtkEmbedPrivate ShellGtkEmbedPrivate;
struct _ShellGtkEmbed
{
ClutterClone parent;
ShellGtkEmbedPrivate *priv;
};
#define SHELL_TYPE_GTK_EMBED (shell_gtk_embed_get_type ())
G_DECLARE_DERIVABLE_TYPE (ShellGtkEmbed, shell_gtk_embed,
SHELL, GTK_EMBED, ClutterClone)
struct _ShellGtkEmbedClass
{
ClutterCloneClass parent_class;
};
GType shell_gtk_embed_get_type (void) G_GNUC_CONST;
ClutterActor *shell_gtk_embed_new (ShellEmbeddedWindow *window);
#endif /* __SHELL_GTK_EMBED_H__ */

View File

@ -32,7 +32,6 @@
#include <string.h>
typedef struct _ShellPasswordPromptClass ShellPasswordPromptClass;
typedef struct _ShellPasswordPromptPrivate ShellPasswordPromptPrivate;
typedef enum
@ -57,19 +56,13 @@ struct _ShellKeyringPrompt
gchar *continue_label;
gchar *cancel_label;
GcrPromptReply last_reply;
GSimpleAsyncResult *async_result;
GTask *task;
ClutterText *password_actor;
ClutterText *confirm_actor;
PromptingMode mode;
gboolean shown;
};
typedef struct _ShellKeyringPromptClass
{
GObjectClass parent_class;
} ShellKeyringPromptClass;
enum {
PROP_0,
PROP_TITLE,
@ -288,9 +281,9 @@ shell_keyring_prompt_dispose (GObject *obj)
if (self->shown)
gcr_prompt_close (GCR_PROMPT (self));
if (self->async_result)
if (self->task)
shell_keyring_prompt_cancel (self);
g_assert (self->async_result == NULL);
g_assert (self->task == NULL);
shell_keyring_prompt_set_password_actor (self, NULL);
shell_keyring_prompt_set_confirm_actor (self, NULL);
@ -420,14 +413,14 @@ shell_keyring_prompt_password_async (GcrPrompt *prompt,
ShellKeyringPrompt *self = SHELL_KEYRING_PROMPT (prompt);
GObject *obj;
if (self->async_result != NULL) {
if (self->task != NULL) {
g_warning ("this prompt can only show one prompt at a time");
return;
}
self->mode = PROMPTING_FOR_PASSWORD;
self->async_result = g_simple_async_result_new (G_OBJECT (self), callback, user_data,
shell_keyring_prompt_password_async);
self->task = g_task_new (self, NULL, callback, user_data);
g_task_set_source_tag (self->task, shell_keyring_prompt_password_async);
obj = G_OBJECT (self);
g_object_notify (obj, "password-visible");
@ -444,18 +437,11 @@ shell_keyring_prompt_password_finish (GcrPrompt *prompt,
GAsyncResult *result,
GError **error)
{
ShellKeyringPrompt *self = SHELL_KEYRING_PROMPT (prompt);
g_return_val_if_fail (g_simple_async_result_is_valid (result, G_OBJECT (prompt),
g_return_val_if_fail (g_task_get_source_object (G_TASK (result)) == prompt, NULL);
g_return_val_if_fail (g_async_result_is_tagged (result,
shell_keyring_prompt_password_async), NULL);
if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result), error))
return NULL;
if (self->last_reply == GCR_PROMPT_REPLY_CONTINUE)
return clutter_text_get_text (self->password_actor);
return NULL;
return g_task_propagate_pointer (G_TASK (result), error);
}
static void
@ -467,14 +453,14 @@ shell_keyring_prompt_confirm_async (GcrPrompt *prompt,
ShellKeyringPrompt *self = SHELL_KEYRING_PROMPT (prompt);
GObject *obj;
if (self->async_result != NULL) {
if (self->task != NULL) {
g_warning ("this prompt is already prompting");
return;
}
self->mode = PROMPTING_FOR_CONFIRM;
self->async_result = g_simple_async_result_new (G_OBJECT (self), callback, user_data,
shell_keyring_prompt_confirm_async);
self->task = g_task_new (self, NULL, callback, user_data);
g_task_set_source_tag (self->task, shell_keyring_prompt_confirm_async);
obj = G_OBJECT (self);
g_object_notify (obj, "password-visible");
@ -491,15 +477,16 @@ shell_keyring_prompt_confirm_finish (GcrPrompt *prompt,
GAsyncResult *result,
GError **error)
{
ShellKeyringPrompt *self = SHELL_KEYRING_PROMPT (prompt);
GTask *task = G_TASK (result);
gssize res;
g_return_val_if_fail (g_simple_async_result_is_valid (result, G_OBJECT (prompt),
g_return_val_if_fail (g_task_get_source_object (task) == prompt,
GCR_PROMPT_REPLY_CANCEL);
g_return_val_if_fail (g_async_result_is_tagged (result,
shell_keyring_prompt_confirm_async), GCR_PROMPT_REPLY_CANCEL);
if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result), error))
return GCR_PROMPT_REPLY_CANCEL;
return self->last_reply;
res = g_task_propagate_int (task, error);
return res == -1 ? GCR_PROMPT_REPLY_CANCEL : (GcrPromptReply)res;
}
static void
@ -718,19 +705,20 @@ shell_keyring_prompt_set_confirm_actor (ShellKeyringPrompt *self,
gboolean
shell_keyring_prompt_complete (ShellKeyringPrompt *self)
{
GSimpleAsyncResult *res;
GTask *res;
PromptingMode mode;
const gchar *password;
const gchar *confirm;
const gchar *env;
g_return_val_if_fail (SHELL_IS_KEYRING_PROMPT (self), FALSE);
g_return_val_if_fail (self->mode != PROMPTING_NONE, FALSE);
g_return_val_if_fail (self->async_result != NULL, FALSE);
g_return_val_if_fail (self->task != NULL, FALSE);
password = clutter_text_get_text (self->password_actor);
if (self->mode == PROMPTING_FOR_PASSWORD)
{
password = clutter_text_get_text (self->password_actor);
/* Is it a new password? */
if (self->password_new)
{
@ -756,13 +744,15 @@ shell_keyring_prompt_complete (ShellKeyringPrompt *self)
g_object_notify (G_OBJECT (self), "password-strength");
}
self->last_reply = GCR_PROMPT_REPLY_CONTINUE;
res = self->async_result;
self->async_result = NULL;
res = self->task;
mode = self->mode;
self->task = NULL;
self->mode = PROMPTING_NONE;
g_simple_async_result_complete (res);
if (mode == PROMPTING_FOR_CONFIRM)
g_task_return_int (res, (gssize)GCR_PROMPT_REPLY_CONTINUE);
else
g_task_return_pointer (res, (gpointer)password, NULL);
g_object_unref (res);
return TRUE;
@ -777,7 +767,8 @@ shell_keyring_prompt_complete (ShellKeyringPrompt *self)
void
shell_keyring_prompt_cancel (ShellKeyringPrompt *self)
{
GSimpleAsyncResult *res;
GTask *res;
PromptingMode mode;
g_return_if_fail (SHELL_IS_KEYRING_PROMPT (self));
@ -792,13 +783,16 @@ shell_keyring_prompt_cancel (ShellKeyringPrompt *self)
return;
}
g_return_if_fail (self->async_result != NULL);
self->last_reply = GCR_PROMPT_REPLY_CANCEL;
g_return_if_fail (self->task != NULL);
res = self->async_result;
self->async_result = NULL;
res = self->task;
mode = self->mode;
self->task = NULL;
self->mode = PROMPTING_NONE;
g_simple_async_result_complete_in_idle (res);
if (mode == PROMPTING_FOR_CONFIRM)
g_task_return_int (res, (gssize) GCR_PROMPT_REPLY_CANCEL);
else
g_task_return_pointer (res, NULL, NULL);
g_object_unref (res);
}

View File

@ -32,11 +32,9 @@ G_BEGIN_DECLS
typedef struct _ShellKeyringPrompt ShellKeyringPrompt;
#define SHELL_TYPE_KEYRING_PROMPT (shell_keyring_prompt_get_type ())
#define SHELL_KEYRING_PROMPT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SHELL_TYPE_KEYRING_PROMPT, ShellKeyringPrompt))
#define SHELL_IS_KEYRING_PROMPT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SHELL_TYPE_KEYRING_PROMPT))
GType shell_keyring_prompt_get_type (void) G_GNUC_CONST;
#define SHELL_TYPE_KEYRING_PROMPT (shell_keyring_prompt_get_type ())
G_DECLARE_FINAL_TYPE (ShellKeyringPrompt, shell_keyring_prompt,
SHELL, KEYRING_PROMPT, GObject)
ShellKeyringPrompt * shell_keyring_prompt_new (void);

View File

@ -33,7 +33,6 @@
* the GPid array to JS).
* See https://bugzilla.gnome.org/show_bug.cgi?id=645978
*/
G_DEFINE_TYPE (ShellMountOperation, shell_mount_operation, G_TYPE_MOUNT_OPERATION);
enum {
SHOW_PROCESSES_2,
@ -42,17 +41,27 @@ enum {
static guint signals[NUM_SIGNALS] = { 0, };
typedef struct _ShellMountOperationPrivate ShellMountOperationPrivate;
struct _ShellMountOperation
{
GMountOperation parent_instance;
ShellMountOperationPrivate *priv;
};
struct _ShellMountOperationPrivate {
GArray *pids;
gchar **choices;
gchar *message;
};
G_DEFINE_TYPE_WITH_PRIVATE (ShellMountOperation, shell_mount_operation, G_TYPE_MOUNT_OPERATION);
static void
shell_mount_operation_init (ShellMountOperation *self)
{
self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, SHELL_TYPE_MOUNT_OPERATION,
ShellMountOperationPrivate);
self->priv = shell_mount_operation_get_instance_private (self);
}
static void
@ -135,8 +144,6 @@ shell_mount_operation_class_init (ShellMountOperationClass *klass)
G_SIGNAL_RUN_LAST,
0, NULL, NULL, NULL,
G_TYPE_NONE, 0);
g_type_class_add_private (klass, sizeof (ShellMountOperationPrivate));
}
GMountOperation *

View File

@ -26,31 +26,10 @@
G_BEGIN_DECLS
#define SHELL_TYPE_MOUNT_OPERATION (shell_mount_operation_get_type ())
#define SHELL_MOUNT_OPERATION(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), SHELL_TYPE_MOUNT_OPERATION, ShellMountOperation))
#define SHELL_MOUNT_OPERATION_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), SHELL_TYPE_MOUNT_OPERATION, ShellMountOperationClass))
#define SHELL_IS_MOUNT_OPERATION(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), SHELL_TYPE_MOUNT_OPERATION))
#define SHELL_IS_MOUNT_OPERATION_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), SHELL_TYPE_MOUNT_OPERATION))
#define SHELL_MOUNT_OPERATION_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), SHELL_TYPE_MOUNT_OPERATION, ShellMountOperationClass))
#define SHELL_TYPE_MOUNT_OPERATION (shell_mount_operation_get_type ())
G_DECLARE_FINAL_TYPE (ShellMountOperation, shell_mount_operation,
SHELL, MOUNT_OPERATION, GMountOperation)
typedef struct _ShellMountOperation ShellMountOperation;
typedef struct _ShellMountOperationClass ShellMountOperationClass;
typedef struct _ShellMountOperationPrivate ShellMountOperationPrivate;
struct _ShellMountOperation
{
GMountOperation parent_instance;
ShellMountOperationPrivate *priv;
};
struct _ShellMountOperationClass
{
GMountOperationClass parent_class;
};
GType shell_mount_operation_get_type (void);
GMountOperation *shell_mount_operation_new (void);
GArray * shell_mount_operation_get_show_processes_pids (ShellMountOperation *self);

View File

@ -60,7 +60,7 @@ struct _ShellNetworkAgentPrivate {
GHashTable *requests;
};
G_DEFINE_TYPE (ShellNetworkAgent, shell_network_agent, NM_TYPE_SECRET_AGENT)
G_DEFINE_TYPE_WITH_PRIVATE (ShellNetworkAgent, shell_network_agent, NM_TYPE_SECRET_AGENT)
static const SecretSchema network_agent_schema = {
"org.freedesktop.NetworkManager.Connection",
@ -114,8 +114,7 @@ shell_network_agent_init (ShellNetworkAgent *agent)
{
ShellNetworkAgentPrivate *priv;
priv = agent->priv = G_TYPE_INSTANCE_GET_PRIVATE (agent, SHELL_TYPE_NETWORK_AGENT, ShellNetworkAgentPrivate);
priv = agent->priv = shell_network_agent_get_instance_private (agent);
priv->requests = g_hash_table_new_full (g_str_hash, g_str_equal,
g_free, shell_agent_request_free);
}
@ -853,6 +852,4 @@ shell_network_agent_class_init (ShellNetworkAgentClass *klass)
G_TYPE_NONE,
1, /* n_params */
G_TYPE_STRING);
g_type_class_add_private (klass, sizeof (ShellNetworkAgentPrivate));
}

View File

@ -125,9 +125,10 @@ on_window_draw (GtkWidget *window,
WindowInfo *info)
{
cairo_rectangle_int_t allocation;
gtk_widget_get_allocation (window, &allocation);
double x_offset, y_offset;
gtk_widget_get_allocation (window, &allocation);
/* We draw an arbitrary pattern of red lines near the border of the
* window to make it more clear than empty windows if something
* is drastrically wrong.

View File

@ -53,11 +53,6 @@ struct _ShellPerfLog
guint enabled : 1;
};
struct _ShellPerfLogClass
{
GObjectClass parent_class;
};
struct _ShellPerfEvent
{
guint16 id;
@ -626,7 +621,7 @@ shell_perf_log_collect_statistics (ShellPerfLog *perf_log)
{
gint64 event_time = get_time ();
gint64 collection_time;
int i;
guint i;
if (!perf_log->enabled)
return;
@ -672,6 +667,9 @@ shell_perf_log_collect_statistics (ShellPerfLog *perf_log)
statistic->recorded = TRUE;
}
break;
default:
g_warning ("Unsupported signature in event");
break;
}
}
@ -819,7 +817,7 @@ shell_perf_log_dump_events (ShellPerfLog *perf_log,
GError **error)
{
GString *output;
int i;
guint i;
output = g_string_new (NULL);
g_string_append (output, "[ ");

View File

@ -7,17 +7,8 @@
G_BEGIN_DECLS
typedef struct _ShellPerfLog ShellPerfLog;
typedef struct _ShellPerfLogClass ShellPerfLogClass;
#define SHELL_TYPE_PERF_LOG (shell_perf_log_get_type ())
#define SHELL_PERF_LOG(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), SHELL_TYPE_PERF_LOG, ShellPerfLog))
#define SHELL_PERF_LOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SHELL_TYPE_PERF_LOG, ShellPerfLogClass))
#define SHELL_IS_PERF_LOG(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), SHELL_TYPE_PERF_LOG))
#define SHELL_IS_PERF_LOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SHELL_TYPE_PERF_LOG))
#define SHELL_PERF_LOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SHELL_TYPE_PERF_LOG, ShellPerfLogClass))
GType shell_perf_log_get_type (void) G_GNUC_CONST;
#define SHELL_TYPE_PERF_LOG (shell_perf_log_get_type ())
G_DECLARE_FINAL_TYPE (ShellPerfLog, shell_perf_log, SHELL, PERF_LOG, GObject)
ShellPerfLog *shell_perf_log_get_default (void);

View File

@ -201,13 +201,12 @@ struct _AuthRequest {
gchar *cookie;
GList *identities;
GSimpleAsyncResult *simple;
GTask *simple;
};
static void
auth_request_free (AuthRequest *request)
{
g_cancellable_disconnect (request->cancellable, request->handler_id);
g_free (request->action_id);
g_free (request->message);
g_free (request->icon_name);
@ -338,30 +337,29 @@ auth_request_complete (AuthRequest *request,
gboolean dismissed)
{
ShellPolkitAuthenticationAgent *agent = request->agent;
gboolean is_current = agent->current_request == request;
print_debug ("COMPLETING %s %s cookie %s", is_current ? "CURRENT" : "SCHEDULED",
request->action_id, request->cookie);
if (!is_current)
agent->scheduled_requests = g_list_remove (agent->scheduled_requests, request);
g_cancellable_disconnect (request->cancellable, request->handler_id);
if (dismissed)
g_simple_async_result_set_error (request->simple,
POLKIT_ERROR,
POLKIT_ERROR_CANCELLED,
_("Authentication dialog was dismissed by the user"));
if (agent->current_request == request)
{
print_debug ("COMPLETING CURRENT %s cookie %s", request->action_id, request->cookie);
g_simple_async_result_complete_in_idle (request->simple);
auth_request_free (request);
agent->current_request = NULL;
maybe_process_next_request (agent);
}
g_task_return_new_error (request->simple,
POLKIT_ERROR,
POLKIT_ERROR_CANCELLED,
_("Authentication dialog was dismissed by the user"));
else
g_task_return_boolean (request->simple, TRUE);
auth_request_free (request);
if (is_current)
{
print_debug ("COMPLETING SCHEDULED %s cookie %s", request->action_id, request->cookie);
agent->scheduled_requests = g_list_remove (agent->scheduled_requests, request);
g_simple_async_result_complete_in_idle (request->simple);
auth_request_free (request);
agent->current_request = NULL;
maybe_process_next_request (agent);
}
}
@ -408,10 +406,7 @@ initiate_authentication (PolkitAgentListener *listener,
request->cookie = g_strdup (cookie);
request->identities = g_list_copy (identities);
g_list_foreach (request->identities, (GFunc) g_object_ref, NULL);
request->simple = g_simple_async_result_new (G_OBJECT (listener),
callback,
user_data,
initiate_authentication);
request->simple = g_task_new (listener, NULL, callback, user_data);
request->cancellable = cancellable;
request->handler_id = g_cancellable_connect (request->cancellable,
G_CALLBACK (on_request_cancelled),
@ -429,11 +424,7 @@ initiate_authentication_finish (PolkitAgentListener *listener,
GAsyncResult *res,
GError **error)
{
GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (res);
if (g_simple_async_result_propagate_error (simple, error))
return FALSE;
else
return TRUE;
return g_task_propagate_boolean (G_TASK (res), error);
}
void

View File

@ -156,17 +156,17 @@ shell_recorder_src_send_event (GstElement * element, GstEvent * event)
ShellRecorderSrc *src = SHELL_RECORDER_SRC (element);
gboolean res;
switch (GST_EVENT_TYPE (event)) {
case GST_EVENT_EOS:
if (GST_EVENT_TYPE (event) == GST_EVENT_EOS)
{
shell_recorder_src_close (src);
gst_event_unref (event);
res = TRUE;
break;
default:
}
else
{
res = GST_CALL_PARENT_WITH_DEFAULT (GST_ELEMENT_CLASS, send_event, (element,
event), FALSE);
break;
}
}
return res;
}

View File

@ -33,11 +33,6 @@ typedef enum {
typedef struct _RecorderPipeline RecorderPipeline;
struct _ShellRecorderClass
{
GObjectClass parent_class;
};
struct _ShellRecorder {
GObject parent;
@ -1182,23 +1177,20 @@ recorder_pipeline_bus_watch (GstBus *bus,
{
RecorderPipeline *pipeline = data;
switch (message->type)
if (message->type == GST_MESSAGE_EOS)
{
case GST_MESSAGE_EOS:
recorder_pipeline_closed (pipeline);
return FALSE; /* remove watch */
case GST_MESSAGE_ERROR:
{
GError *error;
}
else if (message->type == GST_MESSAGE_ERROR)
{
GError *error;
gst_message_parse_error (message, &error, NULL);
g_warning ("Error in recording pipeline: %s\n", error->message);
g_error_free (error);
recorder_pipeline_closed (pipeline);
return FALSE; /* remove watch */
}
default:
break;
gst_message_parse_error (message, &error, NULL);
g_warning ("Error in recording pipeline: %s\n", error->message);
g_error_free (error);
recorder_pipeline_closed (pipeline);
return FALSE; /* remove watch */
}
/* Leave the watch in place */

View File

@ -16,17 +16,8 @@ G_BEGIN_DECLS
* directory named after the date, but the encoding and output can
* be configured.
*/
typedef struct _ShellRecorder ShellRecorder;
typedef struct _ShellRecorderClass ShellRecorderClass;
#define SHELL_TYPE_RECORDER (shell_recorder_get_type ())
#define SHELL_RECORDER(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), SHELL_TYPE_RECORDER, ShellRecorder))
#define SHELL_RECORDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SHELL_TYPE_RECORDER, ShellRecorderClass))
#define SHELL_IS_RECORDER(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), SHELL_TYPE_RECORDER))
#define SHELL_IS_RECORDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SHELL_TYPE_RECORDER))
#define SHELL_RECORDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SHELL_TYPE_RECORDER, ShellRecorderClass))
GType shell_recorder_get_type (void) G_GNUC_CONST;
#define SHELL_TYPE_RECORDER (shell_recorder_get_type ())
G_DECLARE_FINAL_TYPE (ShellRecorder, shell_recorder, SHELL, RECORDER, GObject)
ShellRecorder *shell_recorder_new (ClutterStage *stage);

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