Compare commits

...

42 Commits

Author SHA1 Message Date
Sveinn í Felli
ec1db9eab6 Updated Icelandic translation 2015-12-05 13:06:34 +00:00
Aurimas Černius
1218f71355 Updated Lithuanian translation 2015-10-28 22:06:30 +02:00
Kjartan Maraas
61464f2298 Fix some issues reported by Bjørn Lie in bug 740906. 2015-10-16 18:14:49 +02:00
Florian Müllner
f3b8f0bf12 Bump version to 3.16.4
Update NEWS.
2015-10-15 20:37:43 +02:00
Emmanuele Bassi
c3ac059464 st: Remove wrong indentation
GObject-Introspection started warning for wrong annotations, and
StGenericAccessible::set-current-value has a return value annotation
even if it returns nothing. This generates the warning:

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

Which, coupled with fatal warnings, breaks the Shell build.
2015-10-15 20:36:57 +02:00
Florian Müllner
9d791ac9fa dash: Ensure style for icon size computation
StIcon will skip loading the texture when its theme node is unset (which
may happen on style changes while the widget is hidden). While our size
request to compute the dash icon size will create the icon's theme node
if necessary (and of all its parents), a missing texture can still throw
off our computation.
Make sure this doesn't happen by ensuring the icon's style first, so the
texture is updated in response to StWidget::style-changed if necessary.

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

https://bugzilla.gnome.org/show_bug.cgi?id=745649
2015-10-13 20:28:17 +02:00
Carlos Garnacho
8c0a2a1284 calendar: Disconnect all Notification signals on NotificationMessage destruction
The destroy signal handler is kept connected despite the NotificationMessage
being destroyed, which leaves dangling NotificationMessage objects that will
be mass destroyed when the Notification object these depend upon is finally
destroyed.

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

https://bugzilla.gnome.org/show_bug.cgi?id=755425
2015-10-11 12:10:24 -05:00
Jiri Grönroos
6d4e229d1d Updated Finnish translation 2015-10-05 14:39:28 +00:00
Ray Strode
53b25fa5af gdm: clear user verifier when finished with it
We only need the user verifier for the purpose of user verification.
Once it's complete we should clear it so it doesn't get in the way
later.

This fixes a bug introduced in commit 3c8c5a5570 that leads to the
user session crashing when the login screen is reactivated.

https://bugzilla.gnome.org/show_bug.cgi?id=753181
2015-08-05 10:19:57 -04:00
Ray Strode
84509886f7 gdm: make user list fade-in on vt switch more reliable
We fade out the authentication prompt when a user successfully
logs into a user session. We reset it and fade it back in when
the user switches back to the login screen VT.

The problem is, we only fade it back in if the auth prompt status is
VERIFICATION_SUCCEEDED.  It's possible for it to be NOT_VERIFYING
if the authprompt gets reset for some other reason in the interim.

This commit changes the check to be more precise. We now only skip
the fade-in, if we're already faded in, and we only skip the reset if
we're already reset.

https://bugzilla.gnome.org/show_bug.cgi?id=753181
2015-08-05 10:19:48 -04:00
Florian Müllner
d14548eb01 shell: Fix C99'ism 2015-07-31 20:27:15 +02:00
Florian Müllner
63b6ed8d57 appDisplay: Handle non-UTF8 filename encodings more gracefully
It may be 2015, but users still stumble upon the occasional .desktop
file that uses a filename encoding other than UTF-8. We currently
fail quite spectacularly in that case by not displaying any apps at
all - handle this case more gracefully, by only filtering out the
offending apps.

https://bugzilla.gnome.org/show_bug.cgi?id=651503
2015-07-31 17:01:45 +02:00
Pedro Albuquerque
e1b4c32c4d Updated Portuguese translation 2015-07-26 08:53:29 +00:00
Ray Strode
4ea72130e0 authPrompt: allow cancellation before verification starts
The user should be allowed to cancel if verification hasn't
started yet and they're typing in their username. This
commit changes the authPrompt cancel function to not
ignore such requests.

https://bugzilla.gnome.org/show_bug.cgi?id=752739
2015-07-24 09:46:15 -04:00
Ray Strode
54db777874 authPrompt: don't allow next if entry is empty
Normally the user isn't allowed to proceed passed
the username question until they've filled it in.
To ensure this, the authprompt code desensitizes
the next button when the number of characters change to
zero.

Unfortunately it fails to desensitize the next button
up front when the entry starts out empty.

This commit addresses that bug.

https://bugzilla.gnome.org/show_bug.cgi?id=752739
2015-07-24 09:46:09 -04:00
Ray Strode
4d12feff3e authPrompt: set next button to next when asking for username
If the next button ever gets set to Sign In, it won't
get reset to next until the next question asked by pam.

This commit ensures it gets reset to Next when asking
for the username.

https://bugzilla.gnome.org/show_bug.cgi?id=752739
2015-07-24 09:46:00 -04:00
Ray Strode
3c8c5a5570 gdm: unconditionally cancel auth user verifier on reset
We currently only cancel the user verifier on reset if
verifying, but that means we don't properly cancel it when
asking for a username at the Not Listed screen.

The object already handles getting called when there is
nothing to cancel, so just cancel it unconditionally.

https://bugzilla.gnome.org/show_bug.cgi?id=752438
2015-07-24 09:45:40 -04:00
Bastien Nocera
6e4f54c351 keyboard: Don't watch D-Bus services we won't use
ff1b76f4c7 made gnome-shell stop looking
at the org.gnome.SettingsDaemon.Cursor service's property values, but we
still monitored the service itself.

https://bugzilla.gnome.org/show_bug.cgi?id=752779
2015-07-23 15:08:08 +02:00
Florian Müllner
a91c1caf42 Bump version to 3.16.3
Update NEWS.
2015-07-02 14:26:44 +02:00
Florian Müllner
90f14d0762 app-system: Improve StartupWMClass heuristics
Our StartUpWMClass heuristics use a StartupWMClass -> .desktop ID
mapping built from the list of all installed applications. In case
of multiple .desktop files setting the same StartupWMClass, we
currently simply pick the last one returned by g_app_info_get_all (),
which can be a bit surprising:
A window with WM_CLASS 'emacs', launched through a .desktop file
named 'emacs.desktop' with a StartupWMClass of 'emacs' maps to ...
'emacsclient.desktop'!
Make this case a bit less random by preferring the app info whose
ID matches the StartupWMClass.

https://bugzilla.gnome.org/show_bug.cgi?id=751541
2015-07-02 14:21:38 +02:00
Ray Strode
77f2e3abde gdm: fix banner allocation computation
The code to figure how how much room that banner had was wrong.
This commit fixes it.

https://bugzilla.gnome.org/show_bug.cgi?id=751517
2015-06-26 18:04:39 +02:00
Florian Müllner
a02019cf9e main: Fix a memory leak
We are pointlessly calling g_settings_list_keys() twice, without
freeing the result from the first call.
2015-06-26 18:04:31 +02:00
Rui Matos
a341b74aeb AllView: prevent accessing a NULL effect
In some cases we might be allocated a size such that
this._grid.topPadding and this._grid.bottomPadding are both 0 which
means that the ScrollView fade effect gets removed. In that case don't
try to access the effect since it will be NULL.

https://bugzilla.gnome.org/show_bug.cgi?id=750714
2015-06-26 18:04:11 +02:00
Rui Matos
9e0a5fa3a9 Revert "Revert "keyboard: Handle touch events""
And make these only handled on wayland. There's a plethora of issues
around touch passive grab and touch/pointer doubly handling to use
these right away on X11, so we stick to single-touch/pointer there.

This reverts commit 032a688a72.

https://bugzilla.gnome.org/show_bug.cgi?id=750287
2015-06-02 17:59:41 +02:00
Florian Müllner
49856d4961 windowMenu: Close when corresponding window goes away
The menu is clearly associated with a particular window, so keeping
it around when the window is gone doesn't make sense - in case of
the window menu, it is actually harmful as every action will act on
the invalidated window and result in a crash. So just dismiss the
menu when the menu is unmanaged.

https://bugzilla.gnome.org/show_bug.cgi?id=749529
2015-05-21 18:21:28 +02:00
Florian Müllner
4db34fca36 layout: Set initial visibility of fullscreen-tracking chrome
When chrome is added with the trackFullscreen parameter, the actor's
visibility will be updated automatically whenever its monitor's
fullscreen state changes. However as we currently ignore the fullscreen
state at the time the chrome is added, the initial visibility may well
be incorrect - fix this by updating the initial visibility as necessary.

https://bugzilla.gnome.org/show_bug.cgi?id=749383
2015-05-21 14:01:35 +02:00
Florian Müllner
3dfced7976 Bump version to 3.16.2
Update NEWS.
2015-05-14 15:31:02 +02:00
Florian Müllner
3e8b7faab8 messageTray: Emit signal when notifications are enabled/disabled
Since the introduction of per-source notification policy in commit
098bd4509b, the NotificationPolicy::enable-changed signal has been
used to track the 'enable' setting. However as we never actually
emitted that signal, this never worked without a restart - oops.

https://bugzilla.gnome.org/show_bug.cgi?id=749279
2015-05-14 15:15:54 +02:00
Rui Matos
2a3e410d71 ScreenShield: only inhibit suspend if we're the active session
If we aren't the active session clutter can't animate and thus we
can't expect the shield to be shown before releasing the suspend
inhibitor so we should release it immediately when becoming inactive.

https://bugzilla.gnome.org/show_bug.cgi?id=749228
2015-05-14 13:59:48 +02:00
Rui Matos
518e7d9fc5 ScreenShield: tie the suspend inhibitor to our isActive property
The whole point of holding a suspend inhibitor is to be able to lock
before suspending.

Currently, when resuming we immediately take the inhibitor without
checking that we're locked which means that we won't be able to
release this inhibitor if we don't unlock at least once.

To prevent that and to better match the inhibitor's intention in the
first place, we can tie the inhibitor with not being locked. In
practice, we also want to let the locking animation finish before
suspending, so we'll tie the inhibitor with not being active
instead.

https://bugzilla.gnome.org/show_bug.cgi?id=749228
2015-05-14 13:59:48 +02:00
Rui Matos
0954efd875 ScreenShield: ensure we don't leak logind inhibitors
This could happen if we are VT switched away and an animated
activation is requested because we're preparing to enter sleep. Since
we don't animate in this case we'd never reach
_completeLockScreenShown() before coming out of sleep, at which point
we _inhibitSuspend() again and would leak the previous inhibitor.

https://bugzilla.gnome.org/show_bug.cgi?id=749228
2015-05-13 19:00:53 +02:00
Jakub Steiner
8d913c5297 make expanders more visible for alt-tab
https://bugzilla.gnome.org/show_bug.cgi?id=745058
2015-05-11 15:21:04 +02:00
Cédric Valmary
58b9b10ed3 Added Occitan translation 2015-05-10 12:29:23 +00:00
sun
fb46f0b808 update zh_CN translation 2015-05-03 10:09:43 +08:00
Florian Müllner
79c020fdb9 panel: Set up 'open-state-changed' handler on menu changes
Commit 08690d658f generalized the banner-blocking behavior of the
dateMenu to all menus that would obscure the banner. However setting
up the 'open-state-changed' handler only when an indicator is added
does not work for indicators that change their entire menu (like the
app menu) - we currently end up with menus with no connected signal
handler, and throw an error when trying to disconnect an invalid
signal ID.
To address this, add a new PanelButton::menu-set signal and use that
to set up the 'open-state-changed' handler.

https://bugzilla.gnome.org/show_bug.cgi?id=745910
2015-04-30 18:34:09 +02:00
Rui Matos
f8eb9e763d shell-global: Mark the sync pointer motion event as synthetic
This allows mutter to ignore these events for the purpose of keeping
idle time.

https://bugzilla.gnome.org/show_bug.cgi?id=748541
2015-04-27 19:47:47 +02:00
Sveinn í Felli
ed6cb19283 Updated Icelandic translation 2015-04-27 15:30:20 +00:00
Meet Parikh
95c903aa40 panel: Block banners when opening menus that would overlap
We currently block banners while the time+date menu is open, as it
would obscure the notification. However it is not necessarily the
only menu for which this is the case, so generalize the behavior
to all menus that would overlap banners when open.

https://bugzilla.gnome.org/show_bug.cgi?id=745910
2015-04-25 09:57:56 +02:00
Meet Parikh
e4974beebf panel: Move notification banners below time+date dropdown
As notifications appear in the time+date dropdown's message list, there's
a strong relationship between notification banners and the menu. However
while the time+date menu is centered by default, which matches the banner
position, its actual position depends on the session mode - in particular
it is moved to the right in classic mode.
Reinforce the relationship in these cases by moving notification banners
underneath the time+date menu.

https://bugzilla.gnome.org/show_bug.cgi?id=745910
2015-04-25 09:57:56 +02:00
Florian Müllner
5ec9f15500 messageTray: Make notification banners unfocusable
Unlike entries in the calendar's message list, banners are not subject
to the normal keynav chain, and making the banner actor itself unfocusable
allows for the focus to be moved to the action area when expanded.

https://bugzilla.gnome.org/show_bug.cgi?id=747205
2015-04-16 18:32:35 +02:00
Jakub Steiner
b4ebb4d98f calendar: make day with events more prominent
https://bugzilla.gnome.org/show_bug.cgi?id=747715
2015-04-15 13:03:18 +02:00
32 changed files with 4205 additions and 1883 deletions

37
NEWS
View File

