Compare commits

...

170 Commits

Author SHA1 Message Date
Carlos Garnacho
6bd0872530 overview: Protect ::drag-end handlers
These end up emitting item-drag-end/window-drag-end pretty much
without checks. Given the MetaDnd object may end up emitting
::drag-leave as a result of the plugin ending its grab, this
would result on spurious emission of those events and subsequent
warnings.

For extra paranoia, the _inDrag variable has been split into
_inItemDrag/_inWindowDrag so we can't cross the streams.

https://bugzilla.gnome.org/show_bug.cgi?id=784545
2017-11-17 16:04:21 +01:00
Hannie Dumoleyn
8dace05c26 Update Dutch translation 2017-10-25 08:59:54 +00:00
Tong Hui
eb2699f2b1 Update zh_CN translation 2017-10-21 19:37:43 +08:00
Matej Urbančič
34bab377b1 Updated Slovenian translation 2017-08-07 08:49:05 +02:00
Carlos Garnacho
82c984dd33 padOsd: Add one to the >1 rings
Ring leader/label SVG elements for the second ring are named *Ring2*.
We need to add one here for elements >1, this is consistent with strips.

https://bugzilla.gnome.org/show_bug.cgi?id=785358
2017-08-03 22:05:34 +02:00
Florian Müllner
ecea0218f2 Bump version to 3.24.3
Update NEWS.
2017-07-20 00:35:22 +02:00
Carlos Garnacho
3478715e6a padOsd: Disallow help/switch monitor actions on rings/strips
It does not make sense to map those actions to non-buttons. Set the
actions insensitive in the combobox to disallow this from the UI.

https://bugzilla.gnome.org/show_bug.cgi?id=782033
2017-07-17 19:48:14 +02:00
Carlos Garnacho
cb6d9c9278 padOsd: Implement edition of actions for rings/strips
Customization of keycombo actions for strips/rings was lost in the
porting to new incarnation of Wacom support.

The UI here is slightly different, instead of requiring the user to
rotate/swipe in each direction to map each keycombo, the UI will
navigate the user through edition of both options, first one, then
the other.

https://bugzilla.gnome.org/show_bug.cgi?id=782033
2017-07-17 19:48:14 +02:00
Carlos Garnacho
7f693ed2c4 padOsd: strengthen ring/strip label creation
If the padOsd is given a nonexistent ring/strip, things would fail
badly later when trying to paint a 0x0 StLabel. Just avoid creating
more ring/strip labels than those known by libwacom.

This is unlikely to happen, but seems better to protect against it.

https://bugzilla.gnome.org/show_bug.cgi?id=782033
2017-07-14 22:21:48 +02:00
Carlos Garnacho
44908cf470 padOsd: Refactor function setting label after edition into separate function
https://bugzilla.gnome.org/show_bug.cgi?id=782033
2017-07-14 22:21:48 +02:00
Florian Müllner
7db7b7dcbd shellDBus: Avoid access to undefined properties
Don't rely on an implicit undefined value of unset parameters to
shut up some warnings.

https://bugzilla.gnome.org/show_bug.cgi?id=781471
2017-07-13 17:25:10 +02:00
Florian Müllner
a8b457b52e dateMenu: Set _delegate on non-menu-item menu child
PopupMenu needs special-treatment of certain types of menu items,
which it determines via children's _delegate property. However as
the calendar drop-down is very unmenu-ish, we use regular actors
rather than PopupMenuItems and the missing _delegate property
triggers a warning. Just add it as the bare minimum to make
PopupMenu happy.

https://bugzilla.gnome.org/show_bug.cgi?id=781471
2017-07-13 17:25:10 +02:00
Florian Müllner
cd678d86e8 notificationDaemon: Avoid access to undefined property
Avoid a warning when assigning from an undefined property by making
sure to pass a proper null value instead.

https://bugzilla.gnome.org/show_bug.cgi?id=781471
2017-07-13 17:25:10 +02:00
Florian Müllner
384ef7e100 calendar: Fix access to undefined property
Don't call a parent method before chaining-up _init() to
avoid a warning about access to an undefined property.

https://bugzilla.gnome.org/show_bug.cgi?id=781471
2017-07-13 17:25:10 +02:00
Florian Müllner
451c753e4a windowManager: Fix a warning
The destroy effect currently relies on a monkey-patched property
added from the map effect. However on X11 it is possible that we
did no map animation for a window that is destroyed when the shell
was restarted or had taken over from another WM. Just use the real
MetaWindow property to avoid a warning in that case.

https://bugzilla.gnome.org/show_bug.cgi?id=781471
2017-07-13 17:25:10 +02:00
Florian Müllner
ebc74957c8 layout: Skip strut computation in the no-monitor case
It's possible for updateRegions() to be called before monitors have
been properly initialized. Instead of throwing an error in that case,
just skip the strut computation (that doesn't make sense anyway without
a monitor).

https://bugzilla.gnome.org/show_bug.cgi?id=781471
2017-07-13 17:25:10 +02:00
Florian Müllner
70f1f2d7be layout: Range-check index before array lookup
findMonitorForActor() may be called before the layoutManager gets
to initialize monitors, so make sure the monitor index is in range
to avoid a warning.

https://bugzilla.gnome.org/show_bug.cgi?id=781471
2017-07-13 17:25:10 +02:00
Florian Müllner
1be2102d29 ibusManager: Fix a warning
Don't try to access a non-existent engine - it probably makes sense to
use Map() instead of a plain object to track engines in the future, but
for now just add an additional check to shut up a warning.

https://bugzilla.gnome.org/show_bug.cgi?id=781471
2017-07-13 17:25:10 +02:00
Florian Müllner
114f371753 history: Fix bogus return value
We only use lastItem() to reset the history index to the end, so
nobody noticed the utter nonsense in the return value until gjs
started to warn about it. As we don't actually use the value
anywhere, we could just remove it, but the function name implies
that an item is returned, so fix it to behave as advertised.

https://bugzilla.gnome.org/show_bug.cgi?id=781471
2017-07-13 17:25:10 +02:00
Florian Müllner
363d35a3eb panel: Fix a JS warning
We need to track the open-status of indicator menus, but don't want
to hook up signals more than once, so we check for the handler ID
we store on the object. As the property is only defined once we did
set up the signal connection, this check now logs a warning. We
can avoid it by checking for the existence of the property rather
than a particular value.

https://bugzilla.gnome.org/show_bug.cgi?id=781471
2017-07-13 17:25:10 +02:00
Florian Müllner
26433c2cb7 remoteMenu: Add actionGroup accessor
To avoid recreating the app menu unnecessarily, the panel checks
whether the menu's current actionGroup already matches the target
one. However as the menu's actionGroup property is currently private,
the test always fails, whoops.

https://bugzilla.gnome.org/show_bug.cgi?id=781471
2017-07-13 17:25:10 +02:00
Florian Müllner
db81ef3e95 dash: Fix some JS warnings
We currently use "array[index]" to test whether an array has an
element at index before using it. However nowadays gjs warns about
accessing non-existent array elements, so the test itself already
produces a warning. Avoid this by checking the array length before
using an index to access an element.

https://bugzilla.gnome.org/show_bug.cgi?id=781471
2017-07-13 17:25:10 +02:00
Florian Müllner
091fb4ba2e Don't use 'undefined' as boolean
Make sure we pass a proper false value instead of undefined to
avoid warnings.

https://bugzilla.gnome.org/show_bug.cgi?id=781471
2017-07-13 17:25:10 +02:00
Florian Müllner
54891a4cd0 Initialize properties in _init()
While we've always considered it good style to initialize JS properties,
some code that relies on uninitialized properties having an implicit
value of 'undefined' has slipped in over time. The updated SpiderMonkey
version used by gjs now warns when accessing those properties, so we
should make sure that they are properly initialized to avoid log spam,
even though all warnings addressed here occur in conditionals that
produce the correct result with 'undefined'.

https://bugzilla.gnome.org/show_bug.cgi?id=781471
2017-07-13 17:25:10 +02:00
Florian Müllner
31c9d2cf7a system: Emulate click action button release
Since commit 2c070d38, we add a ClickAction to the visible AltSwitcher
button to track long-presses. As a result, we now have two components
that will grab and ungrab the pointer for the button, so to make sure
we don't end up with a stuck grab, we need to release the second's
component grab when the first activates.

Currently we only drop the StButton grab on long-press, we also need
to cancel any initiated long-press on click.

https://bugzilla.gnome.org/show_bug.cgi?id=781738
2017-07-13 12:30:17 +02:00
Jeremy Bicha
1b8bba5593 Fix translation headers 2017-07-10 08:01:56 -04:00
Florian Müllner
180a897588 notificationDaemon: Fix fallback icon names
The gtk-dialog-* names are old and non-standard, and haven't been
provided by the default icon theme for quite a while ...

https://bugzilla.gnome.org/show_bug.cgi?id=784245
2017-07-05 18:41:06 +02:00
Florian Müllner
95dba93046 st: Don't try to create shadow for empty texture
Even though the API documentation doesn't say so, the underlying
Cogl texture of a ClutterTexture may be unset, so check for that
case to avoid a runtime warning.

https://bugzilla.gnome.org/show_bug.cgi?id=784353
2017-07-05 17:11:07 +02:00
Florian Müllner
35eddb3dfa util: Force text direction of time strings
While the string returned by formatTime() should follow the locale's
text direction as a whole, the actual time part is always expected
to put hours on the left and minutes to the right. It is possible to
enforce that by inserting a left-to-right mark, but so far this is
only done by the Hebrew translation. So in order to not require all
other RTL translations to be fixed individually, just insert the
mark into the returned string ourselves like gnome-desktop's WallClock
code does[0].

[0] https://git.gnome.org/browse/gnome-desktop/tree/libgnome-desktop/gnome-wall-clock.c?h=gnome-3-24#n267

https://bugzilla.gnome.org/show_bug.cgi?id=784130
2017-07-05 17:08:15 +02:00
Bastien Nocera
aa08bd75d0 portalHelper: Fix auth URI not being passed to window
Gjs-Message: JS WARNING: [resource:///org/gnome/shell/portalHelper/main.js 360]: reference to undefined property top.uri
is caused by the URI variable actually being called "url".

https://bugzilla.gnome.org/show_bug.cgi?id=783286
2017-06-02 11:47:20 -05:00
Bastien Nocera
d104ebf612 portalHelper: Don't go through proxies for captive portals
When using an SSH tunnel (through a SOCKS proxy) to funnel all
the outgoing traffic, we need the captive portal to not go through that
proxy, otherwise we can't go through the proxy because we're not
connected to the Internet and we can't go through the portal because
we're not connected through the proxy.

This fixes a blank captive portal window and no error reporting in that
particular configuration.

https://bugzilla.gnome.org/show_bug.cgi?id=769692
2017-06-02 11:47:13 -05:00
Furkan Ahmet Kara
e7ad9d7217 Update Turkish translation 2017-05-20 03:51:58 +00:00
Jeremy Bicha
35e6a31982 tests: Update markup test for function moved to messageList
https://bugzilla.gnome.org/show_bug.cgi?id=782802
2017-05-19 08:29:27 -04:00
Милош Поповић
4c1467196e Update Serbian Latin translation 2017-05-18 21:56:21 +00:00
Марко Костић
7329721216 Update Serbian translation 2017-05-18 21:53:02 +00:00
Christian Stadelmann
946ff3b380 Update German translation 2017-05-18 18:55:42 +00:00
Matthias Liertzer
0c584182d3 Fix bashism in autogen.sh
https://bugzilla.gnome.org/show_bug.cgi?id=780215
2017-05-11 15:46:32 +02:00
Florian Müllner
58ed983b65 Bump version to 3.24.2
Update NEWS.
2017-05-11 15:14:54 +02:00
Florian Müllner
6f2fc9fe14 docs: Fix typo 2017-05-11 15:14:54 +02:00
Florian Müllner
185f003363 dateMenu: Fix a runtime warning
GJS now warns about excess parameters, so wrap the queue_relayout()
into an anonymous function instead of using it directly as signal
handler.
2017-05-11 14:46:12 +02:00
Daiki Ueno
6734746707 search: copy result to clipboard if requested
Some search providers such as GNOME Characters want to copy search
results to clipboard.  However, on Wayland, clipboards are only
accessible from applications that have a visible surface on display.

This patch allows a search provider to request the shell to copy a
search result to clipboard when 'clipboardText' is included in the meta
of the result.

https://bugzilla.gnome.org/show_bug.cgi?id=775099
2017-05-11 11:40:27 +02:00
Florian Müllner
65b9369aaf entry: Fix *-icon-clicked handler
Commit ffe4eaf00d broke the handler by fetching the instance private
from the wrong actor - as we don't use the ::primary-icon-clicked signal,
and the ::secondary-icon-clicked signal still works by accident, nobody
noticed until now ...

https://bugzilla.gnome.org/show_bug.cgi?id=782190
2017-05-05 00:41:34 +02:00
Emilio Pozuelo Monfort
e1e4ce7049 extensionSystem: handle reloading broken extensions
Some extensions out there may fail to reload. When that happens,
we need to catch any exceptions so that we don't leave things in
a broken state that could lead to leaving extensions enabled in
the screen shield.

https://bugzilla.gnome.org/show_bug.cgi?id=781728
2017-04-25 22:03:34 +02:00
Khaled Hosny
812aa10119 Update Arabic translation 2017-04-24 16:41:15 +02:00
Florian Müllner
b0fa5e5696 extensionPrefs: Avoid a runtime warning
Since 5b3fb024be, the main window is only shown when not launched
with a valid UUID. As GtkDialog isn't meant to be used standalone,
we currently trigger a (harmless but annoying) warning in case
the main window isn't shown; we can avoid the warning by setting
up the preference dialog manually instead of using the GtkDialog
convenience class.

https://bugzilla.gnome.org/show_bug.cgi?id=781545
2017-04-20 19:19:53 +02:00
Florian Müllner
c7a8c372a1 extensionPrefs: Fix enum member name 2017-04-20 17:37:07 +02:00
raresvis
73b7d9ace4 WeatherClient: set enabled providers after setting a valid location
So far, the GWeatherInfo was given the enabled weather providers
as a parameter, at construction time. Because of the way in
which libgweather was designed, setting the providers right from
the beginning enabled libgweather to use them internally in order
to update its state. Updating the internal state is only relevant
when there is a valid location set, which is not guaranteed at the
time when the GWeatherInfo object is constructed.

In order to fix this, enable no providers at construction time and
only set valid providers after setting a valid location.

https://bugzilla.gnome.org/show_bug.cgi?id=780404
2017-04-20 17:36:25 +02:00
Милош Поповић
45c2627d4d Update Serbian translation 2017-04-13 00:10:36 +00:00
Milo Casagrande
635bdea284 Update Italian translation 2017-04-11 06:41:24 +00:00
Florian Müllner
22131d99ad Bump version to 3.24.1
Update NEWS.
2017-04-11 01:58:50 +02:00
Florian Müllner
4e22388089 background: Fix file check
The _animationFile property was removed in commit 8a4c862633 ...
2017-04-11 01:39:03 +02:00
gogo
c526413119 Update Croatian translation 2017-04-08 15:16:32 +00:00
Tom Tryfonidis
1336b197d8 Update Greek translation 2017-04-08 15:07:14 +00:00
Ask Hjorth Larsen
4b99415215 Updated Danish translation 2017-04-08 16:35:30 +02:00
Carlos Garnacho
1ed107a2bf st-texture-cache: Plug some pixbuf refcount leaks on async operations
When extracting the sliced image, the GTask grants data ownership on
g_task_propagate_*, so the pixbuf list must be properly freed. On async
load, we just left a dangling reference when returning on the async
task.

https://bugzilla.gnome.org/show_bug.cgi?id=642652
2017-04-07 14:32:12 +02:00
Cosimo Cecchi
cad5e06041 panelMenu: consider scale factor when setting max-height
Since the workarea and margins are both in pysical pixels dimensions (we
fetch margins from Clutter, not from the theme), but the CSS expects
logical (scaled) pixels, unless we consider the scale factor when
setting max-height, it won't work on a HiDpi display.

This fixes missing scrollbars when the calendar popup is full on HiDpi
displays.

https://bugzilla.gnome.org/show_bug.cgi?id=753305
2017-04-06 18:32:04 -07:00
Bastien Nocera
65d93eacd3 gvc: Fix some memory leaks 2017-04-06 15:19:36 +02:00
Catalin Iacob
8369dc6b64 portalHelper: Fix portals which require a new window to be loaded
https://bugzilla.gnome.org/show_bug.cgi?id=759044
2017-04-06 12:28:43 +02:00
Catalin Iacob
a0c31478c0 portalHelper: Use the correct enum values
Without this the tests never succeeded because they were comparing
loadEvent to undefined resulting in the icon not changing as it
should.

https://bugzilla.gnome.org/show_bug.cgi?id=780606
2017-04-05 09:27:07 +02:00
Florian Müllner
647c8df12f popupMenu: Don't handle key events for insensitive source
Generalizing menu toggling via keyboard in commit 1d58ea25ab
fixed keynav in many places, but it turns out that it also adds
unexpected interactions in some cases where the source is not
button-like, as for example the entry context menus provided by
ShellEntry. Commit e33c68a415 fixed one case, however it is still
possible for plain enter/space to unexpectedly trigger the menu
if the entry itself doesn't consume the event, which is the case
when ClutterText:editable is false. However for a general fix, it
makes more sense to consider the source actor's :reactive property
and disable toggling menus via keyboard when they cannot be toggled
by pointer either - expecting non-editable entries to be non-reactive
as well seems like a reasonable assumption, and indeed all our code
follows that pattern.

https://bugzilla.gnome.org/show_bug.cgi?id=758873
2017-04-04 20:58:50 +02:00
Rūdolfs Mazurs
6ab045b9ad Update Latvian translation 2017-04-02 14:01:02 +03:00
Stas Solovey
2ebac8c186 Update Russian translation 2017-03-30 09:53:43 +00:00
Stas Solovey
06478f242a Update Russian translation 2017-03-29 23:05:18 +00:00
Bastien Nocera
6557ae0a2b portalHelper: Simplify our non-use of cache
Instead of using directories that we'll destroy when done, use the new
"ephemeral" data manager feature, through the JavaScript version of:
webkit_web_context_new_ephemeral()

We also throw an error on startup, in the logs, if WebKitGTK is too old.

https://bugzilla.gnome.org/show_bug.cgi?id=780453
2017-03-28 14:18:25 +02:00
Piotr Drąg
adbec80596 Update Polish translation 2017-03-27 20:40:06 +02:00
Trần Ngọc Quân
2369ef1296 Updated Vietnamese translation
Signed-off-by: Trần Ngọc Quân <vnwildman@gmail.com>
2017-03-27 15:11:44 +07:00
Piotr Drąg
ce0ea0434e Update Polish translation 2017-03-25 21:19:51 +01:00
Aurimas Černius
ede6ec2a28 Updated Lithuanian translation 2017-03-25 13:38:31 +02:00
Kjartan Maraas
b4b19b551d Updated Norwegian bokmål translation. 2017-03-25 12:07:57 +01:00
Fabio Tomat
dc295927ed Update Friulian translation 2017-03-23 21:56:40 +00:00
Piotr Drąg
539cbf3593 Update Polish translation 2017-03-23 22:10:55 +01:00
Florian Müllner
b477d215a8 st: Add missing %NULL check
st_theme_node_get_border_image() may return %NULL, leading to a
segfault in st_border_image_get_file() when glib is compiled with
G_DISABLE_CHECKS.

https://bugzilla.gnome.org/show_bug.cgi?id=780381
2017-03-22 18:51:51 +01:00
Florian Müllner
5de85c708f calendar-server: Remove unused variables and function
The code that used them was removed in commit 7e0e224e0e.

https://bugzilla.gnome.org/show_bug.cgi?id=780381
2017-03-22 18:51:51 +01:00
Yuras Shumovich
ad80cc8950 Update Belarusian translation 2017-03-22 13:22:53 +00:00
Dušan Kazik
bc3a506e68 Update Slovak translation 2017-03-21 21:07:18 +00:00
Fran Dieguez
92d740ba21 Update Galician translation 2017-03-21 20:58:48 +00:00
Mario Blättermann
d65199d2ac Update German translation 2017-03-21 18:35:15 +00:00
Carlos Garnacho
257b99ebd1 viewSelector: Set correct arguments on ShowOverviewAction 'activate' signal
It's missing the double argument containing the scale change.
2017-03-21 17:53:36 +00:00
Changwoo Ryu
c8be854365 Update Korean translation 2017-03-21 17:12:51 +00:00
Guillaume Bernard
436b764952 Update French translation 2017-03-21 16:21:15 +00:00
Balázs Úr
86063f15ed Update Hungarian translation 2017-03-21 15:09:23 +00:00
Daniel Korostil
716f209537 Updated Ukrainian translation 2017-03-21 16:33:42 +02:00
Daniel Mustieles
7bba7fbf37 Update Spanish translation 2017-03-21 11:45:32 +00:00
Jiri Grönroos
a102c99c07 Update Finnish translation 2017-03-21 10:49:50 +00:00
Milo Casagrande
5761db5981 Update Italian translation 2017-03-21 07:58:33 +00:00
Kukuh Syafaat
5d33820bd6 Update Indonesian translation 2017-03-21 07:23:13 +00:00
Daniel Korostil
301acc920d Updated Ukrainian translation 2017-03-21 08:46:20 +02:00
Baurzhan Muftakhidinov
495f9cba72 Update Kazakh translation 2017-03-21 03:59:41 +00:00
Rafael Fontenelle
726fc1d4f7 Update Brazilian Portuguese translation 2017-03-20 23:55:39 +00:00
Stas Solovey
dd6452fe2a Update Russian translation 2017-03-20 21:19:59 +00:00
Anders Jonsson
19aa57454b Update Swedish translation 2017-03-20 20:45:02 +00:00
Piotr Drąg
c9555a3537 Update Polish translation 2017-03-20 20:18:02 +01:00
Cosimo Cecchi
6f473a4f29 network: don't assume the connection path is always non-NULL
It can be NULL according to the libnm-glib documentation.

https://bugzilla.gnome.org/show_bug.cgi?id=780321
2017-03-20 18:43:50 +00:00
Marek Cernocky
f785f4ad02 Updated Czech translation 2017-03-20 19:37:28 +01:00
Carlos Garnacho
35d0ba4454 status/a11y: Fix typo
The idle ID being set and being checked didn't quite match up.
2017-03-20 18:16:56 +00:00
Florian Müllner
c3428f1efa weather: Follow GNOME Weather's location permissions
Our weather integration should follow GNOME Weather as closely as
possible, which means that we should respect its location permission
rather than using our own or none at all (which we can as a "system"
component and as geoclue's authorization agent).

https://bugzilla.gnome.org/show_bug.cgi?id=780252
2017-03-20 19:13:20 +01:00
Florian Müllner
9cc1e6b85c location: Split out PermissionStore
It doesn't make sense to tie the proxy code for flatpak's permission
store to the location indicator, just because that was the first
component to use it, so split it into a separate module.

https://bugzilla.gnome.org/show_bug.cgi?id=780252
2017-03-20 19:02:08 +01:00
Florian Müllner
74e1058183 weather: Take global location switch into account
The setting to globally disable location settings altogether isn't
handled by the geoclue service itself, but by the authorization
agent. This means that:

 - it doesn't apply to system components
   (which gnome-shell is now considered[0])
 - it doesn't apply once the geoclue connection
   has been authorized

However users can reasonably expect that we won't use location services
after they disabled them, so handle the setting explicitly.

[0] https://cgit.freedesktop.org/geoclue/commit/?id=a4cef6c0ad08

https://bugzilla.gnome.org/show_bug.cgi?id=780252
2017-03-20 19:02:08 +01:00
Florian Müllner
7c9f76944b weather: Disentangle _useAutoLocation from Weather setting
We currently use automatic location for weather forecasts if the
corresponding Weather setting is set, however we should take other
factors into account as well:

 - whether location services are enabled at all
 - whether Weather has been authorized to use them

In preparation of these changes, track the setting's value in a
separate property and make _useAutoLocation a getter, so we can
extend it with additional conditions easily.

https://bugzilla.gnome.org/show_bug.cgi?id=780252
2017-03-20 19:02:08 +01:00
Florian Müllner
d393ca4f09 weather: Track whether a location was set
Setting GWeatherInfo:location to null helpfully doesn't mean
"no location", but "NYC". This obviously isn't what we want
to show users, so track the location validity separately and
consider it when updating the label shown to users.

https://bugzilla.gnome.org/show_bug.cgi?id=780252
2017-03-20 19:02:08 +01:00
Florian Müllner
a786f0bcd2 screenShield: Do not take an inhibitor when disabled by lockdown
Just as with the normal lock screen settings, we shouldn't request
a logind inhibitor when locking is disabled via lockdown settings.

https://bugzilla.gnome.org/show_bug.cgi?id=780212
2017-03-20 19:02:08 +01:00
Florian Müllner
199bc85bce screenShield: Do not lock the screen when locked down
When using the 'disable-lock-screen' setting to lock down the screen
lock, the expectation is that users cannot lock the screen. However
as it turns out, all the setting currently does is hiding the lock
button in the system menu and making the lock settings in the privacy
panel inactive. That means that if the 'lock-screen-enabled' setting
isn't disabled and locked down as well, we will just continue to
lock the screen on inactivity - not to mention the keyboard shortcut
that isn't subject to that setting anyway.

Instead of expecting administrators to hunt down every possible way
of locking the screen and disabling it individually, we can easily
handle all cases by refusing to lock the screen when disabled by the
lockdown settings.

https://bugzilla.gnome.org/show_bug.cgi?id=780212
2017-03-20 19:02:08 +01:00
Florian Müllner
d15b46f5cb workspace: Hide preview overlays from picks
Dragging and dropping app icons is expected to work anywhere over a
workspace, however overlaid elements are added to a separate hierarchy
and can thus block valid drop targets. This wasn't much of an issue
while we had just the window title, but since the addition of the
focus border, drops on window previews stopped working entirely.

Fix this by hiding all non-reactive overlay elements from picks.

https://bugzilla.gnome.org/show_bug.cgi?id=737166
2017-03-20 19:02:07 +01:00
Florian Müllner
c0861b1227 gdm: Handle absence of Fprint.Manager service
We rely on the service to detect whether a fingerprint reader is
present. It is fine to not support fingerprint authentication
when the service is missing, but currently we don't handle this
case at all and end up with a non-functional login screen.

https://bugzilla.gnome.org/show_bug.cgi?id=780063
2017-03-20 19:02:07 +01:00
Florian Müllner
f97a3522e5 network: Close Wifi selection dialog when appropriate
Currently when the wifi selection dialog is open when the screen lock is
activated, the dialog remains visible above the shield. This is clearly
broken, so close the dialog automatically on session mode changes if the
mode doesn't allow settings (as changing the access point is arguably a
user setting).

https://bugzilla.gnome.org/show_bug.cgi?id=780054
2017-03-20 19:02:07 +01:00
Florian Müllner
577e261d1a Bump version to 3.24.0
Update NEWS.
2017-03-20 18:20:00 +01:00
Daniel Korostil
33fcff8a1a Updated Ukrainian translation 2017-03-19 23:41:10 +02:00
sujiniku
cd30572b70 Update Japanese translation 2017-03-19 21:01:19 +00:00
Emin Tufan Çetin
bc711b6dec Update Turkish translation 2017-03-18 12:25:38 +00:00
Rūdolfs Mazurs
01f5065b87 Update Latvian translation 2017-03-18 10:33:23 +02:00
Guillaume Bernard
9c2bf17ad7 Update French translation 2017-03-16 20:21:56 +00:00
Мирослав Николић
5385b36a81 Updated Serbian translation 2017-03-15 17:59:30 +01:00
Мирослав Николић
72ed9da1fc Updated Serbian translation 2017-03-15 17:54:18 +01:00
GNOME Translation Robot
d79924bdd1 Update Tajik translation 2017-03-14 19:21:58 +00:00
Florian Müllner
3b7a4b08e2 Bump version to 3.23.92
Update NEWS.
2017-03-14 17:56:07 +01:00
Florian Müllner
09af4433b0 windowMenu: Remove left-over variable 2017-03-14 17:47:04 +01:00
Florian Müllner
50df3084f7 dateMenu: Add vertical separator between message list and calendar
With the background boxes gone from messages, we need some visual
indication for how elements are aligned.

https://bugzilla.gnome.org/show_bug.cgi?id=779820
2017-03-14 17:46:58 +01:00
Florian Müllner
e90734913d mpris: Add hover effect
It is not immediately obvious that media controls are interactive,
so add a small hover effect.

https://bugzilla.gnome.org/show_bug.cgi?id=779820
2017-03-14 15:22:00 +01:00
Florian Müllner
af18a0cf40 calendar: Fake baseline alignment for notification timestamp
We don't have GTK's baseline alignment, so all we can do is add some
padding and hope it works out fine for most fonts and sizes ...

https://bugzilla.gnome.org/show_bug.cgi?id=779820
2017-03-14 15:21:56 +01:00
Florian Müllner
3d399796a6 dateMenu: Add some spacing between displays
Now that we have more than just the "World Clocks" display, it turns
out we need some spacing between sections.

https://bugzilla.gnome.org/show_bug.cgi?id=779820
2017-03-14 15:21:34 +01:00
Florian Müllner
60a2794c8b messageTray: Ignore showBanners policy for critical notifications
The critical hint is meant to be used for notifications that must not
be missed - running out of battery being the prime example - so it
makes sense to ignore the policy in that case and make sure to always
show them to the user. This is consistent with blocking normal
notifications while showing a fullscreen window, but letting critical
ones through.

https://bugzilla.gnome.org/show_bug.cgi?id=779974
2017-03-14 00:23:37 +01:00
Carlos Garnacho
e039871298 padOsd: Allow to switch between pads in the same group
Whenever there's more than one pad in the same group (eg. Wacom ExpressKey
Remotes), show a popdown menu to allow configuring those extra pads.
Devices are hot-pluggable, so the popdown menu will update its state
whenever pads are added/removed.

Also, allow to quickly change between pads by switching to its OSD by
just interacting with them. Always given they are in the same group.

https://bugzilla.gnome.org/show_bug.cgi?id=779986
2017-03-13 21:23:04 +01:00
Carlos Garnacho
e057333bf3 padOsd: Add PadChooser class
This is a popdown button that allows choosing between pads in
the same group.

https://bugzilla.gnome.org/show_bug.cgi?id=779986
2017-03-13 21:23:04 +01:00
Carlos Garnacho
e0c0d9223e padOsd: shuffle title labels hierarchy
Add some boxes in between, so we can add the pad chooser button
and the overall result is still centered.

https://bugzilla.gnome.org/show_bug.cgi?id=779986
2017-03-13 21:22:43 +01:00
Carlos Garnacho
ada21c975f padOsd: peek pads attached to the same tablet
https://bugzilla.gnome.org/show_bug.cgi?id=779986
2017-03-13 16:34:27 +01:00
Florian Müllner
b4df747464 telepathyClient: Gracefully handle missing telepathy deps
Telepathy's role has been diminishing continuously over the last
couple of years, so while chat integration is a nice feature for
those who use it, it is hard to justify keeping it as a hard
dependency. To address this, split out the component from the
client so we can handle missing typelibs gracefully by not
providing any chat integration.

https://bugzilla.gnome.org/show_bug.cgi?id=779878
2017-03-13 16:23:08 +01:00
Florian Müllner
9a38011e1e lookingGlass: Don't include telepathy import by default
It's hardly a common include nowadays, and removing it keeps all
telepathy usage contained in the telepathyClient component.

https://bugzilla.gnome.org/show_bug.cgi?id=779878
2017-03-13 16:23:08 +01:00
Мирослав Николић
e0f1fc2694 Updated Serbian translation 2017-03-13 14:07:51 +01:00
Daniel Mustieles
da5390340e Update Spanish translation 2017-03-13 07:51:38 +00:00
Jan-Michael Brummer
3a6b41495a windowManager: Add bottom edge drag gesture to show OSK
Adding a way to manually activate the OSK, in cases where it does not pop up
automatically or has been closed by the user.

https://bugzilla.gnome.org/show_bug.cgi?id=757712
2017-03-12 17:38:17 +01:00
Sebastian Keller
ce5875f365 weather: Handle GeoClue not responding
If GeoClue is not responding for some reason, the callback of
Geoclue.Simple.new would not get called, meaning that _gclueFailed
remains false. This is preventing the fallback to the most recently
used location in gnome-weather, because it requires _gclueFailed to be
true (or auto-location to be disabled). So neither code path sets a
location and the libgweather default (New York City) is being used
instead.

https://bugzilla.gnome.org/show_bug.cgi?id=779898
2017-03-11 20:53:11 +01:00
Fran Dieguez
4373d390dc Update Galician translation 2017-03-11 12:23:34 +00:00
Fran Dieguez
9ed512e5c5 Update Galician translation 2017-03-11 01:58:36 +00:00
A S Alam
c5856196a7 updated Punjabi Translation 2017-03-10 18:59:33 -06:00
Daniel Boles
afc3a8a7e7 Fix build
An accidentally typed character in a translation broke it.

http://build.gnome.org/continuous/buildmaster/builds/2017/03/11/0/build/log-gnome-shell.txt

gl.po:632: 'msgstr' is not a valid JavaScript format string, unlike
'msgid'. Reason: In the directive number 2, the character '$' is not a
valid conversion specifier.
2017-03-11 00:15:19 +00:00
Fran Dieguez
4714c73f0f Updated Galician translations 2017-03-11 01:02:59 +01:00
Florian Müllner
742155c384 messageTray: Use correct monitor for fullscreen logic
For most notifications, banners are suppressed while the monitor
that is used to display banners is in fullscreen. With the old
message tray at the bottom, this used to be the bottom-most monitor,
but nowadays it's always the primary one, so update the corresponding
code to use the correct monitor.

https://bugzilla.gnome.org/show_bug.cgi?id=779819
2017-03-10 17:21:54 +01:00
Florian Müllner
2d814bfc5e main: Remove telepathy-specific log handling
The built-in telepathy integration is far less prominent than it
used to be, and doesn't really justify a link time dependency to
send debug message over D-Bus.

https://bugzilla.gnome.org/show_bug.cgi?id=771721
2017-03-10 17:10:52 +01:00
Florian Müllner
8f8e512b37 main: Use GBusNameOwnerFlags to specify flags
We are still using DBUS_NAME_FLAG_REPLACE_EXISTING from dbus-glib
in some places (whose headers are drawn in via telepathy-glib).
As both GIO and dbus-glib use the values that will end up being
sent on the bus, the define and enum value are interchangeable,
but it's clearly better to consistently use the library that is
explicitly included.

https://bugzilla.gnome.org/show_bug.cgi?id=771721
2017-03-10 17:10:52 +01:00
Florian Müllner
3c828c8387 shell: Remove TpClient
With the telepathy component now being implemented purely in JS, we
can drop the C helper class.

https://bugzilla.gnome.org/show_bug.cgi?id=771721
2017-03-10 17:10:52 +01:00
Florian Müllner
7c96b39bef telepathyClient: Implement Tp.BaseClient directly
The telepathy integration was written at a time where gjs didn't
allow to inherit from GObject classes, which is why we needed a
C helper class. This hasn't been the case for a while now, so cut
out the middle man and implement Tp.BaseClient directly.

https://bugzilla.gnome.org/show_bug.cgi?id=771721
2017-03-10 17:02:18 +01:00
Milo Casagrande
64dbc8aa7f Update Italian translation 2017-03-09 22:28:51 +00:00
Stas Solovey
5649b9c64a Update Russian translation 2017-03-09 22:11:26 +00:00
Marek Černocký
3d0aab3b66 Updated Czech translation 2017-03-09 19:52:54 +01:00
Kukuh Syafaat
ce419da6ec Update Indonesian translation 2017-03-09 03:34:23 +00:00
Dušan Kazik
63b49c65ab Update Slovak translation 2017-03-08 20:28:07 +00:00
Kris Thomsen
ff5bd0b925 Updated Danish translation 2017-03-07 21:29:22 +01:00
GNOME Translation Robot
0892220f63 Update Scottish Gaelic translation
(cherry picked from commit 123e8c45b0)
2017-03-07 12:05:06 +00:00
Fabio Tomat
1c95c9e3ff Update Friulian translation 2017-03-07 07:02:13 +00:00
Hyungwon Hwang
4b80cbe1cd xdnd: Remove XDnD handling code and receive DnD signals from mutter
Move the XDnD handling code to mutter, and receive DnD handling signals from
mutter directly.

https://bugzilla.gnome.org/show_bug.cgi?id=765003
2017-03-07 08:29:51 +08:00
Hyungwon Hwang
46f3712421 xdnd: Rename XDnD handling signals to more inclusive ones
Rename the signals which have been used to handle XDnd events to more inclusive
ones. So that these signals can be used to handle the DnD events in Wayland.

https://bugzilla.gnome.org/show_bug.cgi?id=765003
2017-03-07 08:29:51 +08:00
Anders Jonsson
18aa4ff30c Update Swedish translation 2017-03-05 20:54:35 +00:00
Christian Kirbach
8a75143a6e Update German translation 2017-03-05 17:21:23 +00:00
Jordi Mas
384a6e8684 Update Catalan translation 2017-03-05 10:12:39 +01:00
Мирослав Николић
a0008f7471 Updated Serbian translation 2017-03-05 06:01:52 +01:00
Aurimas Černius
b53f95a9a0 Updated Lithuanian translation 2017-03-04 17:53:41 +02:00
Jordi Mas
1af88e52dd Update Catalan translation 2017-03-04 08:27:48 +01:00
Changwoo Ryu
535028c9a7 Update Korean translation 2017-03-03 16:07:46 +00:00
Inaki Larranaga Murgoitio
df816368a5 Update Basque language 2017-03-03 12:36:24 +01:00
Sveinn í Felli
f34202c3c8 Update Icelandic translation
(cherry picked from commit 7aa9e79b66)
2017-03-02 17:51:59 +00:00
Yuras Shumovich
28c61754a1 Update Belarusian translation 2017-03-02 17:14:40 +00:00
Kris Thomsen
6e46166df4 Updated Danish translation 2017-03-02 13:25:20 +01:00
Balázs Meskó
15feaa1074 Update Hungarian translation 2017-03-02 07:51:02 +00:00
Piotr Drąg
d7c532daee Remove obsolete strings causing validation errors in Hebrew translation 2017-03-02 07:27:12 +01:00
Piotr Drąg
427ec6834d Update Polish translation 2017-03-02 02:08:42 +01:00
Chao-Hsiung Liao
e594b30ead Update Chinese (Taiwan) translation 2017-03-02 00:40:07 +00:00
Jiri Grönroos
f43a8a75e4 Update Finnish translation 2017-03-01 19:57:03 +00:00
Florian Müllner
645aa01efd telepathyClient: Use a single update for text and timestamp
Commit c6f22826cf added a call to update() to refresh the notification
time for sent and received messages. However as it omits the bannerMarkup
parameter, escaped text like '&apos;' now makes it through verbatim.
Rather than adding the parameter, we can just refresh the timestamp in
the existing update() call to fix the issue - it means the notification
timestamp is only refreshed for received messages, but that reflects
the text shown in the notification, which isn't updated for sent
messages either.

https://bugzilla.gnome.org/show_bug.cgi?id=779435
2017-03-01 20:46:58 +01:00
Allan Day
252dce1ec2 fix typos
The shell was crashing for me - these fixes from Debarshi seem to
fix it.
2017-03-01 16:24:35 +00:00
Enrico Nicoletto
da0066eb84 Update Brazilian Portuguese translation 2017-03-01 15:37:47 +00:00
105 changed files with 18118 additions and 12665 deletions

88
NEWS
View File

@@ -1,3 +1,91 @@
3.24.3
======
* Bypass proxies for captive portal [Bastien; #769692]
* Fix missing icons in freedesktop notifications [Florian; #784245]
* Fix blocked clicks in shutdown dialog [Florian; #781738]
* Implement tablet rings/strips configuration [Carlos; #782033]
* Misc. bug fixes [Matthias, Jeremy, Bastien, Florian; #780215, #782802,
#783286, #784130, #784353, #781471]
Contributors:
Jeremy Bicha, Carlos Garnacho, Matthias Liertzer, Florian Müllner,
Bastien Nocera
Translations:
Christian Stadelmann [de], Марко Костић [sr], Милош Поповић [sr@latin],
Furkan Ahmet Kara [tr], Jeremy Bicha [es, he]
3.24.2
======
* Only fetch weather information when there's a valid location [Rares; #780404]
* Handle extension errors during reload due to settings change [Emilio; #781728]
* Fix StEntry::primary-icon-clicked emission [Florian; #782190]
* Allow search providers to provide clipboard text for results [Daiki; #775099]
* Misc. bug fixes [Florian; #781545]
Contributors:
Florian Müllner, Emilio Pozuelo Monfort, Daiki Ueno, Rares Visalom
Translations:
Milo Casagrande [it], Милош Поповић [sr], Khaled Hosny [ar]
3.24.1
======
* Close Wifi selection dialog on lock [Florian; #780054]
* Fix DND over window previews in overview [Florian; #737166]
* Do not lock the screen when disabled by lockdown settings [Florian; #780212]
* Follow GNOME Weather's location permissions [Florian; #780252]
* Fix portals that require a new window to be loaded [Catalin; #759044]
* Fix restricting menus to screen height on HiDPI displays [Cosimo; #753305]
* Misc. bug fixes and cleanups [Florian, Cosimo, Bastien, Catalin, Carlos;
#780063, #780321, #780381, #780453, #758873, #780606, #642652]
Contributors:
Cosimo Cecchi, Carlos Garnacho, Catalin Iacob, Florian Müllner, Bastien Nocera
Translations:
Marek Cernocky [cs], Piotr Drąg [pl], Anders Jonsson [sv], Stas Solovey [ru],
Rafael Fontenelle [pt_BR], Baurzhan Muftakhidinov [kk], Daniel Korostil [uk],
Kukuh Syafaat [id], Milo Casagrande [it], Jiri Grönroos [fi],
Daniel Mustieles [es], Balázs Úr [hu], Guillaume Bernard [fr],
Changwoo Ryu [ko], Mario Blättermann [de], Fran Dieguez [gl],
Dušan Kazik [sk], Yuras Shumovich [be], Fabio Tomat [fur],
Kjartan Maraas [nb], Aurimas Černius [lt], Trần Ngọc Quân [vi],
Rūdolfs Mazurs [lv], Ask Hjorth Larsen [da], Tom Tryfonidis [el], gogo [hr]
3.24.0
======
Translations:
GNOME Translation Robot [tg], Мирослав Николић [sr, sr@latin],
Guillaume Bernard [fr], Rūdolfs Mazurs [lv], Emin Tufan Çetin [tr],
sujiniku [ja], Daniel Korostil [uk]
3.23.92
=======
* Implement DND to overview on wayland [Hyungwon; #765003]
* Make telepathy optional at runtime [Florian; #771721, #779878]
* Don't show forecasts for NYC when geoclue gets stuck [Sebastian; #779898]
* Add bottom edge drag gesture to bring up the OSK [Jan-Michael; #757712]
* Allow switching between pads in the same group [Carlos; #779986]
* Ignore showBanners policy for critical notifications [Florian; #779974]
* Misc. bug fixes [Florian; #779435, #779819, #779820]
Contributors:
Jan-Michael Brummer, Allan Day, Carlos Garnacho, Hyungwon Hwang,
Sebastian Keller, Florian Müllner
Translations:
Enrico Nicoletto [pt_BR], Jiri Grönroos [fi], Chao-Hsiung Liao [zh_TW],
Piotr Drąg [pl], Piotr Drąg [he], Balázs Meskó [hu], Kris Thomsen [da],
Yuras Shumovich [be], Sveinn í Felli [is], Inaki Larranaga Murgoitio [eu],
Changwoo Ryu [ko], Jordi Mas [ca], Aurimas Černius [lt],
Мирослав Николић [sr, sr@latin], Christian Kirbach [de], Anders Jonsson [sv],
Fabio Tomat [fur], GNOME Translation Robot [gd], Dušan Kazik [sk],
Kukuh Syafaat [id], Marek Černocký [cs], Stas Solovey [ru],
Milo Casagrande [it], Fran Dieguez [gl], Daniel Boles [gl], A S Alam [pa],
Daniel Mustieles [es]
3.23.91
=======
* Use the original timestamps for restored notifications [Florian; #766410]

View File

@@ -4,7 +4,9 @@
srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.
pushd $srcdir
olddir="$(pwd)"
cd "${srcdir}"
(test -f configure.ac \
&& test -d src) || {
@@ -26,8 +28,8 @@ gtkdocize --copy || exit 1
intltoolize --force --copy --automake || exit 1
autoreconf --verbose --force --install || exit 1
popd
cd "${olddir}"
if [ "$NOCONFIGURE" = "" ]; then
$srcdir/configure "$@" || exit 1
"${srcdir}/configure" "$@" || exit 1
fi

View File

@@ -1,5 +1,5 @@
AC_PREREQ(2.63)
AC_INIT([gnome-shell],[3.23.91],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
AC_INIT([gnome-shell],[3.24.3],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
AX_IS_RELEASE([git-directory])
AC_CONFIG_HEADERS([config.h])
@@ -85,12 +85,11 @@ AC_MSG_RESULT($enable_systemd)
GOBJECT_INTROSPECTION_MIN_VERSION=1.49.1
GJS_MIN_VERSION=1.47.0
MUTTER_MIN_VERSION=3.23.91
MUTTER_MIN_VERSION=3.24.0
GTK_MIN_VERSION=3.15.0
GIO_MIN_VERSION=2.45.3
LIBECAL_MIN_VERSION=3.5.3
LIBEDATASERVER_MIN_VERSION=3.17.2
TELEPATHY_GLIB_MIN_VERSION=0.17.5
POLKIT_MIN_VERSION=0.100
STARTUP_NOTIFICATION_MIN_VERSION=0.11
GCR_MIN_VERSION=3.7.5
@@ -111,7 +110,6 @@ SHARED_PCS="gio-unix-2.0 >= $GIO_MIN_VERSION
libstartup-notification-1.0 >= $STARTUP_NOTIFICATION_MIN_VERSION
gobject-introspection-1.0 >= $GOBJECT_INTROSPECTION_MIN_VERSION
libcanberra libcanberra-gtk3
telepathy-glib >= $TELEPATHY_GLIB_MIN_VERSION
polkit-agent-1 >= $POLKIT_MIN_VERSION
gcr-base-3 >= $GCR_MIN_VERSION"
if test x$have_systemd = xyes; then

View File

@@ -566,6 +566,10 @@ StScrollBar {
.pad-osd-window {
padding: 32px;
background-color: rgba(0, 0, 0, 0.8); }
.pad-osd-window .pad-osd-title-box {
spacing: 12px; }
.pad-osd-window .pad-osd-title-menu-box {
spacing: 6px; }
.combo-box-label {
width: 15em; }
@@ -734,6 +738,16 @@ StScrollBar {
.datemenu-displays-section {
padding-bottom: 3em; }
.datemenu-displays-box {
spacing: 1em; }
.datemenu-calendar-column {
border: 0 solid #0d0d0d; }
.datemenu-calendar-column:ltr {
border-left-width: 1px; }
.datemenu-calendar-column:rtl {
border-right-width: 1px; }
.datemenu-today-button,
.world-clocks-button,
.weather-button,
@@ -894,7 +908,10 @@ StScrollBar {
.message-secondary-bin > .event-time {
color: #999999;
font-size: 0.7em; }
font-size: 0.7em;
/* HACK: the label should be baseline-aligned with a 1em label,
fake this with some bottom padding */
padding-bottom: 0.13em; }
.message-secondary-bin > StIcon {
icon-size: 16px; }
@@ -907,11 +924,14 @@ StScrollBar {
padding: 10px; }
.message-media-control {
padding: 12px; }
padding: 12px;
color: #cccccc; }
.message-media-control:last-child:ltr {
padding-right: 18px; }
.message-media-control:last-child:rtl {
padding-left: 18px; }
.message-media-control:hover {
color: #fff; }
.message-media-control:insensitive {
color: #999999; }

View File

@@ -566,6 +566,10 @@ StScrollBar {
.pad-osd-window {
padding: 32px;
background-color: rgba(0, 0, 0, 0.8); }
.pad-osd-window .pad-osd-title-box {
spacing: 12px; }
.pad-osd-window .pad-osd-title-menu-box {
spacing: 6px; }
.combo-box-label {
width: 15em; }
@@ -734,6 +738,16 @@ StScrollBar {
.datemenu-displays-section {
padding-bottom: 3em; }
.datemenu-displays-box {
spacing: 1em; }
.datemenu-calendar-column {
border: 0 solid #454c4c; }
.datemenu-calendar-column:ltr {
border-left-width: 1px; }
.datemenu-calendar-column:rtl {
border-right-width: 1px; }
.datemenu-today-button,
.world-clocks-button,
.weather-button,
@@ -894,7 +908,10 @@ StScrollBar {
.message-secondary-bin > .event-time {
color: #8e8e80;
font-size: 0.7em; }
font-size: 0.7em;
/* HACK: the label should be baseline-aligned with a 1em label,
fake this with some bottom padding */
padding-bottom: 0.13em; }
.message-secondary-bin > StIcon {
icon-size: 16px; }
@@ -907,11 +924,14 @@ StScrollBar {
padding: 10px; }
.message-media-control {
padding: 12px; }
padding: 12px;
color: #bebeb6; }
.message-media-control:last-child:ltr {
padding-right: 18px; }
.message-media-control:last-child:rtl {
padding-left: 18px; }
.message-media-control:hover {
color: #eeeeec; }
.message-media-control:insensitive {
color: #8e8e80; }

View File

@@ -125,7 +125,7 @@ EXTRA_DIST +=
# Files not to distribute
# for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types
# for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt
DISTCLEANFILES = $(DOC_MODULES).types
DISTCLEANFILES = $(DOC_MODULE).types
# Comment this out if you want 'make check' to test you doc status
# and run some sanity checks

View File

@@ -50,7 +50,6 @@
<xi:include href="xml/shell-util.xml"/>
<xi:include href="xml/shell-mount-operation.xml"/>
<xi:include href="xml/shell-polkit-authentication-agent.xml"/>
<xi:include href="xml/shell-tp-client.xml"/>
</chapter>
<chapter id="object-tree">
<title>Object Hierarchy</title>

View File

@@ -5,6 +5,7 @@ const GLib = imports.gi.GLib;
const GObject = imports.gi.GObject;
const Gio = imports.gi.Gio;
const Gtk = imports.gi.Gtk;
const Gdk = imports.gi.Gdk;
const Pango = imports.gi.Pango;
const Format = imports.format;
@@ -92,9 +93,11 @@ const Application = new Lang.Class({
widget = this._buildErrorUI(extension, e);
}
let dialog = new Gtk.Dialog({ use_header_bar: true,
modal: true,
title: extension.metadata.name });
let dialog = new Gtk.Window({ modal: !this._skipMainWindow,
type_hint: Gdk.WindowTypeHint.DIALOG });
dialog.set_titlebar(new Gtk.HeaderBar({ show_close_button: true,
title: extension.metadata.name,
visible: true }));
if (this._skipMainWindow) {
this.application.add_window(dialog);
@@ -107,7 +110,7 @@ const Application = new Lang.Class({
}
dialog.set_default_size(600, 400);
dialog.get_content_area().add(widget);
dialog.add(widget);
dialog.show();
},
@@ -154,7 +157,7 @@ const Application = new Lang.Class({
this._settings = new Gio.Settings({ schema_id: 'org.gnome.shell' });
this._settings.bind('disable-user-extensions', killSwitch, 'active',
Gio.SettingsBindFlags.BIND_DEFAULT |
Gio.SettingsBindFlags.DEFAULT |
Gio.SettingsBindFlags.INVERT_BOOLEAN);
let scroll = new Gtk.ScrolledWindow({ hscrollbar_policy: Gtk.PolicyType.NEVER });

View File

@@ -23,6 +23,12 @@ function FprintManager() {
g_object_path: '/net/reactivated/Fprint/Manager',
g_flags: (Gio.DBusProxyFlags.DO_NOT_LOAD_PROPERTIES) });
self.init(null);
try {
self.init(null);
} catch(e) {
log('Failed to connect to Fprint service: ' + e.message);
return null;
}
return self;
}

View File

@@ -128,18 +128,22 @@ const ShellUserVerifier = new Lang.Class({
this._client = client;
this._defaultService = null;
this._preemptingService = null;
this._settings = new Gio.Settings({ schema_id: LOGIN_SCREEN_SCHEMA });
this._settings.connect('changed',
Lang.bind(this, this._updateDefaultService));
this._updateDefaultService();
this._fprintManager = new Fprint.FprintManager();
this._fprintManager = Fprint.FprintManager();
this._smartcardManager = SmartcardManager.getSmartcardManager();
// We check for smartcards right away, since an inserted smartcard
// at startup should result in immediately initiating authentication.
// This is different than fingeprint readers, where we only check them
// after a user has been picked.
this.smartcardDetected = false;
this._checkForSmartcard();
this._smartcardInsertedId = this._smartcardManager.connect('smartcard-inserted',
@@ -293,7 +297,8 @@ const ShellUserVerifier = new Lang.Class({
_checkForFingerprintReader: function() {
this._haveFingerprintReader = false;
if (!this._settings.get_boolean(FINGERPRINT_AUTHENTICATION_KEY)) {
if (!this._settings.get_boolean(FINGERPRINT_AUTHENTICATION_KEY) ||
this._fprintManager == null) {
this._updateDefaultService();
return;
}

View File

@@ -23,6 +23,7 @@
<file>misc/modemManager.js</file>
<file>misc/objectManager.js</file>
<file>misc/params.js</file>
<file>misc/permissionStore.js</file>
<file>misc/smartcardManager.js</file>
<file>misc/util.js</file>
<file>misc/weather.js</file>

View File

@@ -69,7 +69,7 @@ const HistoryManager = new Lang.Class({
this._indexChanged();
}
return this._historyIndex[this._history.length];
return this._historyIndex ? this._history[this._historyIndex -1] : null;
},
addItem: function(input) {

View File

@@ -190,7 +190,7 @@ const IBusManager = new Lang.Class({
},
getEngineDesc: function(id) {
if (!IBus || !this._ready)
if (!IBus || !this._ready || !this._engines.hasOwnProperty(id))
return null;
return this._engines[id];

View File

@@ -0,0 +1,37 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
const Gio = imports.gi.Gio;
const PermissionStoreIface = '<node> \
<interface name="org.freedesktop.impl.portal.PermissionStore"> \
<method name="Lookup"> \
<arg name="table" type="s" direction="in"/> \
<arg name="id" type="s" direction="in"/> \
<arg name="permissions" type="a{sas}" direction="out"/> \
<arg name="data" type="v" direction="out"/> \
</method> \
<method name="Set"> \
<arg name="table" type="s" direction="in"/> \
<arg name="create" type="b" direction="in"/> \
<arg name="id" type="s" direction="in"/> \
<arg name="app_permissions" type="a{sas}" direction="in"/> \
<arg name="data" type="v" direction="in"/> \
</method> \
<signal name="Changed"> \
<arg name="table" type="s" direction="out"/> \
<arg name="id" type="s" direction="out"/> \
<arg name="deleted" type="b" direction="out"/> \
<arg name="data" type="v" direction="out"/> \
<arg name="permissions" type="a{sas}" direction="out"/> \
</signal> \
</interface> \
</node>';
const PermissionStoreProxy = Gio.DBusProxy.makeProxyWrapper(PermissionStoreIface);
function PermissionStore(initCallback, cancellable) {
return new PermissionStoreProxy(Gio.DBus.session,
'org.freedesktop.impl.portal.PermissionStore',
'/org/freedesktop/impl/portal/PermissionStore',
initCallback, cancellable);
};

View File

@@ -281,7 +281,10 @@ function formatTime(time, params) {
// xgettext:no-c-format
format = N_("%B %d %Y, %l\u2236%M %p");
}
return date.format(Shell.util_translate_time_string(format));
let formattedTime = date.format(Shell.util_translate_time_string(format));
// prepend LTR-mark to colon/ratio to force a text direction on times
return formattedTime.replace(/([:\u2236])/g, '\u200e$1');
}
function createTimeLabel(date, params) {
@@ -501,7 +504,7 @@ const AppSettingsMonitor = new Lang.Class({
this._setSettings(null);
},
_setSettings(settings) {
_setSettings: function(settings) {
this._handlers.forEach((handler) => { this._disconnectHandler(handler); });
let hadSettings = (this._settings != null);

View File

@@ -7,6 +7,7 @@ const GWeather = imports.gi.GWeather;
const Lang = imports.lang;
const Signals = imports.signals;
const PermissionStore = imports.misc.permissionStore;
const Util = imports.misc.util;
// Minimum time between updates to show loading indication
@@ -17,22 +18,47 @@ const WeatherClient = new Lang.Class({
_init: function() {
this._loading = false;
this._locationValid = false;
this._lastUpdate = GLib.DateTime.new_from_unix_local(0);
this._useAutoLocation = false;
this._autoLocationRequested = false;
this._mostRecentLocation = null;
this._gclueService = null;
this._gclueStarted = false;
this._gclueFailed = false;
this._gclueStarting = false;
this._gclueLocationChangedId = 0;
this._weatherAuthorized = false;
this._permStore = new PermissionStore.PermissionStore((proxy, error) => {
if (error) {
log('Failed to connect to permissionStore: ' + error.message);
return;
}
this._permStore.LookupRemote('gnome', 'geolocation', (res, error) => {
if (error)
log('Error looking up permission: ' + error.message);
let [perms, data] = error ? [{}, null] : res;
let params = ['gnome', 'geolocation', false, data, perms];
this._onPermStoreChanged(this._permStore, '', params);
});
});
this._permStore.connectSignal('Changed',
Lang.bind(this, this._onPermStoreChanged));
this._locationSettings = new Gio.Settings({ schema_id: 'org.gnome.system.location' });
this._locationSettings.connect('changed::enabled',
Lang.bind(this, this._updateAutoLocation));
this._world = GWeather.Location.get_world();
let providers = GWeather.Provider.METAR |
GWeather.Provider.YR_NO |
GWeather.Provider.OWM;
this._weatherInfo = new GWeather.Info({ enabled_providers: providers });
this._providers = GWeather.Provider.METAR |
GWeather.Provider.YR_NO |
GWeather.Provider.OWM;
this._weatherInfo = new GWeather.Info({ enabled_providers: 0 });
this._weatherInfo.connect_after('updated', () => {
this._lastUpdate = GLib.DateTime.new_now_local();
this.emit('changed');
@@ -55,6 +81,10 @@ const WeatherClient = new Lang.Class({
return this._loading;
},
get hasLocation() {
return this._locationValid;
},
get info() {
return this._weatherInfo;
},
@@ -64,6 +94,9 @@ const WeatherClient = new Lang.Class({
},
update: function() {
if (!this._locationValid)
return;
let now = GLib.DateTime.new_now_local();
// Update without loading indication if the current info is recent enough
if (this._weatherInfo.is_valid() &&
@@ -73,6 +106,12 @@ const WeatherClient = new Lang.Class({
this._loadInfo();
},
get _useAutoLocation() {
return this._autoLocationRequested &&
this._locationSettings.get_boolean('enabled') &&
this._weatherAuthorized;
},
_loadInfo: function() {
let id = this._weatherInfo.connect('updated', () => {
this._weatherInfo.disconnect(id);
@@ -101,6 +140,9 @@ const WeatherClient = new Lang.Class({
this._weatherInfo.abort();
this._weatherInfo.set_location(location);
this._locationValid = (location != null);
this._weatherInfo.set_enabled_providers(location ? this._providers : 0);
if (location)
this._loadInfo();
@@ -125,21 +167,21 @@ const WeatherClient = new Lang.Class({
},
_startGClueService: function() {
if (this._gclueStarted)
if (this._gclueStarting)
return;
this._gclueStarted = true;
this._gclueStarting = true;
Geoclue.Simple.new('org.gnome.Shell', Geoclue.AccuracyLevel.CITY, null,
(o, res) => {
try {
this._gclueService = Geoclue.Simple.new_finish(res);
} catch(e) {
log('Failed to connect to Geoclue2 service: ' + e.message);
this._gclueFailed = true;
this._setLocation(this._mostRecentLocation);
return;
}
this._gclueStarted = true;
this._gclueService.get_client().distance_threshold = 100;
this._updateLocationMonitoring();
});
@@ -156,19 +198,21 @@ const WeatherClient = new Lang.Class({
_onAutomaticLocationChanged: function(settings, key) {
let useAutoLocation = settings.get_boolean(key);
if (this._useAutoLocation == useAutoLocation)
if (this._autoLocationRequested == useAutoLocation)
return;
this._useAutoLocation = useAutoLocation;
this._autoLocationRequested = useAutoLocation;
this._updateAutoLocation();
},
_updateAutoLocation: function() {
this._updateLocationMonitoring();
if (this._useAutoLocation) {
if (!this._gclueStarted)
this._startGClueService();
} else {
if (this._useAutoLocation)
this._startGClueService();
else
this._setLocation(this._mostRecentLocation);
}
},
_onLocationsChanged: function(settings, key) {
@@ -183,8 +227,21 @@ const WeatherClient = new Lang.Class({
this._mostRecentLocation = mostRecentLocation;
if (!this._useAutoLocation || this._gclueFailed)
if (!this._useAutoLocation || !this._gclueStarted)
this._setLocation(this._mostRecentLocation);
},
_onPermStoreChanged: function(proxy, sender, params) {
let [table, id, deleted, data, perms] = params;
if (table != 'gnome' || id != 'geolocation')
return;
let permission = perms['org.gnome.Weather.Application'] || ['NONE'];
let [accuracy] = permission;
this._weatherAuthorized = accuracy != 'NONE';
this._updateAutoLocation();
}
});
Signals.addSignalMethods(WeatherClient.prototype);

View File

@@ -12,7 +12,6 @@ const WebKit = imports.gi.WebKit2;
const _ = Gettext.gettext;
const Config = imports.misc.config;
const FileUtils = imports.misc.fileUtils;
const PortalHelperResult = {
CANCELLED: 0,
@@ -141,13 +140,10 @@ const PortalWindow = new Lang.Class({
this._doneCallback = doneCallback;
this._lastRecheck = 0;
this._recheckAtExit = false;
let cacheDir = GLib.Dir.make_tmp("gnome-shell-portal-helper-XXXXXXXX");
this._cacheDir = Gio.File.new_for_path(cacheDir);
let dataManager = new WebKit.WebsiteDataManager({ base_data_directory: cacheDir,
base_cache_directory: cacheDir });
this._webContext = new WebKit.WebContext({ website_data_manager: dataManager });
this._webContext = WebKit.WebContext.new_ephemeral();
this._webContext.set_cache_model(WebKit.CacheModel.DOCUMENT_VIEWER);
this._webContext.set_network_proxy_settings(WebKit.NetworkProxyMode.NO_PROXY, null);
this._webView = WebKit.WebView.new_with_context(this._webContext);
this._webView.connect('decide-policy', Lang.bind(this, this._onDecidePolicy));
@@ -169,7 +165,6 @@ const PortalWindow = new Lang.Class({
destroyWindow: function() {
this.destroy();
FileUtils.recursivelyDeleteDir(this._cacheDir, true);
},
_syncUri: function() {
@@ -194,9 +189,9 @@ const PortalWindow = new Lang.Class({
},
_onLoadChanged: function(view, loadEvent) {
if (loadEvent == WebKit.LOAD_STARTED) {
if (loadEvent == WebKit.LoadEvent.STARTED) {
this._headerBar.setSecurityIcon(PortalHelperSecurityLevel.NOT_YET_DETERMINED);
} else if (loadEvent == WebKit.LOAD_COMMITTED) {
} else if (loadEvent == WebKit.LoadEvent.COMMITTED) {
let tlsInfo = this._webView.get_tls_info();
let ret = tlsInfo[0];
let flags = tlsInfo[2];
@@ -221,6 +216,18 @@ const PortalWindow = new Lang.Class({
_onDecidePolicy: function(view, decision, type) {
if (type == WebKit.PolicyDecisionType.NEW_WINDOW_ACTION) {
let navigationAction = decision.get_navigation_action();
if (navigationAction.is_user_gesture()) {
// Even though the portal asks for a new window,
// perform the navigation in the current one. Some
// portals open a window as their last login step and
// ignoring that window causes them to not let the
// user go through. We don't risk popups taking over
// the page because we check that the navigation is
// user initiated.
this._webView.load_request(navigationAction.get_request());
}
decision.ignore();
return true;
}
@@ -350,7 +357,7 @@ const WebPortalHelper = new Lang.Class({
if (top.window != null)
return;
top.window = new PortalWindow(this, top.uri, top.timestamp, Lang.bind(this, function(result) {
top.window = new PortalWindow(this, top.url, top.timestamp, Lang.bind(this, function(result) {
this._dbusImpl.emit_signal('Done', new GLib.Variant('(ou)', [top.connection, result]));
}));
},
@@ -363,6 +370,11 @@ function initEnvironment() {
function main(argv) {
initEnvironment();
if (!WebKit.WebContext.new_ephemeral) {
log('WebKitGTK 2.16 is required for the portal-helper, see https://bugzilla.gnome.org/show_bug.cgi?id=780453');
return 1;
}
Gettext.bindtextdomain(Config.GETTEXT_PACKAGE, Config.LOCALEDIR);
Gettext.textdomain(Config.GETTEXT_PACKAGE);

View File

@@ -1083,6 +1083,8 @@ const AppSearchProvider = new Lang.Class({
_init: function() {
this._appSys = Shell.AppSystem.get_default();
this.id = 'applications';
this.isRemoteProvider = false;
this.canLaunchSearch = false;
},
getResultMetas: function(apps, callback) {
@@ -1251,6 +1253,7 @@ const FolderIcon = new Lang.Class({
_init: function(id, path, parentView) {
this.id = id;
this.name = '';
this._parentView = parentView;
this._folder = new Gio.Settings({ schema_id: 'org.gnome.desktop.app-folders.folder',

View File

@@ -166,7 +166,8 @@ const BackgroundCache = new Lang.Class({
settingsSchema: null,
onLoaded: null });
if (this._animations[params.settingsSchema] && _fileEqual0(this._animationFile, params.file)) {
let animation = this._animations[params.settingsSchema];
if (animation && _fileEqual0(animation.file, params.file)) {
if (params.onLoaded) {
let id = GLib.idle_add(GLib.PRIORITY_DEFAULT, Lang.bind(this, function() {
params.onLoaded(this._animations[params.settingsSchema]);
@@ -177,7 +178,7 @@ const BackgroundCache = new Lang.Class({
return;
}
let animation = new Animation({ file: params.file });
animation = new Animation({ file: params.file });
animation.load(Lang.bind(this, function() {
this._animations[params.settingsSchema] = animation;

View File

@@ -761,8 +761,8 @@ const NotificationMessage = new Lang.Class({
_init: function(notification) {
this.notification = notification;
this.setUseBodyMarkup(notification.bannerBodyMarkup);
this.parent(notification.title, notification.bannerBodyText);
this.setUseBodyMarkup(notification.bannerBodyMarkup);
this.setIcon(this._getIcon());

View File

@@ -6,11 +6,17 @@ const GLib = imports.gi.GLib;
const Gtk = imports.gi.Gtk;
const Lang = imports.lang;
const Mainloop = imports.mainloop;
const Shell = imports.gi.Shell;
const Signals = imports.signals;
const St = imports.gi.St;
const Tpl = imports.gi.TelepathyLogger;
const Tp = imports.gi.TelepathyGLib;
var Tpl = null;
var Tp = null;
try {
Tpl = imports.gi.TelepathyLogger;
Tp = imports.gi.TelepathyGLib;
} catch(e) {
log('Telepathy is not available, chat integration will be disabled.');
}
const History = imports.misc.history;
const Main = imports.ui.main;
@@ -20,6 +26,8 @@ const Params = imports.misc.params;
const PopupMenu = imports.ui.popupMenu;
const Util = imports.misc.util;
const HAVE_TP = (Tp != null && Tpl != null);
// See Notification.appendMessage
const SCROLLBACK_IMMEDIATE_TIME = 3 * 60; // 3 minutes
const SCROLLBACK_RECENT_TIME = 15 * 60; // 15 minutes
@@ -71,8 +79,43 @@ function makeMessageFromTplEvent(event) {
};
}
const TelepathyClient = new Lang.Class({
const TelepathyComponent = new Lang.Class({
Name: 'TelepathyComponent',
_init: function() {
this._client = null;
if (!HAVE_TP)
return; // Telepathy isn't available
this._client = new TelepathyClient();
},
enable: function() {
if (!this._client)
return;
try {
this._client.register();
} catch (e) {
throw new Error('Couldn\'t register Telepathy client. Error: \n' + e);
}
if (!this._client.account_manager.is_prepared(Tp.AccountManager.get_feature_quark_core()))
this._client.account_manager.prepare_async(null, null);
},
disable: function() {
if (!this._client)
return;
this._client.unregister();
}
});
const TelepathyClient = HAVE_TP ? new Lang.Class({
Name: 'TelepathyClient',
Extends: Tp.BaseClient,
_init: function() {
// channel path -> ChatSource
@@ -97,39 +140,28 @@ const TelepathyClient = new Lang.Class({
// channel matching its filters is detected.
// The second argument, recover, means _observeChannels will be run
// for any existing channel as well.
this._tpClient = new Shell.TpClient({ name: 'GnomeShell',
account_manager: this._accountManager,
uniquify_name: true });
this._tpClient.set_observe_channels_func(
Lang.bind(this, this._observeChannels));
this._tpClient.set_approve_channels_func(
Lang.bind(this, this._approveChannels));
this._tpClient.set_handle_channels_func(
Lang.bind(this, this._handleChannels));
this.parent({ name: 'GnomeShell',
account_manager: this._accountManager,
uniquify_name: true });
// We only care about single-user text-based chats
let filter = {};
filter[Tp.PROP_CHANNEL_CHANNEL_TYPE] = Tp.IFACE_CHANNEL_TYPE_TEXT;
filter[Tp.PROP_CHANNEL_TARGET_HANDLE_TYPE] = Tp.HandleType.CONTACT;
this.set_observer_recover(true);
this.add_observer_filter(filter);
this.add_approver_filter(filter);
this.add_handler_filter(filter);
// Allow other clients (such as Empathy) to pre-empt our channels if
// needed
this._tpClient.set_delegated_channels_callback(
this.set_delegated_channels_callback(
Lang.bind(this, this._delegatedChannelsCb));
},
enable: function() {
try {
this._tpClient.register();
} catch (e) {
throw new Error('Couldn\'t register Telepathy client. Error: \n' + e);
}
if (!this._accountManager.is_prepared(Tp.AccountManager.get_feature_quark_core()))
this._accountManager.prepare_async(null, null);
},
disable: function() {
this._tpClient.unregister();
},
_observeChannels: function(observer, account, conn, channels,
dispatchOp, requests, context) {
vfunc_observe_channels: function(account, conn, channels,
dispatchOp, requests, context) {
let len = channels.length;
for (let i = 0; i < len; i++) {
let channel = channels[i];
@@ -153,7 +185,7 @@ const TelepathyClient = new Lang.Class({
if (this._chatSources[channel.get_object_path()])
return;
let source = new ChatSource(account, conn, channel, contact, this._tpClient);
let source = new ChatSource(account, conn, channel, contact, this);
this._chatSources[channel.get_object_path()] = source;
source.connect('destroy', Lang.bind(this,
@@ -162,8 +194,8 @@ const TelepathyClient = new Lang.Class({
}));
},
_handleChannels: function(handler, account, conn, channels,
requests, user_action_time, context) {
vfunc_handle_channels: function(account, conn, channels, requests,
user_action_time, context) {
this._handlingChannels(account, conn, channels, true);
context.accept();
},
@@ -193,7 +225,7 @@ const TelepathyClient = new Lang.Class({
// Telepathy spec states that handlers must foreground channels
// in HandleChannels calls which are already being handled.
if (notify && this._tpClient.is_handling_channel(channel)) {
if (notify && this.is_handling_channel(channel)) {
// We are already handling the channel, display the source
let source = this._chatSources[channel.get_object_path()];
if (source)
@@ -202,8 +234,8 @@ const TelepathyClient = new Lang.Class({
}
},
_approveChannels: function(approver, account, conn, channels,
dispatchOp, context) {
vfunc_add_dispatch_operation: function(account, conn, channels,
dispatchOp, context) {
let channel = channels[0];
let chanType = channel.get_channel_type();
@@ -230,7 +262,7 @@ const TelepathyClient = new Lang.Class({
}
// Approve private text channels right away as we are going to handle it
dispatchOp.claim_with_async(this._tpClient, Lang.bind(this, function(dispatchOp, result) {
dispatchOp.claim_with_async(this, Lang.bind(this, function(dispatchOp, result) {
try {
dispatchOp.claim_with_finish(result);
this._handlingChannels(account, conn, [channel], false);
@@ -246,7 +278,7 @@ const TelepathyClient = new Lang.Class({
// Nothing to do as we don't make a distinction between observed and
// handled channels.
},
});
}) : null;
const ChatSource = new Lang.Class({
Name: 'ChatSource',
@@ -660,7 +692,9 @@ const ChatNotification = new Lang.Class({
}
if (message.direction == NotificationDirection.RECEIVED)
this.update(this.source.title, messageBody, { bannerMarkup: true });
this.update(this.source.title, messageBody,
{ datetime: GLib.DateTime.new_from_unix_local (message.timestamp),
bannerMarkup: true });
let group = (message.direction == NotificationDirection.RECEIVED ?
'received' : 'sent');
@@ -670,8 +704,6 @@ const ChatNotification = new Lang.Class({
styles: styles,
timestamp: message.timestamp,
noTimestamp: noTimestamp });
this.update(this.title, this.bannerBodyText,
{ datetime: GLib.DateTime.new_from_unix_local (message.timestamp) });
},
_filterMessages: function() {
@@ -964,4 +996,4 @@ const ChatNotificationBanner = new Lang.Class({
}
});
const Component = TelepathyClient;
const Component = TelepathyComponent;

View File

@@ -756,42 +756,44 @@ const Dash = new Lang.Class({
let newIndex = 0;
let oldIndex = 0;
while (newIndex < newApps.length || oldIndex < oldApps.length) {
let oldApp = oldApps.length > oldIndex ? oldApps[oldIndex] : null;
let newApp = newApps.length > newIndex ? newApps[newIndex] : null;
// No change at oldIndex/newIndex
if (oldApps[oldIndex] == newApps[newIndex]) {
if (oldApp == newApp) {
oldIndex++;
newIndex++;
continue;
}
// App removed at oldIndex
if (oldApps[oldIndex] &&
newApps.indexOf(oldApps[oldIndex]) == -1) {
if (oldApp && newApps.indexOf(oldApp) == -1) {
removedActors.push(children[oldIndex]);
oldIndex++;
continue;
}
// App added at newIndex
if (newApps[newIndex] &&
oldApps.indexOf(newApps[newIndex]) == -1) {
addedItems.push({ app: newApps[newIndex],
item: this._createAppItem(newApps[newIndex]),
if (newApp && oldApps.indexOf(newApp) == -1) {
addedItems.push({ app: newApp,
item: this._createAppItem(newApp),
pos: newIndex });
newIndex++;
continue;
}
// App moved
let insertHere = newApps[newIndex + 1] &&
newApps[newIndex + 1] == oldApps[oldIndex];
let nextApp = newApps.length > newIndex + 1 ? newApps[newIndex + 1]
: null;
let insertHere = nextApp && nextApp == oldApp;
let alreadyRemoved = removedActors.reduce(function(result, actor) {
let removedApp = actor.child._delegate.app;
return result || removedApp == newApps[newIndex];
return result || removedApp == newApp;
}, false);
if (insertHere || alreadyRemoved) {
let newItem = this._createAppItem(newApps[newIndex]);
addedItems.push({ app: newApps[newIndex],
let newItem = this._createAppItem(newApp);
addedItems.push({ app: newApp,
item: newItem,
pos: newIndex + removedActors.length });
newIndex++;

View File

@@ -296,6 +296,9 @@ const WeatherSection = new Lang.Class({
},
_getLabelText: function() {
if (!this._weatherClient.hasLocation)
return _("Select a location…");
if (this._weatherClient.loading)
return _("Loading…");
@@ -367,8 +370,7 @@ const IndicatorPad = new Lang.Class({
_init: function(actor) {
this._source = actor;
this._source.connect('notify::visible',
Lang.bind(this, this.queue_relayout));
this._source.connect('notify::visible', () => { this.queue_relayout(); });
this.parent();
},
@@ -431,7 +433,7 @@ const CalendarColumnLayout = new Lang.Class({
Name: 'CalendarColumnLayout',
Extends: Clutter.BoxLayout,
_init(actor) {
_init: function(actor) {
this.parent({ orientation: Clutter.Orientation.VERTICAL });
this._calActor = actor;
},
@@ -472,6 +474,8 @@ const DateMenuButton = new Lang.Class({
let layout = new FreezableBinLayout();
let bin = new St.Widget({ layout_manager: layout });
// For some minimal compatibility with PopupMenuItem
bin._delegate = this;
this.menu.box.add_child(bin);
hbox = new St.BoxLayout({ name: 'calendarArea' });

View File

@@ -282,12 +282,20 @@ function _onVersionValidationChanged() {
// temporarily disable them all
enabledExtensions = [];
for (let uuid in ExtensionUtils.extensions)
reloadExtension(ExtensionUtils.extensions[uuid]);
try {
reloadExtension(ExtensionUtils.extensions[uuid]);
} catch(e) {
logExtensionError(uuid, e);
}
enabledExtensions = getEnabledExtensions();
if (Main.sessionMode.allowExtensions) {
enabledExtensions.forEach(function(uuid) {
enableExtension(uuid);
try {
enableExtension(uuid);
} catch(e) {
logExtensionError(uuid, e);
}
});
}
}

View File

@@ -570,7 +570,7 @@ const Keyboard = new Lang.Class({
shouldTakeEvent: function(event) {
let actor = event.get_source();
return Main.layoutManager.keyboardBox.contains(actor) ||
actor._extended_keys || actor.extended_key;
!!actor._extended_keys || !!actor.extended_key;
},
_clearKeyboardRestTimer: function() {

View File

@@ -896,7 +896,10 @@ const LayoutManager = new Lang.Class({
},
findMonitorForActor: function(actor) {
return this.monitors[this.findIndexForActor(actor)];
let index = this.findIndexForActor(actor);
if (index >= 0 && index < this.monitors.length)
return this.monitors[index];
return null;
},
_queueUpdateRegions: function() {
@@ -966,7 +969,11 @@ const LayoutManager = new Lang.Class({
if (actorData.affectsInputRegion && wantsInputRegion && actorData.actor.get_paint_visibility())
rects.push(new Meta.Rectangle({ x: x, y: y, width: w, height: h }));
if (actorData.affectsStruts) {
let monitor = null;
if (actorData.affectsStruts)
monitor = this.findMonitorForActor(actorData.actor);
if (monitor) {
// Limit struts to the size of the screen
let x1 = Math.max(x, 0);
let x2 = Math.min(x + w, global.screen_width);
@@ -983,7 +990,6 @@ const LayoutManager = new Lang.Class({
// spans the width/height across the middle of the
// screen, then we don't create a strut for it at all.
let monitor = this.findMonitorForActor(actorData.actor);
let side;
if (x1 <= monitor.x && x2 >= monitor.x + monitor.width) {
if (y1 <= monitor.y)

View File

@@ -33,7 +33,6 @@ var commandHeader = 'const Clutter = imports.gi.Clutter; ' +
'const Mainloop = imports.mainloop; ' +
'const Meta = imports.gi.Meta; ' +
'const Shell = imports.gi.Shell; ' +
'const Tp = imports.gi.TelepathyGLib; ' +
'const Main = imports.ui.main; ' +
'const Lang = imports.lang; ' +
'const Tweener = imports.ui.tweener; ' +
@@ -784,6 +783,7 @@ const LookingGlass = new Lang.Class({
this._open = false;
this._it = null;
this._offset = 0;
this._results = [];

View File

@@ -165,6 +165,11 @@ const ScaleLayout = new Lang.Class({
Name: 'ScaleLayout',
Extends: Clutter.BinLayout,
_init: function(params) {
this._container = null;
this.parent(params);
},
_connectContainer: function(container) {
if (this._container == container)
return;
@@ -299,6 +304,8 @@ const Message = new Lang.Class({
_init: function(title, body) {
this.expanded = false;
this._useBodyMarkup = false;
this.actor = new St.Button({ style_class: 'message',
accessible_role: Atk.Role.NOTIFICATION,
can_focus: true,

View File

@@ -803,7 +803,7 @@ const Source = new Lang.Class({
notification.acknowledged = false;
this.pushNotification(notification);
if (this.policy.showBanners) {
if (this.policy.showBanners || notification.urgency == Urgency.CRITICAL) {
this.emit('notify', notification);
} else {
notification.playSound();
@@ -1231,7 +1231,7 @@ const MessageTray = new Lang.Class({
if (this._notificationState == State.HIDDEN) {
let nextNotification = this._notificationQueue[0] || null;
if (hasNotifications && nextNotification) {
let limited = this._busy || Main.layoutManager.bottomMonitor.inFullscreen;
let limited = this._busy || Main.layoutManager.primaryMonitor.inFullscreen;
let showNextNotification = (!limited || nextNotification.forFeedback || nextNotification.urgency == Urgency.CRITICAL);
if (showNextNotification)
this._showNotification();

View File

@@ -128,10 +128,10 @@ const FdoNotificationDaemon = new Lang.Class({
switch (hints.urgency) {
case Urgency.LOW:
case Urgency.NORMAL:
stockIcon = 'gtk-dialog-info';
stockIcon = 'dialog-information';
break;
case Urgency.CRITICAL:
stockIcon = 'gtk-dialog-error';
stockIcon = 'dialog-error';
break;
}
return new Gio.ThemedIcon({ name: stockIcon });
@@ -186,7 +186,8 @@ const FdoNotificationDaemon = new Lang.Class({
return source;
}
source = new FdoNotificationDaemonSource(title, pid, sender, ndata ? ndata.hints['desktop-entry'] : null);
let appId = ndata ? ndata.hints['desktop-entry'] || null : null;
source = new FdoNotificationDaemonSource(title, pid, sender, appId);
this._sources.push(source);
source.connect('destroy', Lang.bind(this, function() {
@@ -391,10 +392,10 @@ const FdoNotificationDaemon = new Lang.Class({
notification.setUrgency(MessageTray.Urgency.CRITICAL);
break;
}
notification.setResident(hints.resident == true);
notification.setResident(!!hints.resident);
// 'transient' is a reserved keyword in JS, so we have to retrieve the value
// of the 'transient' hint with hints['transient'] rather than hints.transient
notification.setTransient(hints['transient'] == true);
notification.setTransient(!!hints['transient']);
let sourceGIcon = source.useNotificationIcon ? gicon : null;
source.processNotification(notification, sourceGIcon);

View File

@@ -414,7 +414,7 @@ const Overview = new Lang.Class({
beginItemDrag: function(source) {
this.emit('item-drag-begin');
this._inDrag = true;
this._inItemDrag = true;
},
cancelledItemDrag: function(source) {
@@ -422,13 +422,15 @@ const Overview = new Lang.Class({
},
endItemDrag: function(source) {
if (!this._inItemDrag)
return;
this.emit('item-drag-end');
this._inDrag = false;
this._inItemDrag = false;
},
beginWindowDrag: function(window) {
this.emit('window-drag-begin', window);
this._inDrag = true;
this._inWindowDrag = true;
},
cancelledWindowDrag: function(window) {
@@ -436,8 +438,10 @@ const Overview = new Lang.Class({
},
endWindowDrag: function(window) {
if (!this._inWindowDrag)
return;
this.emit('window-drag-end', window);
this._inDrag = false;
this._inWindowDrag = false;
},
focusSearch: function() {
@@ -481,7 +485,7 @@ const Overview = new Lang.Class({
shouldToggleByCornerOrButton: function() {
if (this.animationInProgress)
return false;
if (this._inDrag)
if (this._inItemDrag || this._inWindowDrag)
return false;
if (this._activationTime == 0 || Date.now() / 1000 - this._activationTime > OVERVIEW_ACTIVATION_TIMEOUT)
return true;

View File

@@ -30,6 +30,72 @@ const CCW = 1;
const UP = 0;
const DOWN = 1;
const PadChooser = new Lang.Class({
Name: 'PadChooser',
_init: function (device, groupDevices) {
this.actor = new St.Button({ style_class: 'pad-chooser-button',
toggle_mode: true,
x_fill: false,
y_fill: false,
x_align: St.Align.MIDDLE,
y_align: St.Align.MIDDLE });
this.currentDevice = device;
this._padChooserMenu = null;
let arrow = new St.Icon({ style_class: 'popup-menu-arrow',
icon_name: 'pan-down-symbolic',
accessible_role: Atk.Role.ARROW });
this.actor.set_child(arrow);
this._ensureMenu(groupDevices);
this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
this.actor.connect('clicked', Lang.bind(this, function (actor) {
if (actor.get_checked()) {
if (this._padChooserMenu != null)
this._padChooserMenu.open(true);
else
this.set_checked(false);
} else {
this._padChooserMenu.close(true);
}
}));
},
_ensureMenu: function (devices) {
this._padChooserMenu = new PopupMenu.PopupMenu(this.actor, 0.5, St.Side.TOP);
this._padChooserMenu.connect('menu-closed', Lang.bind(this, function() { this.actor.set_checked(false); }));
this._padChooserMenu.actor.hide();
Main.uiGroup.add_actor(this._padChooserMenu.actor);
for (let i = 0; i < devices.length; i++) {
let device = devices[i];
if (device == this.currentDevice)
continue;
this._padChooserMenu.addAction(device.get_device_name(), () => {
this.emit('pad-selected', device);
});
}
},
_onDestroy: function () {
this._padChooserMenu.destroy();
},
update: function (devices) {
if (this._padChooserMenu)
this._padChooserMenu.actor.destroy();
this.actor.set_checked(false);
this._ensureMenu(devices);
},
destroy: function () {
this.actor.destroy();
},
});
Signals.addSignalMethods(PadChooser.prototype);
const KeybindingEntry = new Lang.Class({
Name: 'KeybindingEntry',
@@ -88,9 +154,16 @@ const ActionComboBox = new Lang.Class({
this._actionLabels.set(GDesktopEnums.PadButtonAction.SWITCH_MONITOR, _("Switch monitor"));
this._actionLabels.set(GDesktopEnums.PadButtonAction.KEYBINDING, _("Assign keystroke"));
this._buttonItems = [];
for (let [action, label] of this._actionLabels.entries()) {
let selectedAction = action;
this._editMenu.addAction(label, Lang.bind(this, function() { this._onActionSelected(selectedAction) }));
let item = this._editMenu.addAction(label, Lang.bind(this, function() { this._onActionSelected(selectedAction) }));
/* These actions only apply to pad buttons */
if (selectedAction == GDesktopEnums.PadButtonAction.HELP ||
selectedAction == GDesktopEnums.PadButtonAction.SWITCH_MONITOR)
this._buttonItems.push(item);
}
this.setAction(GDesktopEnums.PadButtonAction.NONE);
@@ -119,6 +192,10 @@ const ActionComboBox = new Lang.Class({
this.popup();
else
this.popdown();
},
setButtonActionsActive: function (active) {
this._buttonItems.forEach(item => { item.setSensitive(active); });
}
});
Signals.addSignalMethods(ActionComboBox.prototype);
@@ -157,13 +234,16 @@ const ActionEditor = new Lang.Class({
}
},
setSettings: function (settings) {
setSettings: function (settings, action) {
this._buttonSettings = settings;
this._currentAction = this._buttonSettings.get_enum('action');
this._currentKeybinding = this._buttonSettings.get_string('keybinding');
this._actionComboBox.setAction(this._currentAction);
this._updateKeybindingEntryState();
let isButton = (action == Meta.PadActionType.BUTTON);
this._actionComboBox.setButtonActionsActive(isButton);
},
close: function() {
@@ -227,6 +307,8 @@ const PadDiagram = new Lang.Class({
_init: function (params) {
let file = Gio.File.new_for_uri('resource:///org/gnome/shell/theme/pad-osd.css');
let [success, css, etag] = file.load_contents(null);
this._curEdited = null;
this._prevEdited = null;
this._css = css;
this._labels = [];
this._activeButtons = [];
@@ -431,7 +513,7 @@ const PadDiagram = new Lang.Class({
},
getRingLabelCoords: function (number, dir) {
let numStr = number > 0 ? number.toString() : '';
let numStr = number > 0 ? (number + 1).toString() : '';
let dirStr = dir == CW ? 'CW' : 'CCW';
let labelName = 'LabelRing' + numStr + dirStr;
let leaderName = 'LeaderRing' + numStr + dirStr;
@@ -484,25 +566,39 @@ const PadDiagram = new Lang.Class({
this.add_actor(label);
},
stopEdition: function (str) {
_applyLabel: function(label, action, idx, dir, str) {
if (str != null) {
label.set_text(str);
let [found, x, y, arrangement] = this.getLabelCoords(action, idx, dir);
this._allocateChild(label, x, y, arrangement);
}
label.show();
},
stopEdition: function (continues, str) {
this._editorActor.hide();
if (this._prevEdited) {
let [label, action, idx, dir] = this._prevEdited;
this._applyLabel(label, action, idx, dir, str);
this._prevEdited = null;
}
if (this._curEdited) {
let [label, action, idx, dir] = this._curEdited;
if (str != null) {
label.set_text(str);
let [found, x, y, arrangement] = this.getLabelCoords(action, idx, dir);
this._allocateChild(label, x, y, arrangement);
}
label.show();
this._applyLabel(label, action, idx, dir, str);
if (continues)
this._prevEdited = this._curEdited;
this._curEdited = null;
}
},
startEdition: function(action, idx, dir) {
let editedLabel;
this.stopEdition();
if (this._curEdited)
return;
for (let i = 0; i < this._labels.length; i++) {
let [label, itemAction, itemIdx, itemDir] = this._labels[i];
@@ -528,16 +624,39 @@ const PadOsd = new Lang.Class({
_init: function (padDevice, settings, imagePath, editionMode, monitorIndex) {
this.padDevice = padDevice;
this._groupPads = [ padDevice ];
this._settings = settings;
this._imagePath = imagePath;
this._editionMode = editionMode;
this._capturedEventId = global.stage.connect('captured-event', Lang.bind(this, this._onCapturedEvent));
this._padChooser = null;
let deviceManager = Clutter.DeviceManager.get_default();
this._deviceAddedId = deviceManager.connect('device-added', Lang.bind(this, function (manager, device) {
if (device.get_device_type() == Clutter.InputDeviceType.PAD_DEVICE &&
this.padDevice.is_grouped(device)) {
this._groupPads.push(device);
this._updatePadChooser();
}
}));
this._deviceRemovedId = deviceManager.connect('device-removed', Lang.bind(this, function (manager, device) {
// If the device is being removed, destroy the padOsd.
if (device == this.padDevice)
if (device == this.padDevice) {
this.destroy();
} else if (this._groupPads.indexOf(device) != -1) {
// Or update the pad chooser if the device belongs to
// the same group.
this._groupPads.splice(this._groupPads.indexOf(device), 1);
this._updatePadChooser();
}
}));
deviceManager.list_devices().forEach(Lang.bind(this, function(device) {
if (device != this.padDevice &&
device.get_device_type() == Clutter.InputDeviceType.PAD_DEVICE &&
this.padDevice.is_grouped(device))
this._groupPads.push(device);
}));
this.actor = new St.BoxLayout({ style_class: 'pad-osd-window',
@@ -552,16 +671,28 @@ const PadOsd = new Lang.Class({
let constraint = new Layout.MonitorConstraint({ index: monitorIndex });
this.actor.add_constraint(constraint);
this._titleBox = new St.BoxLayout({ style_class: 'pad-osd-title-box',
vertical: false,
x_expand: false,
x_align: Clutter.ActorAlign.CENTER });
this.actor.add_actor(this._titleBox);
let labelBox = new St.BoxLayout({ style_class: 'pad-osd-title-menu-box',
vertical: true });
this._titleBox.add_actor(labelBox);
this._titleLabel = new St.Label({ style: 'font-side: larger; font-weight: bold;',
x_align: Clutter.ActorAlign.CENTER });
this._titleLabel.clutter_text.set_text(padDevice.get_device_name());
this.actor.add_actor(this._titleLabel);
labelBox.add_actor(this._titleLabel);
this._tipLabel = new St.Label({ x_align: Clutter.ActorAlign.CENTER });
this.actor.add_actor(this._tipLabel);
labelBox.add_actor(this._tipLabel);
this._updatePadChooser();
this._actionEditor = new ActionEditor();
this._actionEditor.connect('done', Lang.bind(this, this._endButtonActionEdition));
this._actionEditor.connect('done', Lang.bind(this, this._endActionEdition));
this._padDiagram = new PadDiagram({ image: this._imagePath,
left_handed: settings.get_boolean('left-handed'),
@@ -580,11 +711,17 @@ const PadOsd = new Lang.Class({
}
for (i = 0; i < padDevice.get_n_rings(); i++) {
let [found] = this._padDiagram.getRingLabelCoords(i, CW);
if (!found)
break;
this._createLabel(Meta.PadActionType.RING, i, CW);
this._createLabel(Meta.PadActionType.RING, i, CCW);
}
for (i = 0; i < padDevice.get_n_strips(); i++) {
let [found] = this._padDiagram.getStripLabelCoords(i, UP);
if (!found)
break;
this._createLabel(Meta.PadActionType.STRIP, i, UP);
this._createLabel(Meta.PadActionType.STRIP, i, DOWN);
}
@@ -605,6 +742,33 @@ const PadOsd = new Lang.Class({
Main.pushModal(this.actor);
},
_updatePadChooser: function () {
if (this._groupPads.length > 1) {
if (this._padChooser == null) {
this._padChooser = new PadChooser(this.padDevice, this._groupPads)
this._padChooser.connect('pad-selected', Lang.bind(this, function (chooser, pad) {
this._requestForOtherPad(pad);
}));
this._titleBox.add_child(this._padChooser.actor);
} else {
this._padChooser.update(this._groupPads);
}
} else if (this._padChooser != null) {
this._padChooser.destroy();
this._padChooser = null;
}
},
_requestForOtherPad: function (pad) {
if (pad == this.padDevice ||
this._groupPads.indexOf(pad) == -1)
return;
let editionMode = this._editionMode;
this.destroy();
global.display.request_pad_osd(pad, editionMode);
},
_createLabel: function (type, number, dir) {
let str = global.display.get_pad_action_label(this.padDevice, type, number);
let label = new St.Label({ text: str ? str : _("None") });
@@ -615,8 +779,10 @@ const PadOsd = new Lang.Class({
if (event.type() == Clutter.EventType.PAD_BUTTON_PRESS &&
event.get_source_device() == this.padDevice) {
this._padDiagram.activateButton(event.get_button());
let isModeSwitch = this.padDevice.get_mode_switch_button_group(event.get_button()) >= 0;
if (this._editionMode)
/* Buttons that switch between modes cannot be edited */
if (this._editionMode && !isModeSwitch)
this._startButtonActionEdition(event.get_button());
return Clutter.EVENT_STOP;
} else if (event.type() == Clutter.EventType.PAD_BUTTON_RELEASE &&
@@ -625,11 +791,30 @@ const PadOsd = new Lang.Class({
return Clutter.EVENT_STOP;
} else if (event.type() == Clutter.EventType.KEY_PRESS &&
(!this._editionMode || event.get_key_symbol() == Clutter.Escape)) {
if (this._editingButtonAction != null)
this._endButtonActionEdition();
if (this._editedAction != null)
this._endActionEdition();
else
this.destroy();
return Clutter.EVENT_STOP;
} else if (event.get_source_device() == this.padDevice &&
event.type() == Clutter.EventType.PAD_STRIP) {
if (this._editionMode) {
let [retval, number, mode] = event.get_pad_event_details();
this._startStripActionEdition(number, UP, mode);
}
} else if (event.get_source_device() == this.padDevice &&
event.type() == Clutter.EventType.PAD_RING) {
if (this._editionMode) {
let [retval, number, mode] = event.get_pad_event_details();
this._startRingActionEdition(number, CCW, mode);
}
}
// If the event comes from another pad in the same group,
// show the OSD for it.
if (this._groupPads.indexOf(event.get_source_device()) != -1) {
this._requestForOtherPad(event.get_source_device());
return Clutter.EVENT_STOP;
}
return Clutter.EVENT_PROPAGATE;
@@ -655,33 +840,79 @@ const PadOsd = new Lang.Class({
this._titleLabel.clutter_text.set_markup('<span size="larger"><b>' + title + '</b></span>');
},
_endButtonActionEdition: function () {
_isEditedAction: function (type, number, dir) {
if (!this._editedAction)
return false;
return (this._editedAction.type == type &&
this._editedAction.number == number &&
this._editedAction.dir == dir);
},
_followUpActionEdition: function (str) {
let { type, dir, number, mode } = this._editedAction;
let hasNextAction = (type == Meta.PadActionType.RING && dir == CCW ||
type == Meta.PadActionType.STRIP && dir == UP);
if (!hasNextAction)
return false;
this._padDiagram.stopEdition(true, str);
this._editedAction = null;
if (type == Meta.PadActionType.RING)
this._startRingActionEdition(number, CW, mode);
else
this._startStripActionEdition(number, DOWN, mode);
return true;
},
_endActionEdition: function () {
this._actionEditor.close();
if (this._editingButtonAction != null) {
if (this._editedAction != null) {
let str = global.display.get_pad_action_label(this.padDevice,
Meta.PadActionType.BUTTON,
this._editingButtonAction);
this._padDiagram.stopEdition(str ? str : _("None"))
this._editingButtonAction = null;
this._editedAction.type,
this._editedAction.number);
if (this._followUpActionEdition(str))
return;
this._padDiagram.stopEdition(false, str ? str : _("None"))
this._editedAction = null;
}
this._editedButtonSettings = null;
this._editedActionSettings = null;
},
_startActionEdition: function (key, type, number, dir, mode) {
if (this._isEditedAction(type, number, dir))
return;
this._endActionEdition();
this._editedAction = { type, number, dir, mode };
let settingsPath = this._settings.path + key + '/';
this._editedActionSettings = Gio.Settings.new_with_path('org.gnome.desktop.peripherals.tablet.pad-button',
settingsPath);
this._actionEditor.setSettings(this._editedActionSettings, type);
this._padDiagram.startEdition(type, number, dir);
},
_startButtonActionEdition: function (button) {
if (this._editingButtonAction == button)
return;
this._endButtonActionEdition();
this._editingButtonAction = button;
let ch = String.fromCharCode('A'.charCodeAt() + button);
let settingsPath = this._settings.path + "button" + ch + '/';
this._editedButtonSettings = Gio.Settings.new_with_path('org.gnome.desktop.peripherals.tablet.pad-button',
settingsPath);
this._actionEditor.setSettings(this._editedButtonSettings);
this._padDiagram.startEdition(Meta.PadActionType.BUTTON, button);
let key = 'button' + ch;
this._startActionEdition(key, Meta.PadActionType.BUTTON, button);
},
_startRingActionEdition: function (ring, dir, mode) {
let ch = String.fromCharCode('A'.charCodeAt() + ring);
let key = 'ring%s-%s-mode-%d'.format(ch, dir == CCW ? 'ccw' : 'cw', mode);
this._startActionEdition(key, Meta.PadActionType.RING, ring, dir, mode);
},
_startStripActionEdition: function (strip, dir, mode) {
let ch = String.fromCharCode('A'.charCodeAt() + strip);
let key = 'strip%s-%s-mode-%d'.format(ch, dir == UP ? 'up' : 'down', mode);
this._startActionEdition(key, Meta.PadActionType.STRIP, strip, dir, mode);
},
setEditionMode: function (editionMode) {
@@ -700,11 +931,15 @@ const PadOsd = new Lang.Class({
Main.popModal(this.actor);
this._actionEditor.close();
let deviceManager = Clutter.DeviceManager.get_default();
if (this._deviceRemovedId != 0) {
let deviceManager = Clutter.DeviceManager.get_default();
deviceManager.disconnect(this._deviceRemovedId);
this._deviceRemovedId = 0;
}
if (this._deviceAddedId != 0) {
deviceManager.disconnect(this._deviceAddedId);
this._deviceAddedId = 0;
}
if (this._capturedEventId != 0) {
global.stage.disconnect(this._capturedEventId);

View File

@@ -1104,7 +1104,7 @@ const Panel = new Lang.Class({
},
_onMenuSet: function(indicator) {
if (!indicator.menu || indicator.menu._openChangedId > 0)
if (!indicator.menu || indicator.menu.hasOwnProperty('_openChangedId'))
return;
indicator.menu._openChangedId = indicator.menu.connect('open-state-changed',

View File

@@ -174,8 +174,14 @@ const Button = new Lang.Class({
// menu is higher then the screen; it's useful if part of the menu is
// scrollable so the minimum height is smaller than the natural height
let workArea = Main.layoutManager.getWorkAreaForMonitor(Main.layoutManager.primaryIndex);
let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor;
let verticalMargins = this.menu.actor.margin_top + this.menu.actor.margin_bottom;
this.menu.actor.style = ('max-height: ' + Math.round(workArea.height - verticalMargins) + 'px;');
// The workarea and margin dimensions are in physical pixels, but CSS
// measures are in logical pixels, so make sure to consider the scale
// factor when computing max-height
let maxHeight = Math.round((workArea.height - verticalMargins) / scaleFactor);
this.menu.actor.style = ('max-height: %spx;').format(maxHeight);
},
destroy: function() {

View File

@@ -785,6 +785,11 @@ const PopupMenu = new Lang.Class({
},
_onKeyPress: function(actor, event) {
// Disable toggling the menu by keyboard
// when it cannot be toggled by pointer
if (!actor.reactive)
return Clutter.EVENT_PROPAGATE;
let navKey;
switch (this._boxPointer.arrowSide) {
case St.Side.TOP:

View File

@@ -192,6 +192,10 @@ const RemoteMenu = new Lang.Class({
_removeItem.bind(null, this));
},
get actionGroup() {
return this._actionGroup;
},
destroy: function() {
this._tracker.destroy();
this.parent();

View File

@@ -200,6 +200,7 @@ const RemoteSearchProvider = new Lang.Class({
this.appInfo = appInfo;
this.id = appInfo.get_id();
this.isRemoteProvider = true;
this.canLaunchSearch = false;
},
createIcon: function(size, meta) {
@@ -278,7 +279,8 @@ const RemoteSearchProvider = new Lang.Class({
name: metas[i]['name'],
description: metas[i]['description'],
createIcon: Lang.bind(this,
this.createIcon, metas[i]) });
this.createIcon, metas[i]),
clipboardText: metas[i]['clipboardText'] });
}
callback(resultMetas);
},

View File

@@ -33,6 +33,9 @@ const SCREENSAVER_SCHEMA = 'org.gnome.desktop.screensaver';
const LOCK_ENABLED_KEY = 'lock-enabled';
const LOCK_DELAY_KEY = 'lock-delay';
const LOCKDOWN_SCHEMA = 'org.gnome.desktop.lockdown';
const DISABLE_LOCK_KEY = 'disable-lock-screen';
const LOCKED_STATE_STR = 'screenShield.locked';
// fraction of screen height the arrow must reach before completing
// the slide up automatically
@@ -541,6 +544,9 @@ const ScreenShield = new Lang.Class({
this._settings = new Gio.Settings({ schema_id: SCREENSAVER_SCHEMA });
this._settings.connect('changed::' + LOCK_ENABLED_KEY, Lang.bind(this, this._syncInhibitor));
this._lockSettings = new Gio.Settings({ schema_id: LOCKDOWN_SCHEMA });
this._lockSettings.connect('changed::' + DISABLE_LOCK_KEY, Lang.bind(this, this._syncInhibitor));
this._isModal = false;
this._hasLockScreen = false;
this._isGreeter = false;
@@ -701,8 +707,10 @@ const ScreenShield = new Lang.Class({
},
_syncInhibitor: function() {
let lockEnabled = this._settings.get_boolean(LOCK_ENABLED_KEY);
let lockLocked = this._lockSettings.get_boolean(DISABLE_LOCK_KEY);
let inhibit = (this._loginSession && this._loginSession.Active &&
!this._isActive && this._settings.get_boolean(LOCK_ENABLED_KEY));
!this._isActive && lockEnabled && !lockLocked);
if (inhibit) {
this._loginManager.inhibit(_("GNOME needs to lock the screen"),
Lang.bind(this, function(inhibitor) {
@@ -1290,6 +1298,11 @@ const ScreenShield = new Lang.Class({
},
lock: function(animate) {
if (this._lockSettings.get_boolean(DISABLE_LOCK_KEY)) {
log('Screen lock is locked down, not locking') // lock, lock - who's there?
return;
}
// Warn the user if we can't become modal
if (!this._becomeModal()) {
Main.notifyError(_("Unable to lock"),

View File

@@ -152,6 +152,8 @@ const SearchResultsBase = new Lang.Class({
this._resultDisplays = {};
this._clipboard = St.Clipboard.get_default();
this._cancellable = new Gio.Cancellable();
},
@@ -181,6 +183,8 @@ const SearchResultsBase = new Lang.Class({
_activateResult: function(result, id) {
this.provider.activateResult(id, this._terms);
if (result.metaInfo.clipboardText)
this._clipboard.set_text(St.ClipboardType.CLIPBOARD, result.metaInfo.clipboardText);
Main.overview.toggle();
},

View File

@@ -142,15 +142,15 @@ const GnomeShell = new Lang.Class({
for (let param in params)
params[param] = params[param].deep_unpack();
let monitorIndex = -1;
if (params['monitor'] >= 0)
monitorIndex = params['monitor'];
let monitorIndex = params['monitor'] || -1;
let label = params['label'] || undefined;
let level = params['level'] || undefined;
let icon = null;
if (params['icon'])
icon = Gio.Icon.new_for_string(params['icon']);
Main.osdWindowManager.show(monitorIndex, icon, params['label'], params['level']);
Main.osdWindowManager.show(monitorIndex, icon, label, level);
},
FocusApp: function(id) {

View File

@@ -102,8 +102,8 @@ const ATIndicator = new Lang.Class({
if (this._syncMenuVisibilityIdle)
return;
this._syncMenuVisbilityIdle = Mainloop.idle_add(Lang.bind(this, this._syncMenuVisibility));
GLib.Source.set_name_by_id(this._syncMenuVisbilityIdle, '[gnome-shell] this._syncMenuVisibility');
this._syncMenuVisibilityIdle = Mainloop.idle_add(Lang.bind(this, this._syncMenuVisibility));
GLib.Source.set_name_by_id(this._syncMenuVisibilityIdle, '[gnome-shell] this._syncMenuVisibility');
},
_buildItemExtended: function(string, initial_value, writable, on_set) {

View File

@@ -9,6 +9,7 @@ const Main = imports.ui.main;
const PanelMenu = imports.ui.panelMenu;
const PopupMenu = imports.ui.popupMenu;
const ModalDialog = imports.ui.modalDialog;
const PermissionStore = imports.misc.permissionStore;
const Shell = imports.gi.Shell;
const Signals = imports.signals;
const St = imports.gi.St;
@@ -62,26 +63,6 @@ var AgentIface = '<node> \
</interface> \
</node>';
var PermissionStoreIface = '<node> \
<interface name="org.freedesktop.impl.portal.PermissionStore"> \
<method name="Lookup"> \
<arg name="table" type="s" direction="in"/> \
<arg name="id" type="s" direction="in"/> \
<arg name="permissions" type="a{sas}" direction="out"/> \
<arg name="data" type="v" direction="out"/> \
</method> \
<method name="Set"> \
<arg name="table" type="s" direction="in"/> \
<arg name="create" type="b" direction="in"/> \
<arg name="id" type="s" direction="in"/> \
<arg name="app_permissions" type="a{sas}" direction="in"/> \
<arg name="data" type="v" direction="in"/> \
</method> \
</interface> \
</node>';
const PermissionStore = Gio.DBusProxy.makeProxyWrapper(PermissionStoreIface);
const Indicator = new Lang.Class({
Name: 'LocationIndicator',
Extends: PanelMenu.SystemIndicator,
@@ -253,10 +234,7 @@ const Indicator = new Lang.Class({
_connectToPermissionStore: function() {
this._permStoreProxy = null;
new PermissionStore(Gio.DBus.session,
'org.freedesktop.impl.portal.PermissionStore',
'/org/freedesktop/impl/portal/PermissionStore',
Lang.bind(this, this._onPermStoreProxyReady));
new PermissionStore.PermissionStore(Lang.bind(this, this._onPermStoreProxyReady), null);
},
_onPermStoreProxyReady: function(proxy, error) {

View File

@@ -769,6 +769,14 @@ const NMWirelessDialog = new Lang.Class({
this._scanTimeoutId = Mainloop.timeout_add_seconds(15, Lang.bind(this, this._onScanTimeout));
GLib.Source.set_name_by_id(this._scanTimeoutId, '[gnome-shell] this._onScanTimeout');
this._onScanTimeout();
let id = Main.sessionMode.connect('updated', () => {
if (Main.sessionMode.allowSettings)
return;
Main.sessionMode.disconnect(id);
this.close();
});
},
destroy: function() {
@@ -1354,7 +1362,11 @@ const NMDeviceWireless = new Lang.Class({
if (!this._device.active_connection)
return false;
let connection = this._settings.get_connection_by_path(this._device.active_connection.connection);
let connectionPath = this._device.active_connection.connection;
if (!connectionPath)
return false;
let connection = this._settings.get_connection_by_path(connectionPath);
if (!connection)
return false;
@@ -1697,6 +1709,7 @@ const NMApplet = new Lang.Class({
this._mainConnection = null;
this._mainConnectionIconChangedId = 0;
this._mainConnectionStateChangedId = 0;
this._notification = null;

View File

@@ -42,9 +42,15 @@ const AltSwitcher = new Lang.Class({
_init: function(standard, alternate) {
this._standard = standard;
this._standard.connect('notify::visible', Lang.bind(this, this._sync));
if (this._standard instanceof St.Button)
this._standard.connect('clicked',
() => { this._clickAction.release(); });
this._alternate = alternate;
this._alternate.connect('notify::visible', Lang.bind(this, this._sync));
if (this._alternate instanceof St.Button)
this._alternate.connect('clicked',
() => { this._clickAction.release(); });
this._capturedEventId = global.stage.connect('captured-event', Lang.bind(this, this._onCapturedEvent));

View File

@@ -10,6 +10,7 @@ const Signals = imports.signals;
const Lang = imports.lang;
const Shell = imports.gi.Shell;
const St = imports.gi.St;
const GObject = imports.gi.GObject;
const AppDisplay = imports.ui.appDisplay;
const Main = imports.ui.main;
@@ -77,7 +78,7 @@ Signals.addSignalMethods(TouchpadShowOverviewAction.prototype);
const ShowOverviewAction = new Lang.Class({
Name: 'ShowOverviewAction',
Extends: Clutter.GestureAction,
Signals: { 'activated': {} },
Signals: { 'activated': { param_types: [GObject.TYPE_DOUBLE] } },
_init : function() {
this.parent();

View File

@@ -18,6 +18,7 @@ const ModalDialog = imports.ui.modalDialog;
const Tweener = imports.ui.tweener;
const WindowMenu = imports.ui.windowMenu;
const PadOsd = imports.ui.padOsd;
const EdgeDragAction = imports.ui.edgeDragAction;
const SHELL_KEYBINDINGS_SCHEMA = 'org.gnome.shell.keybindings';
const MINIMIZE_WINDOW_ANIMATION_TIME = 0.2;
@@ -996,6 +997,12 @@ const WindowManager = new Lang.Class({
gesture = new AppSwitchAction();
gesture.connect('activated', Lang.bind(this, this._switchApp));
global.stage.add_action(gesture);
gesture = new EdgeDragAction.EdgeDragAction(St.Side.BOTTOM, Shell.ActionMode.ALL);
gesture.connect('activated', Lang.bind(this, function() {
Main.keyboard.show(Main.layoutManager.bottomIndex);
}));
global.stage.add_action(gesture);
},
_showPadOsd: function (display, device, settings, imagePath, editionMode, monitorIndex) {
@@ -1607,7 +1614,7 @@ const WindowManager = new Lang.Class({
return;
}
switch (actor._windowType) {
switch (actor.meta_window.window_type) {
case Meta.WindowType.NORMAL:
actor.set_pivot_point(0.5, 0.5);
this._destroying.push(actor);

View File

@@ -97,8 +97,6 @@ const WindowMenu = new Lang.Class({
if (window.is_always_on_all_workspaces())
item.setSensitive(false);
let nWorkspaces = global.screen.n_workspaces;
if (!isSticky) {
let workspace = window.get_workspace();
if (workspace != workspace.get_neighbor(Meta.MotionDirection.LEFT)) {

View File

@@ -471,6 +471,10 @@ const WindowOverlay = new Lang.Class({
this.title = title;
this.closeButton = button;
// Don't block drop targets
Shell.util_set_hidden_from_pick(this.title, true);
Shell.util_set_hidden_from_pick(this.border, true);
parentActor.add_actor(this.title);
parentActor.add_actor(this.border);
parentActor.add_actor(this.closeButton);
@@ -1096,6 +1100,7 @@ const Workspace = new Lang.Class({
_init : function(metaWorkspace, monitorIndex) {
// When dragging a window, we use this slot for reserve space.
this._reservedSlot = null;
this._reservedSlotWindow = null;
this.metaWorkspace = metaWorkspace;
// The full geometry is the geometry we should try and position

View File

@@ -24,9 +24,10 @@ const XdndHandler = new Lang.Class({
if (!Meta.is_wayland_compositor())
global.init_xdnd();
global.connect('xdnd-enter', Lang.bind(this, this._onEnter));
global.connect('xdnd-position-changed', Lang.bind(this, this._onPositionChanged));
global.connect('xdnd-leave', Lang.bind(this, this._onLeave));
var dnd = Meta.get_backend().get_dnd();
dnd.connect('dnd-enter', Lang.bind(this, this._onEnter));
dnd.connect('dnd-position-change', Lang.bind(this, this._onPositionChanged));
dnd.connect('dnd-leave', Lang.bind(this, this._onLeave));
this._windowGroupVisibilityHandlerId = 0;
},

1301
po/ar.po

File diff suppressed because it is too large Load Diff

619
po/be.po

File diff suppressed because it is too large Load Diff

1398
po/ca.po

File diff suppressed because it is too large Load Diff

580
po/cs.po

File diff suppressed because it is too large Load Diff

900
po/da.po

File diff suppressed because it is too large Load Diff

636
po/de.po

File diff suppressed because it is too large Load Diff

830
po/el.po

File diff suppressed because it is too large Load Diff

441
po/es.po

File diff suppressed because it is too large Load Diff

251
po/eu.po
View File

@@ -8,10 +8,10 @@
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-02-16 15:58+0000\n"
"PO-Revision-Date: 2017-02-16 21:59+0100\n"
"POT-Creation-Date: 2017-03-02 17:52+0000\n"
"PO-Revision-Date: 2017-03-03 12:35+0100\n"
"Last-Translator: Iñaki Larrañaga Murgoitio <dooteo@zundan.com>\n"
"Language-Team: Basque <librezale@librezale.eus>\n"
"Language: eu\n"
@@ -48,7 +48,6 @@ msgstr "Ireki aplikazioen menua"
#: data/gnome-shell-extension-prefs.desktop.in.in:4
#: js/extensionPrefs/main.js:149
#| msgid "GNOME Shell Extensions"
msgid "Shell Extensions"
msgstr "Shell-eko gehigarriak"
@@ -102,8 +101,8 @@ msgid ""
"Disable all extensions the user has enabled without affecting the “enabled-"
"extension” setting."
msgstr ""
"“enabled-extension” ezarpenari eragin gabe erabiltzaileak "
"gaitutako gehigarri guztiak desgaitu."
"“enabled-extension” ezarpenari eragin gabe erabiltzaileak gaitutako "
"gehigarri guztiak desgaitu."
#: data/org.gnome.shell.gschema.xml.in:34
msgid "Disables the validation of extension version compatibility"
@@ -149,14 +148,10 @@ msgid "History for the looking glass dialog"
msgstr "Ikuskatzailearen elkarrizketa-koadroaren historia"
#: data/org.gnome.shell.gschema.xml.in:67
#| msgid "Always show the 'Log out' menu item in the user menu."
msgid "Always show the “Log out” menu item in the user menu."
msgstr "Erakutsi beti erabiltzaile-menuko “Amaitu saioa“ menu-elementua."
#: data/org.gnome.shell.gschema.xml.in:68
#| msgid ""
#| "This key overrides the automatic hiding of the 'Log out' menu item in "
#| "single-user, single-session situations."
msgid ""
"This key overrides the automatic hiding of the “Log out” menu item in single-"
"user, single-session situations."
@@ -172,11 +167,6 @@ msgstr ""
"den ala ez"
#: data/org.gnome.shell.gschema.xml.in:76
#| msgid ""
#| "The shell will request a password when an encrypted device or a remote "
#| "filesystem is mounted. If the password can be saved for future use a "
#| "'Remember Password' checkbox will be present. This key sets the default "
#| "state of the checkbox."
msgid ""
"The shell will request a password when an encrypted device or a remote "
"filesystem is mounted. If the password can be saved for future use a "
@@ -216,14 +206,10 @@ msgid "Keybinding to open the application menu."
msgstr "Aplikazioen menua irekitzeko laster-tekla."
#: data/org.gnome.shell.gschema.xml.in:108
#| msgid "Keybinding to open the \"Show Applications\" view"
msgid "Keybinding to open the “Show Applications” view"
msgstr "“Erakutsi aplikazioak“ bista irekitzeko laster-tekla"
#: data/org.gnome.shell.gschema.xml.in:109
#| msgid ""
#| "Keybinding to open the \"Show Applications\" view of the Activities "
#| "Overview."
msgid ""
"Keybinding to open the “Show Applications” view of the Activities Overview."
msgstr ""
@@ -287,10 +273,6 @@ msgid "The application icon mode."
msgstr "Aplikazio-ikonoaren modua."
#: data/org.gnome.shell.gschema.xml.in:177
#| 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'."
msgid ""
"Configures how the windows are shown in the switcher. Valid possibilities "
"are “thumbnail-only” (shows a thumbnail of the window), “app-icon-"
@@ -419,36 +401,91 @@ msgstr "Autentifikazio-errorea"
msgid "(or swipe finger)"
msgstr "(edo lerratu hatza)"
#: js/misc/util.js:119
#: js/misc/util.js:122
msgid "Command not found"
msgstr "Ez da komandoa aurkitu"
#. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer
#: js/misc/util.js:152
#: js/misc/util.js:155
msgid "Could not parse command:"
msgstr "Ezin izan da komandoa analizatu:"
#: js/misc/util.js:160
#: js/misc/util.js:163
#, javascript-format
msgid "Execution of “%s” failed:"
msgstr "Huts egin du '%s' exekutatzean:"
#: js/misc/util.js:180
msgid "Just now"
msgstr "Orain"
#: js/misc/util.js:182
#, javascript-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "duela minutu %d"
msgstr[1] "duela %d minutu"
#: js/misc/util.js:185
#, javascript-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
msgstr[0] "duela ordu %d"
msgstr[1] "duela %d ordu"
#: js/misc/util.js:188
#| msgid "Yesterday, %H%M"
msgid "Yesterday"
msgstr "Atzo"
#: js/misc/util.js:190
#, javascript-format
msgid "%d day ago"
msgid_plural "%d days ago"
msgstr[0] "duela egun %d"
msgstr[1] "duela %d egun"
#: js/misc/util.js:193
#, javascript-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
msgstr[0] "duela aste %d"
msgstr[1] "duela %d aste"
#: js/misc/util.js:196
#, javascript-format
#| msgid "%d minute ago"
#| msgid_plural "%d minutes ago"
msgid "%d month ago"
msgid_plural "%d months ago"
msgstr[0] "duela hilabete %d"
msgstr[1] "duela %d hilabete"
#: js/misc/util.js:198
#, javascript-format
#| msgid "%d day ago"
#| msgid_plural "%d days ago"
msgid "%d year ago"
msgid_plural "%d years ago"
msgstr[0] "duela urte %d"
msgstr[1] "duela %d urte"
#. Translators: Time in 24h format
#: js/misc/util.js:191
#: js/misc/util.js:229
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"
#: js/misc/util.js:197
#: js/misc/util.js:235
#, no-c-format
msgid "Yesterday, %H%M"
msgstr "Atzo, %H:%M"
#. Translators: this is the week day name followed by a time
#. string in 24h format. i.e. "Monday, 14:30"
#: js/misc/util.js:203
#: js/misc/util.js:241
#, no-c-format
msgid "%A, %H%M"
msgstr "%A, %H%M"
@@ -456,7 +493,7 @@ 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"
#: js/misc/util.js:209
#: js/misc/util.js:247
#, no-c-format
msgid "%B %d, %H%M"
msgstr "%B %d, %H%M"
@@ -464,26 +501,26 @@ 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"
#: js/misc/util.js:215
#: js/misc/util.js:253
#, no-c-format
msgid "%B %d %Y, %H%M"
msgstr "%Y %B %d, %H%M"
#. Translators: Time in 12h format
#: js/misc/util.js:220
#: js/misc/util.js:258
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"
#: js/misc/util.js:226
#: js/misc/util.js:264
#, no-c-format
msgid "Yesterday, %l%M %p"
msgstr "Atzo, %I:%M %p"
#. Translators: this is the week day name followed by a time
#. string in 12h format. i.e. "Monday, 2:30 pm"
#: js/misc/util.js:232
#: js/misc/util.js:270
#, no-c-format
msgid "%A, %l%M %p"
msgstr "%A, %l%M %p"
@@ -491,7 +528,7 @@ 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"
#: js/misc/util.js:238
#: js/misc/util.js:276
#, no-c-format
msgid "%B %d, %l%M %p"
msgstr "%B %d, %l%M %p"
@@ -499,7 +536,7 @@ 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"
#: js/misc/util.js:244
#: js/misc/util.js:282
#, no-c-format
msgid "%B %d %Y, %l%M %p"
msgstr "%Y %B %d, %l%M %p"
@@ -514,9 +551,9 @@ msgid ""
"Your connection to this hotspot login is not secure. Passwords or other "
"information you enter on this page can be viewed by people nearby."
msgstr ""
"Wifigune honetarako saio-hasierako zure konexioa ez da segurua. "
"Orri honetan sartzen dituzun pasahitzak edo bestelako informazioak "
"inguruko beste jendeek ikus ditzakete."
"Wifigune honetarako saio-hasierako zure konexioa ez da segurua. Orri honetan "
"sartzen dituzun pasahitzak edo bestelako informazioak inguruko beste jendeek "
"ikus ditzakete."
#. No support for non-modal system dialogs, so ignore the option
#. let modal = options['modal'] || true;
@@ -675,37 +712,34 @@ msgstr "%V. astea"
#. 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:721
#: js/ui/calendar.js:729
msgctxt "event list time"
msgid "All Day"
msgstr "Egun osoa"
#: js/ui/calendar.js:836
msgid "Events"
msgstr "Gertaerak"
#: js/ui/calendar.js:845
#: js/ui/calendar.js:862
msgctxt "calendar heading"
msgid "%A, %B %d"
msgstr "%A, %B %d"
#: js/ui/calendar.js:849
#: js/ui/calendar.js:866
msgctxt "calendar heading"
msgid "%A, %B %d, %Y"
msgstr "%A, %Y(e)ko %Bren %da"
#: js/ui/calendar.js:931
msgid "Notifications"
msgstr "Jakinarazpenak"
#: js/ui/calendar.js:1082
#: js/ui/calendar.js:1086
msgid "No Notifications"
msgstr "Jakinarazpenik ez"
#: js/ui/calendar.js:1085
#: js/ui/calendar.js:1089
msgid "No Events"
msgstr "Gertaerarik ez"
#: js/ui/calendar.js:1117
#| msgid "Clear"
msgid "Clear All"
msgstr "Garbitu dena"
#: js/ui/components/automountManager.js:91
msgid "External drive connected"
msgstr "Kanpoko unitatea konektatuta"
@@ -824,13 +858,12 @@ msgstr "Autentifikatu"
#. * because of an authentication error (like invalid password),
#. * for instance.
#: js/ui/components/polkitAgent.js:301 js/ui/shellMountOperation.js:383
#| msgid "Sorry, that didn't work. Please try again."
msgid "Sorry, that didnt work. Please try again."
msgstr "Huts egin du. Saiatu berriro."
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
#: js/ui/components/telepathyClient.js:765
#: js/ui/components/telepathyClient.js:767
#, javascript-format
msgid "%s is now known as %s"
msgstr "%s orain %s izenarekin ezagutzen da"
@@ -852,7 +885,7 @@ msgstr "Atrakagarria"
#. 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
#: js/ui/dateMenu.js:75
msgid "%B %e %Y"
msgstr "%Y(e)ko %Bren %e(a)"
@@ -860,18 +893,68 @@ msgstr "%Y(e)ko %Bren %e(a)"
#. * 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
#: js/ui/dateMenu.js:82
msgid "%A %B %e %Y"
msgstr "%A, %Y(e)ko %Bren %e(a)"
#: js/ui/dateMenu.js:160
#: js/ui/dateMenu.js:144
msgid "Add world clocks…"
msgstr "Gehitu munduko erlojuak…"
#: js/ui/dateMenu.js:161
#: js/ui/dateMenu.js:145
msgid "World Clocks"
msgstr "Munduko erlojuak"
#: js/ui/dateMenu.js:224
msgid "Weather"
msgstr "Eguraldia"
#. Translators: %s is a weather condition like "Clear sky"; see
#. libgweather for the possible condition strings. If at all
#. possible, the sentence should match the grammatical case etc. of
#. the inserted conditions.
#: js/ui/dateMenu.js:281
#, javascript-format
msgid "%s all day."
msgstr "%s egun osoan."
#. Translators: %s is a weather condition like "Clear sky"; see
#. libgweather for the possible condition strings. If at all
#. possible, the sentence should match the grammatical case etc. of
#. the inserted conditions.
#: js/ui/dateMenu.js:287
#, javascript-format
msgid "%s, then %s later."
msgstr "%s, gero %s."
#. Translators: %s is a weather condition like "Clear sky"; see
#. libgweather for the possible condition strings. If at all
#. possible, the sentence should match the grammatical case etc. of
#. the inserted conditions.
#: js/ui/dateMenu.js:293
#, javascript-format
msgid "%s, then %s, followed by %s later."
msgstr "%s, gero %s, eta jarraitzeko %s."
#: js/ui/dateMenu.js:300
#| msgid "Searching…"
msgid "Loading…"
msgstr "Kargatzen…"
#. Translators: %s is a temperature with unit, e.g. "23℃"
#: js/ui/dateMenu.js:306
#, javascript-format
msgid "Feels like %s."
msgstr "%s dirudi."
#: js/ui/dateMenu.js:309
msgid "Go online for weather information"
msgstr "Konektatu eguraldiaren informazioa lortzeko"
#: js/ui/dateMenu.js:311
msgid "Weather information is currently unavailable"
msgstr "Eguraldiaren informazioa unean ez dago eskuragarri"
#: js/ui/endSessionDialog.js:64
#, javascript-format
msgctxt "title"
@@ -1091,26 +1174,18 @@ msgstr "Ikusi iturburua"
msgid "Web Page"
msgstr "Web orria"
#: js/ui/messageList.js:543
msgid "Clear section"
msgstr "Garbitu atala"
#: js/ui/messageTray.js:1486
#: js/ui/messageTray.js:1493
msgid "System Information"
msgstr "Sistemaren informazioa"
#: js/ui/mpris.js:194
#: js/ui/mpris.js:211
msgid "Unknown artist"
msgstr "Artista ezezaguna"
#: js/ui/mpris.js:195
#: js/ui/mpris.js:212
msgid "Unknown title"
msgstr "Titulu ezezaguna"
#: js/ui/mpris.js:217
msgid "Media"
msgstr "Euskarria"
#: js/ui/overview.js:84
msgid "Undo"
msgstr "Desegin"
@@ -1563,7 +1638,6 @@ msgid "%s Not Connected"
msgstr "'%s' konektatu gabe"
#: js/ui/status/network.js:1434
#| msgid "connecting..."
msgid "connecting…"
msgstr "konektatzen…"
@@ -1623,7 +1697,6 @@ msgid "Activation of network connection failed"
msgstr "Sareko konexioa aktibatzeak huts egin du"
#: js/ui/status/nightLight.js:68
#| msgid "Networking is disabled"
msgid "Night Light Disabled"
msgstr "“Gaueko argia“ desgaituta"
@@ -1863,7 +1936,6 @@ msgid "Mode used by GDM for login screen"
msgstr "GDMk erabiltzen duen modua saio-hasierako pantailarako"
#: src/main.c:393
#| msgid "Use a specific mode, e.g. \"gdm\" for login screen"
msgid "Use a specific mode, e.g. “gdm” for login screen"
msgstr "Erabili modu jakin bat, adib. “gdm“, saioa hasteko pantailarako"
@@ -1893,6 +1965,18 @@ msgstr "Pasahitza ezin da hutsa izan"
msgid "Authentication dialog was dismissed by the user"
msgstr "Erabiltzaileak autentifikatzeko elkarrizketa-koadroa itxi du"
#~ msgid "Events"
#~ msgstr "Gertaerak"
#~ msgid "Notifications"
#~ msgstr "Jakinarazpenak"
#~ msgid "Clear section"
#~ msgstr "Garbitu atala"
#~ msgid "Media"
#~ msgstr "Euskarria"
#~ msgid "GNOME Shell Extension Preferences"
#~ msgstr "GNOME Shell-eko gehigarrien hobespenak"
@@ -2558,9 +2642,6 @@ msgstr "Erabiltzaileak autentifikatzeko elkarrizketa-koadroa itxi du"
#~ msgid "tray"
#~ msgstr "erretilua"
#~ msgid "Clear"
#~ msgstr "Garbitu"
#~ msgid "More..."
#~ msgstr "Gehiago..."
@@ -2745,23 +2826,3 @@ msgstr "Erabiltzaileak autentifikatzeko elkarrizketa-koadroa itxi du"
#~ msgid "Less than a minute ago"
#~ msgstr "Minutu bat baino gutxiago"
#~ msgid "%d minute ago"
#~ msgid_plural "%d minutes ago"
#~ msgstr[0] "duela minutu %d"
#~ msgstr[1] "duela %d minutu"
#~ msgid "%d hour ago"
#~ msgid_plural "%d hours ago"
#~ msgstr[0] "duela ordu %d"
#~ msgstr[1] "duela %d ordu"
#~ msgid "%d day ago"
#~ msgid_plural "%d days ago"
#~ msgstr[0] "duela egun %d"
#~ msgstr[1] "duela %d egun"
#~ msgid "%d week ago"
#~ msgid_plural "%d weeks ago"
#~ msgstr[0] "duela aste %d"
#~ msgstr[1] "duela %d aste"

401
po/fi.po
View File

@@ -24,10 +24,10 @@
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-02-16 21:00+0000\n"
"PO-Revision-Date: 2017-02-18 20:39+0200\n"
"POT-Creation-Date: 2017-03-20 18:14+0000\n"
"PO-Revision-Date: 2017-03-21 12:48+0200\n"
"Last-Translator: Jiri Grönroos <jiri.gronroos+l10n@iki.fi>\n"
"Language-Team: suomi <lokalisointi-lista@googlegroups.com>\n"
"Language: fi\n"
@@ -66,7 +66,6 @@ msgstr "Avaa sovellusvalikko"
#: data/gnome-shell-extension-prefs.desktop.in.in:4
#: js/extensionPrefs/main.js:149
#| msgid "GNOME Shell Extensions"
msgid "Shell Extensions"
msgstr "Shell-laajennukset"
@@ -170,14 +169,10 @@ msgid "History for the looking glass dialog"
msgstr "Historia näyttölasi-ikkunalle"
#: data/org.gnome.shell.gschema.xml.in:67
#| msgid "Always show the 'Log out' menu item in the user menu."
msgid "Always show the “Log out” menu item in the user menu."
msgstr "Näytä aina “Kirjaudu ulos”-toiminto käyttäjävalikossa."
#: data/org.gnome.shell.gschema.xml.in:68
#| msgid ""
#| "This key overrides the automatic hiding of the 'Log out' menuitem in "
#| "single-user, single-session situations."
msgid ""
"This key overrides the automatic hiding of the “Log out” menu item in single-"
"user, single-session situations."
@@ -364,7 +359,7 @@ msgstr "Kohteen %s asetusikkunaa ladataessa tapahtui virhe:"
#: js/gdm/authPrompt.js:149 js/ui/audioDeviceSelection.js:71
#: js/ui/components/networkAgent.js:145 js/ui/components/polkitAgent.js:179
#: js/ui/endSessionDialog.js:482 js/ui/extensionDownloader.js:195
#: js/ui/shellMountOperation.js:399 js/ui/status/network.js:939
#: js/ui/shellMountOperation.js:399 js/ui/status/network.js:947
msgid "Cancel"
msgstr "Peru"
@@ -412,7 +407,7 @@ msgstr "Käyttäjänimi: "
msgid "Login Window"
msgstr "Kirjautumisikkuna"
#: js/gdm/util.js:341
#: js/gdm/util.js:342
msgid "Authentication error"
msgstr "Tunnistautumisvirhe"
@@ -421,40 +416,90 @@ msgstr "Tunnistautumisvirhe"
#. 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
#: js/gdm/util.js:474
msgid "(or swipe finger)"
msgstr "(tai pyyhkäise sormella)"
#: js/misc/util.js:119
#: js/misc/util.js:122
msgid "Command not found"
msgstr "Komentoa ei löydy"
#. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer
#: js/misc/util.js:152
#: js/misc/util.js:155
msgid "Could not parse command:"
msgstr "Komentoa ei voi jäsentää:"
#: js/misc/util.js:160
#: js/misc/util.js:163
#, javascript-format
msgid "Execution of “%s” failed:"
msgstr "Kohteen ”%s” suorittaminen epäonnistui:"
#: js/misc/util.js:180
msgid "Just now"
msgstr "Juuri nyt"
#: js/misc/util.js:182
#, javascript-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "%d minuutti sitten"
msgstr[1] "%d minuuttia sitten"
#: js/misc/util.js:185
#, javascript-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
msgstr[0] "%d tunti sitten"
msgstr[1] "%d tuntia sitten"
#: js/misc/util.js:188
msgid "Yesterday"
msgstr "Eilen"
#: js/misc/util.js:190
#, javascript-format
msgid "%d day ago"
msgid_plural "%d days ago"
msgstr[0] "%d päivä sitten"
msgstr[1] "%d päivää sitten"
#: js/misc/util.js:193
#, javascript-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
msgstr[0] "%d viikko sitten"
msgstr[1] "%d viikkoa sitten"
#: js/misc/util.js:196
#, javascript-format
msgid "%d month ago"
msgid_plural "%d months ago"
msgstr[0] "%d kuukausi sitten"
msgstr[1] "%d kuukautta sitten"
#: js/misc/util.js:198
#, javascript-format
msgid "%d year ago"
msgid_plural "%d years ago"
msgstr[0] "%d vuosi sitten"
msgstr[1] "%d vuotta sitten"
#. Translators: Time in 24h format
#: js/misc/util.js:191
#: js/misc/util.js:229
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"
#: js/misc/util.js:197
#: js/misc/util.js:235
#, no-c-format
msgid "Yesterday, %H%M"
msgstr "Eilen, %H%M"
#. Translators: this is the week day name followed by a time
#. string in 24h format. i.e. "Monday, 14:30"
#: js/misc/util.js:203
#: js/misc/util.js:241
#, no-c-format
msgid "%A, %H%M"
msgstr "%A, %H%M"
@@ -462,7 +507,7 @@ 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"
#: js/misc/util.js:209
#: js/misc/util.js:247
#, no-c-format
msgid "%B %d, %H%M"
msgstr "%e. %Bta, %H%M"
@@ -470,26 +515,26 @@ msgstr "%e. %Bta, %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"
#: js/misc/util.js:215
#: js/misc/util.js:253
#, no-c-format
msgid "%B %d %Y, %H%M"
msgstr "%e. %Bta %Y, %H%M"
#. Translators: Time in 12h format
#: js/misc/util.js:220
#: js/misc/util.js:258
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"
#: js/misc/util.js:226
#: js/misc/util.js:264
#, no-c-format
msgid "Yesterday, %l%M %p"
msgstr "Eilen, %l%M %p"
#. Translators: this is the week day name followed by a time
#. string in 12h format. i.e. "Monday, 2:30 pm"
#: js/misc/util.js:232
#: js/misc/util.js:270
#, no-c-format
msgid "%A, %l%M %p"
msgstr "%A, %l%M %p"
@@ -497,7 +542,7 @@ 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"
#: js/misc/util.js:238
#: js/misc/util.js:276
#, no-c-format
msgid "%B %d, %l%M %p"
msgstr "%B %d, %l%M %p"
@@ -505,7 +550,7 @@ 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"
#: js/misc/util.js:244
#: js/misc/util.js:282
#, no-c-format
msgid "%B %d %Y, %l%M %p"
msgstr "%B %d %Y, %l%M %p"
@@ -525,11 +570,11 @@ msgstr ""
#. No support for non-modal system dialogs, so ignore the option
#. let modal = options['modal'] || true;
#: js/ui/accessDialog.js:62 js/ui/status/location.js:427
#: js/ui/accessDialog.js:62 js/ui/status/location.js:405
msgid "Deny Access"
msgstr "Estä pääsy"
#: js/ui/accessDialog.js:63 js/ui/status/location.js:430
#: js/ui/accessDialog.js:63 js/ui/status/location.js:408
msgid "Grant Access"
msgstr "Salli pääsy"
@@ -680,37 +725,33 @@ msgstr "Viikko %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:721
#: js/ui/calendar.js:729
msgctxt "event list time"
msgid "All Day"
msgstr "Koko päivä"
#: js/ui/calendar.js:836
msgid "Events"
msgstr "Tapahtumat"
#: js/ui/calendar.js:845
#: js/ui/calendar.js:862
msgctxt "calendar heading"
msgid "%A, %B %d"
msgstr "%A, %e. %Bta"
#: js/ui/calendar.js:849
#: js/ui/calendar.js:866
msgctxt "calendar heading"
msgid "%A, %B %d, %Y"
msgstr "%A, %e. %Bta %Y"
#: js/ui/calendar.js:931
msgid "Notifications"
msgstr "Ilmoitukset"
#: js/ui/calendar.js:1082
#: js/ui/calendar.js:1086
msgid "No Notifications"
msgstr "Ei ilmoituksia"
#: js/ui/calendar.js:1085
#: js/ui/calendar.js:1089
msgid "No Events"
msgstr "Ei tapahtumia"
#: js/ui/calendar.js:1117
msgid "Clear All"
msgstr "Tyhjennä kaikki"
#: js/ui/components/automountManager.js:91
msgid "External drive connected"
msgstr "Erillinen asema yhdistetty"
@@ -733,7 +774,7 @@ msgid "Type again:"
msgstr "Uudelleen:"
#: js/ui/components/networkAgent.js:140 js/ui/status/network.js:272
#: js/ui/status/network.js:366 js/ui/status/network.js:942
#: js/ui/status/network.js:366 js/ui/status/network.js:950
msgid "Connect"
msgstr "Yhdistä"
@@ -806,7 +847,7 @@ msgstr "Mobiililaajakaistan verkkosalasana"
msgid "A password is required to connect to “%s”."
msgstr "Salasana vaaditaan kohteeseen \"%s\" yhdistämiseksi."
#: js/ui/components/networkAgent.js:655 js/ui/status/network.js:1747
#: js/ui/components/networkAgent.js:655 js/ui/status/network.js:1755
msgid "Network Manager"
msgstr "Verkon hallinta"
@@ -827,13 +868,12 @@ msgstr "Tunnistaudu"
#. * because of an authentication error (like invalid password),
#. * for instance.
#: js/ui/components/polkitAgent.js:301 js/ui/shellMountOperation.js:383
#| msgid "Sorry, that didn't work. Please try again."
msgid "Sorry, that didnt work. Please try again."
msgstr "Kirjautuminen epäonnistui. Yritä uudelleen."
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
#: js/ui/components/telepathyClient.js:765
#: js/ui/components/telepathyClient.js:799
#, javascript-format
msgid "%s is now known as %s"
msgstr "%s on nyt nimeltään %s"
@@ -855,7 +895,7 @@ msgstr "Pikavalikko"
#. 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
#: js/ui/dateMenu.js:75
msgid "%B %e %Y"
msgstr "%e. %b %Y"
@@ -863,18 +903,72 @@ msgstr "%e. %b %Y"
#. * 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
#: js/ui/dateMenu.js:82
msgid "%A %B %e %Y"
msgstr "%A, %e. %Bta %Y"
#: js/ui/dateMenu.js:160
#: js/ui/dateMenu.js:144
msgid "Add world clocks…"
msgstr "Lisää maailmankelloja…"
#: js/ui/dateMenu.js:161
#: js/ui/dateMenu.js:145
msgid "World Clocks"
msgstr "Maailmankellot"
#: js/ui/dateMenu.js:224
msgid "Weather"
msgstr "Sää"
#. Translators: %s is a weather condition like "Clear sky"; see
#. libgweather for the possible condition strings. If at all
#. possible, the sentence should match the grammatical case etc. of
#. the inserted conditions.
#: js/ui/dateMenu.js:281
#, javascript-format
msgid "%s all day."
msgstr "%s koko päivän."
#. Translators: %s is a weather condition like "Clear sky"; see
#. libgweather for the possible condition strings. If at all
#. possible, the sentence should match the grammatical case etc. of
#. the inserted conditions.
#: js/ui/dateMenu.js:287
#, javascript-format
msgid "%s, then %s later."
msgstr "%s. %s myöhemmin."
#. Translators: %s is a weather condition like "Clear sky"; see
#. libgweather for the possible condition strings. If at all
#. possible, the sentence should match the grammatical case etc. of
#. the inserted conditions.
#: js/ui/dateMenu.js:293
#, javascript-format
msgid "%s, then %s, followed by %s later."
msgstr "%s. Sen jälkeen %s. Myöhemmin %s."
#: js/ui/dateMenu.js:300
#| msgid "Select a network"
msgid "Select a location…"
msgstr "Valitse sijainti…"
#: js/ui/dateMenu.js:303
msgid "Loading…"
msgstr "Ladataan…"
#. Translators: %s is a temperature with unit, e.g. "23℃"
#: js/ui/dateMenu.js:309
#, javascript-format
msgid "Feels like %s."
msgstr "Tuntuu kuin %s."
#: js/ui/dateMenu.js:312
msgid "Go online for weather information"
msgstr "Yhdistä verkkoon saadaksesi säätietoja"
#: js/ui/dateMenu.js:314
msgid "Weather information is currently unavailable"
msgstr "Säätiedot eivät ole juuri nyt saatavilla"
#: js/ui/endSessionDialog.js:64
#, javascript-format
msgctxt "title"
@@ -1049,74 +1143,66 @@ msgstr "Piilota palkki"
msgid "Status Icons"
msgstr "Tilakuvakkeet"
#: js/ui/lookingGlass.js:643
#: js/ui/lookingGlass.js:642
msgid "No extensions installed"
msgstr "Laajennuksia ei asennettu"
#. Translators: argument is an extension UUID.
#: js/ui/lookingGlass.js:697
#: js/ui/lookingGlass.js:696
#, javascript-format
msgid "%s has not emitted any errors."
msgstr "%s ei ole lähettänyt virheitä."
#: js/ui/lookingGlass.js:703
#: js/ui/lookingGlass.js:702
msgid "Hide Errors"
msgstr "Piilota virheet"
#: js/ui/lookingGlass.js:707 js/ui/lookingGlass.js:767
#: js/ui/lookingGlass.js:706 js/ui/lookingGlass.js:766
msgid "Show Errors"
msgstr "Näytä virheet"
#: js/ui/lookingGlass.js:716
#: js/ui/lookingGlass.js:715
msgid "Enabled"
msgstr "Käytössä"
#. translators:
#. * The device has been disabled
#: js/ui/lookingGlass.js:719 src/gvc/gvc-mixer-control.c:1866
#: js/ui/lookingGlass.js:718 src/gvc/gvc-mixer-control.c:1866
msgid "Disabled"
msgstr "Ei käytössä"
#: js/ui/lookingGlass.js:721
#: js/ui/lookingGlass.js:720
msgid "Error"
msgstr "Virhe"
#: js/ui/lookingGlass.js:723
#: js/ui/lookingGlass.js:722
msgid "Out of date"
msgstr "Ei ajan tasalla"
#: js/ui/lookingGlass.js:725
#: js/ui/lookingGlass.js:724
msgid "Downloading"
msgstr "Noudetaan"
#: js/ui/lookingGlass.js:749
#: js/ui/lookingGlass.js:748
msgid "View Source"
msgstr "Näytä lähde"
#: js/ui/lookingGlass.js:758
#: js/ui/lookingGlass.js:757
msgid "Web Page"
msgstr "Verkkosivusto"
#: js/ui/messageList.js:543
msgid "Clear section"
msgstr "Tyhjennä osio"
#: js/ui/messageTray.js:1486
#: js/ui/messageTray.js:1493
msgid "System Information"
msgstr "Järjestelmän tiedot"
#: js/ui/mpris.js:194
#: js/ui/mpris.js:211
msgid "Unknown artist"
msgstr "Tuntematon esittäjä"
#: js/ui/mpris.js:195
#: js/ui/mpris.js:212
msgid "Unknown title"
msgstr "Tuntematon kappale"
#: js/ui/mpris.js:217
msgid "Media"
msgstr "Media"
#: js/ui/overview.js:84
msgid "Undo"
msgstr "Kumoa"
@@ -1135,49 +1221,49 @@ msgstr "Yleisnäkymä"
msgid "Type to search…"
msgstr "Kirjoita hakeaksesi…"
#: js/ui/padOsd.js:37
#: js/ui/padOsd.js:103
msgid "New shortcut…"
msgstr "Uusi pikanäppäin…"
#: js/ui/padOsd.js:86
#: js/ui/padOsd.js:152
msgid "Application defined"
msgstr "Sovelluksen määrittämä"
#: js/ui/padOsd.js:87
#: js/ui/padOsd.js:153
msgid "Show on-screen help"
msgstr "Näytä ohje"
#: js/ui/padOsd.js:88
#: js/ui/padOsd.js:154
#, fuzzy
#| msgid "Switch User"
msgid "Switch monitor"
msgstr "Vaihda käyttäjää"
#: js/ui/padOsd.js:89
#: js/ui/padOsd.js:155
msgid "Assign keystroke"
msgstr "Määritä painallus"
#: js/ui/padOsd.js:143
#: js/ui/padOsd.js:209
msgid "Done"
msgstr "Valmis"
#: js/ui/padOsd.js:597
#: js/ui/padOsd.js:698
msgid "Edit…"
msgstr "Muokkaa…"
#: js/ui/padOsd.js:610 js/ui/padOsd.js:665
#: js/ui/padOsd.js:738 js/ui/padOsd.js:800
msgid "None"
msgstr "Ei mitään"
#: js/ui/padOsd.js:648
#: js/ui/padOsd.js:783
msgid "Press a button to configure"
msgstr "Paina näppäintä määrittääksesi asetukset"
#: js/ui/padOsd.js:649
#: js/ui/padOsd.js:784
msgid "Press Esc to exit"
msgstr "Paina Esc poistuaksesi"
#: js/ui/padOsd.js:652
#: js/ui/padOsd.js:787
msgid "Press any key to exit"
msgstr "Paina mitä tahansa näppäintä poistuaksesi"
@@ -1213,7 +1299,7 @@ msgstr "toggle-switch-intl"
msgid "Enter a Command"
msgstr "Syötä komento"
#: js/ui/runDialog.js:111 js/ui/windowMenu.js:162
#: js/ui/runDialog.js:111 js/ui/windowMenu.js:160
msgid "Close"
msgstr "Sulje"
@@ -1227,29 +1313,29 @@ msgstr "Käynnistetään uudelleen…"
#. Translators: This is a time format for a date in
#. long format
#: js/ui/screenShield.js:85
#: js/ui/screenShield.js:88
msgid "%A, %B %d"
msgstr "%A, %e. %Bta"
#: js/ui/screenShield.js:144
#: js/ui/screenShield.js:147
#, javascript-format
msgid "%d new message"
msgid_plural "%d new messages"
msgstr[0] "%d uusi viesti"
msgstr[1] "%d uutta viestiä"
#: js/ui/screenShield.js:146
#: js/ui/screenShield.js:149
#, javascript-format
msgid "%d new notification"
msgid_plural "%d new notifications"
msgstr[0] "%d uusi ilmoitus"
msgstr[1] "%d uutta ilmoitusta"
#: js/ui/screenShield.js:449 js/ui/status/system.js:409
#: js/ui/screenShield.js:452 js/ui/status/system.js:409
msgid "Lock"
msgstr "Lukitse"
#: js/ui/screenShield.js:707
#: js/ui/screenShield.js:715
msgid "GNOME needs to lock the screen"
msgstr "Gnomen täytyy lukita näyttö"
@@ -1260,11 +1346,11 @@ msgstr "Gnomen täytyy lukita näyttö"
#.
#. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs
#: js/ui/screenShield.js:828 js/ui/screenShield.js:1295
#: js/ui/screenShield.js:836 js/ui/screenShield.js:1308
msgid "Unable to lock"
msgstr "Lukitus epäonnistui"
#: js/ui/screenShield.js:829 js/ui/screenShield.js:1296
#: js/ui/screenShield.js:837 js/ui/screenShield.js:1309
msgid "Lock was blocked by an application"
msgstr "Lukitus estettiin sovelluksen toimesta"
@@ -1368,13 +1454,13 @@ msgstr "Pois"
msgid "On"
msgstr "Päällä"
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1302
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1310
msgid "Turn On"
msgstr "Ota käyttöön"
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:181
#: js/ui/status/network.js:367 js/ui/status/network.js:1302
#: js/ui/status/network.js:1417 js/ui/status/nightLight.js:47
#: js/ui/status/network.js:367 js/ui/status/network.js:1310
#: js/ui/status/network.js:1425 js/ui/status/nightLight.js:47
#: js/ui/status/rfkill.js:90 js/ui/status/rfkill.js:117
msgid "Turn Off"
msgstr "Sammuta"
@@ -1387,37 +1473,37 @@ msgstr "Kirkkaus"
msgid "Show Keyboard Layout"
msgstr "Näytä näppäimistön asettelu"
#: js/ui/status/location.js:107 js/ui/status/location.js:215
#: js/ui/status/location.js:88 js/ui/status/location.js:196
msgid "Location Enabled"
msgstr "Sijainti käytettävissä"
#: js/ui/status/location.js:108 js/ui/status/location.js:216
#: js/ui/status/location.js:89 js/ui/status/location.js:197
msgid "Disable"
msgstr "Poista käytöstä"
#: js/ui/status/location.js:109
#: js/ui/status/location.js:90
msgid "Privacy Settings"
msgstr "Yksityisyysasetukset"
#: js/ui/status/location.js:214
#: js/ui/status/location.js:195
msgid "Location In Use"
msgstr "Sijainti käytössä"
#: js/ui/status/location.js:218
#: js/ui/status/location.js:199
msgid "Location Disabled"
msgstr "Sijainti pois käytöstä"
#: js/ui/status/location.js:219
#: js/ui/status/location.js:200
msgid "Enable"
msgstr "Käytä"
#. Translators: %s is an application name
#: js/ui/status/location.js:436
#: js/ui/status/location.js:414
#, javascript-format
msgid "Give %s access to your location?"
msgstr "Saako %s käyttää sijaintitietoasi?"
#: js/ui/status/location.js:438
#: js/ui/status/location.js:416
msgid "Location access can be changed at any time from the privacy settings."
msgstr ""
"Sijaintitiedon käyttöoikeuksia voi muuttaa milloin tahansa "
@@ -1428,7 +1514,7 @@ msgid "<unknown>"
msgstr "<tuntematon>"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:465 js/ui/status/network.js:1331
#: js/ui/status/network.js:465 js/ui/status/network.js:1339
#, javascript-format
msgid "%s Off"
msgstr "%s pois"
@@ -1454,7 +1540,7 @@ msgid "%s Disconnecting"
msgstr "%s - Katkaistaan yhteyttä"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:483 js/ui/status/network.js:1323
#: js/ui/status/network.js:483 js/ui/status/network.js:1331
#, javascript-format
msgid "%s Connecting"
msgstr "%s - Yhdistetään"
@@ -1494,7 +1580,7 @@ msgid "Mobile Broadband Settings"
msgstr "Mobiililaajakaistan asetukset"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:602 js/ui/status/network.js:1328
#: js/ui/status/network.js:602 js/ui/status/network.js:1336
#, javascript-format
msgid "%s Hardware Disabled"
msgstr "%s - Laite poistettu käytöstä"
@@ -1510,128 +1596,126 @@ msgstr "%s - Poistettu käytöstä"
msgid "Connect to Internet"
msgstr "Yhdistä internetiin"
#: js/ui/status/network.js:836
#: js/ui/status/network.js:844
msgid "Airplane Mode is On"
msgstr "Lentokonetila on päällä"
#: js/ui/status/network.js:837
#: js/ui/status/network.js:845
msgid "Wi-Fi is disabled when airplane mode is on."
msgstr "Wifi on pois päältä lentokonetilan ollessa päällä."
#: js/ui/status/network.js:838
#: js/ui/status/network.js:846
msgid "Turn Off Airplane Mode"
msgstr "Käytä lentokonetilaa"
#: js/ui/status/network.js:847
#: js/ui/status/network.js:855
msgid "Wi-Fi is Off"
msgstr "Wifi on pois"
#: js/ui/status/network.js:848
#: js/ui/status/network.js:856
msgid "Wi-Fi needs to be turned on in order to connect to a network."
msgstr "Wifin tulee olla päällä, jotta yhteys verkkoon on mahdollinen."
#: js/ui/status/network.js:849
#: js/ui/status/network.js:857
msgid "Turn On Wi-Fi"
msgstr "Ota wifi käyttöön"
#: js/ui/status/network.js:874
#: js/ui/status/network.js:882
msgid "Wi-Fi Networks"
msgstr "Wifi-verkot"
#: js/ui/status/network.js:876
#: js/ui/status/network.js:884
msgid "Select a network"
msgstr "Valitse verkko"
#: js/ui/status/network.js:906
#: js/ui/status/network.js:914
msgid "No Networks"
msgstr "Ei verkkoja"
#: js/ui/status/network.js:927 js/ui/status/rfkill.js:115
#: js/ui/status/network.js:935 js/ui/status/rfkill.js:115
msgid "Use hardware switch to turn off"
msgstr "Käytä laitepainiketta sammuttaaksesi"
#: js/ui/status/network.js:1194
#: js/ui/status/network.js:1202
msgid "Select Network"
msgstr "Valitse verkko"
#: js/ui/status/network.js:1200
#: js/ui/status/network.js:1208
msgid "Wi-Fi Settings"
msgstr "Wifin asetukset"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:1319
#: js/ui/status/network.js:1327
#, javascript-format
msgid "%s Hotspot Active"
msgstr "%s - Yhteyspiste aktiivisena"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:1334
#: js/ui/status/network.js:1342
#, javascript-format
msgid "%s Not Connected"
msgstr "%s - Ei yhdistetty"
#: js/ui/status/network.js:1434
#| msgid "connecting..."
#: js/ui/status/network.js:1442
msgid "connecting…"
msgstr "yhdistetään…"
#. Translators: this is for network connections that require some kind of key or password
#: js/ui/status/network.js:1437
#: js/ui/status/network.js:1445
msgid "authentication required"
msgstr "tunnistautuminen vaaditaan"
#: js/ui/status/network.js:1439
#: js/ui/status/network.js:1447
msgid "connection failed"
msgstr "yhteys katkesi"
#: js/ui/status/network.js:1505 js/ui/status/network.js:1600
#: js/ui/status/network.js:1513 js/ui/status/network.js:1608
#: js/ui/status/rfkill.js:93
msgid "Network Settings"
msgstr "Verkkoasetukset"
#: js/ui/status/network.js:1507
#: js/ui/status/network.js:1515
msgid "VPN Settings"
msgstr "VPN-asetukset"
#: js/ui/status/network.js:1526
#: js/ui/status/network.js:1534
msgid "VPN"
msgstr "VPN"
#: js/ui/status/network.js:1536
#: js/ui/status/network.js:1544
msgid "VPN Off"
msgstr "VPN pois"
#: js/ui/status/network.js:1631
#: js/ui/status/network.js:1639
#, javascript-format
msgid "%s Wired Connection"
msgid_plural "%s Wired Connections"
msgstr[0] "%s kiinteä yhteys"
msgstr[1] "%s kiinteää yhteyttä"
#: js/ui/status/network.js:1635
#: js/ui/status/network.js:1643
#, javascript-format
msgid "%s Wi-Fi Connection"
msgid_plural "%s Wi-Fi Connections"
msgstr[0] "%s wifi-yhteys"
msgstr[1] "%s wifi-yhteyttä"
#: js/ui/status/network.js:1639
#: js/ui/status/network.js:1647
#, javascript-format
msgid "%s Modem Connection"
msgid_plural "%s Modem Connections"
msgstr[0] "%s modeemiyhteys"
msgstr[1] "%s modeemiyhteyttä"
#: js/ui/status/network.js:1786
#: js/ui/status/network.js:1794
msgid "Connection failed"
msgstr "Yhteys epäonnistui"
#: js/ui/status/network.js:1787
#: js/ui/status/network.js:1795
msgid "Activation of network connection failed"
msgstr "Verkkoyhteyden aktivointi epäonnistui"
#: js/ui/status/nightLight.js:68
#| msgid "Networking is disabled"
msgid "Night Light Disabled"
msgstr "Yövalo pois käytöstä"
@@ -1738,22 +1822,22 @@ msgstr "Haku"
msgid "“%s” is ready"
msgstr "“%s” on valmis"
#: js/ui/windowManager.js:83
#: js/ui/windowManager.js:84
msgid "Do you want to keep these display settings?"
msgstr "Haluatko säilyttää nämä näyttöasetukset?"
#. Translators: this and the following message should be limited in lenght,
#. to avoid ellipsizing the labels.
#.
#: js/ui/windowManager.js:102
#: js/ui/windowManager.js:103
msgid "Revert Settings"
msgstr "Palauta asetukset"
#: js/ui/windowManager.js:105
#: js/ui/windowManager.js:106
msgid "Keep Changes"
msgstr "Säilytä muutokset"
#: js/ui/windowManager.js:123
#: js/ui/windowManager.js:124
#, javascript-format
msgid "Settings changes will revert in %d second"
msgid_plural "Settings changes will revert in %d seconds"
@@ -1762,7 +1846,7 @@ msgstr[1] "Asetusmuutokset palautetaan %d sekunnissa"
#. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height.
#: js/ui/windowManager.js:678
#: js/ui/windowManager.js:679
#, javascript-format
msgid "%d × %d"
msgstr "%d × %d"
@@ -1799,35 +1883,35 @@ msgstr "Aina päällimmäisenä"
msgid "Always on Visible Workspace"
msgstr "Aina näkyvissä olevassa työtilassa"
#: js/ui/windowMenu.js:105
#: js/ui/windowMenu.js:103
msgid "Move to Workspace Left"
msgstr "Siirrä vasemmalla olevaan työtilaan"
#: js/ui/windowMenu.js:110
#: js/ui/windowMenu.js:108
msgid "Move to Workspace Right"
msgstr "Siirrä oikealla olevaan työtilaan"
#: js/ui/windowMenu.js:115
#: js/ui/windowMenu.js:113
msgid "Move to Workspace Up"
msgstr "Siirrä ylempänä olevaan työtilaan"
#: js/ui/windowMenu.js:120
#: js/ui/windowMenu.js:118
msgid "Move to Workspace Down"
msgstr "Siirrä alempana olevaan työtilaan"
#: js/ui/windowMenu.js:136
#: js/ui/windowMenu.js:134
msgid "Move to Monitor Up"
msgstr "Siirrä ylempänä olevaan näyttöön"
#: js/ui/windowMenu.js:142
#: js/ui/windowMenu.js:140
msgid "Move to Monitor Down"
msgstr "Siirrä alempana olevaan näyttöön"
#: js/ui/windowMenu.js:148
#: js/ui/windowMenu.js:146
msgid "Move to Monitor Left"
msgstr "Siirrä vasemmalla olevaan näyttöön"
#: js/ui/windowMenu.js:154
#: js/ui/windowMenu.js:152
msgid "Move to Monitor Right"
msgstr "Siirrä oikealla olevaan näyttöön"
@@ -1862,20 +1946,19 @@ msgstr[1] "%u sisääntuloa"
msgid "System Sounds"
msgstr "Järjestelmän äänet"
#: src/main.c:381
#: src/main.c:372
msgid "Print version"
msgstr "Tulosta versio"
#: src/main.c:387
#: src/main.c:378
msgid "Mode used by GDM for login screen"
msgstr "GDM:n kirjautumisruudussa käyttämä tila"
#: src/main.c:393
#| msgid "Use a specific mode, e.g. \"gdm\" for login screen"
#: src/main.c:384
msgid "Use a specific mode, e.g. “gdm” for login screen"
msgstr "Käytä tiettyä tilaa (esim. “gdm”) kirjautumisnäkymää varten"
#: src/main.c:399
#: src/main.c:390
msgid "List possible modes"
msgstr "Listaa mahdolliset tilat"
@@ -1901,6 +1984,18 @@ msgstr "Salasana ei voi olla tyhjä"
msgid "Authentication dialog was dismissed by the user"
msgstr "Käyttäjä poistui tunnistautumisvalintaikkunasta"
#~ msgid "Events"
#~ msgstr "Tapahtumat"
#~ msgid "Notifications"
#~ msgstr "Ilmoitukset"
#~ msgid "Clear section"
#~ msgstr "Tyhjennä osio"
#~ msgid "Media"
#~ msgstr "Media"
#~ msgid "GNOME Shell Extension Preferences"
#~ msgstr "Gnome Shell -laajennusten asetukset"
@@ -2428,11 +2523,6 @@ msgstr "Käyttäjä poistui tunnistautumisvalintaikkunasta"
#~ msgid "Wi-Fi"
#~ msgstr "Wi-Fi"
#~ msgid "%d hour remaining"
#~ msgid_plural "%d hours remaining"
#~ msgstr[0] "%d tunti jäljellä"
#~ msgstr[1] "%d tuntia jäljellä"
#~ msgid "%d %s %d %s remaining"
#~ msgstr "%d %s %d %s jäljellä"
@@ -2446,11 +2536,6 @@ msgstr "Käyttäjä poistui tunnistautumisvalintaikkunasta"
#~ msgstr[0] "minuutti"
#~ msgstr[1] "minuuttia"
#~ msgid "%d minute remaining"
#~ msgid_plural "%d minutes remaining"
#~ msgstr[0] "%d minuutti jäljellä"
#~ msgstr[1] "%d minuuttia jäljellä"
#~| msgid "AC adapter"
#~ msgid "AC Adapter"
#~ msgstr "Virtalähde"

702
po/fr.po

File diff suppressed because it is too large Load Diff

415
po/fur.po
View File

@@ -8,17 +8,41 @@ msgstr ""
"Project-Id-Version: video-subtitles master\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-02-22 19:28+0000\n"
"PO-Revision-Date: 2017-02-24 00:39+0100\n"
"POT-Creation-Date: 2017-03-20 18:14+0000\n"
"PO-Revision-Date: 2017-03-23 22:55+0100\n"
"Last-Translator: Fabio Tomat <f.t.public@gmail.com>\n"
"Language-Team: Friulian <fur@li.org>\n"
"Language: fur\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.11\n"
"X-Generator: Poedit 1.8.12\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: data/50-gnome-shell-system.xml:6
msgid "System"
msgstr "Sisteme"
#: data/50-gnome-shell-system.xml:9
msgid "Show the notification list"
msgstr "Mostre la liste des notifichis"
#: data/50-gnome-shell-system.xml:12
msgid "Focus the active notification"
msgstr "Met il focus ae notifiche ative"
#: data/50-gnome-shell-system.xml:15
msgid "Show the overview"
msgstr "Mostre la panoramiche"
#: data/50-gnome-shell-system.xml:18
msgid "Show all applications"
msgstr "Mostre dutis lis aplicazions"
#: data/50-gnome-shell-system.xml:21
msgid "Open the application menu"
msgstr "Vierç il menù aplicazions"
#: data/gnome-shell-extension-prefs.desktop.in.in:4
#: js/extensionPrefs/main.js:149
msgid "Shell Extensions"
@@ -317,7 +341,7 @@ msgstr ""
#: js/gdm/authPrompt.js:149 js/ui/audioDeviceSelection.js:71
#: js/ui/components/networkAgent.js:145 js/ui/components/polkitAgent.js:179
#: js/ui/endSessionDialog.js:482 js/ui/extensionDownloader.js:195
#: js/ui/shellMountOperation.js:399 js/ui/status/network.js:939
#: js/ui/shellMountOperation.js:399 js/ui/status/network.js:947
msgid "Cancel"
msgstr "Anule"
@@ -365,7 +389,7 @@ msgstr "Non utent:"
msgid "Login Window"
msgstr "Barcon di acès"
#: js/gdm/util.js:341
#: js/gdm/util.js:342
msgid "Authentication error"
msgstr "Erôr di autenticazion"
@@ -374,40 +398,90 @@ msgstr "Erôr di autenticazion"
#. 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
#: js/gdm/util.js:474
msgid "(or swipe finger)"
msgstr "(o passe cul dêt)"
#: js/misc/util.js:119
#: js/misc/util.js:122
msgid "Command not found"
msgstr "Comant no cjatât"
#. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer
#: js/misc/util.js:152
#: js/misc/util.js:155
msgid "Could not parse command:"
msgstr "Impussibil analizâ il comant:"
#: js/misc/util.js:160
#: js/misc/util.js:163
#, javascript-format
msgid "Execution of “%s” failed:"
msgstr "Esecuzion di '%s' falide:"
#: js/misc/util.js:180
msgid "Just now"
msgstr "Propite cumò"
#: js/misc/util.js:182
#, javascript-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "%d minût indaûr"
msgstr[1] "%d minûts indaûr"
#: js/misc/util.js:185
#, javascript-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
msgstr[0] "%d ore indaûr"
msgstr[1] "%d oris indaûr"
#: js/misc/util.js:188
msgid "Yesterday"
msgstr "Îr"
#: js/misc/util.js:190
#, javascript-format
msgid "%d day ago"
msgid_plural "%d days ago"
msgstr[0] "%d zornade indaûr"
msgstr[1] "%d zornadis indaûr"
#: js/misc/util.js:193
#, javascript-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
msgstr[0] "%d setemane indaûr"
msgstr[1] "%d setemanis indaûr"
#: js/misc/util.js:196
#, javascript-format
msgid "%d month ago"
msgid_plural "%d months ago"
msgstr[0] "%d mês indaûr"
msgstr[1] "%d mês indaûr"
#: js/misc/util.js:198
#, javascript-format
msgid "%d year ago"
msgid_plural "%d years ago"
msgstr[0] "%d an indaûr"
msgstr[1] "%d agns indaûr"
#. Translators: Time in 24h format
#: js/misc/util.js:191
#: js/misc/util.js:229
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"
#: js/misc/util.js:197
#: js/misc/util.js:235
#, no-c-format
msgid "Yesterday, %H%M"
msgstr "Îr, %H%M"
#. Translators: this is the week day name followed by a time
#. string in 24h format. i.e. "Monday, 14:30"
#: js/misc/util.js:203
#: js/misc/util.js:241
#, no-c-format
msgid "%A, %H%M"
msgstr "%A, %H%M"
@@ -415,7 +489,7 @@ 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"
#: js/misc/util.js:209
#: js/misc/util.js:247
#, no-c-format
msgid "%B %d, %H%M"
msgstr "%e di %B, %H%M"
@@ -423,26 +497,26 @@ msgstr "%e di %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"
#: js/misc/util.js:215
#: js/misc/util.js:253
#, no-c-format
msgid "%B %d %Y, %H%M"
msgstr "%e di %B dal %Y, %H%M"
#. Translators: Time in 12h format
#: js/misc/util.js:220
#: js/misc/util.js:258
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"
#: js/misc/util.js:226
#: js/misc/util.js:264
#, no-c-format
msgid "Yesterday, %l%M %p"
msgstr "Îr, %I%M %p"
#. Translators: this is the week day name followed by a time
#. string in 12h format. i.e. "Monday, 2:30 pm"
#: js/misc/util.js:232
#: js/misc/util.js:270
#, no-c-format
msgid "%A, %l%M %p"
msgstr "%A, %I%M %p"
@@ -450,7 +524,7 @@ 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"
#: js/misc/util.js:238
#: js/misc/util.js:276
#, no-c-format
msgid "%B %d, %l%M %p"
msgstr "%d di %B, %I%M %p"
@@ -458,7 +532,7 @@ msgstr "%d di %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"
#: js/misc/util.js:244
#: js/misc/util.js:282
#, no-c-format
msgid "%B %d %Y, %l%M %p"
msgstr "%d di %B dal %Y, %I%M %p"
@@ -479,11 +553,11 @@ msgstr ""
#. No support for non-modal system dialogs, so ignore the option
#. let modal = options['modal'] || true;
#: js/ui/accessDialog.js:62 js/ui/status/location.js:427
#: js/ui/accessDialog.js:62 js/ui/status/location.js:405
msgid "Deny Access"
msgstr "Dinee acès"
#: js/ui/accessDialog.js:63 js/ui/status/location.js:430
#: js/ui/accessDialog.js:63 js/ui/status/location.js:408
msgid "Grant Access"
msgstr "Garantìs l'acès"
@@ -634,37 +708,33 @@ msgstr "Setemane %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:721
#: js/ui/calendar.js:729
msgctxt "event list time"
msgid "All Day"
msgstr "Dut il dì"
#: js/ui/calendar.js:836
msgid "Events"
msgstr "Events"
#: js/ui/calendar.js:845
#: js/ui/calendar.js:862
msgctxt "calendar heading"
msgid "%A, %B %d"
msgstr "%A, %d di %B"
#: js/ui/calendar.js:849
#: js/ui/calendar.js:866
msgctxt "calendar heading"
msgid "%A, %B %d, %Y"
msgstr "%A, %d di %B dal %Y"
#: js/ui/calendar.js:931
msgid "Notifications"
msgstr "Notifichis"
#: js/ui/calendar.js:1082
#: js/ui/calendar.js:1086
msgid "No Notifications"
msgstr "Nissune notifiche"
#: js/ui/calendar.js:1085
#: js/ui/calendar.js:1089
msgid "No Events"
msgstr "Nissun event"
#: js/ui/calendar.js:1117
msgid "Clear All"
msgstr "Nete dut"
#: js/ui/components/automountManager.js:91
msgid "External drive connected"
msgstr "Dispositîf esterni tacât"
@@ -687,7 +757,7 @@ msgid "Type again:"
msgstr "Scîf di gnûf:"
#: js/ui/components/networkAgent.js:140 js/ui/status/network.js:272
#: js/ui/status/network.js:366 js/ui/status/network.js:942
#: js/ui/status/network.js:366 js/ui/status/network.js:950
msgid "Connect"
msgstr "Conet"
@@ -762,7 +832,7 @@ msgstr "Passowrd rêt mobil a bande largje"
msgid "A password is required to connect to “%s”."
msgstr "A covente une password par tacâsi a '%s'."
#: js/ui/components/networkAgent.js:655 js/ui/status/network.js:1747
#: js/ui/components/networkAgent.js:655 js/ui/status/network.js:1755
msgid "Network Manager"
msgstr "Ministradôr di rêt"
@@ -788,7 +858,7 @@ msgstr "Mi displâs, no je lade drete. Prove di gnûf."
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
#: js/ui/components/telepathyClient.js:765
#: js/ui/components/telepathyClient.js:799
#, javascript-format
msgid "%s is now known as %s"
msgstr "L'utent %s al è cognossût cumò come %s"
@@ -810,7 +880,7 @@ 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
#: js/ui/dateMenu.js:75
msgid "%B %e %Y"
msgstr "%e di %B dal %Y"
@@ -818,18 +888,71 @@ msgstr "%e di %B dal %Y"
#. * 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
#: js/ui/dateMenu.js:82
msgid "%A %B %e %Y"
msgstr "%A %e di %B dal %Y"
#: js/ui/dateMenu.js:160
#: js/ui/dateMenu.js:144
msgid "Add world clocks…"
msgstr "Zonte orlois mondiâi..."
#: js/ui/dateMenu.js:161
#: js/ui/dateMenu.js:145
msgid "World Clocks"
msgstr "Orlois mondiâi"
#: js/ui/dateMenu.js:224
msgid "Weather"
msgstr "Timp"
#. Translators: %s is a weather condition like "Clear sky"; see
#. libgweather for the possible condition strings. If at all
#. possible, the sentence should match the grammatical case etc. of
#. the inserted conditions.
#: js/ui/dateMenu.js:281
#, javascript-format
msgid "%s all day."
msgstr "%s dut il dì."
#. Translators: %s is a weather condition like "Clear sky"; see
#. libgweather for the possible condition strings. If at all
#. possible, the sentence should match the grammatical case etc. of
#. the inserted conditions.
#: js/ui/dateMenu.js:287
#, javascript-format
msgid "%s, then %s later."
msgstr "%s, plui tart %s."
#. Translators: %s is a weather condition like "Clear sky"; see
#. libgweather for the possible condition strings. If at all
#. possible, the sentence should match the grammatical case etc. of
#. the inserted conditions.
#: js/ui/dateMenu.js:293
#, javascript-format
msgid "%s, then %s, followed by %s later."
msgstr "%s, dopo %s, e plui tart %s."
#: js/ui/dateMenu.js:300
msgid "Select a location…"
msgstr "Selezione une posizion..."
#: js/ui/dateMenu.js:303
msgid "Loading…"
msgstr "Daûr a cjariâ..."
#. Translators: %s is a temperature with unit, e.g. "23℃"
#: js/ui/dateMenu.js:309
#, javascript-format
msgid "Feels like %s."
msgstr "Si sint %s."
#: js/ui/dateMenu.js:312
msgid "Go online for weather information"
msgstr "Va in rêt pes informazions sul timp"
#: js/ui/dateMenu.js:314
msgid "Weather information is currently unavailable"
msgstr "Lis informazions sul timp al moment no son disponibilis"
#: js/ui/endSessionDialog.js:64
#, javascript-format
msgctxt "title"
@@ -1002,74 +1125,66 @@ msgstr "Plate casset"
msgid "Status Icons"
msgstr "Iconis di stât"
#: js/ui/lookingGlass.js:643
#: js/ui/lookingGlass.js:642
msgid "No extensions installed"
msgstr "Nissune estension instalade"
#. Translators: argument is an extension UUID.
#: js/ui/lookingGlass.js:697
#: js/ui/lookingGlass.js:696
#, javascript-format
msgid "%s has not emitted any errors."
msgstr "%s nol a dât fûr nissun erôr."
#: js/ui/lookingGlass.js:703
#: js/ui/lookingGlass.js:702
msgid "Hide Errors"
msgstr "Tapone Erôrs"
#: js/ui/lookingGlass.js:707 js/ui/lookingGlass.js:767
#: js/ui/lookingGlass.js:706 js/ui/lookingGlass.js:766
msgid "Show Errors"
msgstr "Mostre Erôrs"
#: js/ui/lookingGlass.js:716
#: js/ui/lookingGlass.js:715
msgid "Enabled"
msgstr "Abilitât"
#. translators:
#. * The device has been disabled
#: js/ui/lookingGlass.js:719 src/gvc/gvc-mixer-control.c:1866
#: js/ui/lookingGlass.js:718 src/gvc/gvc-mixer-control.c:1866
msgid "Disabled"
msgstr "Disabilitât"
#: js/ui/lookingGlass.js:721
#: js/ui/lookingGlass.js:720
msgid "Error"
msgstr "Erôr"
#: js/ui/lookingGlass.js:723
#: js/ui/lookingGlass.js:722
msgid "Out of date"
msgstr "No inzornât"
#: js/ui/lookingGlass.js:725
#: js/ui/lookingGlass.js:724
msgid "Downloading"
msgstr "Daur a scjamâ"
#: js/ui/lookingGlass.js:749
#: js/ui/lookingGlass.js:748
msgid "View Source"
msgstr "Viôt sorzint"
#: js/ui/lookingGlass.js:758
#: js/ui/lookingGlass.js:757
msgid "Web Page"
msgstr "Pagjine Web"
#: js/ui/messageList.js:543
msgid "Clear section"
msgstr "Nete la sezion"
#: js/ui/messageTray.js:1486
#: js/ui/messageTray.js:1493
msgid "System Information"
msgstr "Informazion di sisteme"
#: js/ui/mpris.js:194
#: js/ui/mpris.js:211
msgid "Unknown artist"
msgstr "Artist no cognossût"
#: js/ui/mpris.js:195
#: js/ui/mpris.js:212
msgid "Unknown title"
msgstr "Titul no cognossût"
#: js/ui/mpris.js:217
msgid "Media"
msgstr "Supuart"
#: js/ui/overview.js:84
msgid "Undo"
msgstr "Anule"
@@ -1088,48 +1203,48 @@ msgstr "Panoramiche"
msgid "Type to search…"
msgstr "Scrîf par cirî..."
#: js/ui/padOsd.js:37
#: js/ui/padOsd.js:103
msgid "New shortcut…"
msgstr "Gnove scurte..."
#: js/ui/padOsd.js:86
#: js/ui/padOsd.js:152
msgid "Application defined"
msgstr "Aplicazion definide"
#: js/ui/padOsd.js:87
#: js/ui/padOsd.js:153
msgid "Show on-screen help"
msgstr "Mostre jutori a schermi"
#: js/ui/padOsd.js:88
#: js/ui/padOsd.js:154
msgid "Switch monitor"
msgstr "Cambie visôr"
#: js/ui/padOsd.js:89
#: js/ui/padOsd.js:155
msgid "Assign keystroke"
msgstr "Assegne batidure"
#: js/ui/padOsd.js:143
#: js/ui/padOsd.js:209
msgid "Done"
msgstr "Fat"
#: js/ui/padOsd.js:597
#: js/ui/padOsd.js:698
msgid "Edit…"
msgstr "Modifiche..."
# masculin o feminin
#: js/ui/padOsd.js:610 js/ui/padOsd.js:665
#: js/ui/padOsd.js:738 js/ui/padOsd.js:800
msgid "None"
msgstr "Nissune"
#: js/ui/padOsd.js:648
#: js/ui/padOsd.js:783
msgid "Press a button to configure"
msgstr "Frache un boton par configurâ"
#: js/ui/padOsd.js:649
#: js/ui/padOsd.js:784
msgid "Press Esc to exit"
msgstr "Frache Esc par jessî"
#: js/ui/padOsd.js:652
#: js/ui/padOsd.js:787
msgid "Press any key to exit"
msgstr "Frache un tast par jessî"
@@ -1165,7 +1280,7 @@ msgstr "toggle-switch-intl"
msgid "Enter a Command"
msgstr "Scrîf un comant"
#: js/ui/runDialog.js:111 js/ui/windowMenu.js:162
#: js/ui/runDialog.js:111 js/ui/windowMenu.js:160
msgid "Close"
msgstr "Siere"
@@ -1180,29 +1295,29 @@ msgstr "Daûr a tornâ a inviâ..."
#. Translators: This is a time format for a date in
#. long format
#: js/ui/screenShield.js:85
#: js/ui/screenShield.js:88
msgid "%A, %B %d"
msgstr "%A, %d di %B"
#: js/ui/screenShield.js:144
#: js/ui/screenShield.js:147
#, javascript-format
msgid "%d new message"
msgid_plural "%d new messages"
msgstr[0] "%d gnûf messaç"
msgstr[1] "%d gnûfs messaçs"
#: js/ui/screenShield.js:146
#: js/ui/screenShield.js:149
#, javascript-format
msgid "%d new notification"
msgid_plural "%d new notifications"
msgstr[0] "%d gnove notifiche"
msgstr[1] "%d gnovis modifichis"
#: js/ui/screenShield.js:449 js/ui/status/system.js:409
#: js/ui/screenShield.js:452 js/ui/status/system.js:409
msgid "Lock"
msgstr "Bloche"
#: js/ui/screenShield.js:707
#: js/ui/screenShield.js:715
msgid "GNOME needs to lock the screen"
msgstr "GNOME al scugne blocâ il visôr"
@@ -1213,11 +1328,11 @@ msgstr "GNOME al scugne blocâ il visôr"
#.
#. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs
#: js/ui/screenShield.js:828 js/ui/screenShield.js:1295
#: js/ui/screenShield.js:836 js/ui/screenShield.js:1308
msgid "Unable to lock"
msgstr "Impussibil blocâ"
#: js/ui/screenShield.js:829 js/ui/screenShield.js:1296
#: js/ui/screenShield.js:837 js/ui/screenShield.js:1309
msgid "Lock was blocked by an application"
msgstr "Il bloc al è stât dineât di une aplicazion"
@@ -1321,13 +1436,13 @@ msgstr "Distudât"
msgid "On"
msgstr "Impiât"
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1302
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1310
msgid "Turn On"
msgstr "Impie"
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:181
#: js/ui/status/network.js:367 js/ui/status/network.js:1302
#: js/ui/status/network.js:1417 js/ui/status/nightLight.js:47
#: js/ui/status/network.js:367 js/ui/status/network.js:1310
#: js/ui/status/network.js:1425 js/ui/status/nightLight.js:47
#: js/ui/status/rfkill.js:90 js/ui/status/rfkill.js:117
msgid "Turn Off"
msgstr "Distude"
@@ -1340,37 +1455,37 @@ msgstr "Luminositât"
msgid "Show Keyboard Layout"
msgstr "Mostre la disposizion de tastiere"
#: js/ui/status/location.js:107 js/ui/status/location.js:215
#: js/ui/status/location.js:88 js/ui/status/location.js:196
msgid "Location Enabled"
msgstr "Posizion abilitade"
#: js/ui/status/location.js:108 js/ui/status/location.js:216
#: js/ui/status/location.js:89 js/ui/status/location.js:197
msgid "Disable"
msgstr "Disabilite"
#: js/ui/status/location.js:109
#: js/ui/status/location.js:90
msgid "Privacy Settings"
msgstr "Impostazions privacy"
#: js/ui/status/location.js:214
#: js/ui/status/location.js:195
msgid "Location In Use"
msgstr "Posizion in ûs"
#: js/ui/status/location.js:218
#: js/ui/status/location.js:199
msgid "Location Disabled"
msgstr "Posizion no abilitade"
#: js/ui/status/location.js:219
#: js/ui/status/location.js:200
msgid "Enable"
msgstr "Abilite"
#. Translators: %s is an application name
#: js/ui/status/location.js:436
#: js/ui/status/location.js:414
#, javascript-format
msgid "Give %s access to your location?"
msgstr "Permeti a %s di cognossi la tô posizion?"
#: js/ui/status/location.js:438
#: js/ui/status/location.js:416
msgid "Location access can be changed at any time from the privacy settings."
msgstr ""
"L'acès ae posizion al pues jessi cambiât cuant che tu vuelis su impostazions "
@@ -1381,7 +1496,7 @@ msgid "<unknown>"
msgstr "<no cognossût>"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:465 js/ui/status/network.js:1331
#: js/ui/status/network.js:465 js/ui/status/network.js:1339
#, javascript-format
msgid "%s Off"
msgstr "%s distudât"
@@ -1407,7 +1522,7 @@ msgid "%s Disconnecting"
msgstr "%s daûr a disconeti"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:483 js/ui/status/network.js:1323
#: js/ui/status/network.js:483 js/ui/status/network.js:1331
#, javascript-format
msgid "%s Connecting"
msgstr "%s in conession"
@@ -1447,7 +1562,7 @@ msgid "Mobile Broadband Settings"
msgstr "Impostazions bande largje mobil"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:602 js/ui/status/network.js:1328
#: js/ui/status/network.js:602 js/ui/status/network.js:1336
#, javascript-format
msgid "%s Hardware Disabled"
msgstr "%s disabilitât vie hardware "
@@ -1463,122 +1578,122 @@ msgstr "%s disabilitât"
msgid "Connect to Internet"
msgstr "Conet a internet"
#: js/ui/status/network.js:836
#: js/ui/status/network.js:844
msgid "Airplane Mode is On"
msgstr "Modalitât avion piade"
#: js/ui/status/network.js:837
#: js/ui/status/network.js:845
msgid "Wi-Fi is disabled when airplane mode is on."
msgstr "Il Wi-Fi al è disabilitât cuant che la modalitât avion e je impiade."
#: js/ui/status/network.js:838
#: js/ui/status/network.js:846
msgid "Turn Off Airplane Mode"
msgstr "Distude modalitât avion"
#: js/ui/status/network.js:847
#: js/ui/status/network.js:855
msgid "Wi-Fi is Off"
msgstr "Il Wi-Fi al è distudât"
#: js/ui/status/network.js:848
#: js/ui/status/network.js:856
msgid "Wi-Fi needs to be turned on in order to connect to a network."
msgstr "Il Wi-Fi al scugne jessi impiât par podêsi tacâ a une rêt."
#: js/ui/status/network.js:849
#: js/ui/status/network.js:857
msgid "Turn On Wi-Fi"
msgstr "Impie il Wi-Fi"
#: js/ui/status/network.js:874
#: js/ui/status/network.js:882
msgid "Wi-Fi Networks"
msgstr "Rêts Wi-Fi"
#: js/ui/status/network.js:876
#: js/ui/status/network.js:884
msgid "Select a network"
msgstr "Selezione une rêt"
#: js/ui/status/network.js:906
#: js/ui/status/network.js:914
msgid "No Networks"
msgstr "Nissune rêt"
#: js/ui/status/network.js:927 js/ui/status/rfkill.js:115
#: js/ui/status/network.js:935 js/ui/status/rfkill.js:115
msgid "Use hardware switch to turn off"
msgstr "Dopre interutôr fisic par distudâ"
#: js/ui/status/network.js:1194
#: js/ui/status/network.js:1202
msgid "Select Network"
msgstr "Selezione rêt"
#: js/ui/status/network.js:1200
#: js/ui/status/network.js:1208
msgid "Wi-Fi Settings"
msgstr "Impostazions Wi-Fi"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:1319
#: js/ui/status/network.js:1327
#, javascript-format
msgid "%s Hotspot Active"
msgstr "Hotspot %s atîf"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:1334
#: js/ui/status/network.js:1342
#, javascript-format
msgid "%s Not Connected"
msgstr "%s distacât"
#: js/ui/status/network.js:1434
#: js/ui/status/network.js:1442
msgid "connecting…"
msgstr "daûr a coneti…"
#. Translators: this is for network connections that require some kind of key or password
#: js/ui/status/network.js:1437
#: js/ui/status/network.js:1445
msgid "authentication required"
msgstr "autenticazion necessarie"
#: js/ui/status/network.js:1439
#: js/ui/status/network.js:1447
msgid "connection failed"
msgstr "conession falide"
#: js/ui/status/network.js:1505 js/ui/status/network.js:1600
#: js/ui/status/network.js:1513 js/ui/status/network.js:1608
#: js/ui/status/rfkill.js:93
msgid "Network Settings"
msgstr "Impostazions rêt"
#: js/ui/status/network.js:1507
#: js/ui/status/network.js:1515
msgid "VPN Settings"
msgstr "Impostazions VPN"
#: js/ui/status/network.js:1526
#: js/ui/status/network.js:1534
msgid "VPN"
msgstr "VPN"
#: js/ui/status/network.js:1536
#: js/ui/status/network.js:1544
msgid "VPN Off"
msgstr "VPN distudât"
#: js/ui/status/network.js:1631
#: js/ui/status/network.js:1639
#, javascript-format
msgid "%s Wired Connection"
msgid_plural "%s Wired Connections"
msgstr[0] "%s conession cablade"
msgstr[1] "%s conessions cabladis"
#: js/ui/status/network.js:1635
#: js/ui/status/network.js:1643
#, javascript-format
msgid "%s Wi-Fi Connection"
msgid_plural "%s Wi-Fi Connections"
msgstr[0] "%s conession cence fîi"
msgstr[1] "%s conessions cence fîi"
#: js/ui/status/network.js:1639
#: js/ui/status/network.js:1647
#, javascript-format
msgid "%s Modem Connection"
msgid_plural "%s Modem Connections"
msgstr[0] "%s conession modem"
msgstr[1] "%s conessions modem"
#: js/ui/status/network.js:1786
#: js/ui/status/network.js:1794
msgid "Connection failed"
msgstr "Conession falide"
#: js/ui/status/network.js:1787
#: js/ui/status/network.js:1795
msgid "Activation of network connection failed"
msgstr "Ativazion de conession di rêt falide"
@@ -1689,22 +1804,22 @@ msgstr "Cîr"
msgid "“%s” is ready"
msgstr "'%s' al è pront"
#: js/ui/windowManager.js:83
#: js/ui/windowManager.js:84
msgid "Do you want to keep these display settings?"
msgstr "Vûstu tignî chestis impostazions di visôr?"
#. Translators: this and the following message should be limited in lenght,
#. to avoid ellipsizing the labels.
#.
#: js/ui/windowManager.js:102
#: js/ui/windowManager.js:103
msgid "Revert Settings"
msgstr "Ripristine impostazions"
#: js/ui/windowManager.js:105
#: js/ui/windowManager.js:106
msgid "Keep Changes"
msgstr "Ten lis modifichis"
#: js/ui/windowManager.js:123
#: js/ui/windowManager.js:124
#, javascript-format
msgid "Settings changes will revert in %d second"
msgid_plural "Settings changes will revert in %d seconds"
@@ -1715,7 +1830,7 @@ msgstr[1] ""
#. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height.
#: js/ui/windowManager.js:678
#: js/ui/windowManager.js:679
#, javascript-format
msgid "%d × %d"
msgstr "%d × %d"
@@ -1752,35 +1867,35 @@ msgstr "Simpri Denant"
msgid "Always on Visible Workspace"
msgstr "Simpri sul spazi di lavôr visibil"
#: js/ui/windowMenu.js:105
#: js/ui/windowMenu.js:103
msgid "Move to Workspace Left"
msgstr "Sposte tal spazi di lavôr a çampe"
#: js/ui/windowMenu.js:110
#: js/ui/windowMenu.js:108
msgid "Move to Workspace Right"
msgstr "Sposte tal spazi di lavôr a drete"
#: js/ui/windowMenu.js:115
#: js/ui/windowMenu.js:113
msgid "Move to Workspace Up"
msgstr "Sposte tal spazi di lavôr Parsore"
#: js/ui/windowMenu.js:120
#: js/ui/windowMenu.js:118
msgid "Move to Workspace Down"
msgstr "Sposte tal spazi di lavôr Disot"
#: js/ui/windowMenu.js:136
#: js/ui/windowMenu.js:134
msgid "Move to Monitor Up"
msgstr "Sposte tal visôr parsore"
#: js/ui/windowMenu.js:142
#: js/ui/windowMenu.js:140
msgid "Move to Monitor Down"
msgstr "Sposte tal visôr disot"
#: js/ui/windowMenu.js:148
#: js/ui/windowMenu.js:146
msgid "Move to Monitor Left"
msgstr "Sposte tal visôr a çampe"
#: js/ui/windowMenu.js:154
#: js/ui/windowMenu.js:152
msgid "Move to Monitor Right"
msgstr "Sposte tal visôr a drete"
@@ -1815,19 +1930,19 @@ msgstr[1] "%u jentradis"
msgid "System Sounds"
msgstr "Suns di sisteme"
#: src/main.c:381
#: src/main.c:372
msgid "Print version"
msgstr "Stampe version"
#: src/main.c:387
#: src/main.c:378
msgid "Mode used by GDM for login screen"
msgstr "Modalitât doprade da GDM pe videade di acès"
#: src/main.c:393
#: src/main.c:384
msgid "Use a specific mode, e.g. “gdm” for login screen"
msgstr "Dopre une modalitât specifiche, par esempli “gdm” pe videade di acès"
#: src/main.c:399
#: src/main.c:390
msgid "List possible modes"
msgstr "Liste modalitâts pussibilis"
@@ -1853,23 +1968,17 @@ msgstr "La password no pues jessi vueide"
msgid "Authentication dialog was dismissed by the user"
msgstr "Dialic di autenticazion anulât dal utent"
#~ msgid "System"
#~ msgstr "Sisteme"
#~ msgid "Events"
#~ msgstr "Events"
#~ msgid "Show the notification list"
#~ msgstr "Mostre la liste des notifichis"
#~ msgid "Notifications"
#~ msgstr "Notifichis"
#~ msgid "Focus the active notification"
#~ msgstr "Met il focus ae notifiche ative"
#~ msgid "Clear section"
#~ msgstr "Nete la sezion"
#~ msgid "Show the overview"
#~ msgstr "Mostre la panoramiche"
#~ msgid "Show all applications"
#~ msgstr "Mostre dutis lis aplicazions"
#~ msgid "Open the application menu"
#~ msgstr "Vierç il menù aplicazions"
#~ msgid "Media"
#~ msgstr "Supuart"
#~ msgid "GNOME Shell Extension Preferences"
#~ msgstr "Preferencis Estensions di GNOME Shell"

357
po/gd.po
View File

@@ -1,14 +1,14 @@
# Scottish Gaelic translation for gnome-shell.
# Copyright (C) 2015 gnome-shell's COPYRIGHT HOLDER
# This file is distributed under the same license as the gnome-shell package.
# GunChleoc <fios@foramnagaidhlig.net>, 2015, 2016.
# GunChleoc <fios@foramnagaidhlig.net>, 2015, 2016, 2017.
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2016-09-12 23:57+0000\n"
"PO-Revision-Date: 2016-09-13 10:47+0100\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product"
"=gnome-shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-03-02 17:53+0000\n"
"PO-Revision-Date: 2017-03-07 12:03+0100\n"
"Last-Translator: GunChleoc <fios@foramnagaidhlig.net>\n"
"Language-Team: Fòram na Gàidhlig\n"
"Language: gd\n"
@@ -61,10 +61,136 @@ msgstr "Slige GNOME"
msgid "Window management and application launching"
msgstr "Stiùireadh uinneagan is tòiseachadh aplacaidean"
#: data/org.gnome.shell.gschema.xml.in:6
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr "Cuir an comas innealan an luchd-leasachaidh 's deuchainne o Alt-F2"
#: data/org.gnome.shell.gschema.xml.in:9
msgid ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog."
msgstr ""
"Ceadaich inntrigeadh dha na h-innealan a chum dì-bhugachaidh 's sgrùdaidh le "
"còmhradh Alt-F2."
#: data/org.gnome.shell.gschema.xml.in:16
msgid "UUIDs of extensions to enable"
msgstr "UUIDs nan leudachan ri an cur an comas"
#: data/org.gnome.shell.gschema.xml.in:17
msgid ""
"GNOME Shell extensions have a UUID property; this key lists extensions which "
"should be loaded. Any extension that wants to be loaded needs to be in this "
"list. You can also manipulate this list with the EnableExtension and "
"DisableExtension D-Bus methods on org.gnome.Shell."
msgstr ""
"Tha buadh UUID aig leudachain na Slige GNOME; seallaidh an iuchair sin na "
"leudachain a bu chòir luchdadh. Feumaidh gach leudachan a tha ag iarraidh "
"luchdadh a bhith air an liosta seo. 'S urrainn dhut an liosta seo "
"atharrachadh cuideachd leis na modhan D-Bus EnableExtension agus "
"DisableExtension air org.gnome.Shell."
#: data/org.gnome.shell.gschema.xml.in:26
msgid "Disables the validation of extension version compatibility"
msgstr ""
"Cuiridh seo à comas dearbhadh na co-chòrdalachd airson tionndadh nan "
"leudachan"
#: data/org.gnome.shell.gschema.xml.in:27
msgid ""
"GNOME Shell will only load extensions that claim to support the current "
"running version. Enabling this option will disable this check and try to "
"load all extensions regardless of the versions they claim to support."
msgstr ""
"Cha luchdaich an t-Slige GNOME ach leudachain a dh'innseas gu bheil iar co-"
"chòrdail leis an tionndadh a tha 'ga ruith. Ma chuireas tu an roghainn seo "
"an comas, thèid an dearbhadh a chur à comas agus feuchaidh sinn ris a h-uile "
"leudachan a luchdadh ge b' e dè na tionndaidhean ris an cuir iad taic dhan "
"rèir-san."
#: data/org.gnome.shell.gschema.xml.in:35
msgid "List of desktop file IDs for favorite applications"
msgstr ""
"Liosta dhe IDan nam faidhlichean desktop airson nan aplacaidean as annsa "
"leat"
#: data/org.gnome.shell.gschema.xml.in:36
msgid ""
"The applications corresponding to these identifiers will be displayed in the "
"favorites area."
msgstr ""
"Thèid na h-aplacaidean a fhreagras ris na h-aithnichearan seo a shealltainn "
"air raon nan annsachdan."
#: data/org.gnome.shell.gschema.xml.in:43
msgid "App Picker View"
msgstr "Sealladh roghnaichear nan aplacaid"
#: data/org.gnome.shell.gschema.xml.in:44
msgid "Index of the currently selected view in the application picker."
msgstr "Inneacs an t-seallaidh làithrich ann an roghnaichear nan aplacaid."
#: data/org.gnome.shell.gschema.xml.in:50
msgid "History for command (Alt-F2) dialog"
msgstr "Eachdraidh a' chòmhraidh-àithne (Alt-F2)"
#. Translators: looking glass is a debugger and inspector tool, see https://wiki.gnome.org/Projects/GnomeShell/LookingGlass
#: data/org.gnome.shell.gschema.xml.in:55
msgid "History for the looking glass dialog"
msgstr "Eachdraidh a' chomhraidh aig looking glass"
#: data/org.gnome.shell.gschema.xml.in:59
msgid "Always show the 'Log out' menu item in the user menu."
msgstr ""
"Seall nì \"Clàraich a-mach\" air clàr-taice a' chleachdaiche an-còmhnaidh."
#: data/org.gnome.shell.gschema.xml.in:60
msgid ""
"This key overrides the automatic hiding of the 'Log out' menu item in single-"
"user, single-session situations."
msgstr ""
"Tar-àithnidh an iuchair seo am falach fèin-obrachail aig \"Clàraich a-mach\" "
"air a' chlar-taice ann an suidheachaidhean le aon chleachdaiche 's aon "
"seisean a-mhàin."
#: data/org.gnome.shell.gschema.xml.in:67
msgid ""
"Whether to remember password for mounting encrypted or remote filesystems"
msgstr ""
"Co-dhiù an dèid am facal-faire a chuimhneachadh airson munntachadh "
"shiostaman-fhaidhlichean crioptaichte no cèine"
#: data/org.gnome.shell.gschema.xml.in:68
msgid ""
"The shell will request a password when an encrypted device or a remote "
"filesystem is mounted. If the password can be saved for future use a "
"'Remember Password' checkbox will be present. This key sets the default "
"state of the checkbox."
msgstr ""
"Iarraidh an t-slige facal-fàire ort nuair a thèid siostam-fhaidhlichean "
"crioptaichte no cèin a mhunntachadh. Ma ghabhas am facal-faire sàbhaladh "
"airson na h-ama ri teachd, bidh bogsa-còmhraige \"Cuimhnich am facal-fàire\" "
"ann. Suidhichidh an iuchair seo staid tùsail na bogsa-còmhraige ud."
#: data/org.gnome.shell.gschema.xml.in:77
msgid ""
"Whether the default Bluetooth adapter had set up devices associated to it"
msgstr ""
"Co-dhiù an robh uidheaman co-cheangailte ris an adaptar Bluetooth gus nach "
"robh"
#: data/org.gnome.shell.gschema.xml.in:78
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 ""
"Cha seall an t-slige nì clàir-taice \"Bluetooth\" ach ma tha cumhachd aig "
"adaptar Bluetooth na ma chaidh uidheaman co-cheangailte ris an adaptar "
"tùsail roimhe. Thèid seo ath-shuidheachadh ma chithear an t-adaptar tùsail "
"gun uidheam co-cheangailte ris."
#: data/org.gnome.shell.gschema.xml.in:93
msgid "Keybinding to open the application menu"
msgstr "Nasgadh iuchrach gus clàr-taice na h-aplacaid fhosgladh"
@@ -74,12 +200,10 @@ msgid "Keybinding to open the application menu."
msgstr "Nasgadh iuchrach gus clàr-taice na h-aplacaid fhosgladh."
#: data/org.gnome.shell.gschema.xml.in:100
#| msgid "Keybinding to open the application menu"
msgid "Keybinding to open the \"Show Applications\" view"
msgstr "Nasgadh iuchrach gus an sealladh \"Seall aplacaidean\" fhosgladh"
#: data/org.gnome.shell.gschema.xml.in:101
#| msgid "Keybinding to open the application menu."
msgid ""
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
msgstr ""
@@ -87,23 +211,19 @@ msgstr ""
"gnìomhachd fhosgladh."
#: data/org.gnome.shell.gschema.xml.in:108
#| msgid "Keybinding to open the application menu"
msgid "Keybinding to open the overview"
msgstr "Nasgadh iuchrach gus am foir-shealladh fhosgladh"
#: data/org.gnome.shell.gschema.xml.in:109
#| msgid "Keybinding to open the application menu."
msgid "Keybinding to open the Activities Overview."
msgstr "Nasgadh iuchrach gus foir-shealladh na gnìomhachd fhosgladh."
#: data/org.gnome.shell.gschema.xml.in:115
#| msgid "Keybinding to focus the active notification"
msgid "Keybinding to toggle the visibility of the notification list"
msgstr ""
"Nasgadh iuchrach gus an fhaicsinneachd air liosta nam brathan a thoglachadh"
#: data/org.gnome.shell.gschema.xml.in:116
#| msgid "Keybinding to focus the active notification."
msgid "Keybinding to toggle the visibility of the notification list."
msgstr ""
"Nasgadh iuchrach gus an fhaicsinneachd air liosta nam brathan a thoglachadh."
@@ -116,10 +236,94 @@ msgstr "Nasgadh iuchrach gus am fòcas a chur air a' bhrath ghnìomhach"
msgid "Keybinding to focus the active notification."
msgstr "Nasgadh iuchrach gus am fòcas a chur air a' bhrath ghnìomhach."
#: data/org.gnome.shell.gschema.xml.in:129
msgid ""
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
msgstr ""
"Nasgadh iuchrach a chuir gach tween a tha 'ga ruith 'na stad 's a "
"thòisicheas orra a-rithist a chum dì-bhugachaidh"
#: data/org.gnome.shell.gschema.xml.in:138
msgid "Which keyboard to use"
msgstr "Am meur-chlàr ri chleachdadh"
#: data/org.gnome.shell.gschema.xml.in:139
msgid "The type of keyboard to use."
msgstr "An seòrsa de mheur-chlàr a thèid a chleachdadh."
#: data/org.gnome.shell.gschema.xml.in:150
#: data/org.gnome.shell.gschema.xml.in:177
msgid "Limit switcher to current workspace."
msgstr "Cuingich an t-suidsear air an rum-obrach làithreach."
#: data/org.gnome.shell.gschema.xml.in:151
msgid ""
"If true, only applications that have windows on the current workspace are "
"shown in the switcher. Otherwise, all applications are included."
msgstr ""
"Mas e true a th' ann, cha dèid a shealltainn san t-suidsear ach na "
"h-aplacaidean aig a bheil uinneag san rum-obrach làithreach. Mur e, thèid a "
"h-uile aplacaid a ghabhail a-steach."
#: data/org.gnome.shell.gschema.xml.in:168
msgid "The application icon mode."
msgstr "Modh ìomhaigheag na h-aplacaid."
#: data/org.gnome.shell.gschema.xml.in:169
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 ""
"Rèitichidh seo an dòigh sa thèid na h-uinneagan a shealltainn san "
"t-suidsear. 'S e \"thumbnail-only\" (seallaidh seo dealbhag na h-uinneige), "
"\"app-icon-only\" (seallaidh seo ìomhaigheag na h-aplacaid) no \"both\" "
"(seallaidh seo an dà chuid dhiubh) a tha sna luachan dligheach."
#: data/org.gnome.shell.gschema.xml.in:178
msgid ""
"If true, only windows from the current workspace are shown in the switcher. "
"Otherwise, all windows are included."
msgstr ""
"Mas e true a th' ann, cha dèid a shealltainn san t-suidsear ach na "
"h-uinneagan a tha san rum-obrach làithreach. Mur e, thèid a h-uile uinneag a "
"ghabhail a-steach."
#: data/org.gnome.shell.gschema.xml.in:189
msgid "Attach modal dialog to the parent window"
msgstr "Ceangail còmhradh mòdach ris an uinneag-pàraint"
#: data/org.gnome.shell.gschema.xml.in:190
#: data/org.gnome.shell.gschema.xml.in:199
#: data/org.gnome.shell.gschema.xml.in:207
#: data/org.gnome.shell.gschema.xml.in:215
#: data/org.gnome.shell.gschema.xml.in:223
msgid ""
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
msgstr ""
"Tar-àithnidh an iuchair seo an iuchair ann an org.gnome.mutter nuair a thèid "
"Slige GNOME a ruith."
#: data/org.gnome.shell.gschema.xml.in:198
msgid "Enable edge tiling when dropping windows on screen edges"
msgstr ""
"Cuir leacadh nan oirean an comas nuair a thèid uinneagan a leigeil às aig "
"oir na sgrìn"
#: data/org.gnome.shell.gschema.xml.in:206
msgid "Workspaces are managed dynamically"
msgstr "Thèid na rumannan-obrach a stiùireadh a làimh"
#: data/org.gnome.shell.gschema.xml.in:214
msgid "Workspaces only on primary monitor"
msgstr "Rumannan-obrach air a' phrìomh-sgrìn a-mhàin"
#: data/org.gnome.shell.gschema.xml.in:222
msgid "Delay focus changes in mouse mode until the pointer stops moving"
msgstr ""
"Cuir dàil air atharraichean an fòcais ann am modh luchaige gus an sguir an "
"tomhaire air gluasad"
#: data/org.gnome.Shell.PortalHelper.desktop.in.in:3
msgid "Network Login"
msgstr "Clàradh a-steach lìonraidh"
@@ -141,7 +345,7 @@ msgstr "Leudachain na Slige GNOME"
#: js/gdm/authPrompt.js:147 js/ui/audioDeviceSelection.js:71
#: js/ui/components/networkAgent.js:145 js/ui/components/polkitAgent.js:179
#: js/ui/endSessionDialog.js:483 js/ui/extensionDownloader.js:195
#: js/ui/shellMountOperation.js:399 js/ui/status/network.js:916
#: js/ui/shellMountOperation.js:399 js/ui/status/network.js:926
msgid "Cancel"
msgstr "Sguir dheth"
@@ -331,12 +535,12 @@ msgstr "Cuir ris na h-annsachdan"
msgid "Show Details"
msgstr "Seall am mion-fhiosrachadh"
#: js/ui/appFavorites.js:134
#: js/ui/appFavorites.js:136
#, javascript-format
msgid "%s has been added to your favorites."
msgstr "Chaidh %s a chur ris na h-annsachdan agad."
#: js/ui/appFavorites.js:168
#: js/ui/appFavorites.js:170
#, javascript-format
msgid "%s has been removed from your favorites."
msgstr "Chaidh %s a toirt air falbh o na h-annsachdan agad."
@@ -346,7 +550,6 @@ msgid "Select Audio Device"
msgstr "Tagh uidheam fuaime"
#: js/ui/audioDeviceSelection.js:69
#| msgid "Account Settings"
msgid "Sound Settings"
msgstr "Roghainnean fuaime"
@@ -499,8 +702,8 @@ msgstr "Facal-faire:"
msgid "Type again:"
msgstr "Am facal-faire a-rithist:"
#: js/ui/components/networkAgent.js:140 js/ui/status/network.js:269
#: js/ui/status/network.js:352 js/ui/status/network.js:919
#: js/ui/components/networkAgent.js:140 js/ui/status/network.js:270
#: js/ui/status/network.js:353 js/ui/status/network.js:929
msgid "Connect"
msgstr "Ceangail"
@@ -528,11 +731,11 @@ msgstr "Facal-faire na h-iuchrach prìobhaidich: "
msgid "Service: "
msgstr "Seirbheis: "
#: js/ui/components/networkAgent.js:320 js/ui/components/networkAgent.js:658
#: js/ui/components/networkAgent.js:320 js/ui/components/networkAgent.js:666
msgid "Authentication required by wireless network"
msgstr "Tha an lìonra uèirleas ag iarraidh dearbhadh"
#: js/ui/components/networkAgent.js:321 js/ui/components/networkAgent.js:659
#: js/ui/components/networkAgent.js:321 js/ui/components/networkAgent.js:667
#, javascript-format
msgid ""
"Passwords or encryption keys are required to access the wireless network "
@@ -541,7 +744,7 @@ msgstr ""
"Tha feum air faclan-faire no iuchraichean crioptachaidh gus an lìonra "
"uèirleas “%s” inntrigeadh."
#: js/ui/components/networkAgent.js:325 js/ui/components/networkAgent.js:662
#: js/ui/components/networkAgent.js:325 js/ui/components/networkAgent.js:670
msgid "Wired 802.1X authentication"
msgstr "Dearbhadh Wired 802.1X"
@@ -549,15 +752,15 @@ msgstr "Dearbhadh Wired 802.1X"
msgid "Network name: "
msgstr "Ainm an lìonraidh: "
#: js/ui/components/networkAgent.js:332 js/ui/components/networkAgent.js:666
#: js/ui/components/networkAgent.js:332 js/ui/components/networkAgent.js:674
msgid "DSL authentication"
msgstr "Dearbhadh DSL"
#: js/ui/components/networkAgent.js:339 js/ui/components/networkAgent.js:672
#: js/ui/components/networkAgent.js:339 js/ui/components/networkAgent.js:680
msgid "PIN code required"
msgstr "Tha feum air còd PIN"
#: js/ui/components/networkAgent.js:340 js/ui/components/networkAgent.js:673
#: js/ui/components/networkAgent.js:340 js/ui/components/networkAgent.js:681
msgid "PIN code is needed for the mobile broadband device"
msgstr "Tha feum air còd PIN airson an inneil-làimhe banna-leathainn"
@@ -565,17 +768,17 @@ msgstr "Tha feum air còd PIN airson an inneil-làimhe banna-leathainn"
msgid "PIN: "
msgstr "PIN: "
#: js/ui/components/networkAgent.js:348 js/ui/components/networkAgent.js:679
#: js/ui/components/networkAgent.js:348 js/ui/components/networkAgent.js:687
msgid "Mobile broadband network password"
msgstr "Facal-faire a' bhanna-leathainn inneil-làimhe"
#: js/ui/components/networkAgent.js:349 js/ui/components/networkAgent.js:663
#: js/ui/components/networkAgent.js:667 js/ui/components/networkAgent.js:680
#: js/ui/components/networkAgent.js:349 js/ui/components/networkAgent.js:671
#: js/ui/components/networkAgent.js:675 js/ui/components/networkAgent.js:688
#, javascript-format
msgid "A password is required to connect to “%s”."
msgstr "tha feum air facal-faire airson ceangal ri “%s”."
#: js/ui/components/networkAgent.js:647 js/ui/status/network.js:1658
#: js/ui/components/networkAgent.js:655 js/ui/status/network.js:1672
msgid "Network Manager"
msgstr "Manaidsear nan lìonra"
@@ -769,8 +972,6 @@ msgid "Power off after updates are installed"
msgstr "Cuir a' chumhachd dheth nuair a bhios na h-ùrachaidhean air an stàladh"
#: js/ui/endSessionDialog.js:137
#| msgctxt "title"
#| msgid "Restart & Install Updates"
msgctxt "title"
msgid "Restart & Install Upgrade"
msgstr "Ath-thòisich ⁊ stàlaich an t-àrdachadh"
@@ -896,14 +1097,10 @@ msgid "System Information"
msgstr "Fiosrachadh an t-siostaim"
#: js/ui/mpris.js:194
#| msgctxt "program"
#| msgid "Unknown"
msgid "Unknown artist"
msgstr "Neach-ciùil nach aithne dhuinn"
#: js/ui/mpris.js:195
#| msgctxt "program"
#| msgid "Unknown"
msgid "Unknown title"
msgstr "Tiotal nach aithne dhuinn"
@@ -963,6 +1160,10 @@ msgstr "Cuir a-steach àithne"
msgid "Close"
msgstr "Dùin"
#: js/ui/runDialog.js:277
msgid "Restart is not available on Wayland"
msgstr "Chan eil ath-thòiseachadh ri làimh air Wayland"
#: js/ui/runDialog.js:282
msgid "Restarting…"
msgstr "'Ga thòiseachadh às ùr…"
@@ -1006,11 +1207,11 @@ msgstr "Feumaidh GNOME an sgrìn a glasadh"
#.
#. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs
#: js/ui/screenShield.js:825 js/ui/screenShield.js:1291
#: js/ui/screenShield.js:825 js/ui/screenShield.js:1292
msgid "Unable to lock"
msgstr "Cha ghabh a ghlasadh"
#: js/ui/screenShield.js:826 js/ui/screenShield.js:1292
#: js/ui/screenShield.js:826 js/ui/screenShield.js:1293
msgid "Lock was blocked by an application"
msgstr "Chaidh a' ghlas a bhacadh le aplacaid"
@@ -1094,7 +1295,7 @@ msgstr "Teacsa mòr"
msgid "Bluetooth"
msgstr "Bluetooth"
#: js/ui/status/bluetooth.js:56 js/ui/status/network.js:624
#: js/ui/status/bluetooth.js:56 js/ui/status/network.js:625
msgid "Bluetooth Settings"
msgstr "Roghainnean Bluetooth"
@@ -1116,13 +1317,13 @@ msgstr "Dheth"
msgid "Not In Use"
msgstr "Chan eil e 'ga chleachdadh"
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1279
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1289
msgid "Turn On"
msgstr "Cuir air"
#: 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/bluetooth.js:142 js/ui/status/network.js:179
#: js/ui/status/network.js:354 js/ui/status/network.js:1289
#: js/ui/status/network.js:1404 js/ui/status/rfkill.js:90
#: js/ui/status/rfkill.js:117
msgid "Turn Off"
msgstr "Cuir dheth"
@@ -1171,18 +1372,18 @@ msgstr ""
"'S urrainn dhut inntrigeadh an ionaid atharrachadh uair sam bith ann an "
"roghainnean na prìobhaideachd."
#: js/ui/status/network.js:101
#: js/ui/status/network.js:102
msgid "<unknown>"
msgstr "<neo-aithnichte>"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:451 js/ui/status/network.js:1308
#: js/ui/status/network.js:452 js/ui/status/network.js:1318
#, javascript-format
msgid "%s Off"
msgstr "%s dheth"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:454
#: js/ui/status/network.js:455
#, javascript-format
msgid "%s Connected"
msgstr "%s ceangailte"
@@ -1190,168 +1391,168 @@ msgstr "%s ceangailte"
#. 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
#: js/ui/status/network.js:459
#: js/ui/status/network.js:460
#, javascript-format
msgid "%s Unmanaged"
msgstr "%s gun stiùireadh"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:462
#: js/ui/status/network.js:463
#, javascript-format
msgid "%s Disconnecting"
msgstr "A' dì-cheangal %s"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:469 js/ui/status/network.js:1300
#: js/ui/status/network.js:470 js/ui/status/network.js:1310
#, javascript-format
msgid "%s Connecting"
msgstr "A' ceangal %s"
#. 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
#: js/ui/status/network.js:473
#, javascript-format
msgid "%s Requires Authentication"
msgstr "Tha %s ag iarraidh dearbhadh"
#. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing; %s is a network identifier
#: js/ui/status/network.js:480
#: js/ui/status/network.js:481
#, javascript-format
msgid "Firmware Missing For %s"
msgstr "Tha bathar-an-sàs a dhìth air %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
#: js/ui/status/network.js:484
#: js/ui/status/network.js:485
#, javascript-format
msgid "%s Unavailable"
msgstr "Chan eil %s ri fhaighinn"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:487
#: js/ui/status/network.js:488
#, javascript-format
msgid "%s Connection Failed"
msgstr "Dh'fhàillig le %s a cheangal"
#: js/ui/status/network.js:503
#: js/ui/status/network.js:504
msgid "Wired Settings"
msgstr "Roghainnean le uèir"
#: js/ui/status/network.js:545
#: js/ui/status/network.js:546
msgid "Mobile Broadband Settings"
msgstr "Roghainnean banna-leathainn inneal-làimhe"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:588 js/ui/status/network.js:1305
#: js/ui/status/network.js:589 js/ui/status/network.js:1315
#, javascript-format
msgid "%s Hardware Disabled"
msgstr "Tha bathar-cruaidh %s à comas"
#. 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
#: js/ui/status/network.js:593
#, javascript-format
msgid "%s Disabled"
msgstr "%s à comas"
#: js/ui/status/network.js:632
#: js/ui/status/network.js:633
msgid "Connect to Internet"
msgstr "Ceangail ris an eadar-lìon"
#: js/ui/status/network.js:813
#: js/ui/status/network.js:823
msgid "Airplane Mode is On"
msgstr "Tha am modh itealain air"
#: js/ui/status/network.js:814
#: js/ui/status/network.js:824
msgid "Wi-Fi is disabled when airplane mode is on."
msgstr "Tha WiFi à comas fhad 's a tha am modh itealain air."
#: js/ui/status/network.js:815
#: js/ui/status/network.js:825
msgid "Turn Off Airplane Mode"
msgstr "Cuir am modh itealain dheth"
#: js/ui/status/network.js:824
#: js/ui/status/network.js:834
msgid "Wi-Fi is Off"
msgstr "Tha WiFi dheth"
#: js/ui/status/network.js:825
#: js/ui/status/network.js:835
msgid "Wi-Fi needs to be turned on in order to connect to a network."
msgstr "Feumaidh tu WiFi a chur air gus ceangal ri lìonra."
#: js/ui/status/network.js:826
#: js/ui/status/network.js:836
msgid "Turn On Wi-Fi"
msgstr "Cuir WiFi air"
#: js/ui/status/network.js:851
#: js/ui/status/network.js:861
msgid "Wi-Fi Networks"
msgstr "Lìonraidhean WiFi"
#: js/ui/status/network.js:853
#: js/ui/status/network.js:863
msgid "Select a network"
msgstr "Tagh lìonra"
#: js/ui/status/network.js:883
#: js/ui/status/network.js:893
msgid "No Networks"
msgstr "Chan eil lìonra ann"
#: js/ui/status/network.js:904 js/ui/status/rfkill.js:115
#: js/ui/status/network.js:914 js/ui/status/rfkill.js:115
msgid "Use hardware switch to turn off"
msgstr "Cleachd suidse bathair-chruaidh gus a chur dheth"
#: js/ui/status/network.js:1171
#: js/ui/status/network.js:1181
msgid "Select Network"
msgstr "Tagh lìonra"
#: js/ui/status/network.js:1177
#: js/ui/status/network.js:1187
msgid "Wi-Fi Settings"
msgstr "Roghainnean WiFi"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:1296
#: js/ui/status/network.js:1306
#, javascript-format
msgid "%s Hotspot Active"
msgstr "Tha %s hotspot gnìomhach"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:1311
#: js/ui/status/network.js:1321
#, javascript-format
msgid "%s Not Connected"
msgstr "Chan eil %s ceangailte"
#: js/ui/status/network.js:1411
#: js/ui/status/network.js:1421
msgid "connecting..."
msgstr "'ga cheangal..."
#. Translators: this is for network connections that require some kind of key or password
#: js/ui/status/network.js:1414
#: js/ui/status/network.js:1424
msgid "authentication required"
msgstr "tha feum air dearbhadh"
#: js/ui/status/network.js:1416
#: js/ui/status/network.js:1426
msgid "connection failed"
msgstr "dh'fhàillig leis a' cheangal"
#: js/ui/status/network.js:1482 js/ui/status/rfkill.js:93
#: js/ui/status/network.js:1492 js/ui/status/rfkill.js:93
msgid "Network Settings"
msgstr "Roghainnean an lìonraidh"
#: js/ui/status/network.js:1484
#: js/ui/status/network.js:1494
msgid "VPN Settings"
msgstr "Roghainnean VPN"
#: js/ui/status/network.js:1503
#: js/ui/status/network.js:1513
msgid "VPN"
msgstr "VPN"
#: js/ui/status/network.js:1513
#: js/ui/status/network.js:1523
msgid "VPN Off"
msgstr "Tha VPN dheth"
#: js/ui/status/network.js:1697
#: js/ui/status/network.js:1711
msgid "Connection failed"
msgstr "Dh'fhàillig leis a' cheangal"
#: js/ui/status/network.js:1698
#: js/ui/status/network.js:1712
msgid "Activation of network connection failed"
msgstr "Dh'fhàillig gnìomhachadh a' cheangail ris an lìonra"

1378
po/gl.po

File diff suppressed because it is too large Load Diff

View File

@@ -1,10 +1,10 @@
# Hebrew translation for gnome-shell.
# Copyright (C) 2009 gnome-shell's COPYRIGHT HOLDER
# This file is distributed under the same license as the gnome-shell package.
# liel <lielft@gmail.com>, 2009.
# Yaron Shahrabani <sh.yaron@gmail.com>, 2010.
#
# Yosef Or Boczko <yoseforb@gnome.org>, 2013, 2014.
# Hebrew translation for gnome-shell.
# Copyright (C) 2009 gnome-shell's COPYRIGHT HOLDER
# This file is distributed under the same license as the gnome-shell package.
# liel <lielft@gmail.com>, 2009.
# Yaron Shahrabani <sh.yaron@gmail.com>, 2010.
#
# Yosef Or Boczko <yoseforb@gnome.org>, 2013, 2014.
#
msgid ""
msgstr ""
@@ -1095,7 +1095,7 @@ msgstr "מופעל מחדש…"
msgid "%A, %B %d"
msgstr "%A, ה־%d ב%B"
# javascript-format
#: js/ui/screenShield.js:144
#, javascript-format
msgid "%d new message"
@@ -1103,7 +1103,7 @@ msgid_plural "%d new messages"
msgstr[0] "הודעה חדשה אחת"
msgstr[1] "%d הודעות חדשות"
# javascript-format
#: js/ui/screenShield.js:146
#, javascript-format
msgid "%d new notification"
@@ -1577,7 +1577,7 @@ msgstr "שחזור הגדרות"
msgid "Keep Changes"
msgstr "שמירת שינויים"
# javascript-format
#: js/ui/windowManager.js:103
#, javascript-format
msgid "Settings changes will revert in %d second"
@@ -1728,7 +1728,7 @@ msgstr "המשתמש בחר להתעלם מתיבת דו־שיח האימות"
#~ msgid "System"
#~ msgstr "מערכת"
# javascript-format
#~ msgid "Show the notification list"
#~ msgstr "הצגת רשימת ההתרעות"
@@ -1759,7 +1759,7 @@ msgstr "המשתמש בחר להתעלם מתיבת דו־שיח האימות"
#~ msgid "GNOME Shell (wayland compositor)"
#~ msgstr "GNOME Shell (מסדר wayland)"
# javascript-format
#~ msgid "%d Connected Device"
#~ msgid_plural "%d Connected Devices"
#~ msgstr[0] "התקן אחד מחובר"
@@ -2319,33 +2319,9 @@ msgstr "המשתמש בחר להתעלם מתיבת דו־שיח האימות"
#~ msgid "Networking is disabled"
#~ msgstr "תכונת הרשת מנוטרלת"
#~ msgid "%d hour remaining"
#~ msgid_plural "%d hours remaining"
#~ msgstr[0] "נותרה שעה"
#~ msgstr[1] "נותרו %d שעות"
#~ msgstr[2] "נותרו שעתיים"
#~ msgid "%d %s %d %s remaining"
#~ msgstr "%d %s %d %s נותרו"
#~ msgid "hour"
#~ msgid_plural "hours"
#~ msgstr[0] "שעה"
#~ msgstr[1] "שעות"
#~ msgstr[2] "שעתיים"
#~ msgid "minute"
#~ msgid_plural "minutes"
#~ msgstr[0] "דקה"
#~ msgstr[1] "דקות"
#~ msgstr[2] "דקות"
#~ msgid "%d minute remaining"
#~ msgid_plural "%d minutes remaining"
#~ msgstr[0] "דקה אחת נותרה"
#~ msgstr[1] "%d דקות נותרו"
#~ msgstr[2] "שתי דקות נותרו"
#~ msgid "AC Adapter"
#~ msgstr "מתאם חשמל"
@@ -2611,30 +2587,6 @@ msgstr "המשתמש בחר להתעלם מתיבת דו־שיח האימות"
#~ msgid "Less than a minute ago"
#~ msgstr "לפני פחות מדקה"
#~ msgid "%d minute ago"
#~ msgid_plural "%d minutes ago"
#~ msgstr[0] "לפני דקה"
#~ msgstr[1] "לפני %d דקות"
#~ msgstr[2] "לפני 2 דקות"
#~ msgid "%d hour ago"
#~ msgid_plural "%d hours ago"
#~ msgstr[0] "לפני שעה"
#~ msgstr[1] "לפני %d שעות"
#~ msgstr[2] "לפני שעתיים"
#~ msgid "%d day ago"
#~ msgid_plural "%d days ago"
#~ msgstr[0] "לפני יום"
#~ msgstr[1] "לפני %d ימים"
#~ msgstr[2] "לפני יומיים"
#~ msgid "%d week ago"
#~ msgid_plural "%d weeks ago"
#~ msgstr[0] "לפני שבוע"
#~ msgstr[1] "לפני %d שבועות"
#~ msgstr[2] "לפני שבועיים"
#~ msgid "Shut Down"
#~ msgstr "כיבוי"

777
po/hr.po

File diff suppressed because it is too large Load Diff

1106
po/hu.po

File diff suppressed because it is too large Load Diff

389
po/id.po
View File

@@ -8,10 +8,10 @@
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-02-16 21:00+0000\n"
"PO-Revision-Date: 2017-02-21 17:25+0700\n"
"POT-Creation-Date: 2017-03-20 18:14+0000\n"
"PO-Revision-Date: 2017-03-21 10:17+0700\n"
"Last-Translator: Kukuh Syafaat <syafaatkukuh@gmail.com>\n"
"Language-Team: Indonesian <gnome-l10n-id@googlegroups.com>\n"
"Language: id\n"
@@ -19,8 +19,8 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-DamnedLies-Scope: partial\n"
"X-Generator: Poedit 1.8.11\n"
"X-DamnedLies-Scope: partial\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: data/50-gnome-shell-system.xml:6
@@ -94,6 +94,18 @@ msgstr ""
"dalam daftar ini. Anda juga dapat memanipulasi daftar ini dengan metoda D-"
"Bus EnableExtension dan DisableExtension pada org.gnome.Shell."
#: data/org.gnome.shell.gschema.xml.in:26
msgid "Disable user extensions"
msgstr "Nonaktifkan ekstensi pengguna"
#: data/org.gnome.shell.gschema.xml.in:27
msgid ""
"Disable all extensions the user has enabled without affecting the “enabled-"
"extension” setting."
msgstr ""
"Nonaktifkan semua ekstensi pengguna yang telah diaktifkan tanpa mempengaruhi "
"pengaturan \"ekstensi-diaktifkan\"."
#: data/org.gnome.shell.gschema.xml.in:34
msgid "Disables the validation of extension version compatibility"
msgstr "Menonaktifkan validasi kompatibilitas versi ekstensi"
@@ -331,7 +343,7 @@ msgstr "Ada galat saat memuat dialog preferensi bagi %s:"
#: js/gdm/authPrompt.js:149 js/ui/audioDeviceSelection.js:71
#: js/ui/components/networkAgent.js:145 js/ui/components/polkitAgent.js:179
#: js/ui/endSessionDialog.js:482 js/ui/extensionDownloader.js:195
#: js/ui/shellMountOperation.js:399 js/ui/status/network.js:939
#: js/ui/shellMountOperation.js:399 js/ui/status/network.js:947
msgid "Cancel"
msgstr "Batal"
@@ -379,7 +391,7 @@ msgstr "Nama pengguna: "
msgid "Login Window"
msgstr "Jendela Log Masuk"
#: js/gdm/util.js:341
#: js/gdm/util.js:342
msgid "Authentication error"
msgstr "Galat otentikasi"
@@ -388,40 +400,84 @@ msgstr "Galat otentikasi"
#. 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
#: js/gdm/util.js:474
msgid "(or swipe finger)"
msgstr "(atau gesekkan jari)"
#: js/misc/util.js:119
#: js/misc/util.js:122
msgid "Command not found"
msgstr "Perintah tidak ditemukan"
#. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer
#: js/misc/util.js:152
#: js/misc/util.js:155
msgid "Could not parse command:"
msgstr "Tak dapat mengurai perintah:"
#: js/misc/util.js:160
#: js/misc/util.js:163
#, javascript-format
msgid "Execution of “%s” failed:"
msgstr "Eksekusi \"%s\" gagal:"
#: js/misc/util.js:180
msgid "Just now"
msgstr "Baru saja"
#: js/misc/util.js:182
#, javascript-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "%d menit yang lalu"
#: js/misc/util.js:185
#, javascript-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
msgstr[0] "%d jam yang lalu"
#: js/misc/util.js:188
msgid "Yesterday"
msgstr "Kemarin"
#: js/misc/util.js:190
#, javascript-format
msgid "%d day ago"
msgid_plural "%d days ago"
msgstr[0] "%d hari yang lalu"
#: js/misc/util.js:193
#, javascript-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
msgstr[0] "%d minggu yang lalu"
#: js/misc/util.js:196
#, javascript-format
msgid "%d month ago"
msgid_plural "%d months ago"
msgstr[0] "%d bulan yang lalu"
#: js/misc/util.js:198
#, javascript-format
msgid "%d year ago"
msgid_plural "%d years ago"
msgstr[0] "%d tahun yang lalu"
#. Translators: Time in 24h format
#: js/misc/util.js:191
#: js/misc/util.js:229
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"
#: js/misc/util.js:197
#: js/misc/util.js:235
#, no-c-format
msgid "Yesterday, %H%M"
msgstr "Kemarin, %H:%M"
#. Translators: this is the week day name followed by a time
#. string in 24h format. i.e. "Monday, 14:30"
#: js/misc/util.js:203
#: js/misc/util.js:241
#, no-c-format
msgid "%A, %H%M"
msgstr "%A, %H%M"
@@ -429,7 +485,7 @@ 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"
#: js/misc/util.js:209
#: js/misc/util.js:247
#, no-c-format
msgid "%B %d, %H%M"
msgstr "%d %B, %H%M"
@@ -437,26 +493,26 @@ 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"
#: js/misc/util.js:215
#: js/misc/util.js:253
#, no-c-format
msgid "%B %d %Y, %H%M"
msgstr "%d %B %Y, %H%M"
#. Translators: Time in 12h format
#: js/misc/util.js:220
#: js/misc/util.js:258
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"
#: js/misc/util.js:226
#: js/misc/util.js:264
#, no-c-format
msgid "Yesterday, %l%M %p"
msgstr "Kemarin, %l%M %p"
#. Translators: this is the week day name followed by a time
#. string in 12h format. i.e. "Monday, 2:30 pm"
#: js/misc/util.js:232
#: js/misc/util.js:270
#, no-c-format
msgid "%A, %l%M %p"
msgstr "%A, %l%M %p"
@@ -464,7 +520,7 @@ 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"
#: js/misc/util.js:238
#: js/misc/util.js:276
#, no-c-format
msgid "%B %d, %l%M %p"
msgstr "%d %B, %l%M %p"
@@ -472,7 +528,7 @@ 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"
#: js/misc/util.js:244
#: js/misc/util.js:282
#, no-c-format
msgid "%B %d %Y, %l%M %p"
msgstr "%d %B %Y, %l%M %p"
@@ -493,11 +549,11 @@ msgstr ""
#. No support for non-modal system dialogs, so ignore the option
#. let modal = options['modal'] || true;
#: js/ui/accessDialog.js:62 js/ui/status/location.js:427
#: js/ui/accessDialog.js:62 js/ui/status/location.js:405
msgid "Deny Access"
msgstr "Tolak Akses"
#: js/ui/accessDialog.js:63 js/ui/status/location.js:430
#: js/ui/accessDialog.js:63 js/ui/status/location.js:408
msgid "Grant Access"
msgstr "Beri Akses"
@@ -648,37 +704,33 @@ msgstr "Minggu %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:721
#: js/ui/calendar.js:729
msgctxt "event list time"
msgid "All Day"
msgstr "Sepanjang Hari"
#: js/ui/calendar.js:836
msgid "Events"
msgstr "Kejadian"
#: js/ui/calendar.js:845
#: js/ui/calendar.js:862
msgctxt "calendar heading"
msgid "%A, %B %d"
msgstr "%A, %d %B"
#: js/ui/calendar.js:849
#: js/ui/calendar.js:866
msgctxt "calendar heading"
msgid "%A, %B %d, %Y"
msgstr "%A, %d %B %Y"
#: js/ui/calendar.js:931
msgid "Notifications"
msgstr "Pemberitahuan"
#: js/ui/calendar.js:1082
#: js/ui/calendar.js:1086
msgid "No Notifications"
msgstr "Tak Ada Pemberitahuan"
#: js/ui/calendar.js:1085
#: js/ui/calendar.js:1089
msgid "No Events"
msgstr "Tak Ada Kejadian"
#: js/ui/calendar.js:1117
msgid "Clear All"
msgstr "Bersihkan Semua"
#: js/ui/components/automountManager.js:91
msgid "External drive connected"
msgstr "Drive eksternal tersambung"
@@ -701,7 +753,7 @@ msgid "Type again:"
msgstr "Ketik lagi:"
#: js/ui/components/networkAgent.js:140 js/ui/status/network.js:272
#: js/ui/status/network.js:366 js/ui/status/network.js:942
#: js/ui/status/network.js:366 js/ui/status/network.js:950
msgid "Connect"
msgstr "Sambung"
@@ -776,7 +828,7 @@ msgstr "Sandi jaringan data seluler"
msgid "A password is required to connect to “%s”."
msgstr "Perlu suatu sandi untuk menyambung ke \"%s\"."
#: js/ui/components/networkAgent.js:655 js/ui/status/network.js:1747
#: js/ui/components/networkAgent.js:655 js/ui/status/network.js:1755
msgid "Network Manager"
msgstr "Manajer Jaringan"
@@ -802,7 +854,7 @@ msgstr "Maaf, tidak berhasil. Silakan coba lagi."
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
#: js/ui/components/telepathyClient.js:765
#: js/ui/components/telepathyClient.js:799
#, javascript-format
msgid "%s is now known as %s"
msgstr "%s sekarang dikenal sebagai %s"
@@ -824,7 +876,7 @@ 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
#: js/ui/dateMenu.js:75
msgid "%B %e %Y"
msgstr "%e %B %Y"
@@ -832,18 +884,71 @@ msgstr "%e %B %Y"
#. * 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
#: js/ui/dateMenu.js:82
msgid "%A %B %e %Y"
msgstr "%A %e %B %Y"
#: js/ui/dateMenu.js:160
#: js/ui/dateMenu.js:144
msgid "Add world clocks…"
msgstr "Tambah jam dunia…"
#: js/ui/dateMenu.js:161
#: js/ui/dateMenu.js:145
msgid "World Clocks"
msgstr "Jam Dunia"
#: js/ui/dateMenu.js:224
msgid "Weather"
msgstr "Cuaca"
#. Translators: %s is a weather condition like "Clear sky"; see
#. libgweather for the possible condition strings. If at all
#. possible, the sentence should match the grammatical case etc. of
#. the inserted conditions.
#: js/ui/dateMenu.js:281
#, javascript-format
msgid "%s all day."
msgstr "%s sepanjang hari."
#. Translators: %s is a weather condition like "Clear sky"; see
#. libgweather for the possible condition strings. If at all
#. possible, the sentence should match the grammatical case etc. of
#. the inserted conditions.
#: js/ui/dateMenu.js:287
#, javascript-format
msgid "%s, then %s later."
msgstr "%s, kemudian %s."
#. Translators: %s is a weather condition like "Clear sky"; see
#. libgweather for the possible condition strings. If at all
#. possible, the sentence should match the grammatical case etc. of
#. the inserted conditions.
#: js/ui/dateMenu.js:293
#, javascript-format
msgid "%s, then %s, followed by %s later."
msgstr "%s, kemudian %s, diikuti dengan %s nanti."
#: js/ui/dateMenu.js:300
msgid "Select a location…"
msgstr "Pilih lokasi…"
#: js/ui/dateMenu.js:303
msgid "Loading…"
msgstr "Memuat…"
#. Translators: %s is a temperature with unit, e.g. "23℃"
#: js/ui/dateMenu.js:309
#, javascript-format
msgid "Feels like %s."
msgstr "Terasa seperti %s."
#: js/ui/dateMenu.js:312
msgid "Go online for weather information"
msgstr "Pergi daring untuk informasi cuaca"
#: js/ui/dateMenu.js:314
msgid "Weather information is currently unavailable"
msgstr "Informasi cuaca saat ini tidak tersedia"
#: js/ui/endSessionDialog.js:64
#, javascript-format
msgctxt "title"
@@ -1008,74 +1113,66 @@ msgstr "Sembunyikan baki"
msgid "Status Icons"
msgstr "Ikon Status"
#: js/ui/lookingGlass.js:643
#: js/ui/lookingGlass.js:642
msgid "No extensions installed"
msgstr "Tak ada ekstensi terpasang"
#. Translators: argument is an extension UUID.
#: js/ui/lookingGlass.js:697
#: js/ui/lookingGlass.js:696
#, javascript-format
msgid "%s has not emitted any errors."
msgstr "%s tidak menampilkan galat apa pun."
#: js/ui/lookingGlass.js:703
#: js/ui/lookingGlass.js:702
msgid "Hide Errors"
msgstr "Sembunyikan Galat"
#: js/ui/lookingGlass.js:707 js/ui/lookingGlass.js:767
#: js/ui/lookingGlass.js:706 js/ui/lookingGlass.js:766
msgid "Show Errors"
msgstr "Tampilkan Galat"
#: js/ui/lookingGlass.js:716
#: js/ui/lookingGlass.js:715
msgid "Enabled"
msgstr "Diaktifkan"
#. translators:
#. * The device has been disabled
#: js/ui/lookingGlass.js:719 src/gvc/gvc-mixer-control.c:1866
#: js/ui/lookingGlass.js:718 src/gvc/gvc-mixer-control.c:1866
msgid "Disabled"
msgstr "Dinonaktifkan"
#: js/ui/lookingGlass.js:721
#: js/ui/lookingGlass.js:720
msgid "Error"
msgstr "Galat"
#: js/ui/lookingGlass.js:723
#: js/ui/lookingGlass.js:722
msgid "Out of date"
msgstr "Kadaluarsa"
#: js/ui/lookingGlass.js:725
#: js/ui/lookingGlass.js:724
msgid "Downloading"
msgstr "Mengunduh"
#: js/ui/lookingGlass.js:749
#: js/ui/lookingGlass.js:748
msgid "View Source"
msgstr "Tilik Sumber"
#: js/ui/lookingGlass.js:758
#: js/ui/lookingGlass.js:757
msgid "Web Page"
msgstr "Halaman Web"
#: js/ui/messageList.js:543
msgid "Clear section"
msgstr "Bersihkan seksi"
#: js/ui/messageTray.js:1486
#: js/ui/messageTray.js:1493
msgid "System Information"
msgstr "Informasi Sistem"
#: js/ui/mpris.js:194
#: js/ui/mpris.js:211
msgid "Unknown artist"
msgstr "Artis tak dikenal"
#: js/ui/mpris.js:195
#: js/ui/mpris.js:212
msgid "Unknown title"
msgstr "Judul tak dikenal"
#: js/ui/mpris.js:217
msgid "Media"
msgstr "Media"
#: js/ui/overview.js:84
msgid "Undo"
msgstr "Batal"
@@ -1094,47 +1191,47 @@ msgstr "Gambaran"
msgid "Type to search…"
msgstr "Ketik untuk mencari…"
#: js/ui/padOsd.js:37
#: js/ui/padOsd.js:103
msgid "New shortcut…"
msgstr "Pintasan Baru..."
#: js/ui/padOsd.js:86
#: js/ui/padOsd.js:152
msgid "Application defined"
msgstr "Aplikasi yang didefinisikan"
#: js/ui/padOsd.js:87
#: js/ui/padOsd.js:153
msgid "Show on-screen help"
msgstr "Tampilkan bantuan di layar "
#: js/ui/padOsd.js:88
#: js/ui/padOsd.js:154
msgid "Switch monitor"
msgstr "Ganti monitor"
#: js/ui/padOsd.js:89
#: js/ui/padOsd.js:155
msgid "Assign keystroke"
msgstr "Tetapkan keystroke"
#: js/ui/padOsd.js:143
#: js/ui/padOsd.js:209
msgid "Done"
msgstr "Selesai"
#: js/ui/padOsd.js:597
#: js/ui/padOsd.js:698
msgid "Edit…"
msgstr "Sunting…"
#: js/ui/padOsd.js:610 js/ui/padOsd.js:665
#: js/ui/padOsd.js:738 js/ui/padOsd.js:800
msgid "None"
msgstr "Nihil"
#: js/ui/padOsd.js:648
#: js/ui/padOsd.js:783
msgid "Press a button to configure"
msgstr "Tekan tombol untuk mengkonfigurasi"
#: js/ui/padOsd.js:649
#: js/ui/padOsd.js:784
msgid "Press Esc to exit"
msgstr "Tekan Esc untuk keluar"
#: js/ui/padOsd.js:652
#: js/ui/padOsd.js:787
msgid "Press any key to exit"
msgstr "Tekan tombol apa saja untuk keluar"
@@ -1171,7 +1268,7 @@ msgstr "toggle-switch-intl"
msgid "Enter a Command"
msgstr "Ketikkan Perintah"
#: js/ui/runDialog.js:111 js/ui/windowMenu.js:162
#: js/ui/runDialog.js:111 js/ui/windowMenu.js:160
msgid "Close"
msgstr "Tutup"
@@ -1185,27 +1282,27 @@ msgstr "Memulai ulang..."
#. Translators: This is a time format for a date in
#. long format
#: js/ui/screenShield.js:85
#: js/ui/screenShield.js:88
msgid "%A, %B %d"
msgstr "%A, %d %B"
#: js/ui/screenShield.js:144
#: js/ui/screenShield.js:147
#, javascript-format
msgid "%d new message"
msgid_plural "%d new messages"
msgstr[0] "%d pesan baru"
#: js/ui/screenShield.js:146
#: js/ui/screenShield.js:149
#, javascript-format
msgid "%d new notification"
msgid_plural "%d new notifications"
msgstr[0] "%d pemberitahuan baru"
#: js/ui/screenShield.js:449 js/ui/status/system.js:409
#: js/ui/screenShield.js:452 js/ui/status/system.js:409
msgid "Lock"
msgstr "Kunci"
#: js/ui/screenShield.js:707
#: js/ui/screenShield.js:715
msgid "GNOME needs to lock the screen"
msgstr "GNOME perlu mengunci layar"
@@ -1216,11 +1313,11 @@ msgstr "GNOME perlu mengunci layar"
#.
#. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs
#: js/ui/screenShield.js:828 js/ui/screenShield.js:1295
#: js/ui/screenShield.js:836 js/ui/screenShield.js:1308
msgid "Unable to lock"
msgstr "Tak bisa mengunci"
#: js/ui/screenShield.js:829 js/ui/screenShield.js:1296
#: js/ui/screenShield.js:837 js/ui/screenShield.js:1309
msgid "Lock was blocked by an application"
msgstr "Kunci diblokir oleh suatu aplikasi"
@@ -1323,13 +1420,13 @@ msgstr "Mati"
msgid "On"
msgstr "Hidup"
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1302
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1310
msgid "Turn On"
msgstr "Nyalakan"
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:181
#: js/ui/status/network.js:367 js/ui/status/network.js:1302
#: js/ui/status/network.js:1417 js/ui/status/nightLight.js:47
#: js/ui/status/network.js:367 js/ui/status/network.js:1310
#: js/ui/status/network.js:1425 js/ui/status/nightLight.js:47
#: js/ui/status/rfkill.js:90 js/ui/status/rfkill.js:117
msgid "Turn Off"
msgstr "Matikan"
@@ -1342,37 +1439,37 @@ msgstr "Kecerahan"
msgid "Show Keyboard Layout"
msgstr "Tampilkan Tata Letak Papan Tik"
#: js/ui/status/location.js:107 js/ui/status/location.js:215
#: js/ui/status/location.js:88 js/ui/status/location.js:196
msgid "Location Enabled"
msgstr "Lokasi Diaktifkan"
#: js/ui/status/location.js:108 js/ui/status/location.js:216
#: js/ui/status/location.js:89 js/ui/status/location.js:197
msgid "Disable"
msgstr "Nonaktifkan"
#: js/ui/status/location.js:109
#: js/ui/status/location.js:90
msgid "Privacy Settings"
msgstr "Pengaturan Privasi"
#: js/ui/status/location.js:214
#: js/ui/status/location.js:195
msgid "Location In Use"
msgstr "Lokasi Sedang Digunakan"
#: js/ui/status/location.js:218
#: js/ui/status/location.js:199
msgid "Location Disabled"
msgstr "Koneksi Dinonaktifkan"
#: js/ui/status/location.js:219
#: js/ui/status/location.js:200
msgid "Enable"
msgstr "Fungsikan"
#. Translators: %s is an application name
#: js/ui/status/location.js:436
#: js/ui/status/location.js:414
#, javascript-format
msgid "Give %s access to your location?"
msgstr "Beri %s akses ke lokasi Anda?"
#: js/ui/status/location.js:438
#: js/ui/status/location.js:416
msgid "Location access can be changed at any time from the privacy settings."
msgstr "Akses lokasi dapat diubah setiap saat dari pengaturan privasi."
@@ -1381,7 +1478,7 @@ msgid "<unknown>"
msgstr "<tak dikenal>"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:465 js/ui/status/network.js:1331
#: js/ui/status/network.js:465 js/ui/status/network.js:1339
#, javascript-format
msgid "%s Off"
msgstr "%s Mati"
@@ -1407,7 +1504,7 @@ msgid "%s Disconnecting"
msgstr "%s Memutus"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:483 js/ui/status/network.js:1323
#: js/ui/status/network.js:483 js/ui/status/network.js:1331
#, javascript-format
msgid "%s Connecting"
msgstr "%s Menyambung"
@@ -1447,7 +1544,7 @@ msgid "Mobile Broadband Settings"
msgstr "Pengaturan Data Seluler"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:602 js/ui/status/network.js:1328
#: js/ui/status/network.js:602 js/ui/status/network.js:1336
#, javascript-format
msgid "%s Hardware Disabled"
msgstr "%s Perangkat Keras Dinonaktifkan"
@@ -1463,119 +1560,119 @@ msgstr "%s Dinonaktifkan"
msgid "Connect to Internet"
msgstr "Sambungkan ke Internet"
#: js/ui/status/network.js:836
#: js/ui/status/network.js:844
msgid "Airplane Mode is On"
msgstr "Mode Pesawat Terbang Menyala"
#: js/ui/status/network.js:837
#: js/ui/status/network.js:845
msgid "Wi-Fi is disabled when airplane mode is on."
msgstr "Wi-Fi dinonaktifkan ketika mode pesawat terbang menyala."
#: js/ui/status/network.js:838
#: js/ui/status/network.js:846
msgid "Turn Off Airplane Mode"
msgstr "Matikan Mode Pesawat Terbang"
#: js/ui/status/network.js:847
#: js/ui/status/network.js:855
msgid "Wi-Fi is Off"
msgstr "Wi-Fi Mati"
#: js/ui/status/network.js:848
#: js/ui/status/network.js:856
msgid "Wi-Fi needs to be turned on in order to connect to a network."
msgstr "Wi-Fi perlu dinyalakan untuk menyambung ke suatu jaringan."
#: js/ui/status/network.js:849
#: js/ui/status/network.js:857
msgid "Turn On Wi-Fi"
msgstr "Nyalakan Wi-Fi"
#: js/ui/status/network.js:874
#: js/ui/status/network.js:882
msgid "Wi-Fi Networks"
msgstr "Jaringan Wi-Fi"
#: js/ui/status/network.js:876
#: js/ui/status/network.js:884
msgid "Select a network"
msgstr "Pilih jaringan"
#: js/ui/status/network.js:906
#: js/ui/status/network.js:914
msgid "No Networks"
msgstr "Tiada Jaringan"
#: js/ui/status/network.js:927 js/ui/status/rfkill.js:115
#: js/ui/status/network.js:935 js/ui/status/rfkill.js:115
msgid "Use hardware switch to turn off"
msgstr "Pakai saklar perangkat keras untuk mematikan"
#: js/ui/status/network.js:1194
#: js/ui/status/network.js:1202
msgid "Select Network"
msgstr "Pilih Jaringan"
#: js/ui/status/network.js:1200
#: js/ui/status/network.js:1208
msgid "Wi-Fi Settings"
msgstr "Pengaturan Wi-Fi"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:1319
#: js/ui/status/network.js:1327
#, javascript-format
msgid "%s Hotspot Active"
msgstr "%s Hotspot Aktif"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:1334
#: js/ui/status/network.js:1342
#, javascript-format
msgid "%s Not Connected"
msgstr "%s Tak Tersambung"
#: js/ui/status/network.js:1434
#: js/ui/status/network.js:1442
msgid "connecting…"
msgstr "menghubungi..."
#. Translators: this is for network connections that require some kind of key or password
#: js/ui/status/network.js:1437
#: js/ui/status/network.js:1445
msgid "authentication required"
msgstr "diperlukan otentikasi"
#: js/ui/status/network.js:1439
#: js/ui/status/network.js:1447
msgid "connection failed"
msgstr "koneksi gagal"
#: js/ui/status/network.js:1505 js/ui/status/network.js:1600
#: js/ui/status/network.js:1513 js/ui/status/network.js:1608
#: js/ui/status/rfkill.js:93
msgid "Network Settings"
msgstr "Pengaturan Jaringan"
#: js/ui/status/network.js:1507
#: js/ui/status/network.js:1515
msgid "VPN Settings"
msgstr "Pengaturan VPN"
#: js/ui/status/network.js:1526
#: js/ui/status/network.js:1534
msgid "VPN"
msgstr "VPN"
#: js/ui/status/network.js:1536
#: js/ui/status/network.js:1544
msgid "VPN Off"
msgstr "VPN Mati"
#: js/ui/status/network.js:1631
#: js/ui/status/network.js:1639
#, javascript-format
msgid "%s Wired Connection"
msgid_plural "%s Wired Connections"
msgstr[0] "%s Koneksi Kabel"
#: js/ui/status/network.js:1635
#: js/ui/status/network.js:1643
#, javascript-format
msgid "%s Wi-Fi Connection"
msgid_plural "%s Wi-Fi Connections"
msgstr[0] "%s Koneksi Wi-Fi"
#: js/ui/status/network.js:1639
#: js/ui/status/network.js:1647
#, javascript-format
msgid "%s Modem Connection"
msgid_plural "%s Modem Connections"
msgstr[0] "%s Koneksi Modem"
#: js/ui/status/network.js:1786
#: js/ui/status/network.js:1794
msgid "Connection failed"
msgstr "Koneksi gagal"
#: js/ui/status/network.js:1787
#: js/ui/status/network.js:1795
msgid "Activation of network connection failed"
msgstr "Aktivasi koneksi jaringan gagal"
@@ -1686,22 +1783,22 @@ msgstr "Cari"
msgid "“%s” is ready"
msgstr "'%s' siap"
#: js/ui/windowManager.js:83
#: js/ui/windowManager.js:84
msgid "Do you want to keep these display settings?"
msgstr "Apakah Anda ingin mempertahankan pengaturan tampilan ini?"
#. Translators: this and the following message should be limited in lenght,
#. to avoid ellipsizing the labels.
#.
#: js/ui/windowManager.js:102
#: js/ui/windowManager.js:103
msgid "Revert Settings"
msgstr "Balikkan Tatanan"
#: js/ui/windowManager.js:105
#: js/ui/windowManager.js:106
msgid "Keep Changes"
msgstr "Simpan Perubahan"
#: js/ui/windowManager.js:123
#: js/ui/windowManager.js:124
#, javascript-format
msgid "Settings changes will revert in %d second"
msgid_plural "Settings changes will revert in %d seconds"
@@ -1709,7 +1806,7 @@ msgstr[0] "Perubahan tatanan akan dikembalikan dalam %d detik"
#. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height.
#: js/ui/windowManager.js:678
#: js/ui/windowManager.js:679
#, javascript-format
msgid "%d × %d"
msgstr "%d × %d"
@@ -1746,35 +1843,35 @@ msgstr "Selalu di Puncak"
msgid "Always on Visible Workspace"
msgstr "Selalu pada Ruang Kerja yang Tampak"
#: js/ui/windowMenu.js:105
#: js/ui/windowMenu.js:103
msgid "Move to Workspace Left"
msgstr "Pindah ke Ruang Kerja Kiri"
#: js/ui/windowMenu.js:110
#: js/ui/windowMenu.js:108
msgid "Move to Workspace Right"
msgstr "Pindah ke Ruang Kerja Kanan"
#: js/ui/windowMenu.js:115
#: js/ui/windowMenu.js:113
msgid "Move to Workspace Up"
msgstr "Pindah ke Ruang Kerja Atas"
#: js/ui/windowMenu.js:120
#: js/ui/windowMenu.js:118
msgid "Move to Workspace Down"
msgstr "Pindah ke Ruang Kerja Bawah"
#: js/ui/windowMenu.js:136
#: js/ui/windowMenu.js:134
msgid "Move to Monitor Up"
msgstr "Pindah ke Ruang Kerja Atas"
#: js/ui/windowMenu.js:142
#: js/ui/windowMenu.js:140
msgid "Move to Monitor Down"
msgstr "Pindah ke Ruang Kerja Bawah"
#: js/ui/windowMenu.js:148
#: js/ui/windowMenu.js:146
msgid "Move to Monitor Left"
msgstr "Pindahkan ke Monitor Kiri"
#: js/ui/windowMenu.js:154
#: js/ui/windowMenu.js:152
msgid "Move to Monitor Right"
msgstr "Pindahkan ke Monitor Kanan"
@@ -1807,19 +1904,19 @@ msgstr[0] "%u Masukan"
msgid "System Sounds"
msgstr "Suara Sistem"
#: src/main.c:381
#: src/main.c:372
msgid "Print version"
msgstr "Versi Cetak"
#: src/main.c:387
#: src/main.c:378
msgid "Mode used by GDM for login screen"
msgstr "Mode yang dipakai oleh layar log masuk GDM"
#: src/main.c:393
#: src/main.c:384
msgid "Use a specific mode, e.g. “gdm” for login screen"
msgstr "Menggunakan mode tertentu, mis. \"gdm\" untuk layar masuk"
#: src/main.c:399
#: src/main.c:390
msgid "List possible modes"
msgstr "Menampilkan mode yang mungkin"
@@ -1845,6 +1942,18 @@ msgstr "Sandi tidak boleh kosong"
msgid "Authentication dialog was dismissed by the user"
msgstr "Dialog otentikasi ditolak oleh pengguna"
#~ msgid "Events"
#~ msgstr "Kejadian"
#~ msgid "Notifications"
#~ msgstr "Pemberitahuan"
#~ msgid "Clear section"
#~ msgstr "Bersihkan seksi"
#~ msgid "Media"
#~ msgstr "Media"
#~ msgid "GNOME Shell Extension Preferences"
#~ msgstr "Preferensi Ekstensi GNOME Shell"

855
po/is.po

File diff suppressed because it is too large Load Diff

438
po/it.po

File diff suppressed because it is too large Load Diff

1121
po/ja.po

File diff suppressed because it is too large Load Diff

207
po/kk.po
View File

@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: master\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-03-01 09:59+0000\n"
"PO-Revision-Date: 2017-03-01 16:04+0500\n"
"POT-Creation-Date: 2017-03-20 18:14+0000\n"
"PO-Revision-Date: 2017-03-21 08:59+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.11\n"
"X-Generator: Poedit 1.8.12\n"
#: data/50-gnome-shell-system.xml:6
msgid "System"
@@ -339,7 +339,7 @@ msgstr "%s үшін баптаулар сұхбатын жүктеу кезін
#: js/gdm/authPrompt.js:149 js/ui/audioDeviceSelection.js:71
#: js/ui/components/networkAgent.js:145 js/ui/components/polkitAgent.js:179
#: js/ui/endSessionDialog.js:482 js/ui/extensionDownloader.js:195
#: js/ui/shellMountOperation.js:399 js/ui/status/network.js:939
#: js/ui/shellMountOperation.js:399 js/ui/status/network.js:947
msgid "Cancel"
msgstr "Бас тарту"
@@ -387,7 +387,7 @@ msgstr "Пайдаланушы аты:"
msgid "Login Window"
msgstr "Жүйеге кіру терезесі"
#: js/gdm/util.js:341
#: js/gdm/util.js:342
msgid "Authentication error"
msgstr "Аутентификация қатесі"
@@ -396,7 +396,7 @@ msgstr "Аутентификация қатесі"
#. 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
#: js/gdm/util.js:474
msgid "(or swipe finger)"
msgstr "(немесе саусағыңызды өткізіңіз)"
@@ -545,11 +545,11 @@ msgstr ""
#. No support for non-modal system dialogs, so ignore the option
#. let modal = options['modal'] || true;
#: js/ui/accessDialog.js:62 js/ui/status/location.js:427
#: js/ui/accessDialog.js:62 js/ui/status/location.js:405
msgid "Deny Access"
msgstr "Тыйым салу"
#: js/ui/accessDialog.js:63 js/ui/status/location.js:430
#: js/ui/accessDialog.js:63 js/ui/status/location.js:408
msgid "Grant Access"
msgstr "Рұқсат ету"
@@ -749,7 +749,7 @@ msgid "Type again:"
msgstr "Қайтадан енгізіңіз:"
#: js/ui/components/networkAgent.js:140 js/ui/status/network.js:272
#: js/ui/status/network.js:366 js/ui/status/network.js:942
#: js/ui/status/network.js:366 js/ui/status/network.js:950
msgid "Connect"
msgstr "Байланысу"
@@ -823,7 +823,7 @@ msgstr "Сымсыз кеңжолақты желісінің паролі"
msgid "A password is required to connect to “%s”."
msgstr "\"%s\" үшін байланысты орнату үшін пароль керек."
#: js/ui/components/networkAgent.js:655 js/ui/status/network.js:1747
#: js/ui/components/networkAgent.js:655 js/ui/status/network.js:1755
msgid "Network Manager"
msgstr "Желілер басқарушысы"
@@ -849,7 +849,7 @@ msgstr "Кешіріңіз, талап сәтсіз. Қайтадан көрің
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
#: js/ui/components/telepathyClient.js:767
#: js/ui/components/telepathyClient.js:799
#, javascript-format
msgid "%s is now known as %s"
msgstr "%s енді %s ретінде белгілі"
@@ -923,20 +923,25 @@ msgid "%s, then %s, followed by %s later."
msgstr "%s, одан кейін %s, одан кейін %s."
#: js/ui/dateMenu.js:300
#| msgid "Select a network"
msgid "Select a location…"
msgstr "Орналасуды таңдаңыз…"
#: js/ui/dateMenu.js:303
msgid "Loading…"
msgstr "Жүктеу…"
#. Translators: %s is a temperature with unit, e.g. "23℃"
#: js/ui/dateMenu.js:306
#: js/ui/dateMenu.js:309
#, javascript-format
msgid "Feels like %s."
msgstr "%s сияқты сезіледі."
#: js/ui/dateMenu.js:309
#: js/ui/dateMenu.js:312
msgid "Go online for weather information"
msgstr "Ауа райы ақпаратын алу үшін желіге байланысыңыз"
#: js/ui/dateMenu.js:311
#: js/ui/dateMenu.js:314
msgid "Weather information is currently unavailable"
msgstr "Ауа райы ақпараты ағымдағы уақытта қолжетерсіз"
@@ -1105,51 +1110,51 @@ msgstr "Жүйелік трейді жасыру"
msgid "Status Icons"
msgstr "Қалып-күй таңбашалары"
#: js/ui/lookingGlass.js:643
#: js/ui/lookingGlass.js:642
msgid "No extensions installed"
msgstr "Кеңейтулер орнатылмаған"
#. Translators: argument is an extension UUID.
#: js/ui/lookingGlass.js:697
#: js/ui/lookingGlass.js:696
#, javascript-format
msgid "%s has not emitted any errors."
msgstr "%s ешбір қатені шығармады."
#: js/ui/lookingGlass.js:703
#: js/ui/lookingGlass.js:702
msgid "Hide Errors"
msgstr "Қателерді жасыру"
#: js/ui/lookingGlass.js:707 js/ui/lookingGlass.js:767
#: js/ui/lookingGlass.js:706 js/ui/lookingGlass.js:766
msgid "Show Errors"
msgstr "Қателерді көрсету"
#: js/ui/lookingGlass.js:716
#: js/ui/lookingGlass.js:715
msgid "Enabled"
msgstr "Іске қосылған"
#. translators:
#. * The device has been disabled
#: js/ui/lookingGlass.js:719 src/gvc/gvc-mixer-control.c:1866
#: js/ui/lookingGlass.js:718 src/gvc/gvc-mixer-control.c:1866
msgid "Disabled"
msgstr "Сөндірулі"
#: js/ui/lookingGlass.js:721
#: js/ui/lookingGlass.js:720
msgid "Error"
msgstr "Қате"
#: js/ui/lookingGlass.js:723
#: js/ui/lookingGlass.js:722
msgid "Out of date"
msgstr "Ескірген"
#: js/ui/lookingGlass.js:725
#: js/ui/lookingGlass.js:724
msgid "Downloading"
msgstr "Жүктелуде"
#: js/ui/lookingGlass.js:749
#: js/ui/lookingGlass.js:748
msgid "View Source"
msgstr "Бастапқы кодын қарау"
#: js/ui/lookingGlass.js:758
#: js/ui/lookingGlass.js:757
msgid "Web Page"
msgstr "Веб парағы"
@@ -1183,47 +1188,47 @@ msgstr "Шолу"
msgid "Type to search…"
msgstr "Іздеу үшін теріңіз..."
#: js/ui/padOsd.js:37
#: js/ui/padOsd.js:103
msgid "New shortcut…"
msgstr "Жаңа жарлық…"
#: js/ui/padOsd.js:86
#: js/ui/padOsd.js:152
msgid "Application defined"
msgstr "Тағайындалған қолданбалар"
#: js/ui/padOsd.js:87
#: js/ui/padOsd.js:153
msgid "Show on-screen help"
msgstr "Экрандағы көмекті көрсету"
#: js/ui/padOsd.js:88
#: js/ui/padOsd.js:154
msgid "Switch monitor"
msgstr "Мониторды ауыстыру"
#: js/ui/padOsd.js:89
#: js/ui/padOsd.js:155
msgid "Assign keystroke"
msgstr "Пернелер жарлығын тағайындау"
#: js/ui/padOsd.js:143
#: js/ui/padOsd.js:209
msgid "Done"
msgstr "Дайын"
#: js/ui/padOsd.js:597
#: js/ui/padOsd.js:698
msgid "Edit…"
msgstr "Түзету…"
#: js/ui/padOsd.js:610 js/ui/padOsd.js:665
#: js/ui/padOsd.js:738 js/ui/padOsd.js:800
msgid "None"
msgstr "Ешнәрсе"
#: js/ui/padOsd.js:648
#: js/ui/padOsd.js:783
msgid "Press a button to configure"
msgstr "Баптау үшін батырманы басыңыз"
#: js/ui/padOsd.js:649
#: js/ui/padOsd.js:784
msgid "Press Esc to exit"
msgstr "Шығу үшін Esc басыңыз"
#: js/ui/padOsd.js:652
#: js/ui/padOsd.js:787
msgid "Press any key to exit"
msgstr "Шығу үшін кез-келген батырманы басыңыз"
@@ -1259,7 +1264,7 @@ msgstr "toggle-switch-intl"
msgid "Enter a Command"
msgstr "Команданы енгізу"
#: js/ui/runDialog.js:111 js/ui/windowMenu.js:162
#: js/ui/runDialog.js:111 js/ui/windowMenu.js:160
msgid "Close"
msgstr "Жабу"
@@ -1273,27 +1278,27 @@ msgstr "Қайта қосу…"
#. Translators: This is a time format for a date in
#. long format
#: js/ui/screenShield.js:85
#: js/ui/screenShield.js:88
msgid "%A, %B %d"
msgstr "%A, %B %d"
#: js/ui/screenShield.js:144
#: js/ui/screenShield.js:147
#, javascript-format
msgid "%d new message"
msgid_plural "%d new messages"
msgstr[0] "%d жаңа хабарлама"
#: js/ui/screenShield.js:146
#: js/ui/screenShield.js:149
#, javascript-format
msgid "%d new notification"
msgid_plural "%d new notifications"
msgstr[0] "%d жаңа ескерту"
#: js/ui/screenShield.js:449 js/ui/status/system.js:409
#: js/ui/screenShield.js:452 js/ui/status/system.js:409
msgid "Lock"
msgstr "Блоктау"
#: js/ui/screenShield.js:707
#: js/ui/screenShield.js:715
msgid "GNOME needs to lock the screen"
msgstr "GNOME экранды блоктау керек"
@@ -1304,11 +1309,11 @@ msgstr "GNOME экранды блоктау керек"
#.
#. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs
#: js/ui/screenShield.js:828 js/ui/screenShield.js:1295
#: js/ui/screenShield.js:836 js/ui/screenShield.js:1308
msgid "Unable to lock"
msgstr "Блоктау мүмкін емес"
#: js/ui/screenShield.js:829 js/ui/screenShield.js:1296
#: js/ui/screenShield.js:837 js/ui/screenShield.js:1309
msgid "Lock was blocked by an application"
msgstr "Блоктауды басқа қолданба болдырмады"
@@ -1411,13 +1416,13 @@ msgstr "Сөнд."
msgid "On"
msgstr "Іске қос."
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1302
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1310
msgid "Turn On"
msgstr "Іске қосу"
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:181
#: js/ui/status/network.js:367 js/ui/status/network.js:1302
#: js/ui/status/network.js:1417 js/ui/status/nightLight.js:47
#: js/ui/status/network.js:367 js/ui/status/network.js:1310
#: js/ui/status/network.js:1425 js/ui/status/nightLight.js:47
#: js/ui/status/rfkill.js:90 js/ui/status/rfkill.js:117
msgid "Turn Off"
msgstr "Сөндіру"
@@ -1430,37 +1435,37 @@ msgstr "Жарықтылығы"
msgid "Show Keyboard Layout"
msgstr "Пернетақта жаймасын көрсету"
#: js/ui/status/location.js:107 js/ui/status/location.js:215
#: js/ui/status/location.js:88 js/ui/status/location.js:196
msgid "Location Enabled"
msgstr "Орналасу іске қосулы тұр"
#: js/ui/status/location.js:108 js/ui/status/location.js:216
#: js/ui/status/location.js:89 js/ui/status/location.js:197
msgid "Disable"
msgstr "Сөндіру"
#: js/ui/status/location.js:109
#: js/ui/status/location.js:90
msgid "Privacy Settings"
msgstr "Жекелік баптаулары"
#: js/ui/status/location.js:214
#: js/ui/status/location.js:195
msgid "Location In Use"
msgstr "Орналасу қолданылуда"
#: js/ui/status/location.js:218
#: js/ui/status/location.js:199
msgid "Location Disabled"
msgstr "Орналасу сөндірулі тұр"
#: js/ui/status/location.js:219
#: js/ui/status/location.js:200
msgid "Enable"
msgstr "Іске қосу"
#. Translators: %s is an application name
#: js/ui/status/location.js:436
#: js/ui/status/location.js:414
#, javascript-format
msgid "Give %s access to your location?"
msgstr "%s үшін орналасуыңызға рұқсат ету керек пе?"
#: js/ui/status/location.js:438
#: js/ui/status/location.js:416
msgid "Location access can be changed at any time from the privacy settings."
msgstr ""
"Орналасуыңызға қатынауды кез-кезген кезде жекелік баптауларының ішінен "
@@ -1471,7 +1476,7 @@ msgid "<unknown>"
msgstr "<белгісіз>"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:465 js/ui/status/network.js:1331
#: js/ui/status/network.js:465 js/ui/status/network.js:1339
#, javascript-format
msgid "%s Off"
msgstr "%s сөндірулі"
@@ -1497,7 +1502,7 @@ msgid "%s Disconnecting"
msgstr "%s байланысты үзуде"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:483 js/ui/status/network.js:1323
#: js/ui/status/network.js:483 js/ui/status/network.js:1331
#, javascript-format
msgid "%s Connecting"
msgstr "%s байланысуда"
@@ -1537,7 +1542,7 @@ msgid "Mobile Broadband Settings"
msgstr "Сымсыз кеңжолақты желісінің баптаулары"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:602 js/ui/status/network.js:1328
#: js/ui/status/network.js:602 js/ui/status/network.js:1336
#, javascript-format
msgid "%s Hardware Disabled"
msgstr "%s құрылғылық түрде сөндірулі тұр"
@@ -1553,119 +1558,119 @@ msgstr "%s сөндірулі тұр"
msgid "Connect to Internet"
msgstr "Интернетке байланысу"
#: js/ui/status/network.js:836
#: js/ui/status/network.js:844
msgid "Airplane Mode is On"
msgstr "Ұшақтағы режим іске қосылған"
#: js/ui/status/network.js:837
#: js/ui/status/network.js:845
msgid "Wi-Fi is disabled when airplane mode is on."
msgstr "Wi-Fi ұшақтағы режимі кезінде сөндірілген болады."
#: js/ui/status/network.js:838
#: js/ui/status/network.js:846
msgid "Turn Off Airplane Mode"
msgstr "Ұшақтағы режимді сөндіру"
#: js/ui/status/network.js:847
#: js/ui/status/network.js:855
msgid "Wi-Fi is Off"
msgstr "Wi-Fi сөндірілген"
#: js/ui/status/network.js:848
#: js/ui/status/network.js:856
msgid "Wi-Fi needs to be turned on in order to connect to a network."
msgstr "Желіге байланысты орнату үшін Wi-Fi іске қосылған болуы тиіс."
#: js/ui/status/network.js:849
#: js/ui/status/network.js:857
msgid "Turn On Wi-Fi"
msgstr "Wi-Fi іске қосу"
#: js/ui/status/network.js:874
#: js/ui/status/network.js:882
msgid "Wi-Fi Networks"
msgstr "Wi-Fi желілері"
#: js/ui/status/network.js:876
#: js/ui/status/network.js:884
msgid "Select a network"
msgstr "Желіні таңдау"
#: js/ui/status/network.js:906
#: js/ui/status/network.js:914
msgid "No Networks"
msgstr "Желілер жоқ"
#: js/ui/status/network.js:927 js/ui/status/rfkill.js:115
#: js/ui/status/network.js:935 js/ui/status/rfkill.js:115
msgid "Use hardware switch to turn off"
msgstr "Сөндіру үшін құрылғылық қосқышты қолданыңыз"
#: js/ui/status/network.js:1194
#: js/ui/status/network.js:1202
msgid "Select Network"
msgstr "Желіні таңдау"
#: js/ui/status/network.js:1200
#: js/ui/status/network.js:1208
msgid "Wi-Fi Settings"
msgstr "Wi-Fi баптаулары"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:1319
#: js/ui/status/network.js:1327
#, javascript-format
msgid "%s Hotspot Active"
msgstr "%s қатынау нүктесі белсенді"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:1334
#: js/ui/status/network.js:1342
#, javascript-format
msgid "%s Not Connected"
msgstr "%s байланыспаған"
#: js/ui/status/network.js:1434
#: js/ui/status/network.js:1442
msgid "connecting…"
msgstr "байланысты орнату…"
#. Translators: this is for network connections that require some kind of key or password
#: js/ui/status/network.js:1437
#: js/ui/status/network.js:1445
msgid "authentication required"
msgstr "аутентификация керек"
#: js/ui/status/network.js:1439
#: js/ui/status/network.js:1447
msgid "connection failed"
msgstr "байланысты орнату сәтсіз"
#: js/ui/status/network.js:1505 js/ui/status/network.js:1600
#: js/ui/status/network.js:1513 js/ui/status/network.js:1608
#: js/ui/status/rfkill.js:93
msgid "Network Settings"
msgstr "Желі баптаулары"
#: js/ui/status/network.js:1507
#: js/ui/status/network.js:1515
msgid "VPN Settings"
msgstr "VPN баптаулары"
#: js/ui/status/network.js:1526
#: js/ui/status/network.js:1534
msgid "VPN"
msgstr "VPN"
#: js/ui/status/network.js:1536
#: js/ui/status/network.js:1544
msgid "VPN Off"
msgstr "VPN сөндірілген"
#: js/ui/status/network.js:1631
#: js/ui/status/network.js:1639
#, javascript-format
msgid "%s Wired Connection"
msgid_plural "%s Wired Connections"
msgstr[0] "%s сымды желі байланысы"
#: js/ui/status/network.js:1635
#: js/ui/status/network.js:1643
#, javascript-format
msgid "%s Wi-Fi Connection"
msgid_plural "%s Wi-Fi Connections"
msgstr[0] "%s Wi-Fi желі байланысы"
#: js/ui/status/network.js:1639
#: js/ui/status/network.js:1647
#, javascript-format
msgid "%s Modem Connection"
msgid_plural "%s Modem Connections"
msgstr[0] "%s модем желі байланысы"
#: js/ui/status/network.js:1786
#: js/ui/status/network.js:1794
msgid "Connection failed"
msgstr "Байланыс орнату сәтсіз"
#: js/ui/status/network.js:1787
#: js/ui/status/network.js:1795
msgid "Activation of network connection failed"
msgstr "Желілік байланысты белсендіру сәтсіз"
@@ -1776,22 +1781,22 @@ msgstr "Іздеу"
msgid "“%s” is ready"
msgstr "\"%s\" дайын"
#: js/ui/windowManager.js:83
#: js/ui/windowManager.js:84
msgid "Do you want to keep these display settings?"
msgstr "Экранның бұл баптауларын сақтауды қалайсыз ба?"
#. Translators: this and the following message should be limited in lenght,
#. to avoid ellipsizing the labels.
#.
#: js/ui/windowManager.js:102
#: js/ui/windowManager.js:103
msgid "Revert Settings"
msgstr "Баптауларды қалпына келтіру"
#: js/ui/windowManager.js:105
#: js/ui/windowManager.js:106
msgid "Keep Changes"
msgstr "Өзгерістерді сақтау"
#: js/ui/windowManager.js:123
#: js/ui/windowManager.js:124
#, javascript-format
msgid "Settings changes will revert in %d second"
msgid_plural "Settings changes will revert in %d seconds"
@@ -1799,7 +1804,7 @@ 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.
#: js/ui/windowManager.js:678
#: js/ui/windowManager.js:679
#, javascript-format
msgid "%d × %d"
msgstr "%d × %d"
@@ -1836,35 +1841,35 @@ msgstr "Әрқашан алдында"
msgid "Always on Visible Workspace"
msgstr "Әрқашан көрінетін жұмыс орнында"
#: js/ui/windowMenu.js:105
#: js/ui/windowMenu.js:103
msgid "Move to Workspace Left"
msgstr "Сол жақтағы жұмыс орнына жылжыту"
#: js/ui/windowMenu.js:110
#: js/ui/windowMenu.js:108
msgid "Move to Workspace Right"
msgstr "Оң жақтағы жұмыс орнына жылжыту"
#: js/ui/windowMenu.js:115
#: js/ui/windowMenu.js:113
msgid "Move to Workspace Up"
msgstr "Жоғарыдағы жұмыс орнына жылжыту"
#: js/ui/windowMenu.js:120
#: js/ui/windowMenu.js:118
msgid "Move to Workspace Down"
msgstr "Төмендегі жұмыс орнына жылжыту"
#: js/ui/windowMenu.js:136
#: js/ui/windowMenu.js:134
msgid "Move to Monitor Up"
msgstr "Жоғарыдағы мониторға жылжыту"
#: js/ui/windowMenu.js:142
#: js/ui/windowMenu.js:140
msgid "Move to Monitor Down"
msgstr "Төмендегі мониторға жылжыту"
#: js/ui/windowMenu.js:148
#: js/ui/windowMenu.js:146
msgid "Move to Monitor Left"
msgstr "Сол жақ мониторға жылжыту"
#: js/ui/windowMenu.js:154
#: js/ui/windowMenu.js:152
msgid "Move to Monitor Right"
msgstr "Оң жақ мониторға жылжыту"
@@ -1897,19 +1902,19 @@ msgstr[0] "%u кірісі"
msgid "System Sounds"
msgstr "Жүйелік дыбыстар"
#: src/main.c:381
#: src/main.c:372
msgid "Print version"
msgstr "Баспа нұсқасы"
#: src/main.c:387
#: src/main.c:378
msgid "Mode used by GDM for login screen"
msgstr "GDM жүйеге кіру экраны үшін қолданатын режимі"
#: src/main.c:393
#: src/main.c:384
msgid "Use a specific mode, e.g. “gdm” for login screen"
msgstr "Жүйеге кіру экраны үшін арнайы режимді, мыс. \"gdm\", қолдану"
#: src/main.c:399
#: src/main.c:390
msgid "List possible modes"
msgstr "Қолжетерлік режимдерді тізіп шығу"

730
po/ko.po

File diff suppressed because it is too large Load Diff

416
po/lt.po
View File

@@ -9,10 +9,10 @@
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-02-16 21:00+0000\n"
"PO-Revision-Date: 2017-02-18 17:34+0200\n"
"POT-Creation-Date: 2017-03-20 18:14+0000\n"
"PO-Revision-Date: 2017-03-25 13:37+0200\n"
"Last-Translator: Aurimas Černius <aurisc4@gmail.com>\n"
"Language-Team: Lietuvių <gnome-lt@lists.akl.lt>\n"
"Language: lt\n"
@@ -50,7 +50,6 @@ msgstr "Atverti programų meniu"
#: data/gnome-shell-extension-prefs.desktop.in.in:4
#: js/extensionPrefs/main.js:149
#| msgid "GNOME Shell Extensions"
msgid "Shell Extensions"
msgstr "Shell plėtiniai"
@@ -152,14 +151,10 @@ msgid "History for the looking glass dialog"
msgstr "Didinamojo stiklo dialogo retrospektyva"
#: data/org.gnome.shell.gschema.xml.in:67
#| msgid "Always show the 'Log out' menu item in the user menu."
msgid "Always show the “Log out” menu item in the user menu."
msgstr "Visada rodyti naudotojo meniu punktą „Atsijungti“."
#: data/org.gnome.shell.gschema.xml.in:68
#| msgid ""
#| "This key overrides the automatic hiding of the 'Log out' menu item in "
#| "single-user, single-session situations."
msgid ""
"This key overrides the automatic hiding of the “Log out” menu item in single-"
"user, single-session situations."
@@ -174,11 +169,6 @@ msgstr ""
"Ar atsiminti slaptažodį prijungiant šifruotas ar nutolusias failų sistemas"
#: data/org.gnome.shell.gschema.xml.in:76
#| msgid ""
#| "The shell will request a password when an encrypted device or a remote "
#| "filesystem is mounted. If the password can be saved for future use a "
#| "'Remember Password' checkbox will be present. This key sets the default "
#| "state of the checkbox."
msgid ""
"The shell will request a password when an encrypted device or a remote "
"filesystem is mounted. If the password can be saved for future use a "
@@ -217,14 +207,10 @@ msgid "Keybinding to open the application menu."
msgstr "Klavišų susiejimas, kuriuo atveriamas programų meniu."
#: data/org.gnome.shell.gschema.xml.in:108
#| msgid "Keybinding to open the \"Show Applications\" view"
msgid "Keybinding to open the “Show Applications” view"
msgstr "Klavišų susiejimas, kuriuo atveriamas rodinys „rodyti programas“"
#: data/org.gnome.shell.gschema.xml.in:109
#| msgid ""
#| "Keybinding to open the \"Show Applications\" view of the Activities "
#| "Overview."
msgid ""
"Keybinding to open the “Show Applications” view of the Activities Overview."
msgstr ""
@@ -288,10 +274,6 @@ msgid "The application icon mode."
msgstr "Programos piktogramos veiksena."
#: data/org.gnome.shell.gschema.xml.in:177
#| 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'."
msgid ""
"Configures how the windows are shown in the switcher. Valid possibilities "
"are “thumbnail-only” (shows a thumbnail of the window), “app-icon-"
@@ -355,7 +337,7 @@ msgstr "Kilo klaida įkeliant %s nuostatų dialogą:"
#: js/gdm/authPrompt.js:149 js/ui/audioDeviceSelection.js:71
#: js/ui/components/networkAgent.js:145 js/ui/components/polkitAgent.js:179
#: js/ui/endSessionDialog.js:482 js/ui/extensionDownloader.js:195
#: js/ui/shellMountOperation.js:399 js/ui/status/network.js:939
#: js/ui/shellMountOperation.js:399 js/ui/status/network.js:947
msgid "Cancel"
msgstr "Atsisakyti"
@@ -403,7 +385,7 @@ msgstr "Naudotojo vardas: "
msgid "Login Window"
msgstr "Prisijungimo langas"
#: js/gdm/util.js:341
#: js/gdm/util.js:342
msgid "Authentication error"
msgstr "Tapatybės patvirtinimo klaida"
@@ -412,40 +394,96 @@ msgstr "Tapatybės patvirtinimo klaida"
#. 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
#: js/gdm/util.js:474
msgid "(or swipe finger)"
msgstr "(arba perbraukite pirštu)"
#: js/misc/util.js:119
#: js/misc/util.js:122
msgid "Command not found"
msgstr "Komanda nerasta"
#. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer
#: js/misc/util.js:152
#: js/misc/util.js:155
msgid "Could not parse command:"
msgstr "Nepavyko perskaityti komandos:"
#: js/misc/util.js:160
#: js/misc/util.js:163
#, javascript-format
msgid "Execution of “%s” failed:"
msgstr "Nepavyko įvykdyti „%s“:"
#: js/misc/util.js:180
msgid "Just now"
msgstr "Ką tik"
#: js/misc/util.js:182
#, javascript-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "Prieš %d minutę"
msgstr[1] "Prieš %d minutes"
msgstr[2] "Prieš %d minučių"
#: js/misc/util.js:185
#, javascript-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
msgstr[0] "Prieš %d valandą"
msgstr[1] "Prieš %d valandas"
msgstr[2] "Prieš %d valandų"
#: js/misc/util.js:188
msgid "Yesterday"
msgstr "Vakar"
#: js/misc/util.js:190
#, javascript-format
msgid "%d day ago"
msgid_plural "%d days ago"
msgstr[0] "Prieš %d dieną"
msgstr[1] "Prieš %d dienas"
msgstr[2] "Prieš %d dienų"
#: js/misc/util.js:193
#, javascript-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
msgstr[0] "Prieš %d savaitę"
msgstr[1] "Prieš %d savaites"
msgstr[2] "Prieš %d savaičių"
#: js/misc/util.js:196
#, javascript-format
msgid "%d month ago"
msgid_plural "%d months ago"
msgstr[0] "Prieš %d mėnesį"
msgstr[1] "Prieš %d mėnesius"
msgstr[2] "Prieš %d mėnesių"
#: js/misc/util.js:198
#, javascript-format
msgid "%d year ago"
msgid_plural "%d years ago"
msgstr[0] "Prieš %d metus"
msgstr[1] "Prieš %d metus"
msgstr[2] "Prieš %d metų"
#. Translators: Time in 24h format
#: js/misc/util.js:191
#: js/misc/util.js:229
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"
#: js/misc/util.js:197
#: js/misc/util.js:235
#, 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"
#: js/misc/util.js:203
#: js/misc/util.js:241
#, no-c-format
msgid "%A, %H%M"
msgstr "%A, %H%M"
@@ -453,7 +491,7 @@ 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"
#: js/misc/util.js:209
#: js/misc/util.js:247
#, no-c-format
msgid "%B %d, %H%M"
msgstr "%B %d, %H%M"
@@ -461,26 +499,26 @@ 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"
#: js/misc/util.js:215
#: js/misc/util.js:253
#, no-c-format
msgid "%B %d %Y, %H%M"
msgstr "%Y %m %d, %H%M"
#. Translators: Time in 12h format
#: js/misc/util.js:220
#: js/misc/util.js:258
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"
#: js/misc/util.js:226
#: js/misc/util.js:264
#, 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"
#: js/misc/util.js:232
#: js/misc/util.js:270
#, no-c-format
msgid "%A, %l%M %p"
msgstr "%A, %l%M %p"
@@ -488,7 +526,7 @@ 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"
#: js/misc/util.js:238
#: js/misc/util.js:276
#, no-c-format
msgid "%B %d, %l%M %p"
msgstr "%B %d, %l%M %p"
@@ -496,14 +534,13 @@ 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"
#: js/misc/util.js:244
#: js/misc/util.js:282
#, 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
#: js/portalHelper/main.js:67
#| msgid "Network Login"
msgid "Hotspot Login"
msgstr "Prisijungimas prie prieigos taško"
@@ -517,11 +554,11 @@ msgstr ""
#. No support for non-modal system dialogs, so ignore the option
#. let modal = options['modal'] || true;
#: js/ui/accessDialog.js:62 js/ui/status/location.js:427
#: js/ui/accessDialog.js:62 js/ui/status/location.js:405
msgid "Deny Access"
msgstr "Atmesti prieigą"
#: js/ui/accessDialog.js:63 js/ui/status/location.js:430
#: js/ui/accessDialog.js:63 js/ui/status/location.js:408
msgid "Grant Access"
msgstr "Suteikti prieigą"
@@ -672,37 +709,33 @@ 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:721
#: js/ui/calendar.js:729
msgctxt "event list time"
msgid "All Day"
msgstr "Visa diena"
#: js/ui/calendar.js:836
msgid "Events"
msgstr "Įvykiai"
#: js/ui/calendar.js:845
#: js/ui/calendar.js:862
msgctxt "calendar heading"
msgid "%A, %B %d"
msgstr "%A, %B %d d."
#: js/ui/calendar.js:849
#: js/ui/calendar.js:866
msgctxt "calendar heading"
msgid "%A, %B %d, %Y"
msgstr "%A, %Y m. %B %d d."
#: js/ui/calendar.js:931
msgid "Notifications"
msgstr "Pranešimai"
#: js/ui/calendar.js:1082
#: js/ui/calendar.js:1086
msgid "No Notifications"
msgstr "Nėra pranešimų"
#: js/ui/calendar.js:1085
#: js/ui/calendar.js:1089
msgid "No Events"
msgstr "Nėra įvykių"
#: js/ui/calendar.js:1117
msgid "Clear All"
msgstr "Viską išvalyti"
#: js/ui/components/automountManager.js:91
msgid "External drive connected"
msgstr "Prijungta išorinė laikmena"
@@ -725,7 +758,7 @@ msgid "Type again:"
msgstr "Įveskite dar kartą:"
#: js/ui/components/networkAgent.js:140 js/ui/status/network.js:272
#: js/ui/status/network.js:366 js/ui/status/network.js:942
#: js/ui/status/network.js:366 js/ui/status/network.js:950
msgid "Connect"
msgstr "Prisijungti"
@@ -800,7 +833,7 @@ msgstr "Mobiliojo plačiajuosčio tinklo slaptažodis"
msgid "A password is required to connect to “%s”."
msgstr "Būtinas slaptažodis norint prisijungti prie „%s“."
#: js/ui/components/networkAgent.js:655 js/ui/status/network.js:1747
#: js/ui/components/networkAgent.js:655 js/ui/status/network.js:1755
msgid "Network Manager"
msgstr "Tinklo tvarkymas"
@@ -821,13 +854,12 @@ msgstr "Patvirtinti tapatybę"
#. * because of an authentication error (like invalid password),
#. * for instance.
#: js/ui/components/polkitAgent.js:301 js/ui/shellMountOperation.js:383
#| msgid "Sorry, that didn't work. Please try again."
msgid "Sorry, that didnt 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.
#: js/ui/components/telepathyClient.js:765
#: js/ui/components/telepathyClient.js:799
#, javascript-format
msgid "%s is now known as %s"
msgstr "%s nuo šiol vadinasi %s"
@@ -849,7 +881,7 @@ 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
#: js/ui/dateMenu.js:75
msgid "%B %e %Y"
msgstr "%Y m. %B %d d."
@@ -857,18 +889,72 @@ msgstr "%Y m. %B %d d."
#. * 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
#: js/ui/dateMenu.js:82
msgid "%A %B %e %Y"
msgstr "%A, %Y m. %B %d d."
#: js/ui/dateMenu.js:160
#: js/ui/dateMenu.js:144
msgid "Add world clocks…"
msgstr "Pridėti pasaulio laikrodžius…"
#: js/ui/dateMenu.js:161
#: js/ui/dateMenu.js:145
msgid "World Clocks"
msgstr "Pasaulio laikrodžiai"
#: js/ui/dateMenu.js:224
msgid "Weather"
msgstr "Orai"
#. Translators: %s is a weather condition like "Clear sky"; see
#. libgweather for the possible condition strings. If at all
#. possible, the sentence should match the grammatical case etc. of
#. the inserted conditions.
#: js/ui/dateMenu.js:281
#, javascript-format
msgid "%s all day."
msgstr "%s visą dieną."
#. Translators: %s is a weather condition like "Clear sky"; see
#. libgweather for the possible condition strings. If at all
#. possible, the sentence should match the grammatical case etc. of
#. the inserted conditions.
#: js/ui/dateMenu.js:287
#, javascript-format
msgid "%s, then %s later."
msgstr "%s, o vėliau %s."
#. Translators: %s is a weather condition like "Clear sky"; see
#. libgweather for the possible condition strings. If at all
#. possible, the sentence should match the grammatical case etc. of
#. the inserted conditions.
#: js/ui/dateMenu.js:293
#, javascript-format
msgid "%s, then %s, followed by %s later."
msgstr "%s, tuomet %s, o po to vėliau %s."
#: js/ui/dateMenu.js:300
#| msgid "Select a network"
msgid "Select a location…"
msgstr "Pasirinkite vietą…"
#: js/ui/dateMenu.js:303
msgid "Loading…"
msgstr "Įkeliama…"
#. Translators: %s is a temperature with unit, e.g. "23℃"
#: js/ui/dateMenu.js:309
#, javascript-format
msgid "Feels like %s."
msgstr "Jaučiama kaip %s."
#: js/ui/dateMenu.js:312
msgid "Go online for weather information"
msgstr "Prisijunkite prie tinklo orų informacijai gauti"
#: js/ui/dateMenu.js:314
msgid "Weather information is currently unavailable"
msgstr "Orų informacija šiuo metu yra neprieinama"
#: js/ui/endSessionDialog.js:64
#, javascript-format
msgctxt "title"
@@ -1045,74 +1131,66 @@ msgstr "Slėpti dėklą"
msgid "Status Icons"
msgstr "Būsenos piktogramos"
#: js/ui/lookingGlass.js:643
#: js/ui/lookingGlass.js:642
msgid "No extensions installed"
msgstr "Nėra įdiegtų plėtinių"
#. Translators: argument is an extension UUID.
#: js/ui/lookingGlass.js:697
#: js/ui/lookingGlass.js:696
#, javascript-format
msgid "%s has not emitted any errors."
msgstr "%s nepranešė apie jokias klaidas."
#: js/ui/lookingGlass.js:703
#: js/ui/lookingGlass.js:702
msgid "Hide Errors"
msgstr "Slėpti klaidas"
#: js/ui/lookingGlass.js:707 js/ui/lookingGlass.js:767
#: js/ui/lookingGlass.js:706 js/ui/lookingGlass.js:766
msgid "Show Errors"
msgstr "Rodyti klaidas"
#: js/ui/lookingGlass.js:716
#: js/ui/lookingGlass.js:715
msgid "Enabled"
msgstr "Įjungta"
#. translators:
#. * The device has been disabled
#: js/ui/lookingGlass.js:719 src/gvc/gvc-mixer-control.c:1866
#: js/ui/lookingGlass.js:718 src/gvc/gvc-mixer-control.c:1866
msgid "Disabled"
msgstr "Išjungta"
#: js/ui/lookingGlass.js:721
#: js/ui/lookingGlass.js:720
msgid "Error"
msgstr "Klaida"
#: js/ui/lookingGlass.js:723
#: js/ui/lookingGlass.js:722
msgid "Out of date"
msgstr "Pasenęs"
#: js/ui/lookingGlass.js:725
#: js/ui/lookingGlass.js:724
msgid "Downloading"
msgstr "Atsiunčiama"
#: js/ui/lookingGlass.js:749
#: js/ui/lookingGlass.js:748
msgid "View Source"
msgstr "Žiūrėti šaltinį"
#: js/ui/lookingGlass.js:758
#: js/ui/lookingGlass.js:757
msgid "Web Page"
msgstr "Tinklalapis"
#: js/ui/messageList.js:543
msgid "Clear section"
msgstr "Išvalyti skiltį"
#: js/ui/messageTray.js:1486
#: js/ui/messageTray.js:1493
msgid "System Information"
msgstr "Sistemos informacija"
#: js/ui/mpris.js:194
#: js/ui/mpris.js:211
msgid "Unknown artist"
msgstr "Nežinomas atlikėjas"
#: js/ui/mpris.js:195
#: js/ui/mpris.js:212
msgid "Unknown title"
msgstr "Nežinomas pavadinimas"
#: js/ui/mpris.js:217
msgid "Media"
msgstr "Medija"
#: js/ui/overview.js:84
msgid "Undo"
msgstr "Atšaukti"
@@ -1131,49 +1209,47 @@ msgstr "Apžvalga"
msgid "Type to search…"
msgstr "Rašykite, ko ieškote…"
#: js/ui/padOsd.js:37
#: js/ui/padOsd.js:103
msgid "New shortcut…"
msgstr "Naujas trumpinys…"
#: js/ui/padOsd.js:86
#| msgid "Applications"
#: js/ui/padOsd.js:152
msgid "Application defined"
msgstr "Programos nustatytas"
#: js/ui/padOsd.js:87
#: js/ui/padOsd.js:153
msgid "Show on-screen help"
msgstr "Rodyti pagalbą ekrane"
#: js/ui/padOsd.js:88
#| msgid "Switch User"
#: js/ui/padOsd.js:154
msgid "Switch monitor"
msgstr "Keisti monitorių"
#: js/ui/padOsd.js:89
#: js/ui/padOsd.js:155
msgid "Assign keystroke"
msgstr "Priskirti klavišų kombinaciją"
#: js/ui/padOsd.js:143
#: js/ui/padOsd.js:209
msgid "Done"
msgstr "Atlikta"
#: js/ui/padOsd.js:597
#: js/ui/padOsd.js:698
msgid "Edit…"
msgstr "Keisti…"
#: js/ui/padOsd.js:610 js/ui/padOsd.js:665
#: js/ui/padOsd.js:738 js/ui/padOsd.js:800
msgid "None"
msgstr "Nėra"
#: js/ui/padOsd.js:648
#: js/ui/padOsd.js:783
msgid "Press a button to configure"
msgstr "Spauskite mygtuką konfigūravimui"
#: js/ui/padOsd.js:649
#: js/ui/padOsd.js:784
msgid "Press Esc to exit"
msgstr "Spauskit Esc išėjimui"
#: js/ui/padOsd.js:652
#: js/ui/padOsd.js:787
msgid "Press any key to exit"
msgstr "Išėjimui spauskite bet kurį klavišą"
@@ -1209,12 +1285,11 @@ msgstr "toggle-switch-intl"
msgid "Enter a Command"
msgstr "Įveskite komandą"
#: js/ui/runDialog.js:111 js/ui/windowMenu.js:162
#: js/ui/runDialog.js:111 js/ui/windowMenu.js:160
msgid "Close"
msgstr "Užverti"
#: js/ui/runDialog.js:277
#| msgid "Encryption is not available"
msgid "Restart is not available on Wayland"
msgstr "Perleisti Wayland aplinkoje negalima"
@@ -1224,11 +1299,11 @@ msgstr "Perleidžiama…"
#. Translators: This is a time format for a date in
#. long format
#: js/ui/screenShield.js:85
#: js/ui/screenShield.js:88
msgid "%A, %B %d"
msgstr "%A, %B %d d."
#: js/ui/screenShield.js:144
#: js/ui/screenShield.js:147
#, javascript-format
msgid "%d new message"
msgid_plural "%d new messages"
@@ -1236,7 +1311,7 @@ msgstr[0] "%d naujas pranešimas"
msgstr[1] "%d nauji pranešimai"
msgstr[2] "%d naujų pranešimų"
#: js/ui/screenShield.js:146
#: js/ui/screenShield.js:149
#, javascript-format
msgid "%d new notification"
msgid_plural "%d new notifications"
@@ -1244,11 +1319,11 @@ msgstr[0] "%d naujas pranešimas"
msgstr[1] "%d nauji pranešimai"
msgstr[2] "%d naujų pranešimų"
#: js/ui/screenShield.js:449 js/ui/status/system.js:409
#: js/ui/screenShield.js:452 js/ui/status/system.js:409
msgid "Lock"
msgstr "Užrakinti"
#: js/ui/screenShield.js:707
#: js/ui/screenShield.js:715
msgid "GNOME needs to lock the screen"
msgstr "GNOME aplinkai reikia užrakinti ekraną"
@@ -1259,11 +1334,11 @@ msgstr "GNOME aplinkai reikia užrakinti ekraną"
#.
#. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs
#: js/ui/screenShield.js:828 js/ui/screenShield.js:1295
#: js/ui/screenShield.js:836 js/ui/screenShield.js:1308
msgid "Unable to lock"
msgstr "Nepavyksta užrakinti"
#: js/ui/screenShield.js:829 js/ui/screenShield.js:1296
#: js/ui/screenShield.js:837 js/ui/screenShield.js:1309
msgid "Lock was blocked by an application"
msgstr "Programa užblokavo užrakinimą"
@@ -1368,13 +1443,13 @@ msgstr "Išjungta"
msgid "On"
msgstr "Įjungta"
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1302
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1310
msgid "Turn On"
msgstr "Įjungti"
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:181
#: js/ui/status/network.js:367 js/ui/status/network.js:1302
#: js/ui/status/network.js:1417 js/ui/status/nightLight.js:47
#: js/ui/status/network.js:367 js/ui/status/network.js:1310
#: js/ui/status/network.js:1425 js/ui/status/nightLight.js:47
#: js/ui/status/rfkill.js:90 js/ui/status/rfkill.js:117
msgid "Turn Off"
msgstr "Išjungti"
@@ -1387,37 +1462,37 @@ msgstr "Ryškumas"
msgid "Show Keyboard Layout"
msgstr "Rodyti klaviatūros išdėstymą"
#: js/ui/status/location.js:107 js/ui/status/location.js:215
#: js/ui/status/location.js:88 js/ui/status/location.js:196
msgid "Location Enabled"
msgstr "Vietos nustatymas įjungtas"
#: js/ui/status/location.js:108 js/ui/status/location.js:216
#: js/ui/status/location.js:89 js/ui/status/location.js:197
msgid "Disable"
msgstr "Išjungti"
#: js/ui/status/location.js:109
#: js/ui/status/location.js:90
msgid "Privacy Settings"
msgstr "Privatumo nustatymai"
#: js/ui/status/location.js:214
#: js/ui/status/location.js:195
msgid "Location In Use"
msgstr "Vietos nustatymas naudojamas"
#: js/ui/status/location.js:218
#: js/ui/status/location.js:199
msgid "Location Disabled"
msgstr "Vietos nustatymas išjungtas"
#: js/ui/status/location.js:219
#: js/ui/status/location.js:200
msgid "Enable"
msgstr "Įjungti"
#. Translators: %s is an application name
#: js/ui/status/location.js:436
#: js/ui/status/location.js:414
#, javascript-format
msgid "Give %s access to your location?"
msgstr "Suteikti %s prieigą prie jūsų būvimo vietos?"
#: js/ui/status/location.js:438
#: js/ui/status/location.js:416
msgid "Location access can be changed at any time from the privacy settings."
msgstr "Prieigą prie vietos bet kada galima pakeisti privatumo nustatymuose."
@@ -1426,7 +1501,7 @@ msgid "<unknown>"
msgstr "<nežinoma>"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:465 js/ui/status/network.js:1331
#: js/ui/status/network.js:465 js/ui/status/network.js:1339
#, javascript-format
msgid "%s Off"
msgstr "%s išjungtas"
@@ -1452,7 +1527,7 @@ msgid "%s Disconnecting"
msgstr "Atsijungiama nuo %s"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:483 js/ui/status/network.js:1323
#: js/ui/status/network.js:483 js/ui/status/network.js:1331
#, javascript-format
msgid "%s Connecting"
msgstr "Jungiamasi prie %s"
@@ -1492,7 +1567,7 @@ msgid "Mobile Broadband Settings"
msgstr "Mobiliojo plačiajuosčio tinklo nustatymai"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:602 js/ui/status/network.js:1328
#: js/ui/status/network.js:602 js/ui/status/network.js:1336
#, javascript-format
msgid "%s Hardware Disabled"
msgstr "%s aparatinė įranga išjungta"
@@ -1508,129 +1583,125 @@ msgstr "%s išjungtas"
msgid "Connect to Internet"
msgstr "Prisijungti prie interneto"
#: js/ui/status/network.js:836
#: js/ui/status/network.js:844
msgid "Airplane Mode is On"
msgstr "Skrydžio veiksena įjungta"
#: js/ui/status/network.js:837
#: js/ui/status/network.js:845
msgid "Wi-Fi is disabled when airplane mode is on."
msgstr "Belaidis ryšys yra išjungta skrydžio veiksenoje."
#: js/ui/status/network.js:838
#: js/ui/status/network.js:846
msgid "Turn Off Airplane Mode"
msgstr "Išjungti skrydžio veikseną"
#: js/ui/status/network.js:847
#: js/ui/status/network.js:855
msgid "Wi-Fi is Off"
msgstr "Belaidžio ryšys išjungtas"
#: js/ui/status/network.js:848
#: js/ui/status/network.js:856
msgid "Wi-Fi needs to be turned on in order to connect to a network."
msgstr "Norint prisijungti prie tinklo reikia įjungti belaidį ryšį."
#: js/ui/status/network.js:849
#: js/ui/status/network.js:857
msgid "Turn On Wi-Fi"
msgstr "Įjungti belaidį ryšį"
#: js/ui/status/network.js:874
#: js/ui/status/network.js:882
msgid "Wi-Fi Networks"
msgstr "Wi-Fi tinklai"
#: js/ui/status/network.js:876
#: js/ui/status/network.js:884
msgid "Select a network"
msgstr "Pasirinkite tinklą"
#: js/ui/status/network.js:906
#: js/ui/status/network.js:914
msgid "No Networks"
msgstr "Nėra tinklų"
#: js/ui/status/network.js:927 js/ui/status/rfkill.js:115
#: js/ui/status/network.js:935 js/ui/status/rfkill.js:115
msgid "Use hardware switch to turn off"
msgstr "Išjungimui naudoti aparatinį jungiklį"
#: js/ui/status/network.js:1194
#: js/ui/status/network.js:1202
msgid "Select Network"
msgstr "Pasirinkite tinklą"
#: js/ui/status/network.js:1200
#: js/ui/status/network.js:1208
msgid "Wi-Fi Settings"
msgstr "Belaidžio ryšio nustatymai"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:1319
#: js/ui/status/network.js:1327
#, javascript-format
msgid "%s Hotspot Active"
msgstr "Prieigos taškas %s aktyvus"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:1334
#: js/ui/status/network.js:1342
#, javascript-format
msgid "%s Not Connected"
msgstr "Neprisijungta prie %s"
#: js/ui/status/network.js:1434
#| msgid "connecting..."
#: js/ui/status/network.js:1442
msgid "connecting…"
msgstr "jungiamasi…"
#. Translators: this is for network connections that require some kind of key or password
#: js/ui/status/network.js:1437
#: js/ui/status/network.js:1445
msgid "authentication required"
msgstr "reikia patvirtinti tapatybę"
#: js/ui/status/network.js:1439
#: js/ui/status/network.js:1447
msgid "connection failed"
msgstr "nepavyko prisijungti"
#: js/ui/status/network.js:1505 js/ui/status/network.js:1600
#: js/ui/status/network.js:1513 js/ui/status/network.js:1608
#: js/ui/status/rfkill.js:93
msgid "Network Settings"
msgstr "Tinklo nustatymai"
#: js/ui/status/network.js:1507
#: js/ui/status/network.js:1515
msgid "VPN Settings"
msgstr "VPN nustatymai"
#: js/ui/status/network.js:1526
#: js/ui/status/network.js:1534
msgid "VPN"
msgstr "VPN"
#: js/ui/status/network.js:1536
#: js/ui/status/network.js:1544
msgid "VPN Off"
msgstr "VPN išjungtas"
#: js/ui/status/network.js:1631
#: js/ui/status/network.js:1639
#, javascript-format
#| msgid "%s Connecting"
msgid "%s Wired Connection"
msgid_plural "%s Wired Connections"
msgstr[0] "%s laidinis ryšys"
msgstr[1] "%s laidiniai ryšiai"
msgstr[2] "%s laidinių ryšių"
#: js/ui/status/network.js:1635
#: js/ui/status/network.js:1643
#, javascript-format
#| msgid "%s Connecting"
msgid "%s Wi-Fi Connection"
msgid_plural "%s Wi-Fi Connections"
msgstr[0] "%s belaidis ryšys"
msgstr[1] "%s belaidžiai ryšiai"
msgstr[2] "%s belaidžių ryšių"
#: js/ui/status/network.js:1639
#: js/ui/status/network.js:1647
#, javascript-format
#| msgid "%s Connecting"
msgid "%s Modem Connection"
msgid_plural "%s Modem Connections"
msgstr[0] "%s modemo ryšys"
msgstr[1] "%s modemo ryšiai"
msgstr[2] "%s modemo ryšių"
#: js/ui/status/network.js:1786
#: js/ui/status/network.js:1794
msgid "Connection failed"
msgstr "Nepavyko prisijungti"
#: js/ui/status/network.js:1787
#: js/ui/status/network.js:1795
msgid "Activation of network connection failed"
msgstr "Tinklo ryšio nepavyko aktyvuoti"
@@ -1741,22 +1812,22 @@ msgstr "Ieškoti"
msgid "“%s” is ready"
msgstr "„%s“ yra pasirengusi"
#: js/ui/windowManager.js:83
#: js/ui/windowManager.js:84
msgid "Do you want to keep these display settings?"
msgstr "Ar norite į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:102
#: js/ui/windowManager.js:103
msgid "Revert Settings"
msgstr "Grąžinti nustatymus"
#: js/ui/windowManager.js:105
#: js/ui/windowManager.js:106
msgid "Keep Changes"
msgstr "Įrašyti pakeitimus"
#: js/ui/windowManager.js:123
#: js/ui/windowManager.js:124
#, javascript-format
msgid "Settings changes will revert in %d second"
msgid_plural "Settings changes will revert in %d seconds"
@@ -1766,7 +1837,7 @@ 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.
#: js/ui/windowManager.js:678
#: js/ui/windowManager.js:679
#, javascript-format
msgid "%d × %d"
msgstr "%d × %d"
@@ -1803,35 +1874,35 @@ msgstr "Visada viršuje"
msgid "Always on Visible Workspace"
msgstr "Visada matomoje darbo srityje"
#: js/ui/windowMenu.js:105
#: js/ui/windowMenu.js:103
msgid "Move to Workspace Left"
msgstr "Perkelti į kairiau esančią darbo sritį"
#: js/ui/windowMenu.js:110
#: js/ui/windowMenu.js:108
msgid "Move to Workspace Right"
msgstr "Perkelti į dešiniau esančią darbo sritį"
#: js/ui/windowMenu.js:115
#: js/ui/windowMenu.js:113
msgid "Move to Workspace Up"
msgstr "Perkelti į aukščiau esančią darbo sritį"
#: js/ui/windowMenu.js:120
#: js/ui/windowMenu.js:118
msgid "Move to Workspace Down"
msgstr "Perkelti į žemiau esančią darbo sritį"
#: js/ui/windowMenu.js:136
#: js/ui/windowMenu.js:134
msgid "Move to Monitor Up"
msgstr "Perkelti į aukščiau esantį monitorių"
#: js/ui/windowMenu.js:142
#: js/ui/windowMenu.js:140
msgid "Move to Monitor Down"
msgstr "Perkelti į žemiau esantį monitorių"
#: js/ui/windowMenu.js:148
#: js/ui/windowMenu.js:146
msgid "Move to Monitor Left"
msgstr "Perkelti į kairiau esantį monitorių"
#: js/ui/windowMenu.js:154
#: js/ui/windowMenu.js:152
msgid "Move to Monitor Right"
msgstr "Perkelti į dešiniau esantį monitorių"
@@ -1868,20 +1939,19 @@ msgstr[2] "%u įvesčių"
msgid "System Sounds"
msgstr "Sistemos garsai"
#: src/main.c:381
#: src/main.c:372
msgid "Print version"
msgstr "Išvesti versijos numerį"
#: src/main.c:387
#: src/main.c:378
msgid "Mode used by GDM for login screen"
msgstr "Veiksena, naudojama GDM prisijungimo ekrane"
#: src/main.c:393
#| msgid "Use a specific mode, e.g. \"gdm\" for login screen"
#: src/main.c:384
msgid "Use a specific mode, e.g. “gdm” for login screen"
msgstr "Naudoti konkrečią veikseną, pvz., „gdm“ prisijungimo ekranui"
#: src/main.c:399
#: src/main.c:390
msgid "List possible modes"
msgstr "Išvardinti galimas veiksenas"
@@ -1907,6 +1977,18 @@ msgstr "Slaptažodis negali būti tuščias"
msgid "Authentication dialog was dismissed by the user"
msgstr "Naudotojas užvėrė tapatybės patvirtinimo dialogą"
#~ msgid "Events"
#~ msgstr "Įvykiai"
#~ msgid "Notifications"
#~ msgstr "Pranešimai"
#~ msgid "Clear section"
#~ msgstr "Išvalyti skiltį"
#~ msgid "Media"
#~ msgstr "Medija"
#~ msgid "GNOME Shell Extension Preferences"
#~ msgstr "GNOME Shell plėtinių nuostatos"

739
po/lv.po

File diff suppressed because it is too large Load Diff

384
po/nb.po
View File

@@ -7,11 +7,10 @@
# Torstein Adolf Winterseth <kvikende@fsfe.org>, 2010.
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell 3.23.x\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-02-16 21:00+0000\n"
"PO-Revision-Date: 2017-02-19 16:34+0100\n"
"Project-Id-Version: gnome-shell 3.24.x\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-03-20 18:14+0000\n"
"PO-Revision-Date: 2017-03-25 12:07+0100\n"
"Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
"Language-Team: Norwegian bokmål <i18n-nb@lister.ping.uio.no>\n"
"Language: nb\n"
@@ -98,7 +97,9 @@ msgstr "Slå av brukerutvideleser"
msgid ""
"Disable all extensions the user has enabled without affecting the “enabled-"
"extension” setting."
msgstr "Slå av alle utvidelser bruker har aktivert uten å påvirke innstillingen for «enabled-extension»."
msgstr ""
"Slå av alle utvidelser bruker har aktivert uten å påvirke innstillingen for "
"«enabled-extension»."
#: data/org.gnome.shell.gschema.xml.in:34
msgid "Disables the validation of extension version compatibility"
@@ -151,7 +152,9 @@ msgstr "Alltid vis menyoppføringen «Logg ut» i brukermenyen."
msgid ""
"This key overrides the automatic hiding of the “Log out” menu item in single-"
"user, single-session situations."
msgstr "Denne nøkkelen overstyrer automatisk skjuling av menyoppføringen «Logg ut» i situasjonen én bruker, én sesjon."
msgstr ""
"Denne nøkkelen overstyrer automatisk skjuling av menyoppføringen «Logg ut» i "
"situasjonen én bruker, én sesjon."
#: data/org.gnome.shell.gschema.xml.in:75
msgid ""
@@ -173,7 +176,9 @@ msgstr ""
#: data/org.gnome.shell.gschema.xml.in:85
msgid ""
"Whether the default Bluetooth adapter had set up devices associated to it"
msgstr "Hvorvidt forvalgt Bluetooth-enhet hadde ferdigoppsatte enheter assosiert med seg"
msgstr ""
"Hvorvidt forvalgt Bluetooth-enhet hadde ferdigoppsatte enheter assosiert med "
"seg"
#: data/org.gnome.shell.gschema.xml.in:86
msgid ""
@@ -325,7 +330,7 @@ msgstr "Det oppsto en feil ved lasting av brukervalgdialog for %s:"
#: js/gdm/authPrompt.js:149 js/ui/audioDeviceSelection.js:71
#: js/ui/components/networkAgent.js:145 js/ui/components/polkitAgent.js:179
#: js/ui/endSessionDialog.js:482 js/ui/extensionDownloader.js:195
#: js/ui/shellMountOperation.js:399 js/ui/status/network.js:939
#: js/ui/shellMountOperation.js:399 js/ui/status/network.js:947
msgid "Cancel"
msgstr "Avbryt"
@@ -373,7 +378,7 @@ msgstr "Brukernavn: "
msgid "Login Window"
msgstr "Innloggingsvindu"
#: js/gdm/util.js:341
#: js/gdm/util.js:342
msgid "Authentication error"
msgstr "Autentiseringsfeil"
@@ -382,40 +387,90 @@ msgstr "Autentiseringsfeil"
#. 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
#: js/gdm/util.js:474
msgid "(or swipe finger)"
msgstr "(eller dra finger)"
#: js/misc/util.js:119
#: js/misc/util.js:122
msgid "Command not found"
msgstr "Kommando ikke funnet"
#. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer
#: js/misc/util.js:152
#: js/misc/util.js:155
msgid "Could not parse command:"
msgstr "Klarte ikke å lese kommando:"
#: js/misc/util.js:160
#: js/misc/util.js:163
#, javascript-format
msgid "Execution of “%s” failed:"
msgstr "Kjøring av «%s» mislyktes:"
#: js/misc/util.js:180
msgid "Just now"
msgstr "Akkurat nå"
#: js/misc/util.js:182
#, javascript-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "%d minutt siden"
msgstr[1] "%d minutter siden"
#: js/misc/util.js:185
#, javascript-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
msgstr[0] "%d time siden"
msgstr[1] "%d timer siden"
#: js/misc/util.js:188
msgid "Yesterday"
msgstr "I går"
#: js/misc/util.js:190
#, javascript-format
msgid "%d day ago"
msgid_plural "%d days ago"
msgstr[0] "%d dag siden"
msgstr[1] "%d dager siden"
#: js/misc/util.js:193
#, javascript-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
msgstr[0] "%d uke siden"
msgstr[1] "%d uker siden"
#: js/misc/util.js:196
#, javascript-format
msgid "%d month ago"
msgid_plural "%d months ago"
msgstr[0] "%d måned siden"
msgstr[1] "%d måneder siden"
#: js/misc/util.js:198
#, javascript-format
msgid "%d year ago"
msgid_plural "%d years ago"
msgstr[0] "%d år siden"
msgstr[1] "%d år siden"
#. Translators: Time in 24h format
#: js/misc/util.js:191
#: js/misc/util.js:229
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"
#: js/misc/util.js:197
#: js/misc/util.js:235
#, no-c-format
msgid "Yesterday, %H%M"
msgstr "I går, %H.%M"
#. Translators: this is the week day name followed by a time
#. string in 24h format. i.e. "Monday, 14:30"
#: js/misc/util.js:203
#: js/misc/util.js:241
#, no-c-format
msgid "%A, %H%M"
msgstr "%A, %H.%M"
@@ -423,7 +478,7 @@ 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"
#: js/misc/util.js:209
#: js/misc/util.js:247
#, no-c-format
msgid "%B %d, %H%M"
msgstr "%d %B, %H.%M"
@@ -431,26 +486,26 @@ 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"
#: js/misc/util.js:215
#: js/misc/util.js:253
#, no-c-format
msgid "%B %d %Y, %H%M"
msgstr "%d %B %Y, %H.%M"
#. Translators: Time in 12h format
#: js/misc/util.js:220
#: js/misc/util.js:258
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"
#: js/misc/util.js:226
#: js/misc/util.js:264
#, no-c-format
msgid "Yesterday, %l%M %p"
msgstr "I går, %H.%M"
#. Translators: this is the week day name followed by a time
#. string in 12h format. i.e. "Monday, 2:30 pm"
#: js/misc/util.js:232
#: js/misc/util.js:270
#, no-c-format
msgid "%A, %l%M %p"
msgstr "%A, %H.%M"
@@ -458,7 +513,7 @@ 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"
#: js/misc/util.js:238
#: js/misc/util.js:276
#, no-c-format
msgid "%B %d, %l%M %p"
msgstr "%d %B, %H.%M"
@@ -466,7 +521,7 @@ msgstr "%d %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"
#: js/misc/util.js:244
#: js/misc/util.js:282
#, no-c-format
msgid "%B %d %Y, %l%M %p"
msgstr "%d %B %Y, %H.%M"
@@ -486,11 +541,11 @@ msgstr ""
#. No support for non-modal system dialogs, so ignore the option
#. let modal = options['modal'] || true;
#: js/ui/accessDialog.js:62 js/ui/status/location.js:427
#: js/ui/accessDialog.js:62 js/ui/status/location.js:405
msgid "Deny Access"
msgstr "Nekt tilgang"
#: js/ui/accessDialog.js:63 js/ui/status/location.js:430
#: js/ui/accessDialog.js:63 js/ui/status/location.js:408
msgid "Grant Access"
msgstr "Gi tilgang"
@@ -641,37 +696,33 @@ msgstr "Uke %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:721
#: js/ui/calendar.js:729
msgctxt "event list time"
msgid "All Day"
msgstr "Hele dagen"
#: js/ui/calendar.js:836
msgid "Events"
msgstr "Hendelser"
#: js/ui/calendar.js:845
#: js/ui/calendar.js:862
msgctxt "calendar heading"
msgid "%A, %B %d"
msgstr "%A %B %d"
#: js/ui/calendar.js:849
#: js/ui/calendar.js:866
msgctxt "calendar heading"
msgid "%A, %B %d, %Y"
msgstr "%A %B %d, %Y"
#: js/ui/calendar.js:931
msgid "Notifications"
msgstr "Varslinger"
#: js/ui/calendar.js:1082
#: js/ui/calendar.js:1086
msgid "No Notifications"
msgstr "Ingen varslinger"
#: js/ui/calendar.js:1085
#: js/ui/calendar.js:1089
msgid "No Events"
msgstr "Ingen hendelser"
#: js/ui/calendar.js:1117
msgid "Clear All"
msgstr "Fjern alle"
#: js/ui/components/automountManager.js:91
msgid "External drive connected"
msgstr "Ekstern stasjon koblet til"
@@ -694,7 +745,7 @@ msgid "Type again:"
msgstr "Skriv på nytt:"
#: js/ui/components/networkAgent.js:140 js/ui/status/network.js:272
#: js/ui/status/network.js:366 js/ui/status/network.js:942
#: js/ui/status/network.js:366 js/ui/status/network.js:950
msgid "Connect"
msgstr "Koble til"
@@ -769,7 +820,7 @@ msgstr "Nettverkspassord for mobilt bredbånd"
msgid "A password is required to connect to “%s”."
msgstr "Du må oppgi et passord for å koble til «%s»."
#: js/ui/components/networkAgent.js:655 js/ui/status/network.js:1747
#: js/ui/components/networkAgent.js:655 js/ui/status/network.js:1755
msgid "Network Manager"
msgstr "Nettverkshåndtering"
@@ -795,7 +846,7 @@ msgstr "Beklager, det virket ikke. Prøv igjen."
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
#: js/ui/components/telepathyClient.js:765
#: js/ui/components/telepathyClient.js:799
#, javascript-format
msgid "%s is now known as %s"
msgstr "%s er nå kjent som %s"
@@ -817,7 +868,7 @@ msgstr "Favoritter"
#. 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
#: js/ui/dateMenu.js:75
msgid "%B %e %Y"
msgstr "%B %e %Y"
@@ -825,18 +876,71 @@ msgstr "%B %e %Y"
#. * 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
#: js/ui/dateMenu.js:82
msgid "%A %B %e %Y"
msgstr "%A %B %e %Y"
#: js/ui/dateMenu.js:160
#: js/ui/dateMenu.js:144
msgid "Add world clocks…"
msgstr "Legg til verdensklokker …"
#: js/ui/dateMenu.js:161
#: js/ui/dateMenu.js:145
msgid "World Clocks"
msgstr "Verdensklokker"
#: js/ui/dateMenu.js:224
msgid "Weather"
msgstr "Vær"
#. Translators: %s is a weather condition like "Clear sky"; see
#. libgweather for the possible condition strings. If at all
#. possible, the sentence should match the grammatical case etc. of
#. the inserted conditions.
#: js/ui/dateMenu.js:281
#, javascript-format
msgid "%s all day."
msgstr "%s hele dagen."
#. Translators: %s is a weather condition like "Clear sky"; see
#. libgweather for the possible condition strings. If at all
#. possible, the sentence should match the grammatical case etc. of
#. the inserted conditions.
#: js/ui/dateMenu.js:287
#, javascript-format
msgid "%s, then %s later."
msgstr "%s så %s senere."
#. Translators: %s is a weather condition like "Clear sky"; see
#. libgweather for the possible condition strings. If at all
#. possible, the sentence should match the grammatical case etc. of
#. the inserted conditions.
#: js/ui/dateMenu.js:293
#, javascript-format
msgid "%s, then %s, followed by %s later."
msgstr "%s, så %s etterfulgt av %s senere."
#: js/ui/dateMenu.js:300
msgid "Select a location…"
msgstr "Velg en lokasjon …"
#: js/ui/dateMenu.js:303
msgid "Loading…"
msgstr "Laster …"
#. Translators: %s is a temperature with unit, e.g. "23℃"
#: js/ui/dateMenu.js:309
#, javascript-format
msgid "Feels like %s."
msgstr "Føles som %s."
#: js/ui/dateMenu.js:312
msgid "Go online for weather information"
msgstr "Gå på nettet for informasjon om været"
#: js/ui/dateMenu.js:314
msgid "Weather information is currently unavailable"
msgstr "Værinformasjon er for tiden utilgjengelig"
#: js/ui/endSessionDialog.js:64
#, javascript-format
msgctxt "title"
@@ -1008,74 +1112,66 @@ msgstr "Skjul statusområde"
msgid "Status Icons"
msgstr "Statusikoner"
#: js/ui/lookingGlass.js:643
#: js/ui/lookingGlass.js:642
msgid "No extensions installed"
msgstr "Ingen utvidelser installert"
#. Translators: argument is an extension UUID.
#: js/ui/lookingGlass.js:697
#: js/ui/lookingGlass.js:696
#, javascript-format
msgid "%s has not emitted any errors."
msgstr "%s har ikke avgitt noen feil."
#: js/ui/lookingGlass.js:703
#: js/ui/lookingGlass.js:702
msgid "Hide Errors"
msgstr "Skjul feil"
#: js/ui/lookingGlass.js:707 js/ui/lookingGlass.js:767
#: js/ui/lookingGlass.js:706 js/ui/lookingGlass.js:766
msgid "Show Errors"
msgstr "Vis feil"
#: js/ui/lookingGlass.js:716
#: js/ui/lookingGlass.js:715
msgid "Enabled"
msgstr "Slått på"
#. translators:
#. * The device has been disabled
#: js/ui/lookingGlass.js:719 src/gvc/gvc-mixer-control.c:1866
#: js/ui/lookingGlass.js:718 src/gvc/gvc-mixer-control.c:1866
msgid "Disabled"
msgstr "Slått av"
#: js/ui/lookingGlass.js:721
#: js/ui/lookingGlass.js:720
msgid "Error"
msgstr "Feil"
#: js/ui/lookingGlass.js:723
#: js/ui/lookingGlass.js:722
msgid "Out of date"
msgstr "Utdatert"
#: js/ui/lookingGlass.js:725
#: js/ui/lookingGlass.js:724
msgid "Downloading"
msgstr "Laster ned"
#: js/ui/lookingGlass.js:749
#: js/ui/lookingGlass.js:748
msgid "View Source"
msgstr "Vis kildekode"
#: js/ui/lookingGlass.js:758
#: js/ui/lookingGlass.js:757
msgid "Web Page"
msgstr "Nettside"
#: js/ui/messageList.js:543
msgid "Clear section"
msgstr "Tøm seksjon"
#: js/ui/messageTray.js:1486
#: js/ui/messageTray.js:1493
msgid "System Information"
msgstr "Systeminformasjon"
#: js/ui/mpris.js:194
#: js/ui/mpris.js:211
msgid "Unknown artist"
msgstr "Ukjent artist"
#: js/ui/mpris.js:195
#: js/ui/mpris.js:212
msgid "Unknown title"
msgstr "Ukjent tittel"
#: js/ui/mpris.js:217
msgid "Media"
msgstr "Media"
#: js/ui/overview.js:84
msgid "Undo"
msgstr "Angre"
@@ -1094,47 +1190,47 @@ msgstr "Oversikt"
msgid "Type to search…"
msgstr "Skriv for å søke …"
#: js/ui/padOsd.js:37
#: js/ui/padOsd.js:103
msgid "New shortcut…"
msgstr "Ny snarvei …"
#: js/ui/padOsd.js:86
#: js/ui/padOsd.js:152
msgid "Application defined"
msgstr "Definert program"
#: js/ui/padOsd.js:87
#: js/ui/padOsd.js:153
msgid "Show on-screen help"
msgstr "Vis hjelp på skjermen"
#: js/ui/padOsd.js:88
#: js/ui/padOsd.js:154
msgid "Switch monitor"
msgstr "Bytt skjerm"
#: js/ui/padOsd.js:89
#: js/ui/padOsd.js:155
msgid "Assign keystroke"
msgstr "Tildel tastatursnarvei"
#: js/ui/padOsd.js:143
#: js/ui/padOsd.js:209
msgid "Done"
msgstr "Ferdig"
#: js/ui/padOsd.js:597
#: js/ui/padOsd.js:698
msgid "Edit…"
msgstr "Rediger …"
#: js/ui/padOsd.js:610 js/ui/padOsd.js:665
#: js/ui/padOsd.js:738 js/ui/padOsd.js:800
msgid "None"
msgstr "Ingen"
#: js/ui/padOsd.js:648
#: js/ui/padOsd.js:783
msgid "Press a button to configure"
msgstr "Trykk en knapp for å konfigurere"
#: js/ui/padOsd.js:649
#: js/ui/padOsd.js:784
msgid "Press Esc to exit"
msgstr "Trykk Esc for å avslutte"
#: js/ui/padOsd.js:652
#: js/ui/padOsd.js:787
msgid "Press any key to exit"
msgstr "Trykk en tast for å avslutte"
@@ -1170,7 +1266,7 @@ msgstr "toggle-switch-intl"
msgid "Enter a Command"
msgstr "Skriv inn en kommando"
#: js/ui/runDialog.js:111 js/ui/windowMenu.js:162
#: js/ui/runDialog.js:111 js/ui/windowMenu.js:160
msgid "Close"
msgstr "Lukk"
@@ -1184,29 +1280,29 @@ msgstr "Starter på nytt …"
#. Translators: This is a time format for a date in
#. long format
#: js/ui/screenShield.js:85
#: js/ui/screenShield.js:88
msgid "%A, %B %d"
msgstr "%A, %B %d"
#: js/ui/screenShield.js:144
#: js/ui/screenShield.js:147
#, javascript-format
msgid "%d new message"
msgid_plural "%d new messages"
msgstr[0] "%d ny melding"
msgstr[1] "%d nye meldinger"
#: js/ui/screenShield.js:146
#: js/ui/screenShield.js:149
#, javascript-format
msgid "%d new notification"
msgid_plural "%d new notifications"
msgstr[0] "%d ny varsling"
msgstr[1] "%d nye varslinger"
#: js/ui/screenShield.js:449 js/ui/status/system.js:409
#: js/ui/screenShield.js:452 js/ui/status/system.js:409
msgid "Lock"
msgstr "Lås"
#: js/ui/screenShield.js:707
#: js/ui/screenShield.js:715
msgid "GNOME needs to lock the screen"
msgstr "GNOME må låse skjermen"
@@ -1217,11 +1313,11 @@ msgstr "GNOME må låse skjermen"
#.
#. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs
#: js/ui/screenShield.js:828 js/ui/screenShield.js:1295
#: js/ui/screenShield.js:836 js/ui/screenShield.js:1308
msgid "Unable to lock"
msgstr "Klarte ikke å låse"
#: js/ui/screenShield.js:829 js/ui/screenShield.js:1296
#: js/ui/screenShield.js:837 js/ui/screenShield.js:1309
msgid "Lock was blocked by an application"
msgstr "Låsing ble stoppet av et program"
@@ -1325,13 +1421,13 @@ msgstr "Av"
msgid "On"
msgstr "På"
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1302
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1310
msgid "Turn On"
msgstr "Slå på"
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:181
#: js/ui/status/network.js:367 js/ui/status/network.js:1302
#: js/ui/status/network.js:1417 js/ui/status/nightLight.js:47
#: js/ui/status/network.js:367 js/ui/status/network.js:1310
#: js/ui/status/network.js:1425 js/ui/status/nightLight.js:47
#: js/ui/status/rfkill.js:90 js/ui/status/rfkill.js:117
msgid "Turn Off"
msgstr "Slå av"
@@ -1344,37 +1440,37 @@ msgstr "Lysstyrke"
msgid "Show Keyboard Layout"
msgstr "Vis tastaturutforming"
#: js/ui/status/location.js:107 js/ui/status/location.js:215
#: js/ui/status/location.js:88 js/ui/status/location.js:196
msgid "Location Enabled"
msgstr "Plassering slått på"
#: js/ui/status/location.js:108 js/ui/status/location.js:216
#: js/ui/status/location.js:89 js/ui/status/location.js:197
msgid "Disable"
msgstr "Slå av"
#: js/ui/status/location.js:109
#: js/ui/status/location.js:90
msgid "Privacy Settings"
msgstr "Innstillinger for personvern"
#: js/ui/status/location.js:214
#: js/ui/status/location.js:195
msgid "Location In Use"
msgstr "Plassering i bruk"
#: js/ui/status/location.js:218
#: js/ui/status/location.js:199
msgid "Location Disabled"
msgstr "Plassering slått av"
#: js/ui/status/location.js:219
#: js/ui/status/location.js:200
msgid "Enable"
msgstr "Slå på"
#. Translators: %s is an application name
#: js/ui/status/location.js:436
#: js/ui/status/location.js:414
#, javascript-format
msgid "Give %s access to your location?"
msgstr "Gi %s tilgang til din plassering?"
#: js/ui/status/location.js:438
#: js/ui/status/location.js:416
msgid "Location access can be changed at any time from the privacy settings."
msgstr ""
"Tilgang til plassering kan endres når som helst fra innstillinger for "
@@ -1385,7 +1481,7 @@ msgid "<unknown>"
msgstr "<ukjent>"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:465 js/ui/status/network.js:1331
#: js/ui/status/network.js:465 js/ui/status/network.js:1339
#, javascript-format
msgid "%s Off"
msgstr "%s av"
@@ -1411,7 +1507,7 @@ msgid "%s Disconnecting"
msgstr "%s kobler fra"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:483 js/ui/status/network.js:1323
#: js/ui/status/network.js:483 js/ui/status/network.js:1331
#, javascript-format
msgid "%s Connecting"
msgstr "%s kobler til"
@@ -1451,7 +1547,7 @@ msgid "Mobile Broadband Settings"
msgstr "Innstillinger for mobilt bredbånd"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:602 js/ui/status/network.js:1328
#: js/ui/status/network.js:602 js/ui/status/network.js:1336
#, javascript-format
msgid "%s Hardware Disabled"
msgstr "%s maskinvare slått av"
@@ -1467,122 +1563,122 @@ msgstr "%s slått av"
msgid "Connect to Internet"
msgstr "Koble til internett"
#: js/ui/status/network.js:836
#: js/ui/status/network.js:844
msgid "Airplane Mode is On"
msgstr "Flymodus er slått på"
#: js/ui/status/network.js:837
#: js/ui/status/network.js:845
msgid "Wi-Fi is disabled when airplane mode is on."
msgstr "Trådløst blir slått av når flymodus slås på."
#: js/ui/status/network.js:838
#: js/ui/status/network.js:846
msgid "Turn Off Airplane Mode"
msgstr "Slå av flymodus"
#: js/ui/status/network.js:847
#: js/ui/status/network.js:855
msgid "Wi-Fi is Off"
msgstr "Trådløs er av"
#: js/ui/status/network.js:848
#: js/ui/status/network.js:856
msgid "Wi-Fi needs to be turned on in order to connect to a network."
msgstr "Trådløs må slås på for å koble til et nettverk."
#: js/ui/status/network.js:849
#: js/ui/status/network.js:857
msgid "Turn On Wi-Fi"
msgstr "Slå på trådløs"
#: js/ui/status/network.js:874
#: js/ui/status/network.js:882
msgid "Wi-Fi Networks"
msgstr "Wi-Fi nettverk"
#: js/ui/status/network.js:876
#: js/ui/status/network.js:884
msgid "Select a network"
msgstr "Velg et nettverk"
#: js/ui/status/network.js:906
#: js/ui/status/network.js:914
msgid "No Networks"
msgstr "Ingen nettverk"
#: js/ui/status/network.js:927 js/ui/status/rfkill.js:115
#: js/ui/status/network.js:935 js/ui/status/rfkill.js:115
msgid "Use hardware switch to turn off"
msgstr "Bruk maskinvarebryter til å slå av"
#: js/ui/status/network.js:1194
#: js/ui/status/network.js:1202
msgid "Select Network"
msgstr "Velg nettverk"
#: js/ui/status/network.js:1200
#: js/ui/status/network.js:1208
msgid "Wi-Fi Settings"
msgstr "Innstillinger"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:1319
#: js/ui/status/network.js:1327
#, javascript-format
msgid "%s Hotspot Active"
msgstr "%s aksesspunkt aktivt"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:1334
#: js/ui/status/network.js:1342
#, javascript-format
msgid "%s Not Connected"
msgstr "%s ikke koblet til"
#: js/ui/status/network.js:1434
#: js/ui/status/network.js:1442
msgid "connecting…"
msgstr "kobler til …"
#. Translators: this is for network connections that require some kind of key or password
#: js/ui/status/network.js:1437
#: js/ui/status/network.js:1445
msgid "authentication required"
msgstr "autentisering kreves"
#: js/ui/status/network.js:1439
#: js/ui/status/network.js:1447
msgid "connection failed"
msgstr "tilkobling mislyktes"
#: js/ui/status/network.js:1505 js/ui/status/network.js:1600
#: js/ui/status/network.js:1513 js/ui/status/network.js:1608
#: js/ui/status/rfkill.js:93
msgid "Network Settings"
msgstr "Innstillinger for nettverk"
#: js/ui/status/network.js:1507
#: js/ui/status/network.js:1515
msgid "VPN Settings"
msgstr "Innstillinger for VPN"
#: js/ui/status/network.js:1526
#: js/ui/status/network.js:1534
msgid "VPN"
msgstr "VPN"
#: js/ui/status/network.js:1536
#: js/ui/status/network.js:1544
msgid "VPN Off"
msgstr "VPN av"
#: js/ui/status/network.js:1631
#: js/ui/status/network.js:1639
#, javascript-format
msgid "%s Wired Connection"
msgid_plural "%s Wired Connections"
msgstr[0] "%s kablet tilkobling"
msgstr[1] "%s kablede tilkoblinger"
#: js/ui/status/network.js:1635
#: js/ui/status/network.js:1643
#, javascript-format
msgid "%s Wi-Fi Connection"
msgid_plural "%s Wi-Fi Connections"
msgstr[0] "%s trådløs tilkobling"
msgstr[1] "%s trådløse tilkoblinger"
#: js/ui/status/network.js:1639
#: js/ui/status/network.js:1647
#, javascript-format
msgid "%s Modem Connection"
msgid_plural "%s Modem Connections"
msgstr[0] "%s tilkobling med modem"
msgstr[1] "%s tilkoblinger med modem"
#: js/ui/status/network.js:1786
#: js/ui/status/network.js:1794
msgid "Connection failed"
msgstr "Tilkobling mislyktes"
#: js/ui/status/network.js:1787
#: js/ui/status/network.js:1795
msgid "Activation of network connection failed"
msgstr "Aktivering av nettverkstilkobling mislyktes"
@@ -1693,22 +1789,22 @@ msgstr "Søk"
msgid "“%s” is ready"
msgstr "«%s» er klar"
#: js/ui/windowManager.js:83
#: js/ui/windowManager.js:84
msgid "Do you want to keep these display settings?"
msgstr "Vil du beholde disse skjerminnstillingene?"
#. Translators: this and the following message should be limited in lenght,
#. to avoid ellipsizing the labels.
#.
#: js/ui/windowManager.js:102
#: js/ui/windowManager.js:103
msgid "Revert Settings"
msgstr "Forkast innstillinger"
#: js/ui/windowManager.js:105
#: js/ui/windowManager.js:106
msgid "Keep Changes"
msgstr "Behold endringer"
#: js/ui/windowManager.js:123
#: js/ui/windowManager.js:124
#, javascript-format
msgid "Settings changes will revert in %d second"
msgid_plural "Settings changes will revert in %d seconds"
@@ -1717,7 +1813,7 @@ msgstr[1] "Endringer i innstillingene forkastes om %d sekunder"
#. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height.
#: js/ui/windowManager.js:678
#: js/ui/windowManager.js:679
#, javascript-format
msgid "%d × %d"
msgstr "%d × %d"
@@ -1754,35 +1850,35 @@ msgstr "Alltid øverst"
msgid "Always on Visible Workspace"
msgstr "Alltid på synlig arbeidsområde"
#: js/ui/windowMenu.js:105
#: js/ui/windowMenu.js:103
msgid "Move to Workspace Left"
msgstr "Flytt til arbeidsområdet til venstre"
#: js/ui/windowMenu.js:110
#: js/ui/windowMenu.js:108
msgid "Move to Workspace Right"
msgstr "Flytt til arbeidsområdet til høyre"
#: js/ui/windowMenu.js:115
#: js/ui/windowMenu.js:113
msgid "Move to Workspace Up"
msgstr "Flytt til arbeidsområdet over"
#: js/ui/windowMenu.js:120
#: js/ui/windowMenu.js:118
msgid "Move to Workspace Down"
msgstr "Flytt til arbeidsområdet under"
#: js/ui/windowMenu.js:136
#: js/ui/windowMenu.js:134
msgid "Move to Monitor Up"
msgstr "Flytt til skjermen over"
#: js/ui/windowMenu.js:142
#: js/ui/windowMenu.js:140
msgid "Move to Monitor Down"
msgstr "Flytt til skjermen under"
#: js/ui/windowMenu.js:148
#: js/ui/windowMenu.js:146
msgid "Move to Monitor Left"
msgstr "Flytt til skjermen til venstre"
#: js/ui/windowMenu.js:154
#: js/ui/windowMenu.js:152
msgid "Move to Monitor Right"
msgstr "Flytt til skjermen til høyre"
@@ -1817,19 +1913,19 @@ msgstr[1] "%u innganger"
msgid "System Sounds"
msgstr "Systemlyder"
#: src/main.c:381
#: src/main.c:372
msgid "Print version"
msgstr "Vis versjon"
#: src/main.c:387
#: src/main.c:378
msgid "Mode used by GDM for login screen"
msgstr "Modus som brukes av GDM for innloggingsskjermen"
#: src/main.c:393
#: src/main.c:384
msgid "Use a specific mode, e.g. “gdm” for login screen"
msgstr "Bruk spesifikt modus, f.eks. «gdm» for innloggingsskjerm"
#: src/main.c:399
#: src/main.c:390
msgid "List possible modes"
msgstr "Vis mulige modi"

793
po/nl.po

File diff suppressed because it is too large Load Diff

637
po/pa.po

File diff suppressed because it is too large Load Diff

454
po/pl.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

820
po/ru.po

File diff suppressed because it is too large Load Diff

388
po/sk.po
View File

@@ -7,10 +7,10 @@
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-02-16 21:00+0000\n"
"PO-Revision-Date: 2017-02-18 09:53+0100\n"
"POT-Creation-Date: 2017-03-20 18:14+0000\n"
"PO-Revision-Date: 2017-03-21 22:06+0100\n"
"Last-Translator: Dušan Kazik <prescott66@gmail.com>\n"
"Language-Team: Slovak <gnome-sk-list@gnome.org>\n"
"Language: sk\n"
@@ -356,7 +356,7 @@ msgstr "Vyskytla sa chyba pri načítavaní dialógového okna nastavení pre %s
#: js/gdm/authPrompt.js:149 js/ui/audioDeviceSelection.js:71
#: js/ui/components/networkAgent.js:145 js/ui/components/polkitAgent.js:179
#: js/ui/endSessionDialog.js:482 js/ui/extensionDownloader.js:195
#: js/ui/shellMountOperation.js:399 js/ui/status/network.js:939
#: js/ui/shellMountOperation.js:399 js/ui/status/network.js:947
msgid "Cancel"
msgstr "Zrušiť"
@@ -406,7 +406,7 @@ msgstr "Používateľské meno: "
msgid "Login Window"
msgstr "Prihlasovacie okno"
#: js/gdm/util.js:341
#: js/gdm/util.js:342
msgid "Authentication error"
msgstr "Chyba pri overovaní totožnosti"
@@ -415,40 +415,96 @@ msgstr "Chyba pri overovaní totožnosti"
#. 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
#: js/gdm/util.js:474
msgid "(or swipe finger)"
msgstr "(alebo prejdite prstom)"
#: js/misc/util.js:119
#: js/misc/util.js:122
msgid "Command not found"
msgstr "Príkaz nebol nájdený"
#. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer
#: js/misc/util.js:152
#: js/misc/util.js:155
msgid "Could not parse command:"
msgstr "Nepodarilo sa analyzovať príkaz:"
#: js/misc/util.js:160
#: js/misc/util.js:163
#, javascript-format
msgid "Execution of “%s” failed:"
msgstr "Spustenie „%s“ zlyhalo:"
#: js/misc/util.js:180
msgid "Just now"
msgstr "Práve teraz"
#: js/misc/util.js:182
#, javascript-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "Pred %d minútou"
msgstr[1] "Pred %d minútami"
msgstr[2] "Pred %d minútami"
#: js/misc/util.js:185
#, javascript-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
msgstr[0] "Pred %d dňom"
msgstr[1] "Pred %d dňami"
msgstr[2] "Pred %d dňami"
#: js/misc/util.js:188
msgid "Yesterday"
msgstr "Včera"
#: js/misc/util.js:190
#, javascript-format
msgid "%d day ago"
msgid_plural "%d days ago"
msgstr[0] "Pred %d dňom"
msgstr[1] "Pred %d dňami"
msgstr[2] "Pred %d dňami"
#: js/misc/util.js:193
#, javascript-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
msgstr[0] "Pred %d týždňom"
msgstr[1] "Pred %d týždňami"
msgstr[2] "Pred %d týždňami"
#: js/misc/util.js:196
#, javascript-format
msgid "%d month ago"
msgid_plural "%d months ago"
msgstr[0] "Pred %d mesiacom"
msgstr[1] "Pred %d mesiacmi"
msgstr[2] "Pred %d mesiacmi"
#: js/misc/util.js:198
#, javascript-format
msgid "%d year ago"
msgid_plural "%d years ago"
msgstr[0] "Pred %d rokom"
msgstr[1] "Pred %d rokmi"
msgstr[2] "Pred %d rokmi"
#. Translators: Time in 24h format
#: js/misc/util.js:191
#: js/misc/util.js:229
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"
#: js/misc/util.js:197
#: js/misc/util.js:235
#, no-c-format
msgid "Yesterday, %H%M"
msgstr "Včera o %H:%M"
#. Translators: this is the week day name followed by a time
#. string in 24h format. i.e. "Monday, 14:30"
#: js/misc/util.js:203
#: js/misc/util.js:241
#, no-c-format
msgid "%A, %H%M"
msgstr "%A, %H:%M"
@@ -456,7 +512,7 @@ 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"
#: js/misc/util.js:209
#: js/misc/util.js:247
#, no-c-format
msgid "%B %d, %H%M"
msgstr "%d. %B, %H:%M"
@@ -464,19 +520,19 @@ 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"
#: js/misc/util.js:215
#: js/misc/util.js:253
#, no-c-format
msgid "%B %d %Y, %H%M"
msgstr "%d. %B %Y, %H:%M"
#. Translators: Time in 12h format
#: js/misc/util.js:220
#: js/misc/util.js:258
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"
#: js/misc/util.js:226
#: js/misc/util.js:264
#, no-c-format
msgid "Yesterday, %l%M %p"
msgstr "Včera, %l:%M %p"
@@ -486,7 +542,7 @@ msgstr "Včera, %l:%M %p"
# v ostatnych retazcoch je pouzite %e, tak to bude asi OK
#. Translators: this is the week day name followed by a time
#. string in 12h format. i.e. "Monday, 2:30 pm"
#: js/misc/util.js:232
#: js/misc/util.js:270
#, no-c-format
msgid "%A, %l%M %p"
msgstr "%A, %l:%M %p"
@@ -494,7 +550,7 @@ 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"
#: js/misc/util.js:238
#: js/misc/util.js:276
#, no-c-format
msgid "%B %d, %l%M %p"
msgstr "%d. %B, %l:%M %p"
@@ -502,7 +558,7 @@ 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"
#: js/misc/util.js:244
#: js/misc/util.js:282
#, no-c-format
msgid "%B %d %Y, %l%M %p"
msgstr "%d. %B %Y, %l:%M %p"
@@ -523,11 +579,11 @@ msgstr ""
#. No support for non-modal system dialogs, so ignore the option
#. let modal = options['modal'] || true;
#: js/ui/accessDialog.js:62 js/ui/status/location.js:427
#: js/ui/accessDialog.js:62 js/ui/status/location.js:405
msgid "Deny Access"
msgstr "Odmietnuť prístup"
#: js/ui/accessDialog.js:63 js/ui/status/location.js:430
#: js/ui/accessDialog.js:63 js/ui/status/location.js:408
msgid "Grant Access"
msgstr "Udeliť prístup"
@@ -681,37 +737,33 @@ msgstr "%V. týždeň"
#. 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:721
#: js/ui/calendar.js:729
msgctxt "event list time"
msgid "All Day"
msgstr "Celý deň"
#: js/ui/calendar.js:836
msgid "Events"
msgstr "Udalosti"
#: js/ui/calendar.js:845
#: js/ui/calendar.js:862
msgctxt "calendar heading"
msgid "%A, %B %d"
msgstr "%A, %e. %B"
#: js/ui/calendar.js:849
#: js/ui/calendar.js:866
msgctxt "calendar heading"
msgid "%A, %B %d, %Y"
msgstr "%A, %e. %B %Y"
#: js/ui/calendar.js:931
msgid "Notifications"
msgstr "Oznámenia"
#: js/ui/calendar.js:1082
#: js/ui/calendar.js:1086
msgid "No Notifications"
msgstr "Žiadne oznámenia"
#: js/ui/calendar.js:1085
#: js/ui/calendar.js:1089
msgid "No Events"
msgstr "Žiadne udalosti"
#: js/ui/calendar.js:1117
msgid "Clear All"
msgstr "Vymazať všetko"
#: js/ui/components/automountManager.js:91
msgid "External drive connected"
msgstr "Externá jednotka bola pripojená"
@@ -735,7 +787,7 @@ msgid "Type again:"
msgstr "Zadajte znovu:"
#: js/ui/components/networkAgent.js:140 js/ui/status/network.js:272
#: js/ui/status/network.js:366 js/ui/status/network.js:942
#: js/ui/status/network.js:366 js/ui/status/network.js:950
msgid "Connect"
msgstr "Pripojiť"
@@ -810,7 +862,7 @@ msgstr "Heslo k mobilnej širokopásmovej sieti"
msgid "A password is required to connect to “%s”."
msgstr "Na pripojenie k „%s“ sa požaduje heslo."
#: js/ui/components/networkAgent.js:655 js/ui/status/network.js:1747
#: js/ui/components/networkAgent.js:655 js/ui/status/network.js:1755
msgid "Network Manager"
msgstr "Správca siete"
@@ -837,7 +889,7 @@ msgstr "Prepáčte, ale nezabralo to. Skúste to, prosím, znova."
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
#: js/ui/components/telepathyClient.js:765
#: js/ui/components/telepathyClient.js:799
#, javascript-format
msgid "%s is now known as %s"
msgstr "Kontakt %s odteraz vystupuje ako %s"
@@ -860,7 +912,7 @@ msgstr "Dok"
#. 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
#: js/ui/dateMenu.js:75
msgid "%B %e %Y"
msgstr "%-e. %B %Y"
@@ -868,18 +920,72 @@ msgstr "%-e. %B %Y"
#. * 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
#: js/ui/dateMenu.js:82
msgid "%A %B %e %Y"
msgstr "%A, %-e. %B %Y"
#: js/ui/dateMenu.js:160
#: js/ui/dateMenu.js:144
msgid "Add world clocks…"
msgstr "Pridať svetové časy…"
#: js/ui/dateMenu.js:161
#: js/ui/dateMenu.js:145
msgid "World Clocks"
msgstr "Svetové časy"
#: js/ui/dateMenu.js:224
msgid "Weather"
msgstr "Počasie"
#. Translators: %s is a weather condition like "Clear sky"; see
#. libgweather for the possible condition strings. If at all
#. possible, the sentence should match the grammatical case etc. of
#. the inserted conditions.
#: js/ui/dateMenu.js:281
#, javascript-format
msgid "%s all day."
msgstr "%s celý deň."
#. Translators: %s is a weather condition like "Clear sky"; see
#. libgweather for the possible condition strings. If at all
#. possible, the sentence should match the grammatical case etc. of
#. the inserted conditions.
#: js/ui/dateMenu.js:287
#, javascript-format
msgid "%s, then %s later."
msgstr "%s, potom bude %s."
#. Translators: %s is a weather condition like "Clear sky"; see
#. libgweather for the possible condition strings. If at all
#. possible, the sentence should match the grammatical case etc. of
#. the inserted conditions.
#: js/ui/dateMenu.js:293
#, javascript-format
msgid "%s, then %s, followed by %s later."
msgstr "%s, potom bude %s a následne neskôr bude %s."
#: js/ui/dateMenu.js:300
#| msgid "Select a network"
msgid "Select a location…"
msgstr "Vyberte umiestnenie…"
#: js/ui/dateMenu.js:303
msgid "Loading…"
msgstr "Načítava sa…"
#. Translators: %s is a temperature with unit, e.g. "23℃"
#: js/ui/dateMenu.js:309
#, javascript-format
msgid "Feels like %s."
msgstr "Pocitová teplota %s."
#: js/ui/dateMenu.js:312
msgid "Go online for weather information"
msgstr "Aby sa mohli zobraziť informácie o počasí, musíte sa pripojiť"
#: js/ui/dateMenu.js:314
msgid "Weather information is currently unavailable"
msgstr "Informácie o počasí nie sú momentálne dostupné"
#: js/ui/endSessionDialog.js:64
#, javascript-format
msgctxt "title"
@@ -1056,75 +1162,67 @@ msgstr "Skryť lištu"
msgid "Status Icons"
msgstr "Stavová ikona"
#: js/ui/lookingGlass.js:643
#: js/ui/lookingGlass.js:642
msgid "No extensions installed"
msgstr "Žiadne nainštalované rozšírenia"
#. Translators: argument is an extension UUID.
#: js/ui/lookingGlass.js:697
#: js/ui/lookingGlass.js:696
#, javascript-format
msgid "%s has not emitted any errors."
msgstr "%s nevyslal žiadnu chybu."
#: js/ui/lookingGlass.js:703
#: js/ui/lookingGlass.js:702
msgid "Hide Errors"
msgstr "Skryť chyby"
#: js/ui/lookingGlass.js:707 js/ui/lookingGlass.js:767
#: js/ui/lookingGlass.js:706 js/ui/lookingGlass.js:766
msgid "Show Errors"
msgstr "Zobraziť chyby"
#: js/ui/lookingGlass.js:716
#: js/ui/lookingGlass.js:715
msgid "Enabled"
msgstr "Povolené"
#. translators:
#. * The device has been disabled
#: js/ui/lookingGlass.js:719 src/gvc/gvc-mixer-control.c:1866
#: js/ui/lookingGlass.js:718 src/gvc/gvc-mixer-control.c:1866
msgid "Disabled"
msgstr "Zakázané"
#: js/ui/lookingGlass.js:721
#: js/ui/lookingGlass.js:720
msgid "Error"
msgstr "Chyba"
#: js/ui/lookingGlass.js:723
#: js/ui/lookingGlass.js:722
msgid "Out of date"
msgstr "Neaktuálne"
#: js/ui/lookingGlass.js:725
#: js/ui/lookingGlass.js:724
msgid "Downloading"
msgstr "Sťahuje sa"
# PK: ide tu o zdrojovy kod?
#: js/ui/lookingGlass.js:749
#: js/ui/lookingGlass.js:748
msgid "View Source"
msgstr "Zobraziť zdroj"
#: js/ui/lookingGlass.js:758
#: js/ui/lookingGlass.js:757
msgid "Web Page"
msgstr "Webová stránka"
#: js/ui/messageList.js:543
msgid "Clear section"
msgstr "Vymazať úsek"
#: js/ui/messageTray.js:1486
#: js/ui/messageTray.js:1493
msgid "System Information"
msgstr "Informácie o systéme"
#: js/ui/mpris.js:194
#: js/ui/mpris.js:211
msgid "Unknown artist"
msgstr "Neznámy interpret"
#: js/ui/mpris.js:195
#: js/ui/mpris.js:212
msgid "Unknown title"
msgstr "Neznámy názov"
#: js/ui/mpris.js:217
msgid "Media"
msgstr "Médiá"
#: js/ui/overview.js:84
msgid "Undo"
msgstr "Vrátiť"
@@ -1144,47 +1242,47 @@ msgstr "Prehľad"
msgid "Type to search…"
msgstr "Zadajte text na vyhľadanie…"
#: js/ui/padOsd.js:37
#: js/ui/padOsd.js:103
msgid "New shortcut…"
msgstr "Nová skratka…"
#: js/ui/padOsd.js:86
#: js/ui/padOsd.js:152
msgid "Application defined"
msgstr "Definované aplikáciou"
#: js/ui/padOsd.js:87
#: js/ui/padOsd.js:153
msgid "Show on-screen help"
msgstr "Zobraziť pomocníka na obrazovke"
#: js/ui/padOsd.js:88
#: js/ui/padOsd.js:154
msgid "Switch monitor"
msgstr "Prepnúť monitor"
#: js/ui/padOsd.js:89
#: js/ui/padOsd.js:155
msgid "Assign keystroke"
msgstr "Priradiť klávesu"
#: js/ui/padOsd.js:143
#: js/ui/padOsd.js:209
msgid "Done"
msgstr "Dokončiť"
#: js/ui/padOsd.js:597
#: js/ui/padOsd.js:698
msgid "Edit…"
msgstr "Upraviť…"
#: js/ui/padOsd.js:610 js/ui/padOsd.js:665
#: js/ui/padOsd.js:738 js/ui/padOsd.js:800
msgid "None"
msgstr "Žiadne"
#: js/ui/padOsd.js:648
#: js/ui/padOsd.js:783
msgid "Press a button to configure"
msgstr "Stlačte kláves na spustenie konfigurácie"
#: js/ui/padOsd.js:649
#: js/ui/padOsd.js:784
msgid "Press Esc to exit"
msgstr "Stlačte kláves Esc na skončenie"
#: js/ui/padOsd.js:652
#: js/ui/padOsd.js:787
msgid "Press any key to exit"
msgstr "Stlačte akýkoľvek kláves na skončenie"
@@ -1220,7 +1318,7 @@ msgstr "toggle-switch-intl"
msgid "Enter a Command"
msgstr "Zadajte príkaz"
#: js/ui/runDialog.js:111 js/ui/windowMenu.js:162
#: js/ui/runDialog.js:111 js/ui/windowMenu.js:160
msgid "Close"
msgstr "Zavrieť"
@@ -1237,11 +1335,11 @@ msgstr "Reštartuje sa…"
# v ostatnych retazcoch je pouzite %e, tak to bude asi OK
#. Translators: This is a time format for a date in
#. long format
#: js/ui/screenShield.js:85
#: js/ui/screenShield.js:88
msgid "%A, %B %d"
msgstr "%A, %e. %B"
#: js/ui/screenShield.js:144
#: js/ui/screenShield.js:147
#, javascript-format
msgid "%d new message"
msgid_plural "%d new messages"
@@ -1249,7 +1347,7 @@ msgstr[0] "%d nová správa"
msgstr[1] "%d nové správy"
msgstr[2] "%d nových správ"
#: js/ui/screenShield.js:146
#: js/ui/screenShield.js:149
#, javascript-format
msgid "%d new notification"
msgid_plural "%d new notifications"
@@ -1257,11 +1355,11 @@ msgstr[0] "%d nové oznámenie"
msgstr[1] "%d nové oznámenia"
msgstr[2] "%d nových oznámení"
#: js/ui/screenShield.js:449 js/ui/status/system.js:409
#: js/ui/screenShield.js:452 js/ui/status/system.js:409
msgid "Lock"
msgstr "Uzamknúť"
#: js/ui/screenShield.js:707
#: js/ui/screenShield.js:715
msgid "GNOME needs to lock the screen"
msgstr "Prostredie GNOME vyžaduje uzamknutie obrazovky"
@@ -1272,11 +1370,11 @@ msgstr "Prostredie GNOME vyžaduje uzamknutie obrazovky"
#.
#. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs
#: js/ui/screenShield.js:828 js/ui/screenShield.js:1295
#: js/ui/screenShield.js:836 js/ui/screenShield.js:1308
msgid "Unable to lock"
msgstr "Nepodarilo sa uzamknúť obrazovku"
#: js/ui/screenShield.js:829 js/ui/screenShield.js:1296
#: js/ui/screenShield.js:837 js/ui/screenShield.js:1309
msgid "Lock was blocked by an application"
msgstr "Uzamknutie bolo zablokované aplikáciou"
@@ -1386,13 +1484,13 @@ msgstr "Vypnuté"
msgid "On"
msgstr "Zapnutý"
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1302
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:1310
msgid "Turn On"
msgstr "Zapnúť"
#: js/ui/status/bluetooth.js:142 js/ui/status/network.js:181
#: js/ui/status/network.js:367 js/ui/status/network.js:1302
#: js/ui/status/network.js:1417 js/ui/status/nightLight.js:47
#: js/ui/status/network.js:367 js/ui/status/network.js:1310
#: js/ui/status/network.js:1425 js/ui/status/nightLight.js:47
#: js/ui/status/rfkill.js:90 js/ui/status/rfkill.js:117
msgid "Turn Off"
msgstr "Vypnúť"
@@ -1406,37 +1504,37 @@ msgstr "Jas"
msgid "Show Keyboard Layout"
msgstr "Zobraziť rozloženie klávesnice"
#: js/ui/status/location.js:107 js/ui/status/location.js:215
#: js/ui/status/location.js:88 js/ui/status/location.js:196
msgid "Location Enabled"
msgstr "Poloha povolená"
#: js/ui/status/location.js:108 js/ui/status/location.js:216
#: js/ui/status/location.js:89 js/ui/status/location.js:197
msgid "Disable"
msgstr "Zakázať"
#: js/ui/status/location.js:109
#: js/ui/status/location.js:90
msgid "Privacy Settings"
msgstr "Nastavenia súkromia"
#: js/ui/status/location.js:214
#: js/ui/status/location.js:195
msgid "Location In Use"
msgstr "Poloha sa používa"
#: js/ui/status/location.js:218
#: js/ui/status/location.js:199
msgid "Location Disabled"
msgstr "Poloha zakázaná"
#: js/ui/status/location.js:219
#: js/ui/status/location.js:200
msgid "Enable"
msgstr "Povoliť"
#. Translators: %s is an application name
#: js/ui/status/location.js:436
#: js/ui/status/location.js:414
#, javascript-format
msgid "Give %s access to your location?"
msgstr "Udeliť aplikácii %s prístup k vášmu umiestneniu?"
#: js/ui/status/location.js:438
#: js/ui/status/location.js:416
msgid "Location access can be changed at any time from the privacy settings."
msgstr "Prístup k umiestneniu sa dá zmeniť kedykoľvek v nastaveniach súkromia."
@@ -1446,7 +1544,7 @@ msgid "<unknown>"
msgstr "<neznáme>"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:465 js/ui/status/network.js:1331
#: js/ui/status/network.js:465 js/ui/status/network.js:1339
#, javascript-format
msgid "%s Off"
msgstr "%s vypnuté"
@@ -1472,7 +1570,7 @@ msgid "%s Disconnecting"
msgstr "Odpája sa %s"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:483 js/ui/status/network.js:1323
#: js/ui/status/network.js:483 js/ui/status/network.js:1331
#, javascript-format
msgid "%s Connecting"
msgstr "Pripája sa %s"
@@ -1512,7 +1610,7 @@ msgid "Mobile Broadband Settings"
msgstr "Nastavenia mobilnej širokopásmovej siete"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:602 js/ui/status/network.js:1328
#: js/ui/status/network.js:602 js/ui/status/network.js:1336
#, javascript-format
msgid "%s Hardware Disabled"
msgstr "Hardvér %s zakázaný"
@@ -1528,98 +1626,98 @@ msgstr "%s zakázané"
msgid "Connect to Internet"
msgstr "Pripojiť k internetu"
#: js/ui/status/network.js:836
#: js/ui/status/network.js:844
msgid "Airplane Mode is On"
msgstr "Režim v lietadle je zapnutý"
#: js/ui/status/network.js:837
#: js/ui/status/network.js:845
msgid "Wi-Fi is disabled when airplane mode is on."
msgstr "Sieť Wi-Fi je zakázaná, keď je zapnutý režim v lietadle"
#: js/ui/status/network.js:838
#: js/ui/status/network.js:846
msgid "Turn Off Airplane Mode"
msgstr "Vypnúť režim v lietadle"
#: js/ui/status/network.js:847
#: js/ui/status/network.js:855
msgid "Wi-Fi is Off"
msgstr "Sieť Wi-Fi je vypnutá"
#: js/ui/status/network.js:848
#: js/ui/status/network.js:856
msgid "Wi-Fi needs to be turned on in order to connect to a network."
msgstr "Na pripojenie k sieti je potrebné zapnúť Wi-Fi"
#: js/ui/status/network.js:849
#: js/ui/status/network.js:857
msgid "Turn On Wi-Fi"
msgstr "Zapnúť Wi-Fi"
#: js/ui/status/network.js:874
#: js/ui/status/network.js:882
msgid "Wi-Fi Networks"
msgstr "Siete Wi-Fi"
#: js/ui/status/network.js:876
#: js/ui/status/network.js:884
msgid "Select a network"
msgstr "Vyberte sieť"
#: js/ui/status/network.js:906
#: js/ui/status/network.js:914
msgid "No Networks"
msgstr "Žiadne siete"
#: js/ui/status/network.js:927 js/ui/status/rfkill.js:115
#: js/ui/status/network.js:935 js/ui/status/rfkill.js:115
msgid "Use hardware switch to turn off"
msgstr "Na vypnutie použite hardvérový prepínač"
# item menu
#: js/ui/status/network.js:1194
#: js/ui/status/network.js:1202
msgid "Select Network"
msgstr "Vybrať sieť"
#: js/ui/status/network.js:1200
#: js/ui/status/network.js:1208
msgid "Wi-Fi Settings"
msgstr "Nastavenia siete Wi-Fi"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:1319
#: js/ui/status/network.js:1327
#, javascript-format
msgid "%s Hotspot Active"
msgstr "Aktívny bod %s je aktivovaný"
#. Translators: %s is a network identifier
#: js/ui/status/network.js:1334
#: js/ui/status/network.js:1342
#, javascript-format
msgid "%s Not Connected"
msgstr "%s nepripojené"
#: js/ui/status/network.js:1434
#: js/ui/status/network.js:1442
msgid "connecting…"
msgstr "pripája sa…"
#. Translators: this is for network connections that require some kind of key or password
#: js/ui/status/network.js:1437
#: js/ui/status/network.js:1445
msgid "authentication required"
msgstr "požaduje sa overenie totožnosti"
#: js/ui/status/network.js:1439
#: js/ui/status/network.js:1447
msgid "connection failed"
msgstr "pripojenie zlyhalo"
#: js/ui/status/network.js:1505 js/ui/status/network.js:1600
#: js/ui/status/network.js:1513 js/ui/status/network.js:1608
#: js/ui/status/rfkill.js:93
msgid "Network Settings"
msgstr "Nastavenia siete"
#: js/ui/status/network.js:1507
#: js/ui/status/network.js:1515
msgid "VPN Settings"
msgstr "Nastavenia VPN"
#: js/ui/status/network.js:1526
#: js/ui/status/network.js:1534
msgid "VPN"
msgstr "VPN"
#: js/ui/status/network.js:1536
#: js/ui/status/network.js:1544
msgid "VPN Off"
msgstr "Pripojenie VPN vypnuté"
#: js/ui/status/network.js:1631
#: js/ui/status/network.js:1639
#, javascript-format
msgid "%s Wired Connection"
msgid_plural "%s Wired Connections"
@@ -1627,7 +1725,7 @@ msgstr[0] "%s drôtové pripojenie"
msgstr[1] "%s drôtové pripojenia"
msgstr[2] "%s drôtových pripojení"
#: js/ui/status/network.js:1635
#: js/ui/status/network.js:1643
#, javascript-format
msgid "%s Wi-Fi Connection"
msgid_plural "%s Wi-Fi Connections"
@@ -1635,7 +1733,7 @@ msgstr[0] "%s pripojenie k sieti Wi-Fi"
msgstr[1] "%s pripojenia k sieti Wi-Fi"
msgstr[2] "%s pripojení k sieti Wi-Fi"
#: js/ui/status/network.js:1639
#: js/ui/status/network.js:1647
#, javascript-format
msgid "%s Modem Connection"
msgid_plural "%s Modem Connections"
@@ -1643,11 +1741,11 @@ msgstr[0] "%s pripojenie modemom"
msgstr[1] "%s pripojenia modemom"
msgstr[2] "%s pripojení modemom"
#: js/ui/status/network.js:1786
#: js/ui/status/network.js:1794
msgid "Connection failed"
msgstr "Pripojenie zlyhalo"
#: js/ui/status/network.js:1787
#: js/ui/status/network.js:1795
msgid "Activation of network connection failed"
msgstr "Aktivácia pripojenia k sieti zlyhala"
@@ -1761,22 +1859,22 @@ msgstr "Hľadať"
msgid "“%s” is ready"
msgstr "Program „%s“ je pripravený"
#: js/ui/windowManager.js:83
#: js/ui/windowManager.js:84
msgid "Do you want to keep these display settings?"
msgstr "Chcete ponechať tieto nastavenia displeja?"
#. Translators: this and the following message should be limited in lenght,
#. to avoid ellipsizing the labels.
#.
#: js/ui/windowManager.js:102
#: js/ui/windowManager.js:103
msgid "Revert Settings"
msgstr "Vrátiť nastavenia"
#: js/ui/windowManager.js:105
#: js/ui/windowManager.js:106
msgid "Keep Changes"
msgstr "Uchovať zmeny"
#: js/ui/windowManager.js:123
#: js/ui/windowManager.js:124
#, javascript-format
msgid "Settings changes will revert in %d second"
msgid_plural "Settings changes will revert in %d seconds"
@@ -1786,7 +1884,7 @@ msgstr[2] "Zmeny nastavení budú vrátené za %d sekúnd"
#. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height.
#: js/ui/windowManager.js:678
#: js/ui/windowManager.js:679
#, javascript-format
msgid "%d × %d"
msgstr "%d × %d"
@@ -1823,35 +1921,35 @@ msgstr "Vždy navrchu"
msgid "Always on Visible Workspace"
msgstr "Vždy vo viditeľnom pracovnom priestore"
#: js/ui/windowMenu.js:105
#: js/ui/windowMenu.js:103
msgid "Move to Workspace Left"
msgstr "Presunúť do ľavého pracovného priestoru"
#: js/ui/windowMenu.js:110
#: js/ui/windowMenu.js:108
msgid "Move to Workspace Right"
msgstr "Presunúť do pravého pracovného priestoru"
#: js/ui/windowMenu.js:115
#: js/ui/windowMenu.js:113
msgid "Move to Workspace Up"
msgstr "Presunúť do vyššieho pracovného priestoru"
#: js/ui/windowMenu.js:120
#: js/ui/windowMenu.js:118
msgid "Move to Workspace Down"
msgstr "Presunúť do nižšieho pracovného priestoru"
#: js/ui/windowMenu.js:136
#: js/ui/windowMenu.js:134
msgid "Move to Monitor Up"
msgstr "Presunúť na monitor vyššie"
#: js/ui/windowMenu.js:142
#: js/ui/windowMenu.js:140
msgid "Move to Monitor Down"
msgstr "Presunúť na monitor nižšie"
#: js/ui/windowMenu.js:148
#: js/ui/windowMenu.js:146
msgid "Move to Monitor Left"
msgstr "Presunúť na monitor vľavo"
#: js/ui/windowMenu.js:154
#: js/ui/windowMenu.js:152
msgid "Move to Monitor Right"
msgstr "Presunúť na monitor vpravo"
@@ -1888,19 +1986,19 @@ msgstr[2] "%u vstupov"
msgid "System Sounds"
msgstr "Systémové zvuky"
#: src/main.c:381
#: src/main.c:372
msgid "Print version"
msgstr "Verzia pre tlač"
#: src/main.c:387
#: src/main.c:378
msgid "Mode used by GDM for login screen"
msgstr "Režim používaný správcom GDM pre prihlasovaciu obrazovku"
#: src/main.c:393
#: src/main.c:384
msgid "Use a specific mode, e.g. “gdm” for login screen"
msgstr "Použitie zvláštneho režimu, napr. „gdm“ pre prihlasovaciu obrazovku"
#: src/main.c:399
#: src/main.c:390
msgid "List possible modes"
msgstr "Zoznam možných režimov"
@@ -1927,6 +2025,18 @@ msgstr "Heslo nemôže byť prázdne"
msgid "Authentication dialog was dismissed by the user"
msgstr "Dialógové okno overenia totožnosti bolo zatvorené používateľom"
#~ msgid "Events"
#~ msgstr "Udalosti"
#~ msgid "Notifications"
#~ msgstr "Oznámenia"
#~ msgid "Clear section"
#~ msgstr "Vymazať úsek"
#~ msgid "Media"
#~ msgstr "Médiá"
#~ msgid "GNOME Shell Extension Preferences"
#~ msgstr "Nastavenia rozšírení pre Shell prostredia GNOME"

1048
po/sl.po

File diff suppressed because it is too large Load Diff

449
po/sr.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

775
po/sv.po

File diff suppressed because it is too large Load Diff

1741
po/tg.po

File diff suppressed because it is too large Load Diff

680
po/tr.po

File diff suppressed because it is too large Load Diff

1391
po/uk.po

File diff suppressed because it is too large Load Diff

762
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

@@ -9,8 +9,8 @@ msgstr ""
"Project-Id-Version: gnome-shell 3.3.90\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-02-22 19:28+0000\n"
"PO-Revision-Date: 2017-02-26 10:52+0800\n"
"POT-Creation-Date: 2017-03-01 09:59+0000\n"
"PO-Revision-Date: 2017-03-02 08:38+0800\n"
"Last-Translator: Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>\n"
"Language-Team: Chinese (Taiwan) <zh-l10n@lists.linux.org.tw>\n"
"Language: zh_TW\n"
@@ -18,7 +18,31 @@ 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.6\n"
"X-Generator: Poedit 1.8.12\n"
#: data/50-gnome-shell-system.xml:6
msgid "System"
msgstr "系統"
#: data/50-gnome-shell-system.xml:9
msgid "Show the notification list"
msgstr "顯示通知清單"
#: data/50-gnome-shell-system.xml:12
msgid "Focus the active notification"
msgstr "聚焦到使用中的通知"
#: data/50-gnome-shell-system.xml:15
msgid "Show the overview"
msgstr "顯示概覽"
#: data/50-gnome-shell-system.xml:18
msgid "Show all applications"
msgstr "顯示所有的應用程式"
#: data/50-gnome-shell-system.xml:21
msgid "Open the application menu"
msgstr "開啟應用程式選單"
#: data/gnome-shell-extension-prefs.desktop.in.in:4
#: js/extensionPrefs/main.js:149
@@ -348,36 +372,80 @@ msgstr "核對錯誤"
msgid "(or swipe finger)"
msgstr "(或是滑過手指)"
#: js/misc/util.js:119
#: js/misc/util.js:122
msgid "Command not found"
msgstr "找不到指令"
#. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer
#: js/misc/util.js:152
#: js/misc/util.js:155
msgid "Could not parse command:"
msgstr "無法分析指令:"
#: js/misc/util.js:160
#: js/misc/util.js:163
#, javascript-format
msgid "Execution of “%s” failed:"
msgstr "執行「%s」失敗"
#: js/misc/util.js:180
msgid "Just now"
msgstr "就是現在"
#: js/misc/util.js:182
#, javascript-format
msgid "%d minute ago"
msgid_plural "%d minutes ago"
msgstr[0] "%d 分鐘前"
#: js/misc/util.js:185
#, javascript-format
msgid "%d hour ago"
msgid_plural "%d hours ago"
msgstr[0] "%d 小時前"
#: js/misc/util.js:188
msgid "Yesterday"
msgstr "昨天"
#: js/misc/util.js:190
#, javascript-format
msgid "%d day ago"
msgid_plural "%d days ago"
msgstr[0] "%d 天前"
#: js/misc/util.js:193
#, javascript-format
msgid "%d week ago"
msgid_plural "%d weeks ago"
msgstr[0] "%d 週前"
#: js/misc/util.js:196
#, javascript-format
msgid "%d month ago"
msgid_plural "%d months ago"
msgstr[0] "%d 個月前"
#: js/misc/util.js:198
#, javascript-format
msgid "%d year ago"
msgid_plural "%d years ago"
msgstr[0] "%d 年前"
#. Translators: Time in 24h format
#: js/misc/util.js:191
#: js/misc/util.js:229
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"
#: js/misc/util.js:197
#: js/misc/util.js:235
#, 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"
#: js/misc/util.js:203
#: js/misc/util.js:241
#, no-c-format
msgid "%A, %H%M"
msgstr "%A %H%M"
@@ -385,7 +453,7 @@ 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"
#: js/misc/util.js:209
#: js/misc/util.js:247
#, no-c-format
msgid "%B %d, %H%M"
msgstr "%m月%d日 %H%M"
@@ -393,26 +461,26 @@ msgstr "%m月%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"
#: js/misc/util.js:215
#: js/misc/util.js:253
#, no-c-format
msgid "%B %d %Y, %H%M"
msgstr "%Y年%m月%d日 %H:%M"
#. Translators: Time in 12h format
#: js/misc/util.js:220
#: js/misc/util.js:258
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"
#: js/misc/util.js:226
#: js/misc/util.js:264
#, 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"
#: js/misc/util.js:232
#: js/misc/util.js:270
#, no-c-format
msgid "%A, %l%M %p"
msgstr "%A%p %l%M"
@@ -420,7 +488,7 @@ 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"
#: js/misc/util.js:238
#: js/misc/util.js:276
#, no-c-format
msgid "%B %d, %l%M %p"
msgstr "%m月%d日%p %l%M"
@@ -428,7 +496,7 @@ msgstr "%m月%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"
#: js/misc/util.js:244
#: js/misc/util.js:282
#, no-c-format
msgid "%B %d %Y, %l%M %p"
msgstr "%Y年%m月%d日%p %l%M"
@@ -603,37 +671,33 @@ 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:721
#: js/ui/calendar.js:729
msgctxt "event list time"
msgid "All Day"
msgstr "整天"
#: js/ui/calendar.js:836
msgid "Events"
msgstr "行程"
#: js/ui/calendar.js:845
#: js/ui/calendar.js:862
msgctxt "calendar heading"
msgid "%A, %B %d"
msgstr "%m月%d日%A"
#: js/ui/calendar.js:849
#: js/ui/calendar.js:866
msgctxt "calendar heading"
msgid "%A, %B %d, %Y"
msgstr "%Y年%m月%d日%A"
#: js/ui/calendar.js:931
msgid "Notifications"
msgstr "通知"
#: js/ui/calendar.js:1082
#: js/ui/calendar.js:1086
msgid "No Notifications"
msgstr "沒有通知"
#: js/ui/calendar.js:1085
#: js/ui/calendar.js:1089
msgid "No Events"
msgstr "沒有行程"
#: js/ui/calendar.js:1117
msgid "Clear All"
msgstr "全部清除"
#: js/ui/components/automountManager.js:91
msgid "External drive connected"
msgstr "外部裝置已連接"
@@ -755,7 +819,7 @@ msgstr "抱歉,那沒有作用。請再試一次。"
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
#: js/ui/components/telepathyClient.js:765
#: js/ui/components/telepathyClient.js:767
#, javascript-format
msgid "%s is now known as %s"
msgstr "%s 現在被稱為 %s"
@@ -777,7 +841,7 @@ 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
#: js/ui/dateMenu.js:75
msgid "%B %e %Y"
msgstr "%Y年%m月%e日"
@@ -785,18 +849,67 @@ msgstr "%Y年%m月%e日"
#. * 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
#: js/ui/dateMenu.js:82
msgid "%A %B %e %Y"
msgstr "%Y年%m月%e日%A"
#: js/ui/dateMenu.js:160
#: js/ui/dateMenu.js:144
msgid "Add world clocks…"
msgstr "加入世界時鐘…"
#: js/ui/dateMenu.js:161
#: js/ui/dateMenu.js:145
msgid "World Clocks"
msgstr "世界時鐘"
#: js/ui/dateMenu.js:224
msgid "Weather"
msgstr "天氣"
#. Translators: %s is a weather condition like "Clear sky"; see
#. libgweather for the possible condition strings. If at all
#. possible, the sentence should match the grammatical case etc. of
#. the inserted conditions.
#: js/ui/dateMenu.js:281
#, javascript-format
msgid "%s all day."
msgstr "全天 %s。"
#. Translators: %s is a weather condition like "Clear sky"; see
#. libgweather for the possible condition strings. If at all
#. possible, the sentence should match the grammatical case etc. of
#. the inserted conditions.
#: js/ui/dateMenu.js:287
#, javascript-format
msgid "%s, then %s later."
msgstr "%s較晚 %s。"
#. Translators: %s is a weather condition like "Clear sky"; see
#. libgweather for the possible condition strings. If at all
#. possible, the sentence should match the grammatical case etc. of
#. the inserted conditions.
#: js/ui/dateMenu.js:293
#, javascript-format
msgid "%s, then %s, followed by %s later."
msgstr "%s然後 %s接著較晚 %s。"
#: js/ui/dateMenu.js:300
msgid "Loading…"
msgstr "載入中…"
#. Translators: %s is a temperature with unit, e.g. "23℃"
#: js/ui/dateMenu.js:306
#, javascript-format
msgid "Feels like %s."
msgstr "體感溫度 %s。"
#: js/ui/dateMenu.js:309
msgid "Go online for weather information"
msgstr "上線以取得天氣資訊"
#: js/ui/dateMenu.js:311
msgid "Weather information is currently unavailable"
msgstr "天氣資訊目前不可使用"
#: js/ui/endSessionDialog.js:64
#, javascript-format
msgctxt "title"
@@ -1005,26 +1118,18 @@ msgstr "檢示來源"
msgid "Web Page"
msgstr "網頁"
#: js/ui/messageList.js:543
msgid "Clear section"
msgstr "清除區段"
#: js/ui/messageTray.js:1486
#: js/ui/messageTray.js:1493
msgid "System Information"
msgstr "系統資訊"
#: js/ui/mpris.js:194
#: js/ui/mpris.js:211
msgid "Unknown artist"
msgstr "不明的演出者"
#: js/ui/mpris.js:195
#: js/ui/mpris.js:212
msgid "Unknown title"
msgstr "沒有標題"
#: js/ui/mpris.js:217
msgid "Media"
msgstr "媒體"
#: js/ui/overview.js:84
msgid "Undo"
msgstr "復原"
@@ -1793,23 +1898,17 @@ msgstr "密碼不能為空白"
msgid "Authentication dialog was dismissed by the user"
msgstr "核對對話盒被使用者取消了"
#~ msgid "System"
#~ msgstr "系統"
#~ msgid "Events"
#~ msgstr "行程"
#~ msgid "Show the notification list"
#~ msgstr "顯示通知清單"
#~ msgid "Notifications"
#~ msgstr "通知"
#~ msgid "Focus the active notification"
#~ msgstr "聚焦到使用中的通知"
#~ msgid "Clear section"
#~ msgstr "清除區段"
#~ msgid "Show the overview"
#~ msgstr "顯示概覽"
#~ msgid "Show all applications"
#~ msgstr "顯示所有的應用程式"
#~ msgid "Open the application menu"
#~ msgstr "開啟應用程式選單"
#~ msgid "Media"
#~ msgstr "媒體"
#~ msgid "GNOME Shell Extension Preferences"
#~ msgstr "GNOME Shell 擴充套件偏好設定"

View File

@@ -104,7 +104,6 @@ shell_public_headers_h = \
shell-perf-log.h \
shell-screenshot.h \
shell-stack.h \
shell-tp-client.h \
shell-tray-icon.h \
shell-tray-manager.h \
shell-util.h \
@@ -148,7 +147,6 @@ libgnome_shell_base_la_SOURCES = \
shell-secure-text-buffer.c \
shell-secure-text-buffer.h \
shell-stack.c \
shell-tp-client.c \
$(NULL)
if HAVE_NETWORKMANAGER
@@ -335,7 +333,7 @@ INTROSPECTION_GIRS += ShellMenu-0.1.gir
CLEANFILES += ShellMenu-0.1.gir
Shell-0.1.gir: gnome-shell St-1.0.gir ShellMenu-0.1.gir
Shell_0_1_gir_INCLUDES = Clutter-$(LIBMUTTER_API_VERSION) ClutterX11-$(LIBMUTTER_API_VERSION) Meta-$(LIBMUTTER_API_VERSION) TelepathyGLib-0.12 Soup-2.4
Shell_0_1_gir_INCLUDES = Clutter-$(LIBMUTTER_API_VERSION) ClutterX11-$(LIBMUTTER_API_VERSION) Meta-$(LIBMUTTER_API_VERSION) Soup-2.4
if HAVE_NETWORKMANAGER
Shell_0_1_gir_INCLUDES += NetworkManager-1.0 NMClient-1.0
endif

View File

@@ -387,21 +387,6 @@ calendar_appointment_init (CalendarAppointment *appointment,
default_zone);
}
static icaltimezone *
resolve_timezone_id (const char *tzid,
ECalClient *source)
{
icaltimezone *retval;
retval = icaltimezone_get_builtin_timezone_from_tzid (tzid);
if (!retval)
{
e_cal_client_get_timezone_sync (source, tzid, &retval, NULL, NULL);
}
return retval;
}
static CalendarAppointment *
calendar_appointment_new (icalcomponent *ical,
ECalClient *cal)
@@ -624,7 +609,6 @@ app_load_events (App *app)
{
ECalClient *cal = E_CAL_CLIENT (l->data);
GError *error;
GSList *objects, *j;
ECalClientView *view;
CollectAppointmentsData data;

View File

@@ -369,9 +369,9 @@ static gboolean
gnome_shell_plugin_xevent_filter (MetaPlugin *plugin,
XEvent *xev)
{
#ifdef GLX_INTEL_swap_event
GnomeShellPlugin *shell_plugin = GNOME_SHELL_PLUGIN (plugin);
#ifdef GLX_INTEL_swap_event
if (shell_plugin->have_swap_event &&
xev->type == (shell_plugin->glx_event_base + GLX_BufferSwapComplete))
{
@@ -396,15 +396,6 @@ gnome_shell_plugin_xevent_filter (MetaPlugin *plugin,
}
#endif
if (meta_is_wayland_compositor ())
return FALSE;
/*
* Pass the event to shell-global for XDND
*/
if (_shell_global_check_xdnd_event (shell_plugin->global, xev))
return TRUE;
return FALSE;
}

Submodule src/gvc updated: 25bf3ed75f...ce8e4880ce

View File

@@ -20,8 +20,6 @@
#include <meta/meta-plugin.h>
#include <meta/prefs.h>
#include <atk-bridge.h>
#include <telepathy-glib/debug.h>
#include <telepathy-glib/debug-sender.h>
#include "shell-global.h"
#include "shell-global-private.h"
@@ -139,7 +137,7 @@ shell_dbus_init (gboolean replace)
request_name_flags = G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT;
if (replace)
request_name_flags |= DBUS_NAME_FLAG_REPLACE_EXISTING;
request_name_flags |= G_BUS_NAME_OWNER_FLAGS_REPLACE;
shell_dbus_acquire_name (bus,
request_name_flags,
@@ -169,7 +167,7 @@ shell_dbus_init (gboolean replace)
NULL);
/* ...and the on-screen keyboard service */
shell_dbus_acquire_name (bus,
DBUS_NAME_FLAG_REPLACE_EXISTING,
G_BUS_NAME_OWNER_FLAGS_REPLACE,
&request_name_result,
"org.gnome.Caribou.Keyboard", FALSE);
g_object_unref (bus);
@@ -297,17 +295,10 @@ default_log_handler (const char *log_domain,
const char *message,
gpointer data)
{
TpDebugSender *sender = data;
GTimeVal now;
g_get_current_time (&now);
/* Send telepathy debug through DBus */
if (log_domain != NULL && g_str_has_prefix (log_domain, "tp-glib"))
tp_debug_sender_add_message (sender, &now, log_domain, log_level, message);
/* Filter out telepathy-glib logs, we don't want to flood Shell's output
* with those. */
if (!log_domain || !g_str_has_prefix (log_domain, "tp-glib"))
g_log_default_handler (log_domain, log_level, message, data);
@@ -408,7 +399,6 @@ main (int argc, char **argv)
GOptionContext *ctx;
GError *error = NULL;
int ecode;
TpDebugSender *sender;
bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
@@ -451,14 +441,7 @@ main (int argc, char **argv)
shell_introspection_init ();
shell_fonts_init ();
/* Turn on telepathy-glib debugging but filter it out in
* default_log_handler. This handler also exposes all the logs over D-Bus
* using TpDebugSender. */
tp_debug_set_flags ("all");
sender = tp_debug_sender_dup ();
g_log_set_default_handler (default_log_handler, sender);
g_log_set_default_handler (default_log_handler, NULL);
/* Initialize the global object */
if (session_mode == NULL)
@@ -473,7 +456,6 @@ main (int argc, char **argv)
g_debug ("Doing final cleanup");
_shell_global_destroy_gjs_context (shell_global_get ());
g_object_unref (shell_global_get ());
g_object_unref (sender);
return ecode;
}

View File

@@ -87,8 +87,6 @@ struct _ShellGlobal {
/* For sound notifications */
ca_context *sound_context;
guint32 xdnd_timestamp;
gboolean has_modal;
gboolean frame_timestamps;
gboolean frame_finish_timestamp;
@@ -119,9 +117,6 @@ enum {
/* Signals */
enum
{
XDND_POSITION_CHANGED,
XDND_LEAVE,
XDND_ENTER,
NOTIFY_ERROR,
LAST_SIGNAL
};
@@ -358,33 +353,6 @@ shell_global_class_init (ShellGlobalClass *klass)
gobject_class->set_property = shell_global_set_property;
gobject_class->finalize = shell_global_finalize;
/* Emitted from gnome-shell-plugin.c during event handling */
shell_global_signals[XDND_POSITION_CHANGED] =
g_signal_new ("xdnd-position-changed",
G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_LAST,
0,
NULL, NULL, NULL,
G_TYPE_NONE, 2, G_TYPE_INT, G_TYPE_INT);
/* Emitted from gnome-shell-plugin.c during event handling */
shell_global_signals[XDND_LEAVE] =
g_signal_new ("xdnd-leave",
G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_LAST,
0,
NULL, NULL, NULL,
G_TYPE_NONE, 0);
/* Emitted from gnome-shell-plugin.c during event handling */
shell_global_signals[XDND_ENTER] =
g_signal_new ("xdnd-enter",
G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_LAST,
0,
NULL, NULL, NULL,
G_TYPE_NONE, 0);
shell_global_signals[NOTIFY_ERROR] =
g_signal_new ("notify-error",
G_TYPE_FROM_CLASS (klass),
@@ -1561,10 +1529,6 @@ shell_global_get_current_time (ShellGlobal *global)
{
guint32 time;
/* In case we have a xdnd timestamp use it */
if (global->xdnd_timestamp != 0)
return global->xdnd_timestamp;
/* meta_display_get_current_time() will return the correct time
when handling an X or Gdk event, but will return CurrentTime
from some Clutter event callbacks.
@@ -1926,64 +1890,6 @@ shell_global_cancel_theme_sound (ShellGlobal *global,
ca_context_cancel (global->sound_context, id);
}
/*
* Process Xdnd events
*
* We pass the position and leave events to JS via a signal
* where the actual drag & drop handling happens.
*
* http://www.freedesktop.org/wiki/Specifications/XDND
*/
gboolean _shell_global_check_xdnd_event (ShellGlobal *global,
XEvent *xev)
{
Window output_window = meta_get_overlay_window (global->meta_screen);
if (xev->xany.window != output_window && xev->xany.window != global->stage_xwindow)
return FALSE;
if (xev->xany.type == ClientMessage && xev->xclient.message_type == gdk_x11_get_xatom_by_name ("XdndPosition"))
{
XEvent xevent;
Window src = xev->xclient.data.l[0];
memset (&xevent, 0, sizeof(xevent));
xevent.xany.type = ClientMessage;
xevent.xany.display = global->xdisplay;
xevent.xclient.window = src;
xevent.xclient.message_type = gdk_x11_get_xatom_by_name ("XdndStatus");
xevent.xclient.format = 32;
xevent.xclient.data.l[0] = output_window;
/* flags: bit 0: will we accept the drop? bit 1: do we want more position messages */
xevent.xclient.data.l[1] = 2;
xevent.xclient.data.l[4] = None;
XSendEvent (global->xdisplay, src, False, 0, &xevent);
/* Store the timestamp of the xdnd position event */
global->xdnd_timestamp = xev->xclient.data.l[3];
g_signal_emit_by_name (G_OBJECT (global), "xdnd-position-changed",
(int)(xev->xclient.data.l[2] >> 16), (int)(xev->xclient.data.l[2] & 0xFFFF));
global->xdnd_timestamp = 0;
return TRUE;
}
else if (xev->xany.type == ClientMessage && xev->xclient.message_type == gdk_x11_get_xatom_by_name ("XdndLeave"))
{
g_signal_emit_by_name (G_OBJECT (global), "xdnd-leave");
return TRUE;
}
else if (xev->xany.type == ClientMessage && xev->xclient.message_type == gdk_x11_get_xatom_by_name ("XdndEnter"))
{
g_signal_emit_by_name (G_OBJECT (global), "xdnd-enter");
return TRUE;
}
return FALSE;
}
const char *
shell_global_get_session_mode (ShellGlobal *global)
{

View File

@@ -1,244 +0,0 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
#include "shell-tp-client.h"
#include <string.h>
#include <telepathy-glib/telepathy-glib.h>
struct _ShellTpClientPrivate
{
ShellTpClientObserveChannelsImpl observe_impl;
gpointer user_data_obs;
GDestroyNotify destroy_obs;
ShellTpClientApproveChannelsImpl approve_channels_impl;
gpointer user_data_approve_channels;
GDestroyNotify destroy_approve_channels;
ShellTpClientHandleChannelsImpl handle_channels_impl;
gpointer user_data_handle_channels;
GDestroyNotify destroy_handle_channels;
};
G_DEFINE_TYPE_WITH_PRIVATE (ShellTpClient, shell_tp_client, TP_TYPE_BASE_CLIENT)
/**
* ShellTpClientObserveChannelsImpl:
* @client: a #ShellTpClient instance
* @account: a #TpAccount having %TP_ACCOUNT_FEATURE_CORE prepared if possible
* @connection: a #TpConnection having %TP_CONNECTION_FEATURE_CORE prepared
* if possible
* @channels: (element-type TelepathyGLib.Channel): a #GList of #TpChannel,
* all having %TP_CHANNEL_FEATURE_CORE prepared if possible
* @dispatch_operation: (nullable): a #TpChannelDispatchOperation or %NULL;
* the dispatch_operation is not guaranteed to be prepared
* @requests: (element-type TelepathyGLib.ChannelRequest): a #GList of
* #TpChannelRequest, all having their object-path defined but are not
* guaranteed to be prepared.
* @context: a #TpObserveChannelsContext representing the context of this
* D-Bus call
*
* Signature of the implementation of the ObserveChannels method.
*/
/**
* ShellTpClientApproveChannelsImpl:
* @client: a #ShellTpClient instance
* @account: a #TpAccount having %TP_ACCOUNT_FEATURE_CORE prepared if possible
* @connection: a #TpConnection having %TP_CONNECTION_FEATURE_CORE prepared
* if possible
* @channels: (element-type TelepathyGLib.Channel): a #GList of #TpChannel,
* all having %TP_CHANNEL_FEATURE_CORE prepared if possible
* @dispatch_operation: (nullable): a #TpChannelDispatchOperation or %NULL;
* the dispatch_operation is not guaranteed to be prepared
* @context: a #TpAddDispatchOperationContext representing the context of this
* D-Bus call
*
* Signature of the implementation of the AddDispatchOperation method.
*/
/**
* ShellTpClientHandleChannelsImpl:
* @client: a #ShellTpClient instance
* @account: a #TpAccount having %TP_ACCOUNT_FEATURE_CORE prepared if possible
* @connection: a #TpConnection having %TP_CONNECTION_FEATURE_CORE prepared
* if possible
* @channels: (element-type TelepathyGLib.Channel): a #GList of #TpChannel,
* all having %TP_CHANNEL_FEATURE_CORE prepared if possible
* @requests_satisfied: (element-type TelepathyGLib.ChannelRequest): a #GList of
* #TpChannelRequest having their object-path defined but are not guaranteed
* to be prepared.
* @user_action_time: the time at which user action occurred, or one of the
* special values %TP_USER_ACTION_TIME_NOT_USER_ACTION or
* %TP_USER_ACTION_TIME_CURRENT_TIME
* (see #TpAccountChannelRequest:user-action-time for details)
* @context: a #TpHandleChannelsContext representing the context of this
* D-Bus call
*
* Signature of the implementation of the HandleChannels method.
*/
static void
shell_tp_client_init (ShellTpClient *self)
{
GHashTable *filter;
self->priv = shell_tp_client_get_instance_private (self);
/* We only care about single-user text-based chats */
filter = tp_asv_new (
TP_PROP_CHANNEL_CHANNEL_TYPE, G_TYPE_STRING,
TP_IFACE_CHANNEL_TYPE_TEXT,
TP_PROP_CHANNEL_TARGET_HANDLE_TYPE, G_TYPE_UINT,
TP_HANDLE_TYPE_CONTACT,
NULL);
/* Observer */
tp_base_client_set_observer_recover (TP_BASE_CLIENT (self), TRUE);
tp_base_client_add_observer_filter (TP_BASE_CLIENT (self), filter);
/* Approver */
tp_base_client_add_approver_filter (TP_BASE_CLIENT (self), filter);
/* Handler */
tp_base_client_add_handler_filter (TP_BASE_CLIENT (self), filter);
g_hash_table_unref (filter);
}
static void
observe_channels (TpBaseClient *client,
TpAccount *account,
TpConnection *connection,
GList *channels,
TpChannelDispatchOperation *dispatch_operation,
GList *requests,
TpObserveChannelsContext *context)
{
ShellTpClient *self = (ShellTpClient *) client;
g_assert (self->priv->observe_impl != NULL);
self->priv->observe_impl (self, account, connection, channels,
dispatch_operation, requests, context, self->priv->user_data_obs);
}
static void
add_dispatch_operation (TpBaseClient *client,
TpAccount *account,
TpConnection *connection,
GList *channels,
TpChannelDispatchOperation *dispatch_operation,
TpAddDispatchOperationContext *context)
{
ShellTpClient *self = (ShellTpClient *) client;
g_assert (self->priv->approve_channels_impl != NULL);
self->priv->approve_channels_impl (self, account, connection, channels,
dispatch_operation, context, self->priv->user_data_approve_channels);
}
static void
handle_channels (TpBaseClient *client,
TpAccount *account,
TpConnection *connection,
GList *channels,
GList *requests_satisfied,
gint64 user_action_time,
TpHandleChannelsContext *context)
{
ShellTpClient *self = (ShellTpClient *) client;
g_assert (self->priv->handle_channels_impl != NULL);
self->priv->handle_channels_impl (self, account, connection, channels,
requests_satisfied, user_action_time, context,
self->priv->user_data_handle_channels);
}
static void
shell_tp_client_dispose (GObject *object)
{
ShellTpClient *self = SHELL_TP_CLIENT (object);
void (*dispose) (GObject *) =
G_OBJECT_CLASS (shell_tp_client_parent_class)->dispose;
if (self->priv->destroy_obs != NULL)
{
self->priv->destroy_obs (self->priv->user_data_obs);
self->priv->destroy_obs = NULL;
self->priv->user_data_obs = NULL;
}
if (self->priv->destroy_approve_channels != NULL)
{
self->priv->destroy_approve_channels (self->priv->user_data_approve_channels);
self->priv->destroy_approve_channels = NULL;
self->priv->user_data_approve_channels = NULL;
}
if (self->priv->destroy_handle_channels != NULL)
{
self->priv->destroy_handle_channels (self->priv->user_data_handle_channels);
self->priv->destroy_handle_channels = NULL;
self->priv->user_data_handle_channels = NULL;
}
if (dispose != NULL)
dispose (object);
}
static void
shell_tp_client_class_init (ShellTpClientClass *cls)
{
GObjectClass *object_class = G_OBJECT_CLASS (cls);
TpBaseClientClass *base_clt_cls = TP_BASE_CLIENT_CLASS (cls);
object_class->dispose = shell_tp_client_dispose;
base_clt_cls->observe_channels = observe_channels;
base_clt_cls->add_dispatch_operation = add_dispatch_operation;
base_clt_cls->handle_channels = handle_channels;
}
void
shell_tp_client_set_observe_channels_func (ShellTpClient *self,
ShellTpClientObserveChannelsImpl observe_impl,
gpointer user_data,
GDestroyNotify destroy)
{
g_assert (self->priv->observe_impl == NULL);
self->priv->observe_impl = observe_impl;
self->priv->user_data_obs = user_data;
self->priv->destroy_obs = destroy;
}
void
shell_tp_client_set_approve_channels_func (ShellTpClient *self,
ShellTpClientApproveChannelsImpl approve_channels_impl,
gpointer user_data,
GDestroyNotify destroy)
{
g_assert (self->priv->approve_channels_impl == NULL);
self->priv->approve_channels_impl = approve_channels_impl;
self->priv->user_data_approve_channels = user_data;
self->priv->destroy_approve_channels = destroy;
}
void
shell_tp_client_set_handle_channels_func (ShellTpClient *self,
ShellTpClientHandleChannelsImpl handle_channels_impl,
gpointer user_data,
GDestroyNotify destroy)
{
g_assert (self->priv->handle_channels_impl == NULL);
self->priv->handle_channels_impl = handle_channels_impl;
self->priv->user_data_handle_channels = user_data;
self->priv->destroy_handle_channels = destroy;
}

View File

@@ -1,90 +0,0 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
#ifndef __SHELL_TP_CLIENT_H__
#define __SHELL_TP_CLIENT_H__
#include <dbus/dbus-glib.h>
#include <glib-object.h>
#include <telepathy-glib/telepathy-glib.h>
G_BEGIN_DECLS
typedef struct _ShellTpClient ShellTpClient;
typedef struct _ShellTpClientClass ShellTpClientClass;
typedef struct _ShellTpClientPrivate ShellTpClientPrivate;
struct _ShellTpClientClass {
/*<private>*/
TpBaseClientClass parent_class;
};
struct _ShellTpClient {
/*<private>*/
TpBaseClient parent;
ShellTpClientPrivate *priv;
};
GType shell_tp_client_get_type (void);
#define SHELL_TYPE_TP_CLIENT \
(shell_tp_client_get_type ())
#define SHELL_TP_CLIENT(obj) \
(G_TYPE_CHECK_INSTANCE_CAST ((obj), SHELL_TYPE_TP_CLIENT, \
ShellTpClient))
#define SHELL_TP_CLIENT_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST ((klass), SHELL_TYPE_TP_CLIENT, \
ShellTpClientClass))
#define SHELL_IS_TP_CLIENT(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), SHELL_TYPE_TP_CLIENT))
#define SHELL_IS_TP_CLIENT_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), SHELL_TYPE_TP_CLIENT))
#define SHELL_TP_CLIENT_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS ((obj), SHELL_TYPE_TP_CLIENT, \
ShellTpClientClass))
typedef void (*ShellTpClientObserveChannelsImpl) (ShellTpClient *client,
TpAccount *account,
TpConnection *connection,
GList *channels,
TpChannelDispatchOperation *dispatch_operation,
GList *requests,
TpObserveChannelsContext *context,
gpointer user_data);
void shell_tp_client_set_observe_channels_func (ShellTpClient *self,
ShellTpClientObserveChannelsImpl observe_impl,
gpointer user_data,
GDestroyNotify destroy);
typedef void (*ShellTpClientApproveChannelsImpl) (
ShellTpClient *client,
TpAccount *account,
TpConnection *connection,
GList *channels,
TpChannelDispatchOperation *dispatch_operation,
TpAddDispatchOperationContext *context,
gpointer user_data);
void shell_tp_client_set_approve_channels_func (ShellTpClient *self,
ShellTpClientApproveChannelsImpl approve_impl,
gpointer user_data,
GDestroyNotify destroy);
typedef void (*ShellTpClientHandleChannelsImpl) (
ShellTpClient *client,
TpAccount *account,
TpConnection *connection,
GList *channels,
GList *requests_satisfied,
gint64 user_action_time,
TpHandleChannelsContext *context,
gpointer user_data);
void shell_tp_client_set_handle_channels_func (ShellTpClient *self,
ShellTpClientHandleChannelsImpl handle_channels_impl,
gpointer user_data,
GDestroyNotify destroy);
G_END_DECLS
#endif /* __SHELL_TP_CLIENT_H__ */

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