@ -1,3 +1,40 @@
3.16.4
======
* Fix screen freezes when a notification is pushed [Carlos; #755425]
* Fix icons getting cut off in dash [Florian; #745649]
* Misc. bug fixes [Bastien, Ray, Florian; #752779, #752438, #752739, #651503,
#753181]
Contributors:
Emmanuele Bassi, Carlos Garnacho, Florian Müllner, Bastien Nocera, Ray Strode
Translations:
Pedro Albuquerque [pt], Jiri Grönroos [fi]
3.16.3
======
* Handle touch events in OSK on wayland [Rui; #750287]
* Misc. bug fixes [Florian, Rui, Ray; #749383, #749529, #750714, #751517,
#751541]
Contributors:
Rui Matos, Florian Müllner, Ray Strode
3.16.2
======
* Make event highlight in calendar more prominent [Jakub; #747715]
* Fix keyboard focus when focusing a notification banner [Florian; #747205]
* Move notification banners below the dateMenu [Meet, Florian; #745910]
* Increase visibility of expanders in alt-tab popup [Jakub; #745058]
* Ensure suspend inhibitors are released when VT switched away [Rui; #749228]
* Misc. bug fixes [Rui, Florian; #748541, #749279]
Contributors:
Rui Matos, Florian Müllner, Meet Parikh, Jakub Steiner
Translations:
Sveinn í Felli [is], sun [zh_CN], Cédric Valmary [oc]
3.16.1 3.16.1
====== ======
* gdm: Move long session chooser menus to the side [Florian; #734352] * gdm: Move long session chooser menus to the side [Florian; #734352]

View File

@ -1,5 +1,5 @@
AC_PREREQ(2.63) AC_PREREQ(2.63)
AC_INIT([gnome-shell],[3.16.1],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell]) AC_INIT([gnome-shell],[3.16.4],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
AC_CONFIG_HEADERS([config.h]) AC_CONFIG_HEADERS([config.h])
AC_CONFIG_SRCDIR([src/shell-global.c]) AC_CONFIG_SRCDIR([src/shell-global.c])

View File

@ -10,11 +10,11 @@
xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="29" width="24"
height="29" height="24"
id="svg10621" id="svg10621"
version="1.1" version="1.1"
inkscape:version="0.48.2 r9819" inkscape:version="0.91 r13725"
sodipodi:docname="calendar-today.svg"> sodipodi:docname="calendar-today.svg">
<defs <defs
id="defs10623"> id="defs10623">
@ -118,17 +118,6 @@
fx="51" fx="51"
fy="30" fy="30"
r="42" /> r="42" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient34508-1-3"
id="radialGradient3113"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.72146227,0,0,0.27484277,14.205424,21.754717)"
cx="51"
cy="30"
fx="51"
fy="30"
r="42" />
</defs> </defs>
<sodipodi:namedview <sodipodi:namedview
id="base" id="base"
@ -137,22 +126,23 @@
borderopacity="1.0" borderopacity="1.0"
inkscape:pageopacity="0" inkscape:pageopacity="0"
inkscape:pageshadow="2" inkscape:pageshadow="2"
inkscape:zoom="15.839192" inkscape:zoom="8"
inkscape:cx="20.652108" inkscape:cx="-23.537329"
inkscape:cy="11.839084" inkscape:cy="-31.442864"
inkscape:document-units="px" inkscape:document-units="px"
inkscape:current-layer="layer1" inkscape:current-layer="layer1"
showgrid="true" showgrid="false"
fit-margin-top="0" fit-margin-top="0"
fit-margin-left="0" fit-margin-left="0"
fit-margin-right="0" fit-margin-right="0"
fit-margin-bottom="0" fit-margin-bottom="0"
inkscape:window-width="1280" inkscape:window-width="2133"
inkscape:window-height="741" inkscape:window-height="1241"
inkscape:window-x="0" inkscape:window-x="238"
inkscape:window-y="27" inkscape:window-y="88"
inkscape:window-maximized="1" inkscape:window-maximized="0"
borderlayer="true"> borderlayer="true"
inkscape:showpageshadow="false">
<inkscape:grid <inkscape:grid
type="xygrid" type="xygrid"
id="grid3109" id="grid3109"
@ -169,7 +159,7 @@
<dc:format>image/svg+xml</dc:format> <dc:format>image/svg+xml</dc:format>
<dc:type <dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title /> <dc:title></dc:title>
</cc:Work> </cc:Work>
</rdf:RDF> </rdf:RDF>
</metadata> </metadata>
@ -177,28 +167,12 @@
inkscape:label="Layer 1" inkscape:label="Layer 1"
inkscape:groupmode="layer" inkscape:groupmode="layer"
id="layer1" id="layer1"
transform="translate(-469.08263,-532.99307)"> transform="translate(-469.08263,-537.99307)">
<path <circle
sodipodi:type="arc" style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:0.23756906;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
style="opacity:0.4625;color:#000000;fill:url(#radialGradient3113);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="path7305"
id="path34506-3" cx="481.57138"
sodipodi:cx="51" cy="559.4649"
sodipodi:cy="30" r="1.5" />
sodipodi:rx="42"
sodipodi:ry="16"
d="M 9,29.999999 A 42,16 0 0 1 93,30 l -42,0 z"
sodipodi:start="3.1415927"
sodipodi:end="6.2831853"
transform="matrix(0.43692393,0,0,1.3783114,461.29951,517.6437)"
inkscape:export-filename="/home/jimmac/src/cvs/gnome/gnome-shell-design/mockups/motion/textures/panel.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
<rect
style="fill:#ffffff;fill-opacity:0.50196078;stroke-width:0.43599999;stroke-miterlimit:4;stroke-dasharray:none"
id="rect2996"
width="31"
height="3"
x="468.08264"
y="558.99304" />
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

View File

@ -488,8 +488,7 @@ StScrollBar {
.switcher-arrow { .switcher-arrow {
border-color: transparent; border-color: transparent;
color: black; } color: rgba(255, 255, 255, 0.8); }
.switcher-arrow:highlighted { .switcher-arrow:highlighted {
color: #fff; } color: #fff; }
@ -710,8 +709,9 @@ StScrollBar {
border: 1px solid rgba(0, 0, 0, 0.5); } border: 1px solid rgba(0, 0, 0, 0.5); }
.calendar-day-with-events { .calendar-day-with-events {
color: #f2f2f2; color: white;
font-weight: bold; } font-weight: bold;
background-image: url("resource:///org/gnome/shell/theme/calendar-today.svg"); }
.calendar-other-month-day { .calendar-other-month-day {
color: rgba(255, 255, 255, 0.15); color: rgba(255, 255, 255, 0.15);

@ -1 +1 @@
Subproject commit b890a4003e711a4094a84c3ef8367e3f6417bcd4 Subproject commit 3573116e4f13f55339401a461195fe55126a0465

View File

@ -488,8 +488,7 @@ StScrollBar {
.switcher-arrow { .switcher-arrow {
border-color: transparent; border-color: transparent;
color: #1c1f1f; } color: rgba(238, 238, 236, 0.8); }
.switcher-arrow:highlighted { .switcher-arrow:highlighted {
color: #eeeeec; } color: #eeeeec; }
@ -710,8 +709,9 @@ StScrollBar {
border: 1px solid rgba(28, 31, 31, 0.5); } border: 1px solid rgba(28, 31, 31, 0.5); }
.calendar-day-with-events { .calendar-day-with-events {
color: #e2e2df; color: white;
font-weight: bold; } font-weight: bold;
background-image: url("resource:///org/gnome/shell/theme/calendar-today.svg"); }
.calendar-other-month-day { .calendar-other-month-day {
color: rgba(238, 238, 236, 0.15); color: rgba(238, 238, 236, 0.15);

View File

@ -401,7 +401,7 @@ const AuthPrompt = new Lang.Class({
}, },
updateSensitivity: function(sensitive) { updateSensitivity: function(sensitive) {
this._updateNextButtonSensitivity(sensitive); this._updateNextButtonSensitivity(sensitive && this._entry.text.length > 0);
this._entry.reactive = sensitive; this._entry.reactive = sensitive;
this._entry.clutter_text.editable = sensitive; this._entry.clutter_text.editable = sensitive;
}, },
@ -432,8 +432,9 @@ const AuthPrompt = new Lang.Class({
let oldStatus = this.verificationStatus; let oldStatus = this.verificationStatus;
this.verificationStatus = AuthPromptStatus.NOT_VERIFYING; this.verificationStatus = AuthPromptStatus.NOT_VERIFYING;
this.cancelButton.reactive = true; this.cancelButton.reactive = true;
this.nextButton.label = _("Next");
if (oldStatus == AuthPromptStatus.VERIFYING) if (this._userVerifier)
this._userVerifier.cancel(); this._userVerifier.cancel();
this._queryingService = null; this._queryingService = null;
@ -488,6 +489,7 @@ const AuthPrompt = new Lang.Class({
finish: function(onComplete) { finish: function(onComplete) {
if (!this._userVerifier.hasPendingMessages) { if (!this._userVerifier.hasPendingMessages) {
this._userVerifier.clear();
onComplete(); onComplete();
return; return;
} }
@ -495,12 +497,13 @@ const AuthPrompt = new Lang.Class({
let signalId = this._userVerifier.connect('no-more-messages', let signalId = this._userVerifier.connect('no-more-messages',
Lang.bind(this, function() { Lang.bind(this, function() {
this._userVerifier.disconnect(signalId); this._userVerifier.disconnect(signalId);
this._userVerifier.clear();
onComplete(); onComplete();
})); }));
}, },
cancel: function() { cancel: function() {
if (this.verificationStatus == AuthPromptStatus.NOT_VERIFYING || this.verificationStatus == AuthPromptStatus.VERIFICATION_SUCCEEDED) { if (this.verificationStatus == AuthPromptStatus.VERIFICATION_SUCCEEDED) {
return; return;
} }
this.reset(); this.reset();

View File

@ -584,7 +584,14 @@ const LoginDialog = new Lang.Class({
// try a different layout, or if we have what extra space we // try a different layout, or if we have what extra space we
// can hand out // can hand out
if (bannerAllocation) { if (bannerAllocation) {
let leftOverYSpace = dialogHeight - bannerHeight - authPromptHeight - logoHeight; let bannerSpace;
if (authPromptAllocation)
bannerSpace = authPromptAllocation.y1 - bannerAllocation.y1;
else
bannerSpace = 0;
let leftOverYSpace = bannerSpace - bannerHeight;
if (leftOverYSpace > 0) { if (leftOverYSpace > 0) {
// First figure out how much left over space is up top // First figure out how much left over space is up top
@ -867,7 +874,7 @@ const LoginDialog = new Lang.Class({
}, },
_loginScreenSessionActivated: function() { _loginScreenSessionActivated: function() {
if (this._authPrompt.verificationStatus != AuthPrompt.AuthPromptStatus.VERIFICATION_SUCCEEDED) if (this.actor.opacity == 255 && this._authPrompt.verificationStatus == AuthPrompt.AuthPromptStatus.NOT_VERIFYING)
return; return;
Tweener.addTween(this.actor, Tweener.addTween(this.actor,
@ -884,6 +891,7 @@ const LoginDialog = new Lang.Class({
}, },
onUpdateScope: this, onUpdateScope: this,
onComplete: function() { onComplete: function() {
if (this._authPrompt.verificationStatus != AuthPrompt.AuthPromptStatus.NOT_VERIFYING)
this._authPrompt.reset(); this._authPrompt.reset();
}, },
onCompleteScope: this }); onCompleteScope: this });

View File

@ -500,6 +500,11 @@ const AllView = new Lang.Class({
_loadApps: function() { _loadApps: function() {
let apps = Gio.AppInfo.get_all().filter(function(appInfo) { let apps = Gio.AppInfo.get_all().filter(function(appInfo) {
try {
let id = appInfo.get_id(); // catch invalid file encodings
} catch(e) {
return false;
}
return appInfo.should_show(); return appInfo.should_show();
}).map(function(app) { }).map(function(app) {
return app.get_id(); return app.get_id();
@ -753,6 +758,7 @@ const AllView = new Lang.Class({
let fadeOffset = Math.min(this._grid.topPadding, let fadeOffset = Math.min(this._grid.topPadding,
this._grid.bottomPadding); this._grid.bottomPadding);
this._scrollView.update_fade_effect(fadeOffset, 0); this._scrollView.update_fade_effect(fadeOffset, 0);
if (fadeOffset > 0)
this._scrollView.get_effect('fade').fade_edges = true; this._scrollView.get_effect('fade').fade_edges = true;
if (this._availWidth != availWidth || this._availHeight != availHeight || oldNPages != this._grid.nPages()) { if (this._availWidth != availWidth || this._availHeight != availHeight || oldNPages != this._grid.nPages()) {
@ -1060,7 +1066,7 @@ const AppSearchProvider = new Lang.Class({
getInitialResultSet: function(terms, callback, cancellable) { getInitialResultSet: function(terms, callback, cancellable) {
let query = terms.join(' '); let query = terms.join(' ');
let groups = Gio.DesktopAppInfo.search(query); let groups = Shell.AppSystem.search(query);
let usage = Shell.AppUsage.get_default(); let usage = Shell.AppUsage.get_default();
let results = []; let results = [];
groups.forEach(function(group) { groups.forEach(function(group) {
@ -1289,7 +1295,10 @@ const FolderIcon = new Lang.Class({
if (!_listsIntersect(folderCategories, appCategories)) if (!_listsIntersect(folderCategories, appCategories))
return; return;
addAppId(appInfo.get_id()); try {
addAppId(appInfo.get_id()); // catch invalid file encodings
} catch(e) {
}
}); });
this.actor.visible = this.view.getAllItems().length > 0; this.actor.visible = this.view.getAllItems().length > 0;

View File

@ -1229,7 +1229,7 @@ const NotificationMessage = new Lang.Class({
this._closed = true; this._closed = true;
this.notification.destroy(MessageTray.NotificationDestroyedReason.DISMISSED); this.notification.destroy(MessageTray.NotificationDestroyedReason.DISMISSED);
})); }));
notification.connect('destroy', Lang.bind(this, this._destroyId = notification.connect('destroy', Lang.bind(this,
function() { function() {
if (!this._closed) if (!this._closed)
this.close(); this.close();
@ -1260,6 +1260,10 @@ const NotificationMessage = new Lang.Class({
if (this._updatedId) if (this._updatedId)
this.notification.disconnect(this._updatedId); this.notification.disconnect(this._updatedId);
this._updatedId = 0; this._updatedId = 0;
if (this._destroyId)
this.notification.disconnect(this._destroyId);
this._destroyId = 0;
} }
}); });

View File

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

View File

@ -357,8 +357,6 @@ const DateMenuButton = new Lang.Class({
this._date.setDate(now); this._date.setDate(now);
this._messageList.setDate(now); this._messageList.setDate(now);
} }
// Block notification banners while the menu is open
Main.messageTray.bannerBlocked = isOpen;
})); }));
// Fill up the first column // Fill up the first column

View File

@ -24,9 +24,6 @@ const KEYBOARD_TYPE = 'keyboard-type';
const A11Y_APPLICATIONS_SCHEMA = 'org.gnome.desktop.a11y.applications'; const A11Y_APPLICATIONS_SCHEMA = 'org.gnome.desktop.a11y.applications';
const SHOW_KEYBOARD = 'screen-keyboard-enabled'; const SHOW_KEYBOARD = 'screen-keyboard-enabled';
const CURSOR_BUS_NAME = 'org.gnome.SettingsDaemon.Cursor';
const CURSOR_OBJECT_PATH = '/org/gnome/SettingsDaemon/Cursor';
const CARIBOU_BUS_NAME = 'org.gnome.Caribou.Daemon'; const CARIBOU_BUS_NAME = 'org.gnome.Caribou.Daemon';
const CARIBOU_OBJECT_PATH = '/org/gnome/Caribou/Daemon'; const CARIBOU_OBJECT_PATH = '/org/gnome/Caribou/Daemon';
@ -114,6 +111,35 @@ const Key = new Lang.Class({
key.release(); key.release();
return Clutter.EVENT_PROPAGATE; return Clutter.EVENT_PROPAGATE;
})); }));
button.connect('touch-event', Lang.bind(this,
function (actor, event) {
let device = event.get_device();
let sequence = event.get_event_sequence();
// We only handle touch events here on wayland. On X11
// we do get emulated pointer events, which already works
// for single-touch cases. Besides, the X11 passive touch grab
// set up by Mutter will make us see first the touch events
// and later the pointer events, so it will look like two
// unrelated series of events, we want to avoid double handling
// in these cases.
if (!Meta.is_wayland_compositor())
return Clutter.EVENT_PROPAGATE;
if (!this._touchPressed &&
event.type() == Clutter.EventType.TOUCH_BEGIN) {
device.sequence_grab(sequence, actor);
this._touchPressed = true;
key.press();
} else if (this._touchPressed &&
event.type() == Clutter.EventType.TOUCH_END &&
device.sequence_get_grabbed_actor(sequence) == actor) {
device.sequence_ungrab(sequence);
this._touchPressed = false;
key.release();
}
return Clutter.EVENT_PROPAGATE;
}));
return button; return button;
}, },
@ -178,9 +204,6 @@ const Keyboard = new Lang.Class({
this._keyboardSettings.connect('changed', Lang.bind(this, this._sync)); this._keyboardSettings.connect('changed', Lang.bind(this, this._sync));
this._a11yApplicationsSettings = new Gio.Settings({ schema_id: A11Y_APPLICATIONS_SCHEMA }); this._a11yApplicationsSettings = new Gio.Settings({ schema_id: A11Y_APPLICATIONS_SCHEMA });
this._a11yApplicationsSettings.connect('changed', Lang.bind(this, this._sync)); this._a11yApplicationsSettings.connect('changed', Lang.bind(this, this._sync));
this._watchNameId = Gio.bus_watch_name(Gio.BusType.SESSION, CURSOR_BUS_NAME, 0,
Lang.bind(this, this._sync),
Lang.bind(this, this._sync));
this._daemonProxy = null; this._daemonProxy = null;
this._lastDeviceId = null; this._lastDeviceId = null;

View File

@ -837,6 +837,7 @@ const LayoutManager = new Lang.Class({
// need to connect to 'destroy' too. // need to connect to 'destroy' too.
this._trackedActors.push(actorData); this._trackedActors.push(actorData);
this._updateActorVisibility(actorData);
this._queueUpdateRegions(); this._queueUpdateRegions();
}, },
@ -855,25 +856,23 @@ const LayoutManager = new Lang.Class({
this._queueUpdateRegions(); this._queueUpdateRegions();
}, },
_updateActorVisibility: function(actorData) {
if (!actorData.trackFullscreen)
return;
let monitor = this.findMonitorForActor(actorData.actor);
actorData.actor.visible = !(global.window_group.visible &&
monitor &&
monitor.inFullscreen);
},
_updateVisibility: function() { _updateVisibility: function() {
let windowsVisible = Main.sessionMode.hasWindows && !this._inOverview; let windowsVisible = Main.sessionMode.hasWindows && !this._inOverview;
global.window_group.visible = windowsVisible; global.window_group.visible = windowsVisible;
global.top_window_group.visible = windowsVisible; global.top_window_group.visible = windowsVisible;
for (let i = 0; i < this._trackedActors.length; i++) { this._trackedActors.forEach(Lang.bind(this, this._updateActorVisibility));
let actorData = this._trackedActors[i], visible;
if (!actorData.trackFullscreen)
continue;
if (!windowsVisible)
visible = true;
else if (this.findMonitorForActor(actorData.actor).inFullscreen)
visible = false;
else
visible = true;
actorData.actor.visible = visible;
}
}, },
getWorkAreaForMonitor: function(monitorIndex) { getWorkAreaForMonitor: function(monitorIndex) {

View File

@ -258,6 +258,8 @@ const NotificationApplicationPolicy = new Lang.Class({
_changed: function(settings, key) { _changed: function(settings, key) {
this.emit('policy-changed', key); this.emit('policy-changed', key);
if (key == 'enable')
this.emit('enable-changed');
}, },
_canonicalizeId: function(id) { _canonicalizeId: function(id) {
@ -508,6 +510,7 @@ const NotificationBanner = new Lang.Class({
_init: function(notification) { _init: function(notification) {
this.parent(notification); this.parent(notification);
this.actor.can_focus = false;
this.actor.add_style_class_name('notification-banner'); this.actor.add_style_class_name('notification-banner');
this._buttonBox = null; this._buttonBox = null;
@ -975,6 +978,14 @@ const MessageTray = new Lang.Class({
Shell.util_set_hidden_from_pick(this.actor, false); Shell.util_set_hidden_from_pick(this.actor, false);
}, },
get bannerAlignment() {
return this._bannerBin.get_x_align();
},
set bannerAlignment(align) {
this._bannerBin.set_x_align(align);
},
_onNotificationKeyRelease: function(actor, event) { _onNotificationKeyRelease: function(actor, event) {
if (event.get_key_symbol() == Clutter.KEY_Escape && event.get_state() == 0) { if (event.get_key_symbol() == Clutter.KEY_Escape && event.get_state() == 0) {
this._expireNotification(); this._expireNotification();

View File

@ -933,6 +933,14 @@ const Panel = new Lang.Class({
this._updateBox(panel.center, this._centerBox); this._updateBox(panel.center, this._centerBox);
this._updateBox(panel.right, this._rightBox); this._updateBox(panel.right, this._rightBox);
if (panel.left.indexOf('dateMenu') != -1)
Main.messageTray.bannerAlignment = Clutter.ActorAlign.START;
else if (panel.right.indexOf('dateMenu') != -1)
Main.messageTray.bannerAlignment = Clutter.ActorAlign.END;
// Default to center if there is no dateMenu
else
Main.messageTray.bannerAlignment = Clutter.ActorAlign.CENTER;
if (this._sessionStyle) if (this._sessionStyle)
this._removeStyleClassName(this._sessionStyle); this._removeStyleClassName(this._sessionStyle);
@ -995,6 +1003,7 @@ const Panel = new Lang.Class({
if (parent) if (parent)
parent.remove_actor(container); parent.remove_actor(container);
box.insert_child_at_index(container, position); box.insert_child_at_index(container, position);
if (indicator.menu) if (indicator.menu)
this.menuManager.addMenu(indicator.menu); this.menuManager.addMenu(indicator.menu);
@ -1004,6 +1013,8 @@ const Panel = new Lang.Class({
emitter.disconnect(destroyId); emitter.disconnect(destroyId);
container.destroy(); container.destroy();
})); }));
indicator.connect('menu-set', Lang.bind(this, this._onMenuSet));
this._onMenuSet(indicator);
}, },
addToStatusArea: function(role, indicator, position, box) { addToStatusArea: function(role, indicator, position, box) {
@ -1035,5 +1046,24 @@ const Panel = new Lang.Class({
this.actor.remove_style_class_name(className); this.actor.remove_style_class_name(className);
this._rightCorner.actor.remove_style_class_name(className); this._rightCorner.actor.remove_style_class_name(className);
this._leftCorner.actor.remove_style_class_name(className); this._leftCorner.actor.remove_style_class_name(className);
},
_onMenuSet: function(indicator) {
if (!indicator.menu || indicator.menu._openChangedId > 0)
return;
indicator.menu._openChangedId = indicator.menu.connect('open-state-changed',
Lang.bind(this, function(menu, isOpen) {
let boxAlignment;
if (this._leftBox.contains(indicator.container))
boxAlignment = Clutter.ActorAlign.START;
else if (this._centerBox.contains(indicator.container))
boxAlignment = Clutter.ActorAlign.CENTER;
else if (this._rightBox.contains(indicator.container))
boxAlignment = Clutter.ActorAlign.END;
if (boxAlignment == Main.messageTray.bannerAlignment)
Main.messageTray.bannerBlocked = isOpen;
}));
} }
}); });

View File

@ -128,6 +128,7 @@ const Button = new Lang.Class({
Main.uiGroup.add_actor(this.menu.actor); Main.uiGroup.add_actor(this.menu.actor);
this.menu.actor.hide(); this.menu.actor.hide();
} }
this.emit('menu-set');
}, },
_onEvent: function(actor, event) { _onEvent: function(actor, event) {

View File

@ -507,21 +507,22 @@ const ScreenShield = new Lang.Class({
this._liftShield(true, 0); this._liftShield(true, 0);
})); }));
this._inhibitor = null;
this._aboutToSuspend = false;
this._loginManager = LoginManager.getLoginManager(); this._loginManager = LoginManager.getLoginManager();
this._loginManager.connect('prepare-for-sleep', this._loginManager.connect('prepare-for-sleep',
Lang.bind(this, this._prepareForSleep)); Lang.bind(this, this._prepareForSleep));
this._inhibitSuspend();
this._loginSession = null;
this._loginManager.getCurrentSessionProxy(Lang.bind(this, this._loginManager.getCurrentSessionProxy(Lang.bind(this,
function(sessionProxy) { function(sessionProxy) {
this._loginSession = sessionProxy; this._loginSession = sessionProxy;
this._loginSession.connectSignal('Lock', Lang.bind(this, function() { this.lock(false); })); this._loginSession.connectSignal('Lock', Lang.bind(this, function() { this.lock(false); }));
this._loginSession.connectSignal('Unlock', Lang.bind(this, function() { this.deactivate(false); })); this._loginSession.connectSignal('Unlock', Lang.bind(this, function() { this.deactivate(false); }));
this._loginSession.connect('g-properties-changed', Lang.bind(this, this._syncInhibitor));
this._syncInhibitor();
})); }));
this._settings = new Gio.Settings({ schema_id: SCREENSAVER_SCHEMA }); this._settings = new Gio.Settings({ schema_id: SCREENSAVER_SCHEMA });
this._settings.connect('changed::' + LOCK_ENABLED_KEY, Lang.bind(this, this._syncInhibitor));
this._isModal = false; this._isModal = false;
this._hasLockScreen = false; this._hasLockScreen = false;
@ -547,6 +548,18 @@ const ScreenShield = new Lang.Class({
this.idleMonitor = Meta.IdleMonitor.get_core(); this.idleMonitor = Meta.IdleMonitor.get_core();
this._cursorTracker = Meta.CursorTracker.get_for_screen(global.screen); this._cursorTracker = Meta.CursorTracker.get_for_screen(global.screen);
this._syncInhibitor();
},
_setActive: function(active) {
let prevIsActive = this._isActive;
this._isActive = active;
if (prevIsActive != this._isActive)
this.emit('active-changed');
this._syncInhibitor();
}, },
_createBackground: function(monitorIndex) { _createBackground: function(monitorIndex) {
@ -664,31 +677,28 @@ const ScreenShield = new Lang.Class({
return Clutter.EVENT_STOP; return Clutter.EVENT_STOP;
}, },
_inhibitSuspend: function() { _syncInhibitor: function() {
let inhibit = (this._loginSession && this._loginSession.Active &&
!this._isActive && this._settings.get_boolean(LOCK_ENABLED_KEY));
if (inhibit) {
this._loginManager.inhibit(_("GNOME needs to lock the screen"), this._loginManager.inhibit(_("GNOME needs to lock the screen"),
Lang.bind(this, function(inhibitor) { Lang.bind(this, function(inhibitor) {
if (this._inhibitor)
this._inhibitor.close(null);
this._inhibitor = inhibitor; this._inhibitor = inhibitor;
})); }));
}, } else {
_uninhibitSuspend: function() {
if (this._inhibitor) if (this._inhibitor)
this._inhibitor.close(null); this._inhibitor.close(null);
this._inhibitor = null; this._inhibitor = null;
}
}, },
_prepareForSleep: function(loginManager, aboutToSuspend) { _prepareForSleep: function(loginManager, aboutToSuspend) {
this._aboutToSuspend = aboutToSuspend;
if (aboutToSuspend) { if (aboutToSuspend) {
if (!this._settings.get_boolean(LOCK_ENABLED_KEY)) { if (this._settings.get_boolean(LOCK_ENABLED_KEY))
this._uninhibitSuspend();
return;
}
this.lock(true); this.lock(true);
} else { } else {
this._inhibitSuspend();
this._wakeUpScreen(); this._wakeUpScreen();
} }
}, },
@ -1083,15 +1093,7 @@ const ScreenShield = new Lang.Class({
}, },
_completeLockScreenShown: function() { _completeLockScreenShown: function() {
let prevIsActive = this._isActive; this._setActive(true);
this._isActive = true;
if (prevIsActive != this._isActive)
this.emit('active-changed');
if (this._aboutToSuspend)
this._uninhibitSuspend();
this.emit('lock-screen-shown'); this.emit('lock-screen-shown');
}, },
@ -1185,8 +1187,7 @@ const ScreenShield = new Lang.Class({
// gnome-settings-daemon will stop blanking the screen // gnome-settings-daemon will stop blanking the screen
this._activationTime = 0; this._activationTime = 0;
this._isActive = false; this._setActive(false);
this.emit('active-changed');
return; return;
} }
@ -1229,9 +1230,8 @@ const ScreenShield = new Lang.Class({
} }
this._activationTime = 0; this._activationTime = 0;
this._isActive = false; this._setActive(false);
this._isLocked = false; this._isLocked = false;
this.emit('active-changed');
this.emit('locked-changed'); this.emit('locked-changed');
global.set_runtime_state(LOCKED_STATE_STR, null); global.set_runtime_state(LOCKED_STATE_STR, null);
}, },

View File

@ -167,6 +167,10 @@ const WindowMenuManager = new Lang.Class({
menu.connect('activate', function() { menu.connect('activate', function() {
window.check_alive(global.get_current_time()); window.check_alive(global.get_current_time());
}); });
let destroyId = window.connect('unmanaged',
function() {
menu.close();
});
this._sourceActor.set_size(rect.width, rect.height); this._sourceActor.set_size(rect.width, rect.height);
this._sourceActor.set_position(rect.x, rect.y); this._sourceActor.set_position(rect.x, rect.y);
@ -180,6 +184,7 @@ const WindowMenuManager = new Lang.Class({
this._sourceActor.hide(); this._sourceActor.hide();
menu.destroy(); menu.destroy();
window.disconnect(destroyId);
})); }));
} }
}); });

View File

@ -50,6 +50,7 @@ nb
ne ne
nl nl
nn nn
oc
or or
pa pa
pl pl

357
po/fi.po
View File

@ -26,8 +26,8 @@ msgstr ""
"Project-Id-Version: gnome-shell\n" "Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n" "shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2015-03-04 12:55+0000\n" "POT-Creation-Date: 2015-10-05 08:39+0000\n"
"PO-Revision-Date: 2015-03-04 22:01+0200\n" "PO-Revision-Date: 2015-10-05 17:38+0300\n"
"Last-Translator: Jiri Grönroos <jiri.gronroos+l10n@iki.fi>\n" "Last-Translator: Jiri Grönroos <jiri.gronroos+l10n@iki.fi>\n"
"Language-Team: suomi <gnome-fi-laatu@lists.sourceforge.net>\n" "Language-Team: suomi <gnome-fi-laatu@lists.sourceforge.net>\n"
"Language: fi\n" "Language: fi\n"
@ -45,8 +45,6 @@ msgid "System"
msgstr "Järjestelmä" msgstr "Järjestelmä"
#: ../data/50-gnome-shell-system.xml.in.h:2 #: ../data/50-gnome-shell-system.xml.in.h:2
#| msgid "%d new notification"
#| msgid_plural "%d new notifications"
msgid "Show the notification list" msgid "Show the notification list"
msgstr "Näytä ilmoitusluettelo" msgstr "Näytä ilmoitusluettelo"
@ -235,7 +233,6 @@ msgid "Keybinding to toggle the visibility of the notification list"
msgstr "Viestialueen näyttämiseen/piilottamiseen tarkoitettu pikanäppäin" msgstr "Viestialueen näyttämiseen/piilottamiseen tarkoitettu pikanäppäin"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26 #: ../data/org.gnome.shell.gschema.xml.in.in.h:26
#| msgid "Keybinding to toggle the visibility of the message tray."
msgid "Keybinding to toggle the visibility of the notification list." msgid "Keybinding to toggle the visibility of the notification list."
msgstr "Ilmoitusluettelon näyttämiseen/piilottamiseen tarkoitettu pikanäppäin." msgstr "Ilmoitusluettelon näyttämiseen/piilottamiseen tarkoitettu pikanäppäin."
@ -324,59 +321,67 @@ msgstr ""
"liikkumisen" "liikkumisen"
#: ../data/org.gnome.Shell.PortalHelper.desktop.in.h:1 #: ../data/org.gnome.Shell.PortalHelper.desktop.in.h:1
#| msgid "Network error"
msgid "Network Login" msgid "Network Login"
msgstr "Verkkokirjautuminen" msgstr "Verkkokirjautuminen"
#: ../js/extensionPrefs/main.js:123 #: ../js/extensionPrefs/main.js:122
#, javascript-format #, javascript-format
msgid "There was an error loading the preferences dialog for %s:" msgid "There was an error loading the preferences dialog for %s:"
msgstr "Kohteen %s asetusikkunaa ladataessa tapahtui virhe:" msgstr "Kohteen %s asetusikkunaa ladataessa tapahtui virhe:"
#: ../js/extensionPrefs/main.js:155 #: ../js/extensionPrefs/main.js:154
msgid "GNOME Shell Extensions" msgid "GNOME Shell Extensions"
msgstr "GNOME Shell -laajennukset" msgstr "GNOME Shell -laajennukset"
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:143 #: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:145
#: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:452 #: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:452
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 #: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/network.js:916 #: ../js/ui/status/network.js:916
msgid "Cancel" msgid "Cancel"
msgstr "Peru" msgstr "Peru"
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:217 #: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215
#: ../js/gdm/authPrompt.js:435
msgid "Next" msgid "Next"
msgstr "Seuraava" msgstr "Seuraava"
#: ../js/gdm/authPrompt.js:213 ../js/ui/shellMountOperation.js:403 #: ../js/gdm/authPrompt.js:211 ../js/ui/shellMountOperation.js:403
#: ../js/ui/unlockDialog.js:59 #: ../js/ui/unlockDialog.js:59
msgid "Unlock" msgid "Unlock"
msgstr "Avaa lukitus" msgstr "Avaa lukitus"
#: ../js/gdm/authPrompt.js:215 #: ../js/gdm/authPrompt.js:213
msgctxt "button" msgctxt "button"
msgid "Sign In" msgid "Sign In"
msgstr "Kirjaudu sisään" msgstr "Kirjaudu sisään"
#: ../js/gdm/loginDialog.js:276 #: ../js/gdm/loginDialog.js:281
msgid "Choose Session" msgid "Choose Session"
msgstr "Valitse istunto" msgstr "Valitse istunto"
#: ../js/gdm/loginDialog.js:417 #. translators: this message is shown below the user list on the
#. login screen. It can be activated to reveal an entry for
#. manually entering the username.
#: ../js/gdm/loginDialog.js:431
msgid "Not listed?" msgid "Not listed?"
msgstr "Ei luettelossa?" msgstr "Ei luettelossa?"
#: ../js/gdm/loginDialog.js:826 #. Translators: this message is shown below the username entry field
#. to clue the user in on how to login to the local network realm
#: ../js/gdm/loginDialog.js:847
#, javascript-format #, javascript-format
msgid "(e.g., user or %s)" msgid "(e.g., user or %s)"
msgstr "(esim. käyttäjä tai %s)" msgstr "(esim. käyttäjä tai %s)"
#: ../js/gdm/loginDialog.js:831 ../js/ui/components/networkAgent.js:269 #. TTLS and PEAP are actually much more complicated, but this complication
#: ../js/ui/components/networkAgent.js:287 #. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:852 ../js/ui/components/networkAgent.js:271
#: ../js/ui/components/networkAgent.js:289
msgid "Username: " msgid "Username: "
msgstr "Käyttäjänimi: " msgstr "Käyttäjänimi: "
#: ../js/gdm/loginDialog.js:1166 #: ../js/gdm/loginDialog.js:1181
msgid "Login Window" msgid "Login Window"
msgstr "Kirjautumisikkuna" msgstr "Kirjautumisikkuna"
@ -384,6 +389,11 @@ msgstr "Kirjautumisikkuna"
msgid "Authentication error" msgid "Authentication error"
msgstr "Tunnistautumisvirhe" msgstr "Tunnistautumisvirhe"
#. We don't show fingerprint messages directly since it's
#. not the main auth service. Instead we use the messages
#. as a cue to display our own message.
#. Translators: this message is shown below the password entry field
#. to indicate the user can swipe their finger instead
#: ../js/gdm/util.js:473 #: ../js/gdm/util.js:473
msgid "(or swipe finger)" msgid "(or swipe finger)"
msgstr "(tai pyyhkäise sormella)" msgstr "(tai pyyhkäise sormella)"
@ -392,6 +402,8 @@ msgstr "(tai pyyhkäise sormella)"
msgid "Command not found" msgid "Command not found"
msgstr "Komentoa ei löydy" msgstr "Komentoa ei löydy"
#. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer
#: ../js/misc/util.js:152 #: ../js/misc/util.js:152
msgid "Could not parse command:" msgid "Could not parse command:"
msgstr "Komentoa ei voi jäsentää:" msgstr "Komentoa ei voi jäsentää:"
@ -401,101 +413,107 @@ msgstr "Komentoa ei voi jäsentää:"
msgid "Execution of “%s” failed:" msgid "Execution of “%s” failed:"
msgstr "Kohteen ”%s” suorittaminen epäonnistui:" msgstr "Kohteen ”%s” suorittaminen epäonnistui:"
#. Translators: Time in 24h format */ #. Translators: Time in 24h format
#: ../js/misc/util.js:191 #: ../js/misc/util.js:191
msgid "%H%M" msgid "%H%M"
msgstr "%H%M" msgstr "%H%M"
#. Translators: this is the word "Yesterday" followed by a #. Translators: this is the word "Yesterday" followed by a
#. time string in 24h format. i.e. "Yesterday, 14:30" */ #. time string in 24h format. i.e. "Yesterday, 14:30"
#: ../js/misc/util.js:197 #: ../js/misc/util.js:197
#, no-c-format
msgid "Yesterday, %H%M" msgid "Yesterday, %H%M"
msgstr "Eilen, %H%M" msgstr "Eilen, %H%M"
#. Translators: this is the week day name followed by a time #. Translators: this is the week day name followed by a time
#. string in 24h format. i.e. "Monday, 14:30" */ #. string in 24h format. i.e. "Monday, 14:30"
#: ../js/misc/util.js:203 #: ../js/misc/util.js:203
#, no-c-format
msgid "%A, %H%M" msgid "%A, %H%M"
msgstr "%A, %H%M" msgstr "%A, %H%M"
#. Translators: this is the month name and day number #. Translators: this is the month name and day number
#. followed by a time string in 24h format. #. followed by a time string in 24h format.
#. i.e. "May 25, 14:30" */ #. i.e. "May 25, 14:30"
#: ../js/misc/util.js:209 #: ../js/misc/util.js:209
#, no-c-format
msgid "%B %d, %H%M" msgid "%B %d, %H%M"
msgstr "%e. %Bta, %H%M" msgstr "%e. %Bta, %H%M"
#. Translators: this is the month name, day number, year #. Translators: this is the month name, day number, year
#. number followed by a time string in 24h format. #. number followed by a time string in 24h format.
#. i.e. "May 25 2012, 14:30" */ #. i.e. "May 25 2012, 14:30"
#: ../js/misc/util.js:215 #: ../js/misc/util.js:215
#, no-c-format
msgid "%B %d %Y, %H%M" msgid "%B %d %Y, %H%M"
msgstr "%e. %Bta %Y, %H%M" msgstr "%e. %Bta %Y, %H%M"
#. Translators: Time in 12h format */ #. Translators: Time in 12h format
#: ../js/misc/util.js:220 #: ../js/misc/util.js:220
msgid "%l%M %p" msgid "%l%M %p"
msgstr "%l%M %p" msgstr "%l%M %p"
#. Translators: this is the word "Yesterday" followed by a #. Translators: this is the word "Yesterday" followed by a
#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */ #. time string in 12h format. i.e. "Yesterday, 2:30 pm"
#: ../js/misc/util.js:226 #: ../js/misc/util.js:226
#, no-c-format
msgid "Yesterday, %l%M %p" msgid "Yesterday, %l%M %p"
msgstr "Eilen, %l%M %p" msgstr "Eilen, %l%M %p"
#. Translators: this is the week day name followed by a time #. Translators: this is the week day name followed by a time
#. string in 12h format. i.e. "Monday, 2:30 pm" */ #. string in 12h format. i.e. "Monday, 2:30 pm"
#: ../js/misc/util.js:232 #: ../js/misc/util.js:232
#, no-c-format
msgid "%A, %l%M %p" msgid "%A, %l%M %p"
msgstr "%A, %l%M %p" msgstr "%A, %l%M %p"
#. Translators: this is the month name and day number #. Translators: this is the month name and day number
#. followed by a time string in 12h format. #. followed by a time string in 12h format.
#. i.e. "May 25, 2:30 pm" */ #. i.e. "May 25, 2:30 pm"
#: ../js/misc/util.js:238 #: ../js/misc/util.js:238
#| msgid "%a %b %e, %l:%M %p" #, no-c-format
msgid "%B %d, %l%M %p" msgid "%B %d, %l%M %p"
msgstr "%B %d, %l%M %p" msgstr "%B %d, %l%M %p"
#. Translators: this is the month name, day number, year #. Translators: this is the month name, day number, year
#. number followed by a time string in 12h format. #. number followed by a time string in 12h format.
#. i.e. "May 25 2012, 2:30 pm"*/ #. i.e. "May 25 2012, 2:30 pm"
#: ../js/misc/util.js:244 #: ../js/misc/util.js:244
#| msgid "%a %b %e, %l:%M %p" #, no-c-format
msgid "%B %d %Y, %l%M %p" msgid "%B %d %Y, %l%M %p"
msgstr "%B %d %Y, %l%M %p" msgstr "%B %d %Y, %l%M %p"
#. TRANSLATORS: this is the title of the wifi captive portal login #. TRANSLATORS: this is the title of the wifi captive portal login
#. * window, until we know the title of the actual login page */ #. * window, until we know the title of the actual login page
#: ../js/portalHelper/main.js:85 #: ../js/portalHelper/main.js:85
msgid "Web Authentication Redirect" msgid "Web Authentication Redirect"
msgstr "Verkkotunnistautumisen uudelleenohjaus" msgstr "Verkkotunnistautumisen uudelleenohjaus"
#: ../js/ui/appDisplay.js:791 #: ../js/ui/appDisplay.js:794
msgid "Frequently used applications will appear here" msgid "Frequently used applications will appear here"
msgstr "Usein käytetyt sovellukset ilmestyvät tänne" msgstr "Usein käytetyt sovellukset ilmestyvät tänne"
#: ../js/ui/appDisplay.js:911 #: ../js/ui/appDisplay.js:914
msgid "Frequent" msgid "Frequent"
msgstr "Käytetyimmät" msgstr "Käytetyimmät"
#: ../js/ui/appDisplay.js:918 #: ../js/ui/appDisplay.js:921
msgid "All" msgid "All"
msgstr "Kaikki" msgstr "Kaikki"
#: ../js/ui/appDisplay.js:1849 #: ../js/ui/appDisplay.js:1853
msgid "New Window" msgid "New Window"
msgstr "Uusi ikkuna" msgstr "Uusi ikkuna"
#: ../js/ui/appDisplay.js:1877 ../js/ui/dash.js:289 #: ../js/ui/appDisplay.js:1881 ../js/ui/dash.js:289
msgid "Remove from Favorites" msgid "Remove from Favorites"
msgstr "Poista suosikeista" msgstr "Poista suosikeista"
#: ../js/ui/appDisplay.js:1883 #: ../js/ui/appDisplay.js:1887
msgid "Add to Favorites" msgid "Add to Favorites"
msgstr "Lisää suosikkeihin" msgstr "Lisää suosikkeihin"
#: ../js/ui/appDisplay.js:1893 #: ../js/ui/appDisplay.js:1897
msgid "Show Details" msgid "Show Details"
msgstr "Näytä tiedot" msgstr "Näytä tiedot"
@ -509,8 +527,8 @@ msgstr "%s on lisätty suosikkeihin."
msgid "%s has been removed from your favorites." msgid "%s has been removed from your favorites."
msgstr "%s on poistettu suosikeista." msgstr "%s on poistettu suosikeista."
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:649 #: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:650
#: ../js/ui/status/system.js:337 #: ../js/ui/status/system.js:334
msgid "Settings" msgid "Settings"
msgstr "Asetukset" msgstr "Asetukset"
@ -518,106 +536,105 @@ msgstr "Asetukset"
msgid "Change Background…" msgid "Change Background…"
msgstr "Muuta työpöydän taustaa…" msgstr "Muuta työpöydän taustaa…"
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday). */ #. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday).
#: ../js/ui/calendar.js:49 #: ../js/ui/calendar.js:53
msgctxt "calendar-no-work" msgctxt "calendar-no-work"
msgid "06" msgid "06"
msgstr "06" msgstr "06"
#. 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:78
msgctxt "event list time"
msgid "All Day"
msgstr "Koko päivä"
#. Translators: Calendar grid abbreviation for Sunday. #. Translators: Calendar grid abbreviation for Sunday.
#. * #. *
#. * NOTE: These grid abbreviations are always shown together #. * NOTE: These grid abbreviations are always shown together
#. * and in order, e.g. "S M T W T F S". #. * and in order, e.g. "S M T W T F S".
#. */ #.
#: ../js/ui/calendar.js:93 #: ../js/ui/calendar.js:82
msgctxt "grid sunday" msgctxt "grid sunday"
msgid "S" msgid "S"
msgstr "S" msgstr "S"
#. Translators: Calendar grid abbreviation for Monday */ #. Translators: Calendar grid abbreviation for Monday
#: ../js/ui/calendar.js:95 #: ../js/ui/calendar.js:84
msgctxt "grid monday" msgctxt "grid monday"
msgid "M" msgid "M"
msgstr "M" msgstr "M"
#. Translators: Calendar grid abbreviation for Tuesday */ #. Translators: Calendar grid abbreviation for Tuesday
#: ../js/ui/calendar.js:97 #: ../js/ui/calendar.js:86
msgctxt "grid tuesday" msgctxt "grid tuesday"
msgid "T" msgid "T"
msgstr "T" msgstr "T"
#. Translators: Calendar grid abbreviation for Wednesday */ #. Translators: Calendar grid abbreviation for Wednesday
#: ../js/ui/calendar.js:99 #: ../js/ui/calendar.js:88
msgctxt "grid wednesday" msgctxt "grid wednesday"
msgid "W" msgid "W"
msgstr "K" msgstr "K"
#. Translators: Calendar grid abbreviation for Thursday */ #. Translators: Calendar grid abbreviation for Thursday
#: ../js/ui/calendar.js:101 #: ../js/ui/calendar.js:90
msgctxt "grid thursday" msgctxt "grid thursday"
msgid "T" msgid "T"
msgstr "T" msgstr "T"
#. Translators: Calendar grid abbreviation for Friday */ #. Translators: Calendar grid abbreviation for Friday
#: ../js/ui/calendar.js:103 #: ../js/ui/calendar.js:92
msgctxt "grid friday" msgctxt "grid friday"
msgid "F" msgid "F"
msgstr "P" msgstr "P"
#. Translators: Calendar grid abbreviation for Saturday */ #. Translators: Calendar grid abbreviation for Saturday
#: ../js/ui/calendar.js:105 #: ../js/ui/calendar.js:94
msgctxt "grid saturday" msgctxt "grid saturday"
msgid "S" msgid "S"
msgstr "L" msgstr "L"
#: ../js/ui/calendar.js:572 #: ../js/ui/calendar.js:564
msgid "Previous month" msgid "Previous month"
msgstr "Edellinen kuukausi" msgstr "Edellinen kuukausi"
#: ../js/ui/calendar.js:582 #: ../js/ui/calendar.js:574
msgid "Next month" msgid "Next month"
msgstr "Seuraava kuukausi" msgstr "Seuraava kuukausi"
#: ../js/ui/calendar.js:789 #: ../js/ui/calendar.js:781
msgid "Week %V" msgid "Week %V"
msgstr "Viikko %V" msgstr "Viikko %V"
#: ../js/ui/calendar.js:1245 #. 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:1187
msgctxt "event list time"
msgid "All Day"
msgstr "Koko päivä"
#: ../js/ui/calendar.js:1289
msgid "Clear section" msgid "Clear section"
msgstr "Tyhjennä osio" msgstr "Tyhjennä osio"
#: ../js/ui/calendar.js:1437 #: ../js/ui/calendar.js:1516
msgid "Events" msgid "Events"
msgstr "Tapahtumat" msgstr "Tapahtumat"
#: ../js/ui/calendar.js:1445 #: ../js/ui/calendar.js:1525
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d" msgid "%A, %B %d"
msgstr "%A, %e. %Bta" msgstr "%A, %e. %Bta"
#: ../js/ui/calendar.js:1449 #: ../js/ui/calendar.js:1529
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d, %Y" msgid "%A, %B %d, %Y"
msgstr "%A, %e. %Bta %Y" msgstr "%A, %e. %Bta %Y"
#: ../js/ui/calendar.js:1541 #: ../js/ui/calendar.js:1614
msgid "Notifications" msgid "Notifications"
msgstr "Ilmoitukset" msgstr "Ilmoitukset"
#: ../js/ui/calendar.js:1681 #: ../js/ui/calendar.js:1765
#| msgid "Notifications"
msgid "No Notifications" msgid "No Notifications"
msgstr "Ei ilmoituksia" msgstr "Ei ilmoituksia"
#: ../js/ui/calendar.js:1684 #: ../js/ui/calendar.js:1768
msgid "No Events" msgid "No Events"
msgstr "Ei tapahtumia" msgstr "Ei tapahtumia"
@ -642,79 +659,95 @@ msgstr "Salasana:"
msgid "Type again:" msgid "Type again:"
msgstr "Uudelleen:" msgstr "Uudelleen:"
#: ../js/ui/components/networkAgent.js:138 ../js/ui/status/network.js:277 #: ../js/ui/components/networkAgent.js:140 ../js/ui/status/network.js:277
#: ../js/ui/status/network.js:359 ../js/ui/status/network.js:919 #: ../js/ui/status/network.js:359 ../js/ui/status/network.js:919
msgid "Connect" msgid "Connect"
msgstr "Yhdistä" msgstr "Yhdistä"
#: ../js/ui/components/networkAgent.js:231 #. Cisco LEAP
#: ../js/ui/components/networkAgent.js:243 #: ../js/ui/components/networkAgent.js:233
#: ../js/ui/components/networkAgent.js:271 #: ../js/ui/components/networkAgent.js:245
#: ../js/ui/components/networkAgent.js:291 #: ../js/ui/components/networkAgent.js:273
#: ../js/ui/components/networkAgent.js:301 #: ../js/ui/components/networkAgent.js:293
#: ../js/ui/components/networkAgent.js:303
msgid "Password: " msgid "Password: "
msgstr "Salasana: " msgstr "Salasana: "
#: ../js/ui/components/networkAgent.js:236 #. static WEP
#: ../js/ui/components/networkAgent.js:238
msgid "Key: " msgid "Key: "
msgstr "Avain: " msgstr "Avain: "
#: ../js/ui/components/networkAgent.js:275 #: ../js/ui/components/networkAgent.js:277
msgid "Identity: " msgid "Identity: "
msgstr "Henkilöllisyys: " msgstr "Henkilöllisyys: "
#: ../js/ui/components/networkAgent.js:277 #: ../js/ui/components/networkAgent.js:279
msgid "Private key password: " msgid "Private key password: "
msgstr "Salaisen avaimen salasana: " msgstr "Salaisen avaimen salasana: "
#: ../js/ui/components/networkAgent.js:289 #: ../js/ui/components/networkAgent.js:291
msgid "Service: " msgid "Service: "
msgstr "Palvelu: " msgstr "Palvelu: "
#: ../js/ui/components/networkAgent.js:318 #: ../js/ui/components/networkAgent.js:320
#: ../js/ui/components/networkAgent.js:658
msgid "Authentication required by wireless network" msgid "Authentication required by wireless network"
msgstr "Langaton verkko vaatii tunnistautumisen" msgstr "Langaton verkko vaatii tunnistautumisen"
#: ../js/ui/components/networkAgent.js:319 #: ../js/ui/components/networkAgent.js:321
#: ../js/ui/components/networkAgent.js:659
#, javascript-format #, javascript-format
msgid "" msgid ""
"Passwords or encryption keys are required to access the wireless network " "Passwords or encryption keys are required to access the wireless network "
"“%s”." "“%s”."
msgstr "Langaton verkko \"%s\" vaatii salasanan tai salausavaimia." msgstr "Langaton verkko \"%s\" vaatii salasanan tai salausavaimia."
#: ../js/ui/components/networkAgent.js:323 #: ../js/ui/components/networkAgent.js:325
#: ../js/ui/components/networkAgent.js:662
msgid "Wired 802.1X authentication" msgid "Wired 802.1X authentication"
msgstr "Kiinteän 802.1X-yhteyden tunnistautuminen" msgstr "Kiinteän 802.1X-yhteyden tunnistautuminen"
#: ../js/ui/components/networkAgent.js:325 #: ../js/ui/components/networkAgent.js:327
msgid "Network name: " msgid "Network name: "
msgstr "Verkon nimi: " msgstr "Verkon nimi: "
#: ../js/ui/components/networkAgent.js:330 #: ../js/ui/components/networkAgent.js:332
#: ../js/ui/components/networkAgent.js:666
msgid "DSL authentication" msgid "DSL authentication"
msgstr "DSL-tunnistautuminen" msgstr "DSL-tunnistautuminen"
#: ../js/ui/components/networkAgent.js:337 #: ../js/ui/components/networkAgent.js:339
#: ../js/ui/components/networkAgent.js:672
msgid "PIN code required" msgid "PIN code required"
msgstr "PIN-koodi vaaditaan" msgstr "PIN-koodi vaaditaan"
#: ../js/ui/components/networkAgent.js:338 #: ../js/ui/components/networkAgent.js:340
#: ../js/ui/components/networkAgent.js:673
msgid "PIN code is needed for the mobile broadband device" msgid "PIN code is needed for the mobile broadband device"
msgstr "Mobiililaajakaista vaatii PIN-koodin" msgstr "Mobiililaajakaista vaatii PIN-koodin"
#: ../js/ui/components/networkAgent.js:339 #: ../js/ui/components/networkAgent.js:341
msgid "PIN: " msgid "PIN: "
msgstr "PIN: " msgstr "PIN: "
#: ../js/ui/components/networkAgent.js:345 #: ../js/ui/components/networkAgent.js:348
#: ../js/ui/components/networkAgent.js:679
msgid "Mobile broadband network password" msgid "Mobile broadband network password"
msgstr "Mobiililaajakaistan verkkosalasana" msgstr "Mobiililaajakaistan verkkosalasana"
#: ../js/ui/components/networkAgent.js:346 #: ../js/ui/components/networkAgent.js:349
#: ../js/ui/components/networkAgent.js:663
#: ../js/ui/components/networkAgent.js:667
#: ../js/ui/components/networkAgent.js:680
#, javascript-format #, javascript-format
msgid "A password is required to connect to “%s”." msgid "A password is required to connect to “%s”."
msgstr "Salasana vaaditaan kohteeseen \"%s\" yhdistämiseksi." msgstr "Salasana vaaditaan kohteeseen \"%s\" yhdistämiseksi."
#: ../js/ui/components/networkAgent.js:647 ../js/ui/status/network.js:1657
msgid "Network Manager"
msgstr "Verkon hallinta"
#: ../js/ui/components/polkitAgent.js:54 #: ../js/ui/components/polkitAgent.js:54
msgid "Authentication Required" msgid "Authentication Required"
msgstr "Tunnistautuminen vaaditaan" msgstr "Tunnistautuminen vaaditaan"
@ -730,14 +763,14 @@ msgstr "Tunnistaudu"
#. Translators: "that didn't work" refers to the fact that the #. Translators: "that didn't work" refers to the fact that the
#. * requested authentication was not gained; this can happen #. * requested authentication was not gained; this can happen
#. * because of an authentication error (like invalid password), #. * because of an authentication error (like invalid password),
#. * for instance. */ #. * for instance.
#: ../js/ui/components/polkitAgent.js:271 ../js/ui/shellMountOperation.js:383 #: ../js/ui/components/polkitAgent.js:271 ../js/ui/shellMountOperation.js:383
msgid "Sorry, that didn't work. Please try again." msgid "Sorry, that didn't work. Please try again."
msgstr "Tunnistautuminen epäonnistui. Yritä uudelleen." msgstr "Tunnistautuminen epäonnistui. Yritä uudelleen."
#. Translators: this is the other person changing their old IM name to their new #. Translators: this is the other person changing their old IM name to their new
#. IM name. */ #. IM name.
#: ../js/ui/components/telepathyClient.js:772 #: ../js/ui/components/telepathyClient.js:757
#, javascript-format #, javascript-format
msgid "%s is now known as %s" msgid "%s is now known as %s"
msgstr "%s on nyt nimeltään %s" msgstr "%s on nyt nimeltään %s"
@ -750,24 +783,24 @@ msgstr "Ikkunat"
msgid "Show Applications" msgid "Show Applications"
msgstr "Näytä sovellukset" msgstr "Näytä sovellukset"
#: ../js/ui/dash.js:451 #. Translators: this is the name of the dock/favorites area on
#. the left of the overview
#: ../js/ui/dash.js:449
msgid "Dash" msgid "Dash"
msgstr "Pikavalikko" msgstr "Pikavalikko"
#. Translators: This is the date format to use when the calendar popup is #. 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"). #. * 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:73
#| msgid "%A %B %e, %Y"
msgid "%B %e %Y" msgid "%B %e %Y"
msgstr "%e. %b %Y" msgstr "%e. %b %Y"
#. Translators: This is the accessible name of the date button shown #. Translators: This is the accessible name of the date button shown
#. * below the time in the shell; it should combine the weekday and the #. * below the time in the shell; it should combine the weekday and the
#. * date, e.g. "Tuesday February 17 2015". #. * date, e.g. "Tuesday February 17 2015".
#. */ #.
#: ../js/ui/dateMenu.js:80 #: ../js/ui/dateMenu.js:80
#| msgid "%A %B %e, %Y"
msgid "%A %B %e %Y" msgid "%A %B %e %Y"
msgstr "%A, %e. %Bta %Y" msgstr "%A, %e. %Bta %Y"
@ -776,7 +809,6 @@ msgid "Add world clocks…"
msgstr "Lisää maailmankelloja…" msgstr "Lisää maailmankelloja…"
#: ../js/ui/dateMenu.js:161 #: ../js/ui/dateMenu.js:161
#| msgid "Open Clocks"
msgid "World Clocks" msgid "World Clocks"
msgstr "Maailmankellot" msgstr "Maailmankellot"
@ -902,13 +934,13 @@ msgstr ""
msgid "Other users are logged in." msgid "Other users are logged in."
msgstr "Muita käyttäjiä on kirjautuneena." msgstr "Muita käyttäjiä on kirjautuneena."
#. Translators: Remote here refers to a remote session, like a ssh login */ #. Translators: Remote here refers to a remote session, like a ssh login
#: ../js/ui/endSessionDialog.js:640 #: ../js/ui/endSessionDialog.js:640
#, javascript-format #, javascript-format
msgid "%s (remote)" msgid "%s (remote)"
msgstr "%s (etä)" msgstr "%s (etä)"
#. Translators: Console here refers to a tty like a VT console */ #. Translators: Console here refers to a tty like a VT console
#: ../js/ui/endSessionDialog.js:643 #: ../js/ui/endSessionDialog.js:643
#, javascript-format #, javascript-format
msgid "%s (console)" msgid "%s (console)"
@ -923,15 +955,25 @@ msgstr "Asenna"
msgid "Download and install “%s” from extensions.gnome.org?" msgid "Download and install “%s” from extensions.gnome.org?"
msgstr "Ladataanko ja asennetaanko ”%s” sivustolta extensions.gnome.org?" msgstr "Ladataanko ja asennetaanko ”%s” sivustolta extensions.gnome.org?"
#: ../js/ui/keyboard.js:706 ../js/ui/status/keyboard.js:576 #: ../js/ui/keyboard.js:741 ../js/ui/status/keyboard.js:713
msgid "Keyboard" msgid "Keyboard"
msgstr "Näppäimistö" msgstr "Näppäimistö"
#. translators: 'Hide' is a verb
#: ../js/ui/legacyTray.js:66
#| msgid "Hide Text"
msgid "Hide tray"
msgstr "Piilota palkki"
#: ../js/ui/legacyTray.js:107
msgid "Status Icons"
msgstr "Tilakuvakkeet"
#: ../js/ui/lookingGlass.js:643 #: ../js/ui/lookingGlass.js:643
msgid "No extensions installed" msgid "No extensions installed"
msgstr "Laajennuksia ei asennettu" msgstr "Laajennuksia ei asennettu"
#. Translators: argument is an extension UUID. */ #. Translators: argument is an extension UUID.
#: ../js/ui/lookingGlass.js:697 #: ../js/ui/lookingGlass.js:697
#, javascript-format #, javascript-format
msgid "%s has not emitted any errors." msgid "%s has not emitted any errors."
@ -951,7 +993,7 @@ msgid "Enabled"
msgstr "Käytössä" msgstr "Käytössä"
#. Translators: this is for a network device that cannot be activated #. Translators: this is for a network device that cannot be activated
#. because it's disabled by rfkill (airplane mode) */ #. because it's disabled by rfkill (airplane mode)
#. translators: #. translators:
#. * The device has been disabled #. * The device has been disabled
#: ../js/ui/lookingGlass.js:719 ../js/ui/status/location.js:179 #: ../js/ui/lookingGlass.js:719 ../js/ui/status/location.js:179
@ -979,7 +1021,7 @@ msgstr "Näytä lähde"
msgid "Web Page" msgid "Web Page"
msgstr "Verkkosivusto" msgstr "Verkkosivusto"
#: ../js/ui/messageTray.js:2131 #: ../js/ui/messageTray.js:1506
msgid "System Information" msgid "System Information"
msgstr "Järjestelmän tiedot" msgstr "Järjestelmän tiedot"
@ -994,26 +1036,31 @@ msgstr "Yleisnäkymä"
#. Translators: this is the text displayed #. Translators: this is the text displayed
#. in the search entry when no search is #. in the search entry when no search is
#. active; it should not exceed ~30 #. active; it should not exceed ~30
#. characters. */ #. characters.
#: ../js/ui/overview.js:246 #: ../js/ui/overview.js:246
msgid "Type to search…" msgid "Type to search…"
msgstr "Kirjoita hakeaksesi…" msgstr "Kirjoita hakeaksesi…"
#: ../js/ui/panel.js:351 #: ../js/ui/panel.js:352
msgid "Quit" msgid "Quit"
msgstr "Lopeta" msgstr "Lopeta"
#. Translators: If there is no suitable word for "Activities" #. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview". */ #. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:403 #: ../js/ui/panel.js:404
msgid "Activities" msgid "Activities"
msgstr "Toiminnot" msgstr "Toiminnot"
#: ../js/ui/panel.js:754 #: ../js/ui/panel.js:755
msgid "Top Bar" msgid "Top Bar"
msgstr "Yläpalkki" msgstr "Yläpalkki"
#: ../js/ui/popupMenu.js:288 #. Translators: this MUST be either "toggle-switch-us"
#. (for toggle switches containing the English words
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
#. switches containing "◯" and "|"). Other values will
#. simply result in invisible toggle switches.
#: ../js/ui/popupMenu.js:289
msgid "toggle-switch-us" msgid "toggle-switch-us"
msgstr "toggle-switch-intl" msgstr "toggle-switch-intl"
@ -1030,7 +1077,7 @@ msgid "Restarting…"
msgstr "Käynnistetään uudelleen…" msgstr "Käynnistetään uudelleen…"
#. Translators: This is a time format for a date in #. Translators: This is a time format for a date in
#. long format */ #. long format
#: ../js/ui/screenShield.js:85 #: ../js/ui/screenShield.js:85
msgid "%A, %B %d" msgid "%A, %B %d"
msgstr "%A, %e. %Bta" msgstr "%A, %e. %Bta"
@ -1049,27 +1096,34 @@ msgid_plural "%d new notifications"
msgstr[0] "%d uusi ilmoitus" msgstr[0] "%d uusi ilmoitus"
msgstr[1] "%d uutta ilmoitusta" msgstr[1] "%d uutta ilmoitusta"
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:345 #: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:342
msgid "Lock" msgid "Lock"
msgstr "Lukitse" msgstr "Lukitse"
#: ../js/ui/screenShield.js:668 #: ../js/ui/screenShield.js:684
msgid "GNOME needs to lock the screen" msgid "GNOME needs to lock the screen"
msgstr "Gnomen täytyy lukita näyttö" msgstr "Gnomen täytyy lukita näyttö"
#: ../js/ui/screenShield.js:795 ../js/ui/screenShield.js:1271 #. We could not become modal, so we can't activate the
#. screenshield. The user is probably very upset at this
#. point, but any application using global grabs is broken
#. Just tell him to stop using this app
#.
#. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs
#: ../js/ui/screenShield.js:805 ../js/ui/screenShield.js:1271
msgid "Unable to lock" msgid "Unable to lock"
msgstr "Lukitus epäonnistui" msgstr "Lukitus epäonnistui"
#: ../js/ui/screenShield.js:796 ../js/ui/screenShield.js:1272 #: ../js/ui/screenShield.js:806 ../js/ui/screenShield.js:1272
msgid "Lock was blocked by an application" msgid "Lock was blocked by an application"
msgstr "Lukitus estettiin sovelluksen toimesta" msgstr "Lukitus estettiin sovelluksen toimesta"
#: ../js/ui/search.js:609 #: ../js/ui/search.js:617
msgid "Searching…" msgid "Searching…"
msgstr "Etsitään…" msgstr "Etsitään…"
#: ../js/ui/search.js:611 #: ../js/ui/search.js:619
msgid "No results." msgid "No results."
msgstr "Ei tuloksia." msgstr "Ei tuloksia."
@ -1133,14 +1187,16 @@ msgstr "Kimmonäppäimet"
msgid "Mouse Keys" msgid "Mouse Keys"
msgstr "Hiirinäppäimet" msgstr "Hiirinäppäimet"
#: ../js/ui/status/accessibility.js:144 #: ../js/ui/status/accessibility.js:167
msgid "High Contrast" msgid "High Contrast"
msgstr "Korkea kontrasti" msgstr "Korkea kontrasti"
#: ../js/ui/status/accessibility.js:193 #: ../js/ui/status/accessibility.js:202
msgid "Large Text" msgid "Large Text"
msgstr "Suuri tekstin koko" msgstr "Suuri tekstin koko"
#. The Bluetooth menu only appears when Bluetooth is in use,
#. so just statically build it with a "Turn Off" menu item.
#: ../js/ui/status/bluetooth.js:49 #: ../js/ui/status/bluetooth.js:49
msgid "Bluetooth" msgid "Bluetooth"
msgstr "Bluetooth" msgstr "Bluetooth"
@ -1171,7 +1227,7 @@ msgstr "Ei yhdistetty"
msgid "Brightness" msgid "Brightness"
msgstr "Kirkkaus" msgstr "Kirkkaus"
#: ../js/ui/status/keyboard.js:599 #: ../js/ui/status/keyboard.js:736
msgid "Show Keyboard Layout" msgid "Show Keyboard Layout"
msgstr "Näytä näppäimistön asettelu" msgstr "Näytä näppäimistön asettelu"
@ -1209,7 +1265,7 @@ msgid "Connected"
msgstr "Yhdistetty" msgstr "Yhdistetty"
#. Translators: this is for network devices that are physically present but are not #. 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) */ #. under NetworkManager's control (and thus cannot be used in the menu)
#: ../js/ui/status/network.js:463 #: ../js/ui/status/network.js:463
msgid "Unmanaged" msgid "Unmanaged"
msgstr "Ei hallinnassa" msgstr "Ei hallinnassa"
@ -1222,19 +1278,19 @@ msgstr "Katkaistaan yhteyttä"
msgid "Connecting" msgid "Connecting"
msgstr "Yhdistetään" msgstr "Yhdistetään"
#. Translators: this is for network connections that require some kind of key or password */ #. Translators: this is for network connections that require some kind of key or password
#: ../js/ui/status/network.js:474 #: ../js/ui/status/network.js:474
msgid "Authentication required" msgid "Authentication required"
msgstr "tunnistautuminen vaaditaan" msgstr "tunnistautuminen vaaditaan"
#. Translators: this is for devices that require some kind of firmware or kernel #. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing */ #. module, which is missing
#: ../js/ui/status/network.js:482 #: ../js/ui/status/network.js:482
msgid "Firmware missing" msgid "Firmware missing"
msgstr "Laiteohjelmisto puuttuu" msgstr "Laiteohjelmisto puuttuu"
#. Translators: this is for a network device that cannot be activated (for example it #. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage */ #. is disabled by rfkill, or it has no coverage
#: ../js/ui/status/network.js:486 #: ../js/ui/status/network.js:486
msgid "Unavailable" msgid "Unavailable"
msgstr "Ei tavoitettavissa" msgstr "Ei tavoitettavissa"
@ -1319,7 +1375,7 @@ msgstr "Yhteyspiste aktiivisena"
msgid "connecting..." msgid "connecting..."
msgstr "yhdistetään…" msgstr "yhdistetään…"
#. Translators: this is for network connections that require some kind of key or password */ #. Translators: this is for network connections that require some kind of key or password
#: ../js/ui/status/network.js:1413 #: ../js/ui/status/network.js:1413
msgid "authentication required" msgid "authentication required"
msgstr "tunnistautuminen vaaditaan" msgstr "tunnistautuminen vaaditaan"
@ -1340,10 +1396,6 @@ msgstr "VPN-asetukset"
msgid "VPN" msgid "VPN"
msgstr "VPN" msgstr "VPN"
#: ../js/ui/status/network.js:1657
msgid "Network Manager"
msgstr "Verkon hallinta"
#: ../js/ui/status/network.js:1697 #: ../js/ui/status/network.js:1697
msgid "Activation of network connection failed" msgid "Activation of network connection failed"
msgstr "Verkkoyhteyden aktivointi epäonnistui" msgstr "Verkkoyhteyden aktivointi epäonnistui"
@ -1356,15 +1408,19 @@ msgstr "Virranhallinta"
msgid "Fully Charged" msgid "Fully Charged"
msgstr "Ladattu täyteen" msgstr "Ladattu täyteen"
#. 0 is reported when UPower does not have enough data
#. to estimate battery life
#: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78 #: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78
msgid "Estimating…" msgid "Estimating…"
msgstr "Arvioidaan…" msgstr "Arvioidaan…"
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
#: ../js/ui/status/power.js:86 #: ../js/ui/status/power.js:86
#, javascript-format #, javascript-format
msgid "%d%02d Remaining (%d%%)" msgid "%d%02d Remaining (%d%%)"
msgstr "%d%02d jäljellä (%d%%)" msgstr "%d%02d jäljellä (%d%%)"
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
#: ../js/ui/status/power.js:91 #: ../js/ui/status/power.js:91
#, javascript-format #, javascript-format
msgid "%d%02d Until Full (%d%%)" msgid "%d%02d Until Full (%d%%)"
@ -1378,6 +1434,9 @@ msgstr "UPS"
msgid "Battery" msgid "Battery"
msgstr "Akku" msgstr "Akku"
#. The menu only appears when airplane mode is on, so just
#. statically build it as if it was on, rather than dynamically
#. changing the menu contents.
#: ../js/ui/status/rfkill.js:88 #: ../js/ui/status/rfkill.js:88
msgid "Airplane Mode" msgid "Airplane Mode"
msgstr "Lentokonetila" msgstr "Lentokonetila"
@ -1386,23 +1445,23 @@ msgstr "Lentokonetila"
msgid "On" msgid "On"
msgstr "Päällä" msgstr "Päällä"
#: ../js/ui/status/system.js:317 #: ../js/ui/status/system.js:314
msgid "Switch User" msgid "Switch User"
msgstr "Vaihda käyttäjää" msgstr "Vaihda käyttäjää"
#: ../js/ui/status/system.js:322 #: ../js/ui/status/system.js:319
msgid "Log Out" msgid "Log Out"
msgstr "Kirjaudu ulos" msgstr "Kirjaudu ulos"
#: ../js/ui/status/system.js:341 #: ../js/ui/status/system.js:338
msgid "Orientation Lock" msgid "Orientation Lock"
msgstr "Kiertolukitus" msgstr "Kiertolukitus"
#: ../js/ui/status/system.js:349 #: ../js/ui/status/system.js:346
msgid "Suspend" msgid "Suspend"
msgstr "Valmiustila" msgstr "Valmiustila"
#: ../js/ui/status/system.js:352 #: ../js/ui/status/system.js:349
msgid "Power Off" msgid "Power Off"
msgstr "Sammuta" msgstr "Sammuta"
@ -1445,7 +1504,7 @@ msgstr "Haluatko säilyttää nämä näyttöasetukset?"
#. Translators: this and the following message should be limited in lenght, #. Translators: this and the following message should be limited in lenght,
#. to avoid ellipsizing the labels. #. to avoid ellipsizing the labels.
#. */ #.
#: ../js/ui/windowManager.js:84 #: ../js/ui/windowManager.js:84
msgid "Revert Settings" msgid "Revert Settings"
msgstr "Palauta asetukset" msgstr "Palauta asetukset"
@ -1462,8 +1521,8 @@ msgstr[0] "Asetusmuutokset palautetaan %d sekunnissa"
msgstr[1] "Asetusmuutokset palautetaan %d sekunnissa" msgstr[1] "Asetusmuutokset palautetaan %d sekunnissa"
#. Translators: This represents the size of a window. The first number is #. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height. */ #. * the width of the window and the second is the height.
#: ../js/ui/windowManager.js:599 #: ../js/ui/windowManager.js:613
#, javascript-format #, javascript-format
msgid "%d x %d" msgid "%d x %d"
msgstr "%d x %d" msgstr "%d x %d"
@ -1534,28 +1593,28 @@ msgstr[1] "%u sisääntuloa"
msgid "System Sounds" msgid "System Sounds"
msgstr "Järjestelmän äänet" msgstr "Järjestelmän äänet"
#: ../src/main.c:373 #: ../src/main.c:372
msgid "Print version" msgid "Print version"
msgstr "Tulosta versio" msgstr "Tulosta versio"
#: ../src/main.c:379 #: ../src/main.c:378
msgid "Mode used by GDM for login screen" msgid "Mode used by GDM for login screen"
msgstr "GDM:n kirjautumisruudussa käyttämä tila" msgstr "GDM:n kirjautumisruudussa käyttämä tila"
#: ../src/main.c:385 #: ../src/main.c:384
msgid "Use a specific mode, e.g. \"gdm\" for login screen" msgid "Use a specific mode, e.g. \"gdm\" for login screen"
msgstr "" msgstr ""
#: ../src/main.c:391 #: ../src/main.c:390
msgid "List possible modes" msgid "List possible modes"
msgstr "Listaa mahdolliset tilat" msgstr "Listaa mahdolliset tilat"
#: ../src/shell-app.c:247 #: ../src/shell-app.c:239
msgctxt "program" msgctxt "program"
msgid "Unknown" msgid "Unknown"
msgstr "Tuntematon" msgstr "Tuntematon"
#: ../src/shell-app.c:488 #: ../src/shell-app.c:480
#, c-format #, c-format
msgid "Failed to launch “%s”" msgid "Failed to launch “%s”"
msgstr "Sovelluksen ”%s” käynnistäminen epäonnistui" msgstr "Sovelluksen ”%s” käynnistäminen epäonnistui"

1108
po/is.po

File diff suppressed because it is too large Load Diff

246
po/lt.po
View File

@ -11,7 +11,7 @@ msgstr ""
"Project-Id-Version: gnome-shell master\n" "Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n" "shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2015-03-14 08:44+0000\n" "POT-Creation-Date: 2015-10-11 17:10+0000\n"
"PO-Revision-Date: 2015-03-14 21:00+0200\n" "PO-Revision-Date: 2015-03-14 21:00+0200\n"
"Last-Translator: Aurimas Černius <aurisc4@gmail.com>\n" "Last-Translator: Aurimas Černius <aurisc4@gmail.com>\n"
"Language-Team: Lietuvių <gnome-lt@lists.akl.lt>\n" "Language-Team: Lietuvių <gnome-lt@lists.akl.lt>\n"
@ -300,12 +300,12 @@ msgstr "Atidėti fokuso pakeitimus pelei iki žymiklis nustos judėti"
msgid "Network Login" msgid "Network Login"
msgstr "Tinklo prisijungimas" msgstr "Tinklo prisijungimas"
#: ../js/extensionPrefs/main.js:123 #: ../js/extensionPrefs/main.js:122
#, javascript-format #, javascript-format
msgid "There was an error loading the preferences dialog for %s:" msgid "There was an error loading the preferences dialog for %s:"
msgstr "Kilo klaida įkeliant %s nustatymų dialogą:" msgstr "Kilo klaida įkeliant %s nustatymų dialogą:"
#: ../js/extensionPrefs/main.js:155 #: ../js/extensionPrefs/main.js:154
msgid "GNOME Shell Extensions" msgid "GNOME Shell Extensions"
msgstr "GNOME Shell plėtiniai" msgstr "GNOME Shell plėtiniai"
@ -316,39 +316,48 @@ msgstr "GNOME Shell plėtiniai"
msgid "Cancel" msgid "Cancel"
msgstr "Atsisakyti" msgstr "Atsisakyti"
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:217 #: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215
#: ../js/gdm/authPrompt.js:435
msgid "Next" msgid "Next"
msgstr "Kitas" msgstr "Kitas"
#: ../js/gdm/authPrompt.js:213 ../js/ui/shellMountOperation.js:403 #: ../js/gdm/authPrompt.js:211 ../js/ui/shellMountOperation.js:403
#: ../js/ui/unlockDialog.js:59 #: ../js/ui/unlockDialog.js:59
msgid "Unlock" msgid "Unlock"
msgstr "Atrakinti" msgstr "Atrakinti"
#: ../js/gdm/authPrompt.js:215 #: ../js/gdm/authPrompt.js:213
msgctxt "button" msgctxt "button"
msgid "Sign In" msgid "Sign In"
msgstr "Prisijungti" msgstr "Prisijungti"
#: ../js/gdm/loginDialog.js:280 #: ../js/gdm/loginDialog.js:281
msgid "Choose Session" msgid "Choose Session"
msgstr "Pasirinkite seansą" msgstr "Pasirinkite seansą"
#: ../js/gdm/loginDialog.js:421 #. translators: this message is shown below the user list on the
#. login screen. It can be activated to reveal an entry for
#. manually entering the username.
#: ../js/gdm/loginDialog.js:431
msgid "Not listed?" msgid "Not listed?"
msgstr "Nėra sąraše?" msgstr "Nėra sąraše?"
#: ../js/gdm/loginDialog.js:830 #. Translators: this message is shown below the username entry field
#. to clue the user in on how to login to the local network realm
#: ../js/gdm/loginDialog.js:847
#, javascript-format #, javascript-format
msgid "(e.g., user or %s)" msgid "(e.g., user or %s)"
msgstr "(pvz., naudotojas arba %s)" msgstr "(pvz., naudotojas arba %s)"
#: ../js/gdm/loginDialog.js:835 ../js/ui/components/networkAgent.js:271 #. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:852 ../js/ui/components/networkAgent.js:271
#: ../js/ui/components/networkAgent.js:289 #: ../js/ui/components/networkAgent.js:289
msgid "Username: " msgid "Username: "
msgstr "Naudotojo vardas: " msgstr "Naudotojo vardas: "
#: ../js/gdm/loginDialog.js:1170 #: ../js/gdm/loginDialog.js:1181
msgid "Login Window" msgid "Login Window"
msgstr "Prisijungimo langas" msgstr "Prisijungimo langas"
@ -356,6 +365,11 @@ msgstr "Prisijungimo langas"
msgid "Authentication error" msgid "Authentication error"
msgstr "Tapatybės patvirtinimo klaida" msgstr "Tapatybės patvirtinimo klaida"
#. We don't show fingerprint messages directly since it's
#. not the main auth service. Instead we use the messages
#. as a cue to display our own message.
#. Translators: this message is shown below the password entry field
#. to indicate the user can swipe their finger instead
#: ../js/gdm/util.js:473 #: ../js/gdm/util.js:473
msgid "(or swipe finger)" msgid "(or swipe finger)"
msgstr "(arba perbraukite pirštu)" msgstr "(arba perbraukite pirštu)"
@ -364,6 +378,8 @@ msgstr "(arba perbraukite pirštu)"
msgid "Command not found" msgid "Command not found"
msgstr "Komanda nerasta" msgstr "Komanda nerasta"
#. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer
#: ../js/misc/util.js:152 #: ../js/misc/util.js:152
msgid "Could not parse command:" msgid "Could not parse command:"
msgstr "Nepavyko perskaityti komandos:" msgstr "Nepavyko perskaityti komandos:"
@ -373,99 +389,107 @@ msgstr "Nepavyko perskaityti komandos:"
msgid "Execution of “%s” failed:" msgid "Execution of “%s” failed:"
msgstr "Nepavyko įvykdyti „%s“:" msgstr "Nepavyko įvykdyti „%s“:"
#. Translators: Time in 24h format */ #. Translators: Time in 24h format
#: ../js/misc/util.js:191 #: ../js/misc/util.js:191
msgid "%H%M" msgid "%H%M"
msgstr "%H%M" msgstr "%H%M"
#. Translators: this is the word "Yesterday" followed by a #. Translators: this is the word "Yesterday" followed by a
#. time string in 24h format. i.e. "Yesterday, 14:30" */ #. time string in 24h format. i.e. "Yesterday, 14:30"
#: ../js/misc/util.js:197 #: ../js/misc/util.js:197
#, no-c-format
msgid "Yesterday, %H%M" msgid "Yesterday, %H%M"
msgstr "Vakar, %H:%M" msgstr "Vakar, %H:%M"
#. Translators: this is the week day name followed by a time #. Translators: this is the week day name followed by a time
#. string in 24h format. i.e. "Monday, 14:30" */ #. string in 24h format. i.e. "Monday, 14:30"
#: ../js/misc/util.js:203 #: ../js/misc/util.js:203
#, no-c-format
msgid "%A, %H%M" msgid "%A, %H%M"
msgstr "%A, %H%M" msgstr "%A, %H%M"
#. Translators: this is the month name and day number #. Translators: this is the month name and day number
#. followed by a time string in 24h format. #. followed by a time string in 24h format.
#. i.e. "May 25, 14:30" */ #. i.e. "May 25, 14:30"
#: ../js/misc/util.js:209 #: ../js/misc/util.js:209
#, no-c-format
msgid "%B %d, %H%M" msgid "%B %d, %H%M"
msgstr "%B %d, %H%M" msgstr "%B %d, %H%M"
#. Translators: this is the month name, day number, year #. Translators: this is the month name, day number, year
#. number followed by a time string in 24h format. #. number followed by a time string in 24h format.
#. i.e. "May 25 2012, 14:30" */ #. i.e. "May 25 2012, 14:30"
#: ../js/misc/util.js:215 #: ../js/misc/util.js:215
#, no-c-format
msgid "%B %d %Y, %H%M" msgid "%B %d %Y, %H%M"
msgstr "%Y %m %d, %H%M" msgstr "%Y %m %d, %H%M"
#. Translators: Time in 12h format */ #. Translators: Time in 12h format
#: ../js/misc/util.js:220 #: ../js/misc/util.js:220
msgid "%l%M %p" msgid "%l%M %p"
msgstr "%l%M %p" msgstr "%l%M %p"
#. Translators: this is the word "Yesterday" followed by a #. Translators: this is the word "Yesterday" followed by a
#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */ #. time string in 12h format. i.e. "Yesterday, 2:30 pm"
#: ../js/misc/util.js:226 #: ../js/misc/util.js:226
#, no-c-format
msgid "Yesterday, %l%M %p" msgid "Yesterday, %l%M %p"
msgstr "Vakar, %l%M %p" msgstr "Vakar, %l%M %p"
#. Translators: this is the week day name followed by a time #. Translators: this is the week day name followed by a time
#. string in 12h format. i.e. "Monday, 2:30 pm" */ #. string in 12h format. i.e. "Monday, 2:30 pm"
#: ../js/misc/util.js:232 #: ../js/misc/util.js:232
#, no-c-format
msgid "%A, %l%M %p" msgid "%A, %l%M %p"
msgstr "%A, %l%M %p" msgstr "%A, %l%M %p"
#. Translators: this is the month name and day number #. Translators: this is the month name and day number
#. followed by a time string in 12h format. #. followed by a time string in 12h format.
#. i.e. "May 25, 2:30 pm" */ #. i.e. "May 25, 2:30 pm"
#: ../js/misc/util.js:238 #: ../js/misc/util.js:238
#, no-c-format
msgid "%B %d, %l%M %p" msgid "%B %d, %l%M %p"
msgstr "%B %d, %l%M %p" msgstr "%B %d, %l%M %p"
#. Translators: this is the month name, day number, year #. Translators: this is the month name, day number, year
#. number followed by a time string in 12h format. #. number followed by a time string in 12h format.
#. i.e. "May 25 2012, 2:30 pm"*/ #. i.e. "May 25 2012, 2:30 pm"
#: ../js/misc/util.js:244 #: ../js/misc/util.js:244
#, no-c-format
msgid "%B %d %Y, %l%M %p" msgid "%B %d %Y, %l%M %p"
msgstr "%Y %B %d, %l%M %p" msgstr "%Y %B %d, %l%M %p"
#. TRANSLATORS: this is the title of the wifi captive portal login #. TRANSLATORS: this is the title of the wifi captive portal login
#. * window, until we know the title of the actual login page */ #. * window, until we know the title of the actual login page
#: ../js/portalHelper/main.js:85 #: ../js/portalHelper/main.js:85
msgid "Web Authentication Redirect" msgid "Web Authentication Redirect"
msgstr "Reikia patvirtinti tapatybę internete" msgstr "Reikia patvirtinti tapatybę internete"
#: ../js/ui/appDisplay.js:792 #: ../js/ui/appDisplay.js:794
msgid "Frequently used applications will appear here" msgid "Frequently used applications will appear here"
msgstr "Čia bus matomos dažnai naudojamos programos" msgstr "Čia bus matomos dažnai naudojamos programos"
#: ../js/ui/appDisplay.js:912 #: ../js/ui/appDisplay.js:914
msgid "Frequent" msgid "Frequent"
msgstr "Dažnai naudojamos" msgstr "Dažnai naudojamos"
#: ../js/ui/appDisplay.js:919 #: ../js/ui/appDisplay.js:921
msgid "All" msgid "All"
msgstr "Visos" msgstr "Visos"
#: ../js/ui/appDisplay.js:1850 #: ../js/ui/appDisplay.js:1853
msgid "New Window" msgid "New Window"
msgstr "Naujas langas" msgstr "Naujas langas"
#: ../js/ui/appDisplay.js:1878 ../js/ui/dash.js:291 #: ../js/ui/appDisplay.js:1881 ../js/ui/dash.js:289
msgid "Remove from Favorites" msgid "Remove from Favorites"
msgstr "Pašalinti iš mėgstamų" msgstr "Pašalinti iš mėgstamų"
#: ../js/ui/appDisplay.js:1884 #: ../js/ui/appDisplay.js:1887
msgid "Add to Favorites" msgid "Add to Favorites"
msgstr "Pridėti prie mėgstamų" msgstr "Pridėti prie mėgstamų"
#: ../js/ui/appDisplay.js:1894 #: ../js/ui/appDisplay.js:1897
msgid "Show Details" msgid "Show Details"
msgstr "Rodyti detalią informaciją" msgstr "Rodyti detalią informaciją"
@ -480,7 +504,7 @@ msgid "%s has been removed from your favorites."
msgstr "%s pašalinta iš jūsų mėgstamų." msgstr "%s pašalinta iš jūsų mėgstamų."
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:650 #: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:650
#: ../js/ui/status/system.js:337 #: ../js/ui/status/system.js:334
msgid "Settings" msgid "Settings"
msgstr "Nustatymai" msgstr "Nustatymai"
@ -488,7 +512,7 @@ msgstr "Nustatymai"
msgid "Change Background…" msgid "Change Background…"
msgstr "Keisti foną…" msgstr "Keisti foną…"
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday). */ #. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday).
#: ../js/ui/calendar.js:53 #: ../js/ui/calendar.js:53
msgctxt "calendar-no-work" msgctxt "calendar-no-work"
msgid "06" msgid "06"
@ -498,95 +522,95 @@ msgstr "06"
#. * #. *
#. * NOTE: These grid abbreviations are always shown together #. * NOTE: These grid abbreviations are always shown together
#. * and in order, e.g. "S M T W T F S". #. * and in order, e.g. "S M T W T F S".
#. */ #.
#: ../js/ui/calendar.js:82 #: ../js/ui/calendar.js:82
msgctxt "grid sunday" msgctxt "grid sunday"
msgid "S" msgid "S"
msgstr "S" msgstr "S"
#. Translators: Calendar grid abbreviation for Monday */ #. Translators: Calendar grid abbreviation for Monday
#: ../js/ui/calendar.js:84 #: ../js/ui/calendar.js:84
msgctxt "grid monday" msgctxt "grid monday"
msgid "M" msgid "M"
msgstr "P" msgstr "P"
#. Translators: Calendar grid abbreviation for Tuesday */ #. Translators: Calendar grid abbreviation for Tuesday
#: ../js/ui/calendar.js:86 #: ../js/ui/calendar.js:86
msgctxt "grid tuesday" msgctxt "grid tuesday"
msgid "T" msgid "T"
msgstr "A" msgstr "A"
#. Translators: Calendar grid abbreviation for Wednesday */ #. Translators: Calendar grid abbreviation for Wednesday
#: ../js/ui/calendar.js:88 #: ../js/ui/calendar.js:88
msgctxt "grid wednesday" msgctxt "grid wednesday"
msgid "W" msgid "W"
msgstr "T" msgstr "T"
#. Translators: Calendar grid abbreviation for Thursday */ #. Translators: Calendar grid abbreviation for Thursday
#: ../js/ui/calendar.js:90 #: ../js/ui/calendar.js:90
msgctxt "grid thursday" msgctxt "grid thursday"
msgid "T" msgid "T"
msgstr "K" msgstr "K"
#. Translators: Calendar grid abbreviation for Friday */ #. Translators: Calendar grid abbreviation for Friday
#: ../js/ui/calendar.js:92 #: ../js/ui/calendar.js:92
msgctxt "grid friday" msgctxt "grid friday"
msgid "F" msgid "F"
msgstr "P" msgstr "P"
#. Translators: Calendar grid abbreviation for Saturday */ #. Translators: Calendar grid abbreviation for Saturday
#: ../js/ui/calendar.js:94 #: ../js/ui/calendar.js:94
msgctxt "grid saturday" msgctxt "grid saturday"
msgid "S" msgid "S"
msgstr "Š" msgstr "Š"
#: ../js/ui/calendar.js:563 #: ../js/ui/calendar.js:564
msgid "Previous month" msgid "Previous month"
msgstr "Ankstesnis mėnuo" msgstr "Ankstesnis mėnuo"
#: ../js/ui/calendar.js:573 #: ../js/ui/calendar.js:574
msgid "Next month" msgid "Next month"
msgstr "Kitas mėnuo" msgstr "Kitas mėnuo"
#: ../js/ui/calendar.js:780 #: ../js/ui/calendar.js:781
msgid "Week %V" msgid "Week %V"
msgstr "Savaitė %V" msgstr "Savaitė %V"
#. Translators: Shown in calendar event list for all day events #. Translators: Shown in calendar event list for all day events
#. * Keep it short, best if you can use less then 10 characters #. * Keep it short, best if you can use less then 10 characters
#. */ #.
#: ../js/ui/calendar.js:1182 #: ../js/ui/calendar.js:1187
msgctxt "event list time" msgctxt "event list time"
msgid "All Day" msgid "All Day"
msgstr "Visa diena" msgstr "Visa diena"
#: ../js/ui/calendar.js:1288 #: ../js/ui/calendar.js:1293
msgid "Clear section" msgid "Clear section"
msgstr "Išvalyti skiltį" msgstr "Išvalyti skiltį"
#: ../js/ui/calendar.js:1515 #: ../js/ui/calendar.js:1520
msgid "Events" msgid "Events"
msgstr "Įvykiai" msgstr "Įvykiai"
#: ../js/ui/calendar.js:1524 #: ../js/ui/calendar.js:1529
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d" msgid "%A, %B %d"
msgstr "%A, %B %d d." msgstr "%A, %B %d d."
#: ../js/ui/calendar.js:1528 #: ../js/ui/calendar.js:1533
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d, %Y" msgid "%A, %B %d, %Y"
msgstr "%A, %Y m. %B %d d." msgstr "%A, %Y m. %B %d d."
#: ../js/ui/calendar.js:1613 #: ../js/ui/calendar.js:1618
msgid "Notifications" msgid "Notifications"
msgstr "Pranešimai" msgstr "Pranešimai"
#: ../js/ui/calendar.js:1764 #: ../js/ui/calendar.js:1769
msgid "No Notifications" msgid "No Notifications"
msgstr "Nėra pranešimų" msgstr "Nėra pranešimų"
#: ../js/ui/calendar.js:1767 #: ../js/ui/calendar.js:1772
msgid "No Events" msgid "No Events"
msgstr "Nėra įvykių" msgstr "Nėra įvykių"
@ -616,6 +640,7 @@ msgstr "Įveskite dar kartą:"
msgid "Connect" msgid "Connect"
msgstr "Prisijungti" msgstr "Prisijungti"
#. Cisco LEAP
#: ../js/ui/components/networkAgent.js:233 #: ../js/ui/components/networkAgent.js:233
#: ../js/ui/components/networkAgent.js:245 #: ../js/ui/components/networkAgent.js:245
#: ../js/ui/components/networkAgent.js:273 #: ../js/ui/components/networkAgent.js:273
@ -624,6 +649,7 @@ msgstr "Prisijungti"
msgid "Password: " msgid "Password: "
msgstr "Slaptažodis: " msgstr "Slaptažodis: "
#. static WEP
#: ../js/ui/components/networkAgent.js:238 #: ../js/ui/components/networkAgent.js:238
msgid "Key: " msgid "Key: "
msgstr "Raktas: " msgstr "Raktas: "
@ -715,14 +741,14 @@ msgstr "Patvirtinti tapatybę"
#. Translators: "that didn't work" refers to the fact that the #. Translators: "that didn't work" refers to the fact that the
#. * requested authentication was not gained; this can happen #. * requested authentication was not gained; this can happen
#. * because of an authentication error (like invalid password), #. * because of an authentication error (like invalid password),
#. * for instance. */ #. * for instance.
#: ../js/ui/components/polkitAgent.js:271 ../js/ui/shellMountOperation.js:383 #: ../js/ui/components/polkitAgent.js:271 ../js/ui/shellMountOperation.js:383
msgid "Sorry, that didn't work. Please try again." msgid "Sorry, that didn't work. Please try again."
msgstr "Atsiprašome, tai nesuveikė. Bandykite dar kartą." msgstr "Atsiprašome, tai nesuveikė. Bandykite dar kartą."
#. Translators: this is the other person changing their old IM name to their new #. Translators: this is the other person changing their old IM name to their new
#. IM name. */ #. IM name.
#: ../js/ui/components/telepathyClient.js:775 #: ../js/ui/components/telepathyClient.js:757
#, javascript-format #, javascript-format
msgid "%s is now known as %s" msgid "%s is now known as %s"
msgstr "%s nuo šiol vadinasi %s" msgstr "%s nuo šiol vadinasi %s"
@ -731,25 +757,27 @@ msgstr "%s nuo šiol vadinasi %s"
msgid "Windows" msgid "Windows"
msgstr "Langai" msgstr "Langai"
#: ../js/ui/dash.js:252 ../js/ui/dash.js:293 #: ../js/ui/dash.js:250 ../js/ui/dash.js:291
msgid "Show Applications" msgid "Show Applications"
msgstr "Paleisti programas" msgstr "Paleisti programas"
#: ../js/ui/dash.js:453 #. Translators: this is the name of the dock/favorites area on
#. the left of the overview
#: ../js/ui/dash.js:449
msgid "Dash" msgid "Dash"
msgstr "Paleidimo sritis" msgstr "Paleidimo sritis"
#. Translators: This is the date format to use when the calendar popup is #. 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"). #. * 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:73
msgid "%B %e %Y" msgid "%B %e %Y"
msgstr "%B %e %Y" msgstr "%Y m. %B %d d."
#. Translators: This is the accessible name of the date button shown #. Translators: This is the accessible name of the date button shown
#. * below the time in the shell; it should combine the weekday and the #. * below the time in the shell; it should combine the weekday and the
#. * date, e.g. "Tuesday February 17 2015". #. * date, e.g. "Tuesday February 17 2015".
#. */ #.
#: ../js/ui/dateMenu.js:80 #: ../js/ui/dateMenu.js:80
msgid "%A %B %e %Y" msgid "%A %B %e %Y"
msgstr "%A, %Y %B %d" msgstr "%A, %Y %B %d"
@ -886,13 +914,13 @@ msgstr "Kai kurios programos dirba arba turi neįrašyto darbo."
msgid "Other users are logged in." msgid "Other users are logged in."
msgstr "Yra prisijungusių kitų naudotojų" msgstr "Yra prisijungusių kitų naudotojų"
#. Translators: Remote here refers to a remote session, like a ssh login */ #. Translators: Remote here refers to a remote session, like a ssh login
#: ../js/ui/endSessionDialog.js:640 #: ../js/ui/endSessionDialog.js:640
#, javascript-format #, javascript-format
msgid "%s (remote)" msgid "%s (remote)"
msgstr "%s (nutolęs)" msgstr "%s (nutolęs)"
#. Translators: Console here refers to a tty like a VT console */ #. Translators: Console here refers to a tty like a VT console
#: ../js/ui/endSessionDialog.js:643 #: ../js/ui/endSessionDialog.js:643
#, javascript-format #, javascript-format
msgid "%s (console)" msgid "%s (console)"
@ -907,17 +935,16 @@ msgstr "Įdiegti"
msgid "Download and install “%s” from extensions.gnome.org?" msgid "Download and install “%s” from extensions.gnome.org?"
msgstr "Parsiųsti ir įdiegti „%s“ iš extensions.gnome.org?" msgstr "Parsiųsti ir įdiegti „%s“ iš extensions.gnome.org?"
#: ../js/ui/keyboard.js:714 ../js/ui/status/keyboard.js:580 #: ../js/ui/keyboard.js:741 ../js/ui/status/keyboard.js:713
msgid "Keyboard" msgid "Keyboard"
msgstr "Klaviatūra" msgstr "Klaviatūra"
#. translators: 'Hide' is a verb */ #. translators: 'Hide' is a verb
#: ../js/ui/legacyTray.js:59 #: ../js/ui/legacyTray.js:66
#| msgid "Hide Text"
msgid "Hide tray" msgid "Hide tray"
msgstr "Slėpti dėklą" msgstr "Slėpti dėklą"
#: ../js/ui/legacyTray.js:91 #: ../js/ui/legacyTray.js:107
msgid "Status Icons" msgid "Status Icons"
msgstr "Būsenos piktogramos" msgstr "Būsenos piktogramos"
@ -925,7 +952,7 @@ msgstr "Būsenos piktogramos"
msgid "No extensions installed" msgid "No extensions installed"
msgstr "Nėra įdiegtų plėtinių" msgstr "Nėra įdiegtų plėtinių"
#. Translators: argument is an extension UUID. */ #. Translators: argument is an extension UUID.
#: ../js/ui/lookingGlass.js:697 #: ../js/ui/lookingGlass.js:697
#, javascript-format #, javascript-format
msgid "%s has not emitted any errors." msgid "%s has not emitted any errors."
@ -945,7 +972,7 @@ msgid "Enabled"
msgstr "Įjungta" msgstr "Įjungta"
#. Translators: this is for a network device that cannot be activated #. Translators: this is for a network device that cannot be activated
#. because it's disabled by rfkill (airplane mode) */ #. because it's disabled by rfkill (airplane mode)
#. translators: #. translators:
#. * The device has been disabled #. * The device has been disabled
#: ../js/ui/lookingGlass.js:719 ../js/ui/status/location.js:179 #: ../js/ui/lookingGlass.js:719 ../js/ui/status/location.js:179
@ -973,7 +1000,7 @@ msgstr "Žiūrėti šaltinį"
msgid "Web Page" msgid "Web Page"
msgstr "Tinklalapis" msgstr "Tinklalapis"
#: ../js/ui/messageTray.js:2133 #: ../js/ui/messageTray.js:1506
msgid "System Information" msgid "System Information"
msgstr "Sistemos informacija" msgstr "Sistemos informacija"
@ -988,7 +1015,7 @@ msgstr "Apžvalga"
#. Translators: this is the text displayed #. Translators: this is the text displayed
#. in the search entry when no search is #. in the search entry when no search is
#. active; it should not exceed ~30 #. active; it should not exceed ~30
#. characters. */ #. characters.
#: ../js/ui/overview.js:246 #: ../js/ui/overview.js:246
msgid "Type to search…" msgid "Type to search…"
msgstr "Rašykite, ko ieškote…" msgstr "Rašykite, ko ieškote…"
@ -998,7 +1025,7 @@ msgid "Quit"
msgstr "Užverti" msgstr "Užverti"
#. Translators: If there is no suitable word for "Activities" #. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview". */ #. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:404 #: ../js/ui/panel.js:404
msgid "Activities" msgid "Activities"
msgstr "Apžvalga" msgstr "Apžvalga"
@ -1007,6 +1034,11 @@ msgstr "Apžvalga"
msgid "Top Bar" msgid "Top Bar"
msgstr "Viršutinė juosta" msgstr "Viršutinė juosta"
#. Translators: this MUST be either "toggle-switch-us"
#. (for toggle switches containing the English words
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
#. switches containing "◯" and "|"). Other values will
#. simply result in invisible toggle switches.
#: ../js/ui/popupMenu.js:289 #: ../js/ui/popupMenu.js:289
msgid "toggle-switch-us" msgid "toggle-switch-us"
msgstr "toggle-switch-intl" msgstr "toggle-switch-intl"
@ -1024,7 +1056,7 @@ msgid "Restarting…"
msgstr "Perleidžiama…" msgstr "Perleidžiama…"
#. Translators: This is a time format for a date in #. Translators: This is a time format for a date in
#. long format */ #. long format
#: ../js/ui/screenShield.js:85 #: ../js/ui/screenShield.js:85
msgid "%A, %B %d" msgid "%A, %B %d"
msgstr "%A, %B %d d." msgstr "%A, %B %d d."
@ -1045,27 +1077,34 @@ msgstr[0] "%d naujas pranešimas"
msgstr[1] "%d nauji pranešimai" msgstr[1] "%d nauji pranešimai"
msgstr[2] "%d naujų pranešimų" msgstr[2] "%d naujų pranešimų"
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:345 #: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:342
msgid "Lock" msgid "Lock"
msgstr "Užrakinti" msgstr "Užrakinti"
#: ../js/ui/screenShield.js:668 #: ../js/ui/screenShield.js:684
msgid "GNOME needs to lock the screen" msgid "GNOME needs to lock the screen"
msgstr "GNOME aplinkai reikia užrakinti ekraną" msgstr "GNOME aplinkai reikia užrakinti ekraną"
#: ../js/ui/screenShield.js:795 ../js/ui/screenShield.js:1271 #. We could not become modal, so we can't activate the
#. screenshield. The user is probably very upset at this
#. point, but any application using global grabs is broken
#. Just tell him to stop using this app
#.
#. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs
#: ../js/ui/screenShield.js:805 ../js/ui/screenShield.js:1271
msgid "Unable to lock" msgid "Unable to lock"
msgstr "Nepavyksta užrakinti" msgstr "Nepavyksta užrakinti"
#: ../js/ui/screenShield.js:796 ../js/ui/screenShield.js:1272 #: ../js/ui/screenShield.js:806 ../js/ui/screenShield.js:1272
msgid "Lock was blocked by an application" msgid "Lock was blocked by an application"
msgstr "Programa užblokavo užrakinimą" msgstr "Programa užblokavo užrakinimą"
#: ../js/ui/search.js:616 #: ../js/ui/search.js:617
msgid "Searching…" msgid "Searching…"
msgstr "Ieškoma…" msgstr "Ieškoma…"
#: ../js/ui/search.js:618 #: ../js/ui/search.js:619
msgid "No results." msgid "No results."
msgstr "Nerasta atitikmenų." msgstr "Nerasta atitikmenų."
@ -1129,14 +1168,16 @@ msgstr "Pasikartojantieji klavišai"
msgid "Mouse Keys" msgid "Mouse Keys"
msgstr "Pelės mygtukai" msgstr "Pelės mygtukai"
#: ../js/ui/status/accessibility.js:144 #: ../js/ui/status/accessibility.js:167
msgid "High Contrast" msgid "High Contrast"
msgstr "Didelis kontrastas" msgstr "Didelis kontrastas"
#: ../js/ui/status/accessibility.js:193 #: ../js/ui/status/accessibility.js:202
msgid "Large Text" msgid "Large Text"
msgstr "Didelis tekstas" msgstr "Didelis tekstas"
#. The Bluetooth menu only appears when Bluetooth is in use,
#. so just statically build it with a "Turn Off" menu item.
#: ../js/ui/status/bluetooth.js:49 #: ../js/ui/status/bluetooth.js:49
msgid "Bluetooth" msgid "Bluetooth"
msgstr "Bluetooth" msgstr "Bluetooth"
@ -1168,7 +1209,7 @@ msgstr "Atsijungta"
msgid "Brightness" msgid "Brightness"
msgstr "Ryškumas" msgstr "Ryškumas"
#: ../js/ui/status/keyboard.js:603 #: ../js/ui/status/keyboard.js:736
msgid "Show Keyboard Layout" msgid "Show Keyboard Layout"
msgstr "Rodyti klaviatūros išdėstymą" msgstr "Rodyti klaviatūros išdėstymą"
@ -1206,7 +1247,7 @@ msgid "Connected"
msgstr "Prisijungta" msgstr "Prisijungta"
#. Translators: this is for network devices that are physically present but are not #. 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) */ #. under NetworkManager's control (and thus cannot be used in the menu)
#: ../js/ui/status/network.js:463 #: ../js/ui/status/network.js:463
msgid "Unmanaged" msgid "Unmanaged"
msgstr "Nevaldomas" msgstr "Nevaldomas"
@ -1219,19 +1260,19 @@ msgstr "Atsijungiama"
msgid "Connecting" msgid "Connecting"
msgstr "Jungiamasi" msgstr "Jungiamasi"
#. Translators: this is for network connections that require some kind of key or password */ #. Translators: this is for network connections that require some kind of key or password
#: ../js/ui/status/network.js:474 #: ../js/ui/status/network.js:474
msgid "Authentication required" msgid "Authentication required"
msgstr "Reikia patvirtinti tapatybę" msgstr "Reikia patvirtinti tapatybę"
#. Translators: this is for devices that require some kind of firmware or kernel #. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing */ #. module, which is missing
#: ../js/ui/status/network.js:482 #: ../js/ui/status/network.js:482
msgid "Firmware missing" msgid "Firmware missing"
msgstr "Trūksta integruotos programinės įrangos (firmware)" msgstr "Trūksta integruotos programinės įrangos (firmware)"
#. Translators: this is for a network device that cannot be activated (for example it #. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage */ #. is disabled by rfkill, or it has no coverage
#: ../js/ui/status/network.js:486 #: ../js/ui/status/network.js:486
msgid "Unavailable" msgid "Unavailable"
msgstr "Nepasiekiamas" msgstr "Nepasiekiamas"
@ -1316,7 +1357,7 @@ msgstr "Prieigos taškas aktyvus"
msgid "connecting..." msgid "connecting..."
msgstr "jungiamasi..." msgstr "jungiamasi..."
#. Translators: this is for network connections that require some kind of key or password */ #. Translators: this is for network connections that require some kind of key or password
#: ../js/ui/status/network.js:1413 #: ../js/ui/status/network.js:1413
msgid "authentication required" msgid "authentication required"
msgstr "reikia patvirtinti tapatybę" msgstr "reikia patvirtinti tapatybę"
@ -1349,15 +1390,19 @@ msgstr "Energijos valdymo nustatymai"
msgid "Fully Charged" msgid "Fully Charged"
msgstr "Pilnai įkrauta" msgstr "Pilnai įkrauta"
#. 0 is reported when UPower does not have enough data
#. to estimate battery life
#: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78 #: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78
msgid "Estimating…" msgid "Estimating…"
msgstr "Įvertinama…" msgstr "Įvertinama…"
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
#: ../js/ui/status/power.js:86 #: ../js/ui/status/power.js:86
#, javascript-format #, javascript-format
msgid "%d%02d Remaining (%d%%)" msgid "%d%02d Remaining (%d%%)"
msgstr "Liko %d%02d (%d%%)" msgstr "Liko %d%02d (%d%%)"
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
#: ../js/ui/status/power.js:91 #: ../js/ui/status/power.js:91
#, javascript-format #, javascript-format
msgid "%d%02d Until Full (%d%%)" msgid "%d%02d Until Full (%d%%)"
@ -1371,6 +1416,9 @@ msgstr "UPS"
msgid "Battery" msgid "Battery"
msgstr "Baterija" msgstr "Baterija"
#. The menu only appears when airplane mode is on, so just
#. statically build it as if it was on, rather than dynamically
#. changing the menu contents.
#: ../js/ui/status/rfkill.js:88 #: ../js/ui/status/rfkill.js:88
msgid "Airplane Mode" msgid "Airplane Mode"
msgstr "Skrydžio veiksena" msgstr "Skrydžio veiksena"
@ -1379,23 +1427,23 @@ msgstr "Skrydžio veiksena"
msgid "On" msgid "On"
msgstr "Įjungta" msgstr "Įjungta"
#: ../js/ui/status/system.js:317 #: ../js/ui/status/system.js:314
msgid "Switch User" msgid "Switch User"
msgstr "Keisti naudotoją" msgstr "Keisti naudotoją"
#: ../js/ui/status/system.js:322 #: ../js/ui/status/system.js:319
msgid "Log Out" msgid "Log Out"
msgstr "Atsijungti" msgstr "Atsijungti"
#: ../js/ui/status/system.js:341 #: ../js/ui/status/system.js:338
msgid "Orientation Lock" msgid "Orientation Lock"
msgstr "Padėties užrakinimas" msgstr "Padėties užrakinimas"
#: ../js/ui/status/system.js:349 #: ../js/ui/status/system.js:346
msgid "Suspend" msgid "Suspend"
msgstr "Užmigdyti" msgstr "Užmigdyti"
#: ../js/ui/status/system.js:352 #: ../js/ui/status/system.js:349
msgid "Power Off" msgid "Power Off"
msgstr "Išjungti" msgstr "Išjungti"
@ -1438,7 +1486,7 @@ msgstr "Ar nori įrašyti šiuos vaizduoklio nustatymus?"
#. Translators: this and the following message should be limited in lenght, #. Translators: this and the following message should be limited in lenght,
#. to avoid ellipsizing the labels. #. to avoid ellipsizing the labels.
#. */ #.
#: ../js/ui/windowManager.js:84 #: ../js/ui/windowManager.js:84
msgid "Revert Settings" msgid "Revert Settings"
msgstr "Grąžinti nustatymus" msgstr "Grąžinti nustatymus"
@ -1456,8 +1504,8 @@ msgstr[1] "Pakeitimai bus grąžinti po %d sekundžių"
msgstr[2] "Pakeitimai bus grąžinti po %d sekundžių" msgstr[2] "Pakeitimai bus grąžinti po %d sekundžių"
#. Translators: This represents the size of a window. The first number is #. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height. */ #. * the width of the window and the second is the height.
#: ../js/ui/windowManager.js:599 #: ../js/ui/windowManager.js:613
#, javascript-format #, javascript-format
msgid "%d x %d" msgid "%d x %d"
msgstr "%d x %d" msgstr "%d x %d"
@ -1530,28 +1578,28 @@ msgstr[2] "%u įvesčių"
msgid "System Sounds" msgid "System Sounds"
msgstr "Sistemos garsai" msgstr "Sistemos garsai"
#: ../src/main.c:373 #: ../src/main.c:372
msgid "Print version" msgid "Print version"
msgstr "Išvesti versijos numerį" msgstr "Išvesti versijos numerį"
#: ../src/main.c:379 #: ../src/main.c:378
msgid "Mode used by GDM for login screen" msgid "Mode used by GDM for login screen"
msgstr "Veiksena, naudojama GDM prisijungimo ekrane" msgstr "Veiksena, naudojama GDM prisijungimo ekrane"
#: ../src/main.c:385 #: ../src/main.c:384
msgid "Use a specific mode, e.g. \"gdm\" for login screen" msgid "Use a specific mode, e.g. \"gdm\" for login screen"
msgstr "Naudoti konkrečią veikseną, pvz., „gdm“ prisijungimo ekranui" msgstr "Naudoti konkrečią veikseną, pvz., „gdm“ prisijungimo ekranui"
#: ../src/main.c:391 #: ../src/main.c:390
msgid "List possible modes" msgid "List possible modes"
msgstr "Išvardinti galimas veiksenas" msgstr "Išvardinti galimas veiksenas"
#: ../src/shell-app.c:247 #: ../src/shell-app.c:239
msgctxt "program" msgctxt "program"
msgid "Unknown" msgid "Unknown"
msgstr "Nežinoma" msgstr "Nežinoma"
#: ../src/shell-app.c:488 #: ../src/shell-app.c:480
#, c-format #, c-format
msgid "Failed to launch “%s”" msgid "Failed to launch “%s”"
msgstr "Nepavyko paleisti „%s“" msgstr "Nepavyko paleisti „%s“"

113
po/nb.po
View File

@ -9,8 +9,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: gnome-shell 3.15.x\n" "Project-Id-Version: gnome-shell 3.15.x\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-03-19 20:47+0100\n" "POT-Creation-Date: 2015-10-16 18:14+0200\n"
"PO-Revision-Date: 2015-03-19 20:56+0100\n" "PO-Revision-Date: 2015-10-16 18:14+0200\n"
"Last-Translator: Åka Sikrom <a4NOSPAMPLEASETHANKYOU@hush.com>\n" "Last-Translator: Åka Sikrom <a4NOSPAMPLEASETHANKYOU@hush.com>\n"
"Language-Team: Norwegian bokmål <i18n-nb@lister.ping.uio.no>\n" "Language-Team: Norwegian bokmål <i18n-nb@lister.ping.uio.no>\n"
"Language: Norwegian bokmål\n" "Language: Norwegian bokmål\n"
@ -296,12 +296,12 @@ msgstr "Utsett fokusendringer i musmodus til peker slutter å bevege seg"
msgid "Network Login" msgid "Network Login"
msgstr "Nettverkspålogging" msgstr "Nettverkspålogging"
#: ../js/extensionPrefs/main.js:123 #: ../js/extensionPrefs/main.js:122
#, javascript-format #, javascript-format
msgid "There was an error loading the preferences dialog for %s:" msgid "There was an error loading the preferences dialog for %s:"
msgstr "Det oppsto en feil ved lasting av brukervalgdialog for %s:" msgstr "Det oppsto en feil ved lasting av brukervalgdialog for %s:"
#: ../js/extensionPrefs/main.js:155 #: ../js/extensionPrefs/main.js:154
msgid "GNOME Shell Extensions" msgid "GNOME Shell Extensions"
msgstr "Utvidelser for GNOME Shell" msgstr "Utvidelser for GNOME Shell"
@ -312,34 +312,35 @@ msgstr "Utvidelser for GNOME Shell"
msgid "Cancel" msgid "Cancel"
msgstr "Avbryt" msgstr "Avbryt"
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:217 #: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215
#: ../js/gdm/authPrompt.js:435
msgid "Next" msgid "Next"
msgstr "Neste" msgstr "Neste"
#: ../js/gdm/authPrompt.js:213 ../js/ui/shellMountOperation.js:403 #: ../js/gdm/authPrompt.js:211 ../js/ui/shellMountOperation.js:403
#: ../js/ui/unlockDialog.js:59 #: ../js/ui/unlockDialog.js:59
msgid "Unlock" msgid "Unlock"
msgstr "Lås opp" msgstr "Lås opp"
#: ../js/gdm/authPrompt.js:215 #: ../js/gdm/authPrompt.js:213
msgctxt "button" msgctxt "button"
msgid "Sign In" msgid "Sign In"
msgstr "Logg inn" msgstr "Logg inn"
#: ../js/gdm/loginDialog.js:280 #: ../js/gdm/loginDialog.js:281
msgid "Choose Session" msgid "Choose Session"
msgstr "Velg økt" msgstr "Velg økt"
#. translators: this message is shown below the user list on the #. translators: this message is shown below the user list on the
#. login screen. It can be activated to reveal an entry for #. login screen. It can be activated to reveal an entry for
#. manually entering the username. #. manually entering the username.
#: ../js/gdm/loginDialog.js:421 #: ../js/gdm/loginDialog.js:431
msgid "Not listed?" msgid "Not listed?"
msgstr "Ikke listet?" msgstr "Ikke listet?"
#. Translators: this message is shown below the username entry field #. Translators: this message is shown below the username entry field
#. to clue the user in on how to login to the local network realm #. to clue the user in on how to login to the local network realm
#: ../js/gdm/loginDialog.js:830 #: ../js/gdm/loginDialog.js:847
#, javascript-format #, javascript-format
msgid "(e.g., user or %s)" msgid "(e.g., user or %s)"
msgstr "(f.eks. bruker eller %s)" msgstr "(f.eks. bruker eller %s)"
@ -347,12 +348,12 @@ msgstr "(f.eks. bruker eller %s)"
#. TTLS and PEAP are actually much more complicated, but this complication #. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication #. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one) #. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:835 ../js/ui/components/networkAgent.js:271 #: ../js/gdm/loginDialog.js:852 ../js/ui/components/networkAgent.js:271
#: ../js/ui/components/networkAgent.js:289 #: ../js/ui/components/networkAgent.js:289
msgid "Username: " msgid "Username: "
msgstr "Brukernavn: " msgstr "Brukernavn: "
#: ../js/gdm/loginDialog.js:1163 #: ../js/gdm/loginDialog.js:1181
msgid "Login Window" msgid "Login Window"
msgstr "Innloggingsvindu" msgstr "Innloggingsvindu"
@ -460,31 +461,31 @@ msgstr "%d %B %Y, %H.%M"
msgid "Web Authentication Redirect" msgid "Web Authentication Redirect"
msgstr "Omdirigering av autentisering på nett" msgstr "Omdirigering av autentisering på nett"
#: ../js/ui/appDisplay.js:792 #: ../js/ui/appDisplay.js:794
msgid "Frequently used applications will appear here" msgid "Frequently used applications will appear here"
msgstr "Ofte brukte programmer vises her" msgstr "Ofte brukte programmer vises her"
#: ../js/ui/appDisplay.js:912 #: ../js/ui/appDisplay.js:914
msgid "Frequent" msgid "Frequent"
msgstr "Ofte" msgstr "Ofte"
#: ../js/ui/appDisplay.js:919 #: ../js/ui/appDisplay.js:921
msgid "All" msgid "All"
msgstr "Alle" msgstr "Alle"
#: ../js/ui/appDisplay.js:1850 #: ../js/ui/appDisplay.js:1853
msgid "New Window" msgid "New Window"
msgstr "Nytt vindu" msgstr "Nytt vindu"
#: ../js/ui/appDisplay.js:1878 ../js/ui/dash.js:291 #: ../js/ui/appDisplay.js:1881 ../js/ui/dash.js:289
msgid "Remove from Favorites" msgid "Remove from Favorites"
msgstr "Fjern fra favoritter" msgstr "Fjern fra favoritter"
#: ../js/ui/appDisplay.js:1884 #: ../js/ui/appDisplay.js:1887
msgid "Add to Favorites" msgid "Add to Favorites"
msgstr "Legg til i favoritter" msgstr "Legg til i favoritter"
#: ../js/ui/appDisplay.js:1894 #: ../js/ui/appDisplay.js:1897
msgid "Show Details" msgid "Show Details"
msgstr "Vis detaljer" msgstr "Vis detaljer"
@ -499,7 +500,7 @@ msgid "%s has been removed from your favorites."
msgstr "%s ble fjernet fra favoritter." msgstr "%s ble fjernet fra favoritter."
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:650 #: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:650
#: ../js/ui/status/system.js:337 #: ../js/ui/status/system.js:334
msgid "Settings" msgid "Settings"
msgstr "Innstillinger" msgstr "Innstillinger"
@ -574,38 +575,38 @@ msgstr "Uke %V"
#. Translators: Shown in calendar event list for all day events #. Translators: Shown in calendar event list for all day events
#. * Keep it short, best if you can use less then 10 characters #. * Keep it short, best if you can use less then 10 characters
#. #.
#: ../js/ui/calendar.js:1183 #: ../js/ui/calendar.js:1187
msgctxt "event list time" msgctxt "event list time"
msgid "All Day" msgid "All Day"
msgstr "Hele dagen" msgstr "Hele dagen"
#: ../js/ui/calendar.js:1289 #: ../js/ui/calendar.js:1293
msgid "Clear section" msgid "Clear section"
msgstr "Tøm seksjon" msgstr "Tøm seksjon"
#: ../js/ui/calendar.js:1516 #: ../js/ui/calendar.js:1520
msgid "Events" msgid "Events"
msgstr "Hendelser" msgstr "Hendelser"
#: ../js/ui/calendar.js:1525 #: ../js/ui/calendar.js:1529
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d" msgid "%A, %B %d"
msgstr "%A %B %d" msgstr "%A %B %d"
#: ../js/ui/calendar.js:1529 #: ../js/ui/calendar.js:1533
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d, %Y" msgid "%A, %B %d, %Y"
msgstr "%A %B %d, %Y" msgstr "%A %B %d, %Y"
#: ../js/ui/calendar.js:1614 #: ../js/ui/calendar.js:1618
msgid "Notifications" msgid "Notifications"
msgstr "Varslinger" msgstr "Varslinger"
#: ../js/ui/calendar.js:1765 #: ../js/ui/calendar.js:1769
msgid "No Notifications" msgid "No Notifications"
msgstr "Ingen varslinger" msgstr "Ingen varslinger"
#: ../js/ui/calendar.js:1768 #: ../js/ui/calendar.js:1772
msgid "No Events" msgid "No Events"
msgstr "Ingen hendelser" msgstr "Ingen hendelser"
@ -743,7 +744,7 @@ msgstr "Beklager, det virket ikke. Prøv igjen."
#. Translators: this is the other person changing their old IM name to their new #. Translators: this is the other person changing their old IM name to their new
#. IM name. #. IM name.
#: ../js/ui/components/telepathyClient.js:728 #: ../js/ui/components/telepathyClient.js:757
#, javascript-format #, javascript-format
msgid "%s is now known as %s" msgid "%s is now known as %s"
msgstr "%s er nå kjent som %s" msgstr "%s er nå kjent som %s"
@ -752,13 +753,13 @@ msgstr "%s er nå kjent som %s"
msgid "Windows" msgid "Windows"
msgstr "Vinduer" msgstr "Vinduer"
#: ../js/ui/dash.js:252 ../js/ui/dash.js:293 #: ../js/ui/dash.js:250 ../js/ui/dash.js:291
msgid "Show Applications" msgid "Show Applications"
msgstr "Vis programmer" msgstr "Vis programmer"
#. Translators: this is the name of the dock/favorites area on #. Translators: this is the name of the dock/favorites area on
#. the left of the overview #. the left of the overview
#: ../js/ui/dash.js:453 #: ../js/ui/dash.js:449
msgid "Dash" msgid "Dash"
msgstr "Favoritter" msgstr "Favoritter"
@ -925,16 +926,16 @@ msgstr "Installer"
msgid "Download and install “%s” from extensions.gnome.org?" msgid "Download and install “%s” from extensions.gnome.org?"
msgstr "Vil du laste ned og installere «%s» fra extensions.gnome.org?" msgstr "Vil du laste ned og installere «%s» fra extensions.gnome.org?"
#: ../js/ui/keyboard.js:714 ../js/ui/status/keyboard.js:724 #: ../js/ui/keyboard.js:741 ../js/ui/status/keyboard.js:713
msgid "Keyboard" msgid "Keyboard"
msgstr "Tastatur" msgstr "Tastatur"
#. translators: 'Hide' is a verb #. translators: 'Hide' is a verb
#: ../js/ui/legacyTray.js:64 #: ../js/ui/legacyTray.js:66
msgid "Hide tray" msgid "Hide tray"
msgstr "Skjul statusområde" msgstr "Skjul statusområde"
#: ../js/ui/legacyTray.js:104 #: ../js/ui/legacyTray.js:107
msgid "Status Icons" msgid "Status Icons"
msgstr "Statusikoner" msgstr "Statusikoner"
@ -990,7 +991,7 @@ msgstr "Vis kildekode"
msgid "Web Page" msgid "Web Page"
msgstr "Nettside" msgstr "Nettside"
#: ../js/ui/messageTray.js:1507 #: ../js/ui/messageTray.js:1506
msgid "System Information" msgid "System Information"
msgstr "Systeminformasjon" msgstr "Systeminformasjon"
@ -1065,11 +1066,11 @@ msgid_plural "%d new notifications"
msgstr[0] "%d ny varsling" msgstr[0] "%d ny varsling"
msgstr[1] "%d nye varslinger" msgstr[1] "%d nye varslinger"
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:345 #: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:342
msgid "Lock" msgid "Lock"
msgstr "Lås" msgstr "Lås"
#: ../js/ui/screenShield.js:668 #: ../js/ui/screenShield.js:684
msgid "GNOME needs to lock the screen" msgid "GNOME needs to lock the screen"
msgstr "GNOME må låse skjermen" msgstr "GNOME må låse skjermen"
@ -1080,19 +1081,19 @@ msgstr "GNOME må låse skjermen"
#. #.
#. XXX: another option is to kick the user into the gdm login #. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs #. screen, where we're not affected by grabs
#: ../js/ui/screenShield.js:795 ../js/ui/screenShield.js:1271 #: ../js/ui/screenShield.js:805 ../js/ui/screenShield.js:1271
msgid "Unable to lock" msgid "Unable to lock"
msgstr "Klarte ikke å låse" msgstr "Klarte ikke å låse"
#: ../js/ui/screenShield.js:796 ../js/ui/screenShield.js:1272 #: ../js/ui/screenShield.js:806 ../js/ui/screenShield.js:1272
msgid "Lock was blocked by an application" msgid "Lock was blocked by an application"
msgstr "Låsing ble stoppet av et program" msgstr "Låsing ble stoppet av et program"
#: ../js/ui/search.js:616 #: ../js/ui/search.js:617
msgid "Searching…" msgid "Searching…"
msgstr "Søker …" msgstr "Søker …"
#: ../js/ui/search.js:618 #: ../js/ui/search.js:619
msgid "No results." msgid "No results."
msgstr "Ingen resultater." msgstr "Ingen resultater."
@ -1156,11 +1157,11 @@ msgstr "Spretne taster"
msgid "Mouse Keys" msgid "Mouse Keys"
msgstr "Mustaster" msgstr "Mustaster"
#: ../js/ui/status/accessibility.js:144 #: ../js/ui/status/accessibility.js:167
msgid "High Contrast" msgid "High Contrast"
msgstr "Høy kontrast" msgstr "Høy kontrast"
#: ../js/ui/status/accessibility.js:193 #: ../js/ui/status/accessibility.js:202
msgid "Large Text" msgid "Large Text"
msgstr "Stor tekst" msgstr "Stor tekst"
@ -1196,7 +1197,7 @@ msgstr "Ikke koblet til"
msgid "Brightness" msgid "Brightness"
msgstr "Lysstyrke" msgstr "Lysstyrke"
#: ../js/ui/status/keyboard.js:747 #: ../js/ui/status/keyboard.js:736
msgid "Show Keyboard Layout" msgid "Show Keyboard Layout"
msgstr "Vis tastaturutforming" msgstr "Vis tastaturutforming"
@ -1414,23 +1415,23 @@ msgstr "Flymodus"
msgid "On" msgid "On"
msgstr "På" msgstr "På"
#: ../js/ui/status/system.js:317 #: ../js/ui/status/system.js:314
msgid "Switch User" msgid "Switch User"
msgstr "Bytt bruker" msgstr "Bytt bruker"
#: ../js/ui/status/system.js:322 #: ../js/ui/status/system.js:319
msgid "Log Out" msgid "Log Out"
msgstr "Logg ut" msgstr "Logg ut"
#: ../js/ui/status/system.js:341 #: ../js/ui/status/system.js:338
msgid "Orientation Lock" msgid "Orientation Lock"
msgstr "Lås for orientering" msgstr "Lås for orientering"
#: ../js/ui/status/system.js:349 #: ../js/ui/status/system.js:346
msgid "Suspend" msgid "Suspend"
msgstr "Hvilemodus" msgstr "Hvilemodus"
#: ../js/ui/status/system.js:352 #: ../js/ui/status/system.js:349
msgid "Power Off" msgid "Power Off"
msgstr "Slå av" msgstr "Slå av"
@ -1491,7 +1492,7 @@ msgstr[1] "Endringer i innstillingene forkastes om %d sekunder"
#. Translators: This represents the size of a window. The first number is #. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height. #. * the width of the window and the second is the height.
#: ../js/ui/windowManager.js:599 #: ../js/ui/windowManager.js:613
#, javascript-format #, javascript-format
msgid "%d x %d" msgid "%d x %d"
msgstr "%d x %d" msgstr "%d x %d"
@ -1530,11 +1531,11 @@ msgstr "Alltid på synlig arbeidsområde"
#: ../js/ui/windowMenu.js:106 #: ../js/ui/windowMenu.js:106
msgid "Move to Workspace Up" msgid "Move to Workspace Up"
msgstr " til arbeidsområdet over" msgstr "Flytt til arbeidsområdet over"
#: ../js/ui/windowMenu.js:111 #: ../js/ui/windowMenu.js:111
msgid "Move to Workspace Down" msgid "Move to Workspace Down"
msgstr " til arbeidsområdet under" msgstr "Flytt til arbeidsområdet under"
#: ../src/calendar-server/evolution-calendar.desktop.in.in.h:1 #: ../src/calendar-server/evolution-calendar.desktop.in.in.h:1
msgid "Evolution Calendar" msgid "Evolution Calendar"
@ -1562,19 +1563,19 @@ msgstr[1] "%u innganger"
msgid "System Sounds" msgid "System Sounds"
msgstr "Systemlyder" msgstr "Systemlyder"
#: ../src/main.c:373 #: ../src/main.c:372
msgid "Print version" msgid "Print version"
msgstr "Vis versjon" msgstr "Vis versjon"
#: ../src/main.c:379 #: ../src/main.c:378
msgid "Mode used by GDM for login screen" msgid "Mode used by GDM for login screen"
msgstr "Modus som brukes av GDM for innloggingsskjermen" msgstr "Modus som brukes av GDM for innloggingsskjermen"
#: ../src/main.c:385 #: ../src/main.c:384
msgid "Use a specific mode, e.g. \"gdm\" for login screen" msgid "Use a specific mode, e.g. \"gdm\" for login screen"
msgstr "Bruk spesifikt modus, f.eks «gdm» for innloggingsskjerm" msgstr "Bruk spesifikt modus, f.eks «gdm» for innloggingsskjerm"
#: ../src/main.c:391 #: ../src/main.c:390
msgid "List possible modes" msgid "List possible modes"
msgstr "Vis mulige modi" msgstr "Vis mulige modi"

2115
po/oc.po Normal file

File diff suppressed because it is too large Load Diff

1369
po/pt.po

File diff suppressed because it is too large Load Diff

View File

@ -21,8 +21,8 @@ msgstr ""
"Project-Id-Version: gnome-shell master\n" "Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n" "shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2015-03-03 22:33+0000\n" "POT-Creation-Date: 2015-04-25 08:00+0000\n"
"PO-Revision-Date: 2015-03-04 17:55+0800\n" "PO-Revision-Date: 2015-04-17 19:36+0800\n"
"Last-Translator: Aron Xu <happyaron.xu@gmail.com>\n" "Last-Translator: Aron Xu <happyaron.xu@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n" "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n" "Language: zh_CN\n"
@ -30,6 +30,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n" "Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Poedit 1.7.5\n"
#: ../data/50-gnome-shell-system.xml.in.h:1 #: ../data/50-gnome-shell-system.xml.in.h:1
msgid "System" msgid "System"
@ -287,55 +288,55 @@ msgstr "将鼠标模式下焦点的更改推迟到指针停止移动之后"
msgid "Network Login" msgid "Network Login"
msgstr "网络登录" msgstr "网络登录"
#: ../js/extensionPrefs/main.js:123 #: ../js/extensionPrefs/main.js:122
#, javascript-format #, javascript-format
msgid "There was an error loading the preferences dialog for %s:" msgid "There was an error loading the preferences dialog for %s:"
msgstr "载入 %s 的首选想对话框出错:" msgstr "载入 %s 的首选想对话框出错:"
#: ../js/extensionPrefs/main.js:155 #: ../js/extensionPrefs/main.js:154
msgid "GNOME Shell Extensions" msgid "GNOME Shell Extensions"
msgstr "配置 GNOME Shell 扩展" msgstr "配置 GNOME Shell 扩展"
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:143 #: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:145
#: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:452 #: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:452
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 #: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/network.js:916 #: ../js/ui/status/network.js:916
msgid "Cancel" msgid "Cancel"
msgstr "取消" msgstr "取消"
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:217 #: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215
msgid "Next" msgid "Next"
msgstr "下一步" msgstr "下一步"
#: ../js/gdm/authPrompt.js:213 ../js/ui/shellMountOperation.js:403 #: ../js/gdm/authPrompt.js:211 ../js/ui/shellMountOperation.js:403
#: ../js/ui/unlockDialog.js:59 #: ../js/ui/unlockDialog.js:59
msgid "Unlock" msgid "Unlock"
msgstr "解锁" msgstr "解锁"
#: ../js/gdm/authPrompt.js:215 #: ../js/gdm/authPrompt.js:213
msgctxt "button" msgctxt "button"
msgid "Sign In" msgid "Sign In"
msgstr "登录" msgstr "登录"
#: ../js/gdm/loginDialog.js:276 #: ../js/gdm/loginDialog.js:281
msgid "Choose Session" msgid "Choose Session"
msgstr "选择会话" msgstr "选择会话"
#: ../js/gdm/loginDialog.js:417 #: ../js/gdm/loginDialog.js:431
msgid "Not listed?" msgid "Not listed?"
msgstr "未列出?" msgstr "未列出?"
#: ../js/gdm/loginDialog.js:826 #: ../js/gdm/loginDialog.js:840
#, javascript-format #, javascript-format
msgid "(e.g., user or %s)" msgid "(e.g., user or %s)"
msgstr "(如 user 或 %s)" msgstr "(如 user 或 %s)"
#: ../js/gdm/loginDialog.js:831 ../js/ui/components/networkAgent.js:269 #: ../js/gdm/loginDialog.js:845 ../js/ui/components/networkAgent.js:271
#: ../js/ui/components/networkAgent.js:287 #: ../js/ui/components/networkAgent.js:289
msgid "Username: " msgid "Username: "
msgstr "用户名:" msgstr "用户名:"
#: ../js/gdm/loginDialog.js:1166 #: ../js/gdm/loginDialog.js:1173
msgid "Login Window" msgid "Login Window"
msgstr "登录窗口" msgstr "登录窗口"
@ -347,50 +348,112 @@ msgstr "认证出错"
msgid "(or swipe finger)" msgid "(or swipe finger)"
msgstr "(或滑动手指)" msgstr "(或滑动手指)"
#: ../js/misc/util.js:115 #: ../js/misc/util.js:119
msgid "Command not found" msgid "Command not found"
msgstr "命令未找到" msgstr "命令未找到"
#: ../js/misc/util.js:148 #: ../js/misc/util.js:152
msgid "Could not parse command:" msgid "Could not parse command:"
msgstr "不能解析命令:" msgstr "不能解析命令:"
#: ../js/misc/util.js:156 #: ../js/misc/util.js:160
#, javascript-format #, javascript-format
msgid "Execution of “%s” failed:" msgid "Execution of “%s” failed:"
msgstr "运行“%s”失败" msgstr "运行“%s”失败"
#. Translators: Time in 24h format */
#: ../js/misc/util.js:191
msgid "%H%M"
msgstr "%H%M"
#. Translators: this is the word "Yesterday" followed by a
#. time string in 24h format. i.e. "Yesterday, 14:30" */
#: ../js/misc/util.js:197
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
msgid "%A, %H%M"
msgstr "%A %H:%M"
#. Translators: this is the month name and day number
#. followed by a time string in 24h format.
#. i.e. "May 25, 14:30" */
#: ../js/misc/util.js:209
msgid "%B %d, %H%M"
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
msgid "%B %d %Y, %H%M"
msgstr "%Y年%m月%d日, %H:%M"
#. Translators: Time in 12h format */
#: ../js/misc/util.js:220
msgid "%l%M %p"
msgstr "%p %-l:%M"
#. Translators: this is the word "Yesterday" followed by a
#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */
#: ../js/misc/util.js:226
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
msgid "%A, %l%M %p"
msgstr "%A%p %-l:%M"
#. Translators: this is the month name and day number
#. followed by a time string in 12h format.
#. i.e. "May 25, 2:30 pm" */
#: ../js/misc/util.js:238
msgid "%B %d, %l%M %p"
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
msgid "%B %d %Y, %l%M %p"
msgstr "%Y年%m月%d日%p %-l:%M"
#. TRANSLATORS: this is the title of the wifi captive portal login #. TRANSLATORS: this is the title of the wifi captive portal login
#. * window, until we know the title of the actual login page */ #. * window, until we know the title of the actual login page */
#: ../js/portalHelper/main.js:85 #: ../js/portalHelper/main.js:85
msgid "Web Authentication Redirect" msgid "Web Authentication Redirect"
msgstr "网页认证重定向" msgstr "网页认证重定向"
#: ../js/ui/appDisplay.js:785 #: ../js/ui/appDisplay.js:788
msgid "Frequently used applications will appear here" msgid "Frequently used applications will appear here"
msgstr "常用的应用程序会出现在这里" msgstr "常用的应用程序会出现在这里"
#: ../js/ui/appDisplay.js:905 #: ../js/ui/appDisplay.js:908
msgid "Frequent" msgid "Frequent"
msgstr "常用" msgstr "常用"
#: ../js/ui/appDisplay.js:912 #: ../js/ui/appDisplay.js:915
msgid "All" msgid "All"
msgstr "全部" msgstr "全部"
#: ../js/ui/appDisplay.js:1840 #: ../js/ui/appDisplay.js:1844
msgid "New Window" msgid "New Window"
msgstr "新窗口" msgstr "新窗口"
#: ../js/ui/appDisplay.js:1868 ../js/ui/dash.js:289 #: ../js/ui/appDisplay.js:1872 ../js/ui/dash.js:289
msgid "Remove from Favorites" msgid "Remove from Favorites"
msgstr "从收藏夹中移除" msgstr "从收藏夹中移除"
#: ../js/ui/appDisplay.js:1874 #: ../js/ui/appDisplay.js:1878
msgid "Add to Favorites" msgid "Add to Favorites"
msgstr "添加到收藏夹" msgstr "添加到收藏夹"
#: ../js/ui/appDisplay.js:1884 #: ../js/ui/appDisplay.js:1888
msgid "Show Details" msgid "Show Details"
msgstr "显示细节" msgstr "显示细节"
@ -404,8 +467,8 @@ msgstr "%s 已经添加到了您的收藏夹。"
msgid "%s has been removed from your favorites." msgid "%s has been removed from your favorites."
msgstr "%s 已经从您的收藏夹移除。" msgstr "%s 已经从您的收藏夹移除。"
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:649 #: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:650
#: ../js/ui/status/system.js:337 #: ../js/ui/status/system.js:334
msgid "Settings" msgid "Settings"
msgstr "设置" msgstr "设置"
@ -414,119 +477,104 @@ msgid "Change Background…"
msgstr "更换壁纸..." msgstr "更换壁纸..."
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday). */ #. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday). */
#: ../js/ui/calendar.js:52 #: ../js/ui/calendar.js:53
msgctxt "calendar-no-work" msgctxt "calendar-no-work"
msgid "06" msgid "06"
msgstr "周日和周六" msgstr "周日和周六"
#. 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:81
msgctxt "event list time"
msgid "All Day"
msgstr "全天"
#. Translators: Shown in calendar event list, if 24h format,
#. \u2236 is a ratio character, similar to : */
#: ../js/ui/calendar.js:88 ../js/ui/calendar.js:1596
msgctxt "event list time"
msgid "%H%M"
msgstr "%H%M"
#. Translators: Shown in calendar event list, if 12h format,
#. \u2236 is a ratio character, similar to : and \u2009 is
#. a thin space */
#: ../js/ui/calendar.js:97
msgctxt "event list time"
msgid "%l%M%p"
msgstr "%p %-l:%M"
#. Translators: Calendar grid abbreviation for Sunday. #. Translators: Calendar grid abbreviation for Sunday.
#. * #. *
#. * NOTE: These grid abbreviations are always shown together #. * NOTE: These grid abbreviations are always shown together
#. * and in order, e.g. "S M T W T F S". #. * and in order, e.g. "S M T W T F S".
#. */ #. */
#: ../js/ui/calendar.js:111 #: ../js/ui/calendar.js:82
msgctxt "grid sunday" msgctxt "grid sunday"
msgid "S" msgid "S"
msgstr "日" msgstr "日"
#. Translators: Calendar grid abbreviation for Monday */ #. Translators: Calendar grid abbreviation for Monday */
#: ../js/ui/calendar.js:113 #: ../js/ui/calendar.js:84
msgctxt "grid monday" msgctxt "grid monday"
msgid "M" msgid "M"
msgstr "一" msgstr "一"
#. Translators: Calendar grid abbreviation for Tuesday */ #. Translators: Calendar grid abbreviation for Tuesday */
#: ../js/ui/calendar.js:115 #: ../js/ui/calendar.js:86
msgctxt "grid tuesday" msgctxt "grid tuesday"
msgid "T" msgid "T"
msgstr "二" msgstr "二"
#. Translators: Calendar grid abbreviation for Wednesday */ #. Translators: Calendar grid abbreviation for Wednesday */
#: ../js/ui/calendar.js:117 #: ../js/ui/calendar.js:88
msgctxt "grid wednesday" msgctxt "grid wednesday"
msgid "W" msgid "W"
msgstr "三" msgstr "三"
#. Translators: Calendar grid abbreviation for Thursday */ #. Translators: Calendar grid abbreviation for Thursday */
#: ../js/ui/calendar.js:119 #: ../js/ui/calendar.js:90
msgctxt "grid thursday" msgctxt "grid thursday"
msgid "T" msgid "T"
msgstr "四" msgstr "四"
#. Translators: Calendar grid abbreviation for Friday */ #. Translators: Calendar grid abbreviation for Friday */
#: ../js/ui/calendar.js:121 #: ../js/ui/calendar.js:92
msgctxt "grid friday" msgctxt "grid friday"
msgid "F" msgid "F"
msgstr "五" msgstr "五"
#. Translators: Calendar grid abbreviation for Saturday */ #. Translators: Calendar grid abbreviation for Saturday */
#: ../js/ui/calendar.js:123 #: ../js/ui/calendar.js:94
msgctxt "grid saturday" msgctxt "grid saturday"
msgid "S" msgid "S"
msgstr "六" msgstr "六"
#: ../js/ui/calendar.js:590 #: ../js/ui/calendar.js:564
msgid "Previous month" msgid "Previous month"
msgstr "上个月" msgstr "上个月"
#: ../js/ui/calendar.js:600 #: ../js/ui/calendar.js:574
msgid "Next month" msgid "Next month"
msgstr "下个月" msgstr "下个月"
#: ../js/ui/calendar.js:807 #: ../js/ui/calendar.js:781
msgid "Week %V" msgid "Week %V"
msgstr "第 %V 星期" msgstr "第 %V 星期"
#: ../js/ui/calendar.js:1263 #. 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:1187
msgctxt "event list time"
msgid "All Day"
msgstr "全天"
#: ../js/ui/calendar.js:1289
msgid "Clear section" msgid "Clear section"
msgstr "清除选中项目" msgstr "清除选中项目"
#: ../js/ui/calendar.js:1455 #: ../js/ui/calendar.js:1516
msgid "Events" msgid "Events"
msgstr "事件" msgstr "事件"
#: ../js/ui/calendar.js:1463 #: ../js/ui/calendar.js:1525
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d" msgid "%A, %B %d"
msgstr "%m月%d日 %A" msgstr "%m月%d日 %A"
#: ../js/ui/calendar.js:1467 #: ../js/ui/calendar.js:1529
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d, %Y" msgid "%A, %B %d, %Y"
msgstr "%Y年%m月%d日 %A" msgstr "%Y年%m月%d日 %A"
#: ../js/ui/calendar.js:1560 #: ../js/ui/calendar.js:1614
msgid "Notifications" msgid "Notifications"
msgstr "提示" msgstr "提示"
#: ../js/ui/calendar.js:1700 #: ../js/ui/calendar.js:1765
msgid "No Notifications" msgid "No Notifications"
msgstr "无提示" msgstr "无提示"
#: ../js/ui/calendar.js:1703 #: ../js/ui/calendar.js:1768
msgid "No Events" msgid "No Events"
msgstr "无事件" msgstr "无事件"
@ -551,79 +599,93 @@ msgstr "密码:"
msgid "Type again:" msgid "Type again:"
msgstr "再输一次:" msgstr "再输一次:"
#: ../js/ui/components/networkAgent.js:138 ../js/ui/status/network.js:277 #: ../js/ui/components/networkAgent.js:140 ../js/ui/status/network.js:277
#: ../js/ui/status/network.js:359 ../js/ui/status/network.js:919 #: ../js/ui/status/network.js:359 ../js/ui/status/network.js:919
msgid "Connect" msgid "Connect"
msgstr "连接" msgstr "连接"
#: ../js/ui/components/networkAgent.js:231 #: ../js/ui/components/networkAgent.js:233
#: ../js/ui/components/networkAgent.js:243 #: ../js/ui/components/networkAgent.js:245
#: ../js/ui/components/networkAgent.js:271 #: ../js/ui/components/networkAgent.js:273
#: ../js/ui/components/networkAgent.js:291 #: ../js/ui/components/networkAgent.js:293
#: ../js/ui/components/networkAgent.js:301 #: ../js/ui/components/networkAgent.js:303
msgid "Password: " msgid "Password: "
msgstr "密码:" msgstr "密码:"
#: ../js/ui/components/networkAgent.js:236 #: ../js/ui/components/networkAgent.js:238
msgid "Key: " msgid "Key: "
msgstr "密钥:" msgstr "密钥:"
#: ../js/ui/components/networkAgent.js:275 #: ../js/ui/components/networkAgent.js:277
msgid "Identity: " msgid "Identity: "
msgstr "身份:" msgstr "身份:"
#: ../js/ui/components/networkAgent.js:277 #: ../js/ui/components/networkAgent.js:279
msgid "Private key password: " msgid "Private key password: "
msgstr "私人密钥密码:" msgstr "私人密钥密码:"
#: ../js/ui/components/networkAgent.js:289 #: ../js/ui/components/networkAgent.js:291
msgid "Service: " msgid "Service: "
msgstr "服务:" msgstr "服务:"
#: ../js/ui/components/networkAgent.js:318 #: ../js/ui/components/networkAgent.js:320
#: ../js/ui/components/networkAgent.js:658
msgid "Authentication required by wireless network" msgid "Authentication required by wireless network"
msgstr "无线网络要求身份认证" msgstr "无线网络要求身份认证"
#: ../js/ui/components/networkAgent.js:319 #: ../js/ui/components/networkAgent.js:321
#: ../js/ui/components/networkAgent.js:659
#, javascript-format #, javascript-format
msgid "" msgid ""
"Passwords or encryption keys are required to access the wireless network " "Passwords or encryption keys are required to access the wireless network "
"“%s”." "“%s”."
msgstr "访问无线网络“%s”需要密码或密钥。" msgstr "访问无线网络“%s”需要密码或密钥。"
#: ../js/ui/components/networkAgent.js:323 #: ../js/ui/components/networkAgent.js:325
#: ../js/ui/components/networkAgent.js:662
msgid "Wired 802.1X authentication" msgid "Wired 802.1X authentication"
msgstr "有线 802.1X 认证" msgstr "有线 802.1X 认证"
#: ../js/ui/components/networkAgent.js:325 #: ../js/ui/components/networkAgent.js:327
msgid "Network name: " msgid "Network name: "
msgstr "网络名称:" msgstr "网络名称:"
#: ../js/ui/components/networkAgent.js:330 #: ../js/ui/components/networkAgent.js:332
#: ../js/ui/components/networkAgent.js:666
msgid "DSL authentication" msgid "DSL authentication"
msgstr "DSL 认证" msgstr "DSL 认证"
#: ../js/ui/components/networkAgent.js:337 #: ../js/ui/components/networkAgent.js:339
#: ../js/ui/components/networkAgent.js:672
msgid "PIN code required" msgid "PIN code required"
msgstr "需要 PIN 码" msgstr "需要 PIN 码"
#: ../js/ui/components/networkAgent.js:338 #: ../js/ui/components/networkAgent.js:340
#: ../js/ui/components/networkAgent.js:673
msgid "PIN code is needed for the mobile broadband device" msgid "PIN code is needed for the mobile broadband device"
msgstr "移动宽带设备需要 PIN 码" msgstr "移动宽带设备需要 PIN 码"
#: ../js/ui/components/networkAgent.js:339 #: ../js/ui/components/networkAgent.js:341
msgid "PIN: " msgid "PIN: "
msgstr "PIN" msgstr "PIN"
#: ../js/ui/components/networkAgent.js:345 #: ../js/ui/components/networkAgent.js:348
#: ../js/ui/components/networkAgent.js:679
msgid "Mobile broadband network password" msgid "Mobile broadband network password"
msgstr "移动宽带网络密码" msgstr "移动宽带网络密码"
#: ../js/ui/components/networkAgent.js:346 #: ../js/ui/components/networkAgent.js:349
#: ../js/ui/components/networkAgent.js:663
#: ../js/ui/components/networkAgent.js:667
#: ../js/ui/components/networkAgent.js:680
#, javascript-format #, javascript-format
msgid "A password is required to connect to “%s”." msgid "A password is required to connect to “%s”."
msgstr "连接到“%s”需要密码。" msgstr "连接到“%s”需要密码。"
#: ../js/ui/components/networkAgent.js:647 ../js/ui/status/network.js:1657
msgid "Network Manager"
msgstr "网络管理器"
#: ../js/ui/components/polkitAgent.js:54 #: ../js/ui/components/polkitAgent.js:54
msgid "Authentication Required" msgid "Authentication Required"
msgstr "需要认证" msgstr "需要认证"
@ -644,71 +706,9 @@ msgstr "认证"
msgid "Sorry, that didn't work. Please try again." msgid "Sorry, that didn't work. Please try again."
msgstr "抱歉,您的输入有误。请重试。" msgstr "抱歉,您的输入有误。请重试。"
#. Translators: Time in 24h format */
#: ../js/ui/components/telepathyClient.js:764 ../js/ui/dateMenu.js:210
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/ui/components/telepathyClient.js:771
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/ui/components/telepathyClient.js:778
msgid "%A, %H%M"
msgstr "%A %H:%M"
#. Translators: this is the month name and day number
#. followed by a time string in 24h format.
#. i.e. "May 25, 14:30" */
#: ../js/ui/components/telepathyClient.js:785
msgid "%B %d, %H%M"
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/ui/components/telepathyClient.js:791
msgid "%B %d %Y, %H%M"
msgstr "%Y年%m月%d日, %H:%M"
#. Translators: Time in 12h format */
#: ../js/ui/components/telepathyClient.js:797 ../js/ui/dateMenu.js:213
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/ui/components/telepathyClient.js:804
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/ui/components/telepathyClient.js:811
msgid "%A, %l%M %p"
msgstr "%A%p %-l:%M"
#. Translators: this is the month name and day number
#. followed by a time string in 12h format.
#. i.e. "May 25, 2:30 pm" */
#: ../js/ui/components/telepathyClient.js:818
msgid "%B %d, %l%M %p"
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/ui/components/telepathyClient.js:824
msgid "%B %d %Y, %l%M %p"
msgstr "%Y年%m月%d日%p %-l:%M"
#. Translators: this is the other person changing their old IM name to their new #. Translators: this is the other person changing their old IM name to their new
#. IM name. */ #. IM name. */
#: ../js/ui/components/telepathyClient.js:856 #: ../js/ui/components/telepathyClient.js:757
#, javascript-format #, javascript-format
msgid "%s is now known as %s" msgid "%s is now known as %s"
msgstr "%s 现在叫做 %s" msgstr "%s 现在叫做 %s"
@ -721,7 +721,7 @@ msgstr "窗口"
msgid "Show Applications" msgid "Show Applications"
msgstr "显示应用程序" msgstr "显示应用程序"
#: ../js/ui/dash.js:451 #: ../js/ui/dash.js:449
msgid "Dash" msgid "Dash"
msgstr "Dash" msgstr "Dash"
@ -878,10 +878,19 @@ msgstr "安装"
msgid "Download and install “%s” from extensions.gnome.org?" msgid "Download and install “%s” from extensions.gnome.org?"
msgstr "从 extensions.gnome.org 下载并安装“%s”" msgstr "从 extensions.gnome.org 下载并安装“%s”"
#: ../js/ui/keyboard.js:706 ../js/ui/status/keyboard.js:576 #: ../js/ui/keyboard.js:718 ../js/ui/status/keyboard.js:713
msgid "Keyboard" msgid "Keyboard"
msgstr "键盘" msgstr "键盘"
#. translators: 'Hide' is a verb */
#: ../js/ui/legacyTray.js:66
msgid "Hide tray"
msgstr "隐藏托盘"
#: ../js/ui/legacyTray.js:107
msgid "Status Icons"
msgstr "状态图标"
#: ../js/ui/lookingGlass.js:643 #: ../js/ui/lookingGlass.js:643
msgid "No extensions installed" msgid "No extensions installed"
msgstr "未安装扩展" msgstr "未安装扩展"
@ -934,7 +943,7 @@ msgstr "查看源"
msgid "Web Page" msgid "Web Page"
msgstr "网页" msgstr "网页"
#: ../js/ui/messageTray.js:2131 #: ../js/ui/messageTray.js:1504
msgid "System Information" msgid "System Information"
msgstr "系统信息" msgstr "系统信息"
@ -954,21 +963,21 @@ msgstr "概览"
msgid "Type to search…" msgid "Type to search…"
msgstr "输入以搜索..." msgstr "输入以搜索..."
#: ../js/ui/panel.js:351 #: ../js/ui/panel.js:352
msgid "Quit" msgid "Quit"
msgstr "退出" msgstr "退出"
#. Translators: If there is no suitable word for "Activities" #. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview". */ #. in your language, you can use the word for "Overview". */
#: ../js/ui/panel.js:403 #: ../js/ui/panel.js:404
msgid "Activities" msgid "Activities"
msgstr "活动" msgstr "活动"
#: ../js/ui/panel.js:754 #: ../js/ui/panel.js:755
msgid "Top Bar" msgid "Top Bar"
msgstr "顶栏" msgstr "顶栏"
#: ../js/ui/popupMenu.js:288 #: ../js/ui/popupMenu.js:289
msgid "toggle-switch-us" msgid "toggle-switch-us"
msgstr "toggle-switch-us" msgstr "toggle-switch-us"
@ -1002,7 +1011,7 @@ msgid "%d new notification"
msgid_plural "%d new notifications" msgid_plural "%d new notifications"
msgstr[0] "%d 条新通知" msgstr[0] "%d 条新通知"
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:345 #: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:342
msgid "Lock" msgid "Lock"
msgstr "锁定" msgstr "锁定"
@ -1018,11 +1027,11 @@ msgstr "无法锁定"
msgid "Lock was blocked by an application" msgid "Lock was blocked by an application"
msgstr "一个应用程序阻止了锁定" msgstr "一个应用程序阻止了锁定"
#: ../js/ui/search.js:609 #: ../js/ui/search.js:617
msgid "Searching…" msgid "Searching…"
msgstr "正在搜索..." msgstr "正在搜索..."
#: ../js/ui/search.js:611 #: ../js/ui/search.js:619
msgid "No results." msgid "No results."
msgstr "无结果。" msgstr "无结果。"
@ -1086,11 +1095,11 @@ msgstr "筛选键"
msgid "Mouse Keys" msgid "Mouse Keys"
msgstr "鼠标按键" msgstr "鼠标按键"
#: ../js/ui/status/accessibility.js:144 #: ../js/ui/status/accessibility.js:167
msgid "High Contrast" msgid "High Contrast"
msgstr "高对比度" msgstr "高对比度"
#: ../js/ui/status/accessibility.js:193 #: ../js/ui/status/accessibility.js:202
msgid "Large Text" msgid "Large Text"
msgstr "大号文本" msgstr "大号文本"
@ -1123,7 +1132,7 @@ msgstr "无连接"
msgid "Brightness" msgid "Brightness"
msgstr "亮度" msgstr "亮度"
#: ../js/ui/status/keyboard.js:599 #: ../js/ui/status/keyboard.js:736
msgid "Show Keyboard Layout" msgid "Show Keyboard Layout"
msgstr "显示键盘布局" msgstr "显示键盘布局"
@ -1292,10 +1301,6 @@ msgstr "VPN 设置"
msgid "VPN" msgid "VPN"
msgstr "VPN" msgstr "VPN"
#: ../js/ui/status/network.js:1657
msgid "Network Manager"
msgstr "网络管理器"
#: ../js/ui/status/network.js:1697 #: ../js/ui/status/network.js:1697
msgid "Activation of network connection failed" msgid "Activation of network connection failed"
msgstr "启用网络连接失败" msgstr "启用网络连接失败"
@ -1338,23 +1343,23 @@ msgstr "乘机模式"
msgid "On" msgid "On"
msgstr "开" msgstr "开"
#: ../js/ui/status/system.js:317 #: ../js/ui/status/system.js:314
msgid "Switch User" msgid "Switch User"
msgstr "切换用户" msgstr "切换用户"
#: ../js/ui/status/system.js:322 #: ../js/ui/status/system.js:319
msgid "Log Out" msgid "Log Out"
msgstr "注销" msgstr "注销"
#: ../js/ui/status/system.js:341 #: ../js/ui/status/system.js:338
msgid "Orientation Lock" msgid "Orientation Lock"
msgstr "方向锁定" msgstr "方向锁定"
#: ../js/ui/status/system.js:349 #: ../js/ui/status/system.js:346
msgid "Suspend" msgid "Suspend"
msgstr "挂起" msgstr "挂起"
#: ../js/ui/status/system.js:352 #: ../js/ui/status/system.js:349
msgid "Power Off" msgid "Power Off"
msgstr "关机" msgstr "关机"
@ -1414,7 +1419,7 @@ msgstr[0] "设置更改将在 %d 后还原"
#. Translators: This represents the size of a window. The first number is #. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height. */ #. * the width of the window and the second is the height. */
#: ../js/ui/windowManager.js:599 #: ../js/ui/windowManager.js:613
#, javascript-format #, javascript-format
msgid "%d x %d" msgid "%d x %d"
msgstr "%d x %d" msgstr "%d x %d"
@ -1499,12 +1504,12 @@ msgstr "使用指定模式,如 “gdm”用于登录屏幕的模式"
msgid "List possible modes" msgid "List possible modes"
msgstr "列出可用的模式" msgstr "列出可用的模式"
#: ../src/shell-app.c:247 #: ../src/shell-app.c:239
msgctxt "program" msgctxt "program"
msgid "Unknown" msgid "Unknown"
msgstr "未知" msgstr "未知"
#: ../src/shell-app.c:488 #: ../src/shell-app.c:480
#, c-format #, c-format
msgid "Failed to launch “%s”" msgid "Failed to launch “%s”"
msgstr "启动“%s”失败" msgstr "启动“%s”失败"
@ -1520,3 +1525,11 @@ msgstr "密码不能为空"
#: ../src/shell-polkit-authentication-agent.c:346 #: ../src/shell-polkit-authentication-agent.c:346
msgid "Authentication dialog was dismissed by the user" msgid "Authentication dialog was dismissed by the user"
msgstr "认证对话框被用户驳回" msgstr "认证对话框被用户驳回"
#~ msgctxt "event list time"
#~ msgid "%H%M"
#~ msgstr "%H%M"
#~ msgctxt "event list time"
#~ msgid "%l%M%p"
#~ msgstr "%p %-l:%M"

View File

@ -181,7 +181,6 @@ shell_prefs_init (void)
g_object_get (G_OBJECT (settings), "schema-id", &schema_id, NULL); g_object_get (G_OBJECT (settings), "schema-id", &schema_id, NULL);
keys = g_settings_list_keys (settings);
for (keys = k = g_settings_list_keys (settings); *k; k++) for (keys = k = g_settings_list_keys (settings); *k; k++)
meta_prefs_override_preference_schema (*k, schema_id); meta_prefs_override_preference_schema (*k, schema_id);

View File

@ -83,12 +83,18 @@ scan_startup_wm_class_to_id (ShellAppSystem *self)
for (l = apps; l != NULL; l = l->next) for (l = apps; l != NULL; l = l->next)
{ {
GAppInfo *info = l->data; GAppInfo *info = l->data;
const char *startup_wm_class, *id; const char *startup_wm_class, *id, *old_id;
id = g_app_info_get_id (info); id = g_app_info_get_id (info);
startup_wm_class = g_desktop_app_info_get_startup_wm_class (G_DESKTOP_APP_INFO (info)); startup_wm_class = g_desktop_app_info_get_startup_wm_class (G_DESKTOP_APP_INFO (info));
if (startup_wm_class != NULL) if (startup_wm_class == NULL)
continue;
/* In case multiple .desktop files set the same StartupWMClass, prefer
* the one where ID and StartupWMClass match */
old_id = g_hash_table_lookup (priv->startup_wm_class_to_id, startup_wm_class);
if (old_id == NULL || strcmp (id, startup_wm_class) == 0)
g_hash_table_insert (priv->startup_wm_class_to_id, g_hash_table_insert (priv->startup_wm_class_to_id,
g_strdup (startup_wm_class), g_strdup (id)); g_strdup (startup_wm_class), g_strdup (id));
} }
@ -377,3 +383,28 @@ shell_app_system_get_running (ShellAppSystem *self)
return ret; return ret;
} }
/**
* shell_app_system_search:
* @search_string: the search string to use
*
* Wrapper around g_desktop_app_info_search() that replaces results that
* don't validate as UTF-8 with the empty string.
*
* Returns: (array zero-terminated=1) (element-type GStrv) (transfer full): a
* list of strvs. Free each item with g_strfreev() and free the outer
* list with g_free().
*/
char ***
shell_app_system_search (const char *search_string)
{
char ***results = g_desktop_app_info_search (search_string);
char ***groups, **ids;
for (groups = results; *groups; groups++)
for (ids = *groups; *ids; ids++)
if (!g_utf8_validate (*ids, -1, NULL))
**ids = '\0';
return results;
}

View File

@ -48,5 +48,6 @@ ShellApp *shell_app_system_lookup_desktop_wmclass (ShellAppSystem *s
const char *wmclass); const char *wmclass);
GSList *shell_app_system_get_running (ShellAppSystem *self); GSList *shell_app_system_get_running (ShellAppSystem *self);
char ***shell_app_system_search (const char *search_string);
#endif /* __SHELL_APP_SYSTEM_H__ */ #endif /* __SHELL_APP_SYSTEM_H__ */

View File

@ -1464,7 +1464,7 @@ shell_global_sync_pointer (ShellGlobal *global)
event.type = CLUTTER_MOTION; event.type = CLUTTER_MOTION;
event.time = shell_global_get_current_time (global); event.time = shell_global_get_current_time (global);
event.flags = 0; event.flags = CLUTTER_EVENT_FLAG_SYNTHETIC;
event.stage = global->stage; event.stage = global->stage;
event.x = x; event.x = x;
event.y = y; event.y = y;

View File

@ -144,8 +144,6 @@ st_generic_accessible_class_init (StGenericAccessibleClass *klass)
* Emitted when atk_value_set_current_value() is called on * Emitted when atk_value_set_current_value() is called on
* @self. Right now we only care about doubles, so the value is * @self. Right now we only care about doubles, so the value is
* directly returned by the signal. * directly returned by the signal.
*
* Return value: value of the current element.
*/ */
st_generic_accessible_signals[SET_CURRENT_VALUE] = st_generic_accessible_signals[SET_CURRENT_VALUE] =
g_signal_new ("set-current-value", g_signal_new ("set-current-value",