Compare commits
92 Commits
3.16.0
...
gnome-3-16
Author | SHA1 | Date | |
---|---|---|---|
![]() |
ec1db9eab6 | ||
![]() |
1218f71355 | ||
![]() |
61464f2298 | ||
![]() |
f3b8f0bf12 | ||
![]() |
c3ac059464 | ||
![]() |
9d791ac9fa | ||
![]() |
ae8dc11c55 | ||
![]() |
8c0a2a1284 | ||
![]() |
6d4e229d1d | ||
![]() |
53b25fa5af | ||
![]() |
84509886f7 | ||
![]() |
d14548eb01 | ||
![]() |
63b6ed8d57 | ||
![]() |
e1b4c32c4d | ||
![]() |
4ea72130e0 | ||
![]() |
54db777874 | ||
![]() |
4d12feff3e | ||
![]() |
3c8c5a5570 | ||
![]() |
6e4f54c351 | ||
![]() |
a91c1caf42 | ||
![]() |
90f14d0762 | ||
![]() |
77f2e3abde | ||
![]() |
a02019cf9e | ||
![]() |
a341b74aeb | ||
![]() |
9e0a5fa3a9 | ||
![]() |
49856d4961 | ||
![]() |
4db34fca36 | ||
![]() |
3dfced7976 | ||
![]() |
3e8b7faab8 | ||
![]() |
2a3e410d71 | ||
![]() |
518e7d9fc5 | ||
![]() |
0954efd875 | ||
![]() |
8d913c5297 | ||
![]() |
58b9b10ed3 | ||
![]() |
fb46f0b808 | ||
![]() |
79c020fdb9 | ||
![]() |
f8eb9e763d | ||
![]() |
ed6cb19283 | ||
![]() |
95c903aa40 | ||
![]() |
e4974beebf | ||
![]() |
5ec9f15500 | ||
![]() |
b4ebb4d98f | ||
![]() |
d18ec919dd | ||
![]() |
da3e5f9746 | ||
![]() |
594a227bc1 | ||
![]() |
7277744dc0 | ||
![]() |
e4718d3f7f | ||
![]() |
5afd04781c | ||
![]() |
a0868bac6b | ||
![]() |
265b1f0292 | ||
![]() |
2c12f3a509 | ||
![]() |
0141a2be9e | ||
![]() |
6660342d2f | ||
![]() |
92667e3b7f | ||
![]() |
a0632e3e02 | ||
![]() |
c6d2946ce6 | ||
![]() |
86304418a9 | ||
![]() |
2f228e21da | ||
![]() |
8521556723 | ||
![]() |
9f5ac0e6d5 | ||
![]() |
cc38dd1d49 | ||
![]() |
66a5c0c094 | ||
![]() |
8e802fd32f | ||
![]() |
e87656af16 | ||
![]() |
8327dbd611 | ||
![]() |
e1b575dddc | ||
![]() |
018025dada | ||
![]() |
49fe0335ee | ||
![]() |
bbe417121c | ||
![]() |
0068098996 | ||
![]() |
36d9cc329d | ||
![]() |
1f2e53dd15 | ||
![]() |
048a14f1f3 | ||
![]() |
fd6ef482f0 | ||
![]() |
d8926b96e2 | ||
![]() |
934ec3c3fe | ||
![]() |
216e996f66 | ||
![]() |
a4b5583995 | ||
![]() |
b00a1d6b7f | ||
![]() |
d24abab4a8 | ||
![]() |
23a9fb0314 | ||
![]() |
5e26d0c90c | ||
![]() |
aeb971c33a | ||
![]() |
8897385714 | ||
![]() |
e2a17fa8b4 | ||
![]() |
14da6b68dc | ||
![]() |
9a01a7ae07 | ||
![]() |
c3bf4a325d | ||
![]() |
2d71456944 | ||
![]() |
9934529a0b | ||
![]() |
ef6e8f5bb2 | ||
![]() |
2ce7a3baa6 |
65
NEWS
65
NEWS
@@ -1,3 +1,68 @@
|
||||
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
|
||||
======
|
||||
* gdm: Move long session chooser menus to the side [Florian; #734352]
|
||||
* Work around background corruption with NVIDIA driver [Rui; #739178]
|
||||
* Don't allow move-to-workspace for always-sticky windows [Florian; #746782]
|
||||
* Allow switching workspaces with PgUp/PgDown in overview [Devyani; #742581]
|
||||
* Bump time PAM messages are displayed [Sarvjeet; #720885]
|
||||
* Fix "stutter" when moving window past the last workspace [Shivam; #712778]
|
||||
* Fix blurred text on login screen [Clément; #746912]
|
||||
* keyboard: Restore whole MRU list after password mode [Rui; #746605]
|
||||
* Pass event timestamps when activating remote actions [Owen; #747323]
|
||||
* Fix hung login screen when password is typed too quickly [Shivam; #737586]
|
||||
* Make on-screen keyboard work for shell chrome on wayland [Rui; #747274]
|
||||
* Implement reexec_self() for FreeBSD [Ting-Wei; #747788]
|
||||
* Allow to dismiss resident notifications [Florian; #746860]
|
||||
* Temporarily reveal legacy tray when icons are added [Florian; #746025]
|
||||
* Make concealed tray smaller to minimize overlap with apps [Florian; #746787]
|
||||
* Misc. bug fixes [Florian, Rui, Giovanni; #746323, #746579, #746902, #746364,
|
||||
#746509, #747636]
|
||||
|
||||
Contributors:
|
||||
Sarvjeet, Giovanni Campagna, Adel Gadllah, Clément Guérin, Devyani Kota,
|
||||
Ting-Wei Lan, Rui Matos, Shivam Mishra, Florian Müllner, Owen W. Taylor
|
||||
|
||||
Translations:
|
||||
Khaled Hosny [ar], Dušan Kazik [sk], Yuri Myasoedov [ru], Stas Solovey [ru],
|
||||
Hannie Dumoleyn [nl], Rūdolfs Mazurs [lv]
|
||||
|
||||
3.16.0
|
||||
======
|
||||
* Revert erroneous login dialog changes [Ray; #740142]
|
||||
|
@@ -1,5 +1,5 @@
|
||||
AC_PREREQ(2.63)
|
||||
AC_INIT([gnome-shell],[3.16.0],[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_SRCDIR([src/shell-global.c])
|
||||
@@ -76,7 +76,7 @@ AC_MSG_RESULT($enable_systemd)
|
||||
CLUTTER_MIN_VERSION=1.21.5
|
||||
GOBJECT_INTROSPECTION_MIN_VERSION=0.10.1
|
||||
GJS_MIN_VERSION=1.39.0
|
||||
MUTTER_MIN_VERSION=3.16.0
|
||||
MUTTER_MIN_VERSION=3.16.1
|
||||
GTK_MIN_VERSION=3.15.0
|
||||
GIO_MIN_VERSION=2.37.0
|
||||
LIBECAL_MIN_VERSION=3.5.3
|
||||
|
@@ -10,11 +10,11 @@
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="29"
|
||||
height="29"
|
||||
width="24"
|
||||
height="24"
|
||||
id="svg10621"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.2 r9819"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="calendar-today.svg">
|
||||
<defs
|
||||
id="defs10623">
|
||||
@@ -118,17 +118,6 @@
|
||||
fx="51"
|
||||
fy="30"
|
||||
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>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
@@ -137,22 +126,23 @@
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="15.839192"
|
||||
inkscape:cx="20.652108"
|
||||
inkscape:cy="11.839084"
|
||||
inkscape:zoom="8"
|
||||
inkscape:cx="-23.537329"
|
||||
inkscape:cy="-31.442864"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
showgrid="false"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:window-width="1280"
|
||||
inkscape:window-height="741"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
borderlayer="true">
|
||||
inkscape:window-width="2133"
|
||||
inkscape:window-height="1241"
|
||||
inkscape:window-x="238"
|
||||
inkscape:window-y="88"
|
||||
inkscape:window-maximized="0"
|
||||
borderlayer="true"
|
||||
inkscape:showpageshadow="false">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid3109"
|
||||
@@ -169,7 +159,7 @@
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
@@ -177,28 +167,12 @@
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-469.08263,-532.99307)">
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
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="path34506-3"
|
||||
sodipodi:cx="51"
|
||||
sodipodi:cy="30"
|
||||
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" />
|
||||
transform="translate(-469.08263,-537.99307)">
|
||||
<circle
|
||||
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"
|
||||
id="path7305"
|
||||
cx="481.57138"
|
||||
cy="559.4649"
|
||||
r="1.5" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 5.6 KiB |
@@ -488,10 +488,9 @@ StScrollBar {
|
||||
|
||||
.switcher-arrow {
|
||||
border-color: transparent;
|
||||
color: black; }
|
||||
|
||||
.switcher-arrow:highlighted {
|
||||
color: #fff; }
|
||||
color: rgba(255, 255, 255, 0.8); }
|
||||
.switcher-arrow:highlighted {
|
||||
color: #fff; }
|
||||
|
||||
.input-source-switcher-symbol {
|
||||
font-size: 34pt;
|
||||
@@ -561,7 +560,7 @@ StScrollBar {
|
||||
-panel-corner-border-color: transparent; }
|
||||
#panel .panel-corner:active, #panel .panel-corner:overview, #panel .panel-corner:focus {
|
||||
-panel-corner-border-color: #256ab1; }
|
||||
#panel .panel-corner.lock-screen, #panel .panel-corner.login-screen, #panel .panel-cornerunlock-screen {
|
||||
#panel .panel-corner.lock-screen, #panel .panel-corner.login-screen, #panel .panel-corner.unlock-screen {
|
||||
-panel-corner-radius: 0;
|
||||
-panel-corner-background-color: transparent;
|
||||
-panel-corner-border-color: transparent; }
|
||||
@@ -710,8 +709,9 @@ StScrollBar {
|
||||
border: 1px solid rgba(0, 0, 0, 0.5); }
|
||||
|
||||
.calendar-day-with-events {
|
||||
color: #f2f2f2;
|
||||
font-weight: bold; }
|
||||
color: white;
|
||||
font-weight: bold;
|
||||
background-image: url("resource:///org/gnome/shell/theme/calendar-today.svg"); }
|
||||
|
||||
.calendar-other-month-day {
|
||||
color: rgba(255, 255, 255, 0.15);
|
||||
|
Submodule data/theme/gnome-shell-sass updated: 45d28a7267...3573116e4f
@@ -488,10 +488,9 @@ StScrollBar {
|
||||
|
||||
.switcher-arrow {
|
||||
border-color: transparent;
|
||||
color: #1c1f1f; }
|
||||
|
||||
.switcher-arrow:highlighted {
|
||||
color: #eeeeec; }
|
||||
color: rgba(238, 238, 236, 0.8); }
|
||||
.switcher-arrow:highlighted {
|
||||
color: #eeeeec; }
|
||||
|
||||
.input-source-switcher-symbol {
|
||||
font-size: 34pt;
|
||||
@@ -561,7 +560,7 @@ StScrollBar {
|
||||
-panel-corner-border-color: transparent; }
|
||||
#panel .panel-corner:active, #panel .panel-corner:overview, #panel .panel-corner:focus {
|
||||
-panel-corner-border-color: #256ab1; }
|
||||
#panel .panel-corner.lock-screen, #panel .panel-corner.login-screen, #panel .panel-cornerunlock-screen {
|
||||
#panel .panel-corner.lock-screen, #panel .panel-corner.login-screen, #panel .panel-corner.unlock-screen {
|
||||
-panel-corner-radius: 0;
|
||||
-panel-corner-background-color: transparent;
|
||||
-panel-corner-border-color: transparent; }
|
||||
@@ -710,8 +709,9 @@ StScrollBar {
|
||||
border: 1px solid rgba(28, 31, 31, 0.5); }
|
||||
|
||||
.calendar-day-with-events {
|
||||
color: #e2e2df;
|
||||
font-weight: bold; }
|
||||
color: white;
|
||||
font-weight: bold;
|
||||
background-image: url("resource:///org/gnome/shell/theme/calendar-today.svg"); }
|
||||
|
||||
.calendar-other-month-day {
|
||||
color: rgba(238, 238, 236, 0.15);
|
||||
|
@@ -54,7 +54,6 @@ const Application = new Lang.Class({
|
||||
this._startupUuid = null;
|
||||
this._loaded = false;
|
||||
this._skipMainWindow = false;
|
||||
this._settings = new Gio.Settings({ schema_id: 'org.gnome.shell' });
|
||||
},
|
||||
|
||||
_extensionAvailable: function(uuid) {
|
||||
|
@@ -194,17 +194,15 @@ const AuthPrompt = new Lang.Class({
|
||||
},
|
||||
|
||||
_onAskQuestion: function(verifier, serviceName, question, passwordChar) {
|
||||
if (this._preemptiveAnswer) {
|
||||
if (this._queryingService)
|
||||
this._userVerifier.answerQuery(this._queryingService, this._preemptiveAnswer);
|
||||
this._preemptiveAnswer = null;
|
||||
return;
|
||||
}
|
||||
|
||||
if (this._queryingService)
|
||||
this.clear();
|
||||
|
||||
this._queryingService = serviceName;
|
||||
if (this._preemptiveAnswer) {
|
||||
this._userVerifier.answerQuery(this._queryingService, this._preemptiveAnswer);
|
||||
this._preemptiveAnswer = null;
|
||||
return;
|
||||
}
|
||||
this.setPasswordChar(passwordChar);
|
||||
this.setQuestion(question);
|
||||
|
||||
@@ -403,7 +401,7 @@ const AuthPrompt = new Lang.Class({
|
||||
},
|
||||
|
||||
updateSensitivity: function(sensitive) {
|
||||
this._updateNextButtonSensitivity(sensitive);
|
||||
this._updateNextButtonSensitivity(sensitive && this._entry.text.length > 0);
|
||||
this._entry.reactive = sensitive;
|
||||
this._entry.clutter_text.editable = sensitive;
|
||||
},
|
||||
@@ -434,8 +432,9 @@ const AuthPrompt = new Lang.Class({
|
||||
let oldStatus = this.verificationStatus;
|
||||
this.verificationStatus = AuthPromptStatus.NOT_VERIFYING;
|
||||
this.cancelButton.reactive = true;
|
||||
this.nextButton.label = _("Next");
|
||||
|
||||
if (oldStatus == AuthPromptStatus.VERIFYING)
|
||||
if (this._userVerifier)
|
||||
this._userVerifier.cancel();
|
||||
|
||||
this._queryingService = null;
|
||||
@@ -490,6 +489,7 @@ const AuthPrompt = new Lang.Class({
|
||||
|
||||
finish: function(onComplete) {
|
||||
if (!this._userVerifier.hasPendingMessages) {
|
||||
this._userVerifier.clear();
|
||||
onComplete();
|
||||
return;
|
||||
}
|
||||
@@ -497,12 +497,13 @@ const AuthPrompt = new Lang.Class({
|
||||
let signalId = this._userVerifier.connect('no-more-messages',
|
||||
Lang.bind(this, function() {
|
||||
this._userVerifier.disconnect(signalId);
|
||||
this._userVerifier.clear();
|
||||
onComplete();
|
||||
}));
|
||||
},
|
||||
|
||||
cancel: function() {
|
||||
if (this.verificationStatus == AuthPromptStatus.NOT_VERIFYING || this.verificationStatus == AuthPromptStatus.VERIFICATION_SUCCEEDED) {
|
||||
if (this.verificationStatus == AuthPromptStatus.VERIFICATION_SUCCEEDED) {
|
||||
return;
|
||||
}
|
||||
this.reset();
|
||||
|
@@ -49,6 +49,7 @@ const _FADE_ANIMATION_TIME = 0.25;
|
||||
const _SCROLL_ANIMATION_TIME = 0.5;
|
||||
const _TIMED_LOGIN_IDLE_THRESHOLD = 5.0;
|
||||
const _LOGO_ICON_HEIGHT = 48;
|
||||
const _MAX_BOTTOM_MENU_ITEMS = 5;
|
||||
|
||||
const UserListItem = new Lang.Class({
|
||||
Name: 'UserListItem',
|
||||
@@ -283,7 +284,16 @@ const SessionMenuButton = new Lang.Class({
|
||||
|
||||
this.actor = new St.Bin({ child: this._button });
|
||||
|
||||
this._menu = new PopupMenu.PopupMenu(this._button, 0, St.Side.TOP);
|
||||
let side = St.Side.TOP;
|
||||
let align = 0;
|
||||
if (Gdm.get_session_ids().length > _MAX_BOTTOM_MENU_ITEMS) {
|
||||
if (this.actor.text_direction == Clutter.TextDirection.RTL)
|
||||
side = St.Side.RIGHT;
|
||||
else
|
||||
side = St.Side.LEFT;
|
||||
align = 0.5;
|
||||
}
|
||||
this._menu = new PopupMenu.PopupMenu(this._button, align, side);
|
||||
Main.uiGroup.add_actor(this._menu.actor);
|
||||
this._menu.actor.hide();
|
||||
|
||||
@@ -496,7 +506,7 @@ const LoginDialog = new Lang.Class({
|
||||
let [minWidth, minHeight, natWidth, natHeight] = this._bannerView.get_preferred_size();
|
||||
let centerX = dialogBox.x1 + (dialogBox.x2 - dialogBox.x1) / 2;
|
||||
|
||||
actorBox.x1 = centerX - natWidth / 2;
|
||||
actorBox.x1 = Math.floor(centerX - natWidth / 2);
|
||||
actorBox.y1 = dialogBox.y1 + Main.layoutManager.panelBox.height;
|
||||
actorBox.x2 = actorBox.x1 + natWidth;
|
||||
actorBox.y2 = actorBox.y1 + natHeight;
|
||||
@@ -510,7 +520,7 @@ const LoginDialog = new Lang.Class({
|
||||
let [minWidth, minHeight, natWidth, natHeight] = this._logoBin.get_preferred_size();
|
||||
let centerX = dialogBox.x1 + (dialogBox.x2 - dialogBox.x1) / 2;
|
||||
|
||||
actorBox.x1 = centerX - natWidth / 2;
|
||||
actorBox.x1 = Math.floor(centerX - natWidth / 2);
|
||||
actorBox.y1 = dialogBox.y2 - natHeight;
|
||||
actorBox.x2 = actorBox.x1 + natWidth;
|
||||
actorBox.y2 = actorBox.y1 + natHeight;
|
||||
@@ -525,8 +535,8 @@ const LoginDialog = new Lang.Class({
|
||||
let centerX = dialogBox.x1 + (dialogBox.x2 - dialogBox.x1) / 2;
|
||||
let centerY = dialogBox.y1 + (dialogBox.y2 - dialogBox.y1) / 2;
|
||||
|
||||
actorBox.x1 = centerX - natWidth / 2;
|
||||
actorBox.y1 = centerY - natHeight / 2;
|
||||
actorBox.x1 = Math.floor(centerX - natWidth / 2);
|
||||
actorBox.y1 = Math.floor(centerY - natHeight / 2);
|
||||
actorBox.x2 = actorBox.x1 + natWidth;
|
||||
actorBox.y2 = actorBox.y1 + natHeight;
|
||||
|
||||
@@ -574,14 +584,21 @@ const LoginDialog = new Lang.Class({
|
||||
// try a different layout, or if we have what extra space we
|
||||
// can hand out
|
||||
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) {
|
||||
// First figure out how much left over space is up top
|
||||
let leftOverTopSpace = leftOverYSpace / 2;
|
||||
|
||||
// Then, shift the banner into the middle of that extra space
|
||||
let yShift = leftOverTopSpace / 2;
|
||||
let yShift = Math.floor(leftOverTopSpace / 2);
|
||||
|
||||
bannerAllocation.y1 += yShift;
|
||||
bannerAllocation.y2 += yShift;
|
||||
@@ -607,8 +624,8 @@ const LoginDialog = new Lang.Class({
|
||||
let centerGap = wideSpacing / 8;
|
||||
|
||||
// place the banner along the left edge of the center margin
|
||||
bannerAllocation.x2 = centerX - centerGap / 2;
|
||||
bannerAllocation.x1 = bannerAllocation.x2 - wideBannerWidth;
|
||||
bannerAllocation.x2 = Math.floor(centerX - centerGap / 2);
|
||||
bannerAllocation.x1 = Math.floor(bannerAllocation.x2 - wideBannerWidth);
|
||||
|
||||
// figure out how tall it would like to be and try to accomodate
|
||||
// but don't let it get too close to the logo
|
||||
@@ -616,11 +633,11 @@ const LoginDialog = new Lang.Class({
|
||||
|
||||
let maxWideHeight = dialogHeight - 3 * logoHeight;
|
||||
wideBannerHeight = Math.min(maxWideHeight, wideBannerHeight);
|
||||
bannerAllocation.y1 = centerY - wideBannerHeight / 2;
|
||||
bannerAllocation.y1 = Math.floor(centerY - wideBannerHeight / 2);
|
||||
bannerAllocation.y2 = bannerAllocation.y1 + wideBannerHeight;
|
||||
|
||||
// place the auth prompt along the right edge of the center margin
|
||||
authPromptAllocation.x1 = centerX + centerGap / 2;
|
||||
authPromptAllocation.x1 = Math.floor(centerX + centerGap / 2);
|
||||
authPromptAllocation.x2 = authPromptAllocation.x1 + authPromptWidth;
|
||||
} else {
|
||||
// If we aren't going to do a wide view, then we need to limit
|
||||
@@ -630,7 +647,7 @@ const LoginDialog = new Lang.Class({
|
||||
leftOverYSpace += bannerHeight;
|
||||
|
||||
// Then figure out how much of that space is up top
|
||||
let availableTopSpace = leftOverYSpace / 2;
|
||||
let availableTopSpace = Math.floor(leftOverYSpace / 2);
|
||||
|
||||
// Then give all of that space to the banner
|
||||
bannerAllocation.y2 = bannerAllocation.y1 + availableTopSpace;
|
||||
@@ -641,7 +658,7 @@ const LoginDialog = new Lang.Class({
|
||||
let leftOverYSpace = dialogHeight - userSelectionHeight - logoHeight;
|
||||
|
||||
if (leftOverYSpace > 0) {
|
||||
let topExpansion = leftOverYSpace / 2;
|
||||
let topExpansion = Math.floor(leftOverYSpace / 2);
|
||||
let bottomExpansion = topExpansion;
|
||||
|
||||
userSelectionAllocation.y1 -= topExpansion;
|
||||
@@ -857,7 +874,7 @@ const LoginDialog = new Lang.Class({
|
||||
},
|
||||
|
||||
_loginScreenSessionActivated: function() {
|
||||
if (this._authPrompt.verificationStatus != AuthPrompt.AuthPromptStatus.VERIFICATION_SUCCEEDED)
|
||||
if (this.actor.opacity == 255 && this._authPrompt.verificationStatus == AuthPrompt.AuthPromptStatus.NOT_VERIFYING)
|
||||
return;
|
||||
|
||||
Tweener.addTween(this.actor,
|
||||
@@ -874,7 +891,8 @@ const LoginDialog = new Lang.Class({
|
||||
},
|
||||
onUpdateScope: this,
|
||||
onComplete: function() {
|
||||
this._authPrompt.reset();
|
||||
if (this._authPrompt.verificationStatus != AuthPrompt.AuthPromptStatus.NOT_VERIFYING)
|
||||
this._authPrompt.reset();
|
||||
},
|
||||
onCompleteScope: this });
|
||||
},
|
||||
|
@@ -35,8 +35,8 @@ const ALLOWED_FAILURES_KEY = 'allowed-failures';
|
||||
const LOGO_KEY = 'logo';
|
||||
const DISABLE_USER_LIST_KEY = 'disable-user-list';
|
||||
|
||||
// Give user 16ms to read each character of a PAM message
|
||||
const USER_READ_TIME = 16
|
||||
// Give user 48ms to read each character of a PAM message
|
||||
const USER_READ_TIME = 48
|
||||
|
||||
const MessageType = {
|
||||
NONE: 0,
|
||||
|
@@ -366,8 +366,6 @@ const AllView = new Lang.Class({
|
||||
Extends: BaseAppView,
|
||||
|
||||
_init: function() {
|
||||
this._settings = new Gio.Settings({ schema_id: 'org.gnome.shell' });
|
||||
|
||||
this.parent({ usePagination: true }, null);
|
||||
this._scrollView = new St.ScrollView({ style_class: 'all-apps',
|
||||
x_expand: true,
|
||||
@@ -502,6 +500,11 @@ const AllView = new Lang.Class({
|
||||
|
||||
_loadApps: function() {
|
||||
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();
|
||||
}).map(function(app) {
|
||||
return app.get_id();
|
||||
@@ -525,7 +528,7 @@ const AllView = new Lang.Class({
|
||||
// at least on single-monitor setups.
|
||||
// This also disables drag-to-launch on multi-monitor setups,
|
||||
// but we hope that is not used much.
|
||||
let favoritesWritable = this._settings.is_writable('favorite-apps');
|
||||
let favoritesWritable = global.settings.is_writable('favorite-apps');
|
||||
|
||||
apps.forEach(Lang.bind(this, function(appId) {
|
||||
let app = appSys.lookup_app(appId);
|
||||
@@ -755,7 +758,8 @@ const AllView = new Lang.Class({
|
||||
let fadeOffset = Math.min(this._grid.topPadding,
|
||||
this._grid.bottomPadding);
|
||||
this._scrollView.update_fade_effect(fadeOffset, 0);
|
||||
this._scrollView.get_effect('fade').fade_edges = true;
|
||||
if (fadeOffset > 0)
|
||||
this._scrollView.get_effect('fade').fade_edges = true;
|
||||
|
||||
if (this._availWidth != availWidth || this._availHeight != availHeight || oldNPages != this._grid.nPages()) {
|
||||
this._adjustment.value = 0;
|
||||
@@ -783,8 +787,6 @@ const FrequentView = new Lang.Class({
|
||||
_init: function() {
|
||||
this.parent(null, { fillParent: true });
|
||||
|
||||
this._settings = new Gio.Settings({ schema_id: 'org.gnome.shell' });
|
||||
|
||||
this.actor = new St.Widget({ style_class: 'frequent-apps',
|
||||
layout_manager: new Clutter.BinLayout(),
|
||||
x_expand: true, y_expand: true });
|
||||
@@ -827,7 +829,7 @@ const FrequentView = new Lang.Class({
|
||||
// at least on single-monitor setups.
|
||||
// This also disables drag-to-launch on multi-monitor setups,
|
||||
// but we hope that is not used much.
|
||||
let favoritesWritable = this._settings.is_writable('favorite-apps');
|
||||
let favoritesWritable = global.settings.is_writable('favorite-apps');
|
||||
|
||||
for (let i = 0; i < mostUsed.length; i++) {
|
||||
if (!mostUsed[i].get_app_info().should_show())
|
||||
@@ -1064,7 +1066,7 @@ const AppSearchProvider = new Lang.Class({
|
||||
|
||||
getInitialResultSet: function(terms, callback, cancellable) {
|
||||
let query = terms.join(' ');
|
||||
let groups = Gio.DesktopAppInfo.search(query);
|
||||
let groups = Shell.AppSystem.search(query);
|
||||
let usage = Shell.AppUsage.get_default();
|
||||
let results = [];
|
||||
groups.forEach(function(group) {
|
||||
@@ -1293,7 +1295,10 @@ const FolderIcon = new Lang.Class({
|
||||
if (!_listsIntersect(folderCategories, appCategories))
|
||||
return;
|
||||
|
||||
addAppId(appInfo.get_id());
|
||||
try {
|
||||
addAppId(appInfo.get_id()); // catch invalid file encodings
|
||||
} catch(e) {
|
||||
}
|
||||
});
|
||||
|
||||
this.actor.visible = this.view.getAllItems().length > 0;
|
||||
@@ -1804,8 +1809,6 @@ const AppIconMenu = new Lang.Class({
|
||||
|
||||
this.actor.add_style_class_name('app-well-menu');
|
||||
|
||||
this._settings = new Gio.Settings({ schema_id: 'org.gnome.shell' });
|
||||
|
||||
// Chain our visibility and lifecycle to that of the source
|
||||
source.actor.connect('notify::mapped', Lang.bind(this, function () {
|
||||
if (!source.actor.mapped)
|
||||
@@ -1867,7 +1870,7 @@ const AppIconMenu = new Lang.Class({
|
||||
}));
|
||||
}
|
||||
|
||||
let canFavorite = this._settings.is_writable('favorite-apps');
|
||||
let canFavorite = global.settings.is_writable('favorite-apps');
|
||||
|
||||
if (canFavorite) {
|
||||
this._appendSeparator();
|
||||
|
@@ -527,6 +527,10 @@ const BackgroundSource = new Lang.Class({
|
||||
let file = null;
|
||||
let style;
|
||||
|
||||
// We don't watch changes to settings here,
|
||||
// instead we rely on Background to watch those
|
||||
// and emit 'changed' at the right time
|
||||
|
||||
if (this._overrideImage != null) {
|
||||
file = Gio.File.new_for_path(this._overrideImage);
|
||||
style = GDesktopEnums.BackgroundStyle.ZOOM; // Hardcode
|
||||
|
@@ -1106,6 +1106,8 @@ const Message = new Lang.Class({
|
||||
this._bodyStack.layout_manager.expansion = 1;
|
||||
this._actionBin.scale_y = 1;
|
||||
}
|
||||
|
||||
this.emit('expanded');
|
||||
},
|
||||
|
||||
unexpand: function(animate) {
|
||||
@@ -1128,6 +1130,8 @@ const Message = new Lang.Class({
|
||||
this._actionBin.scale_y = 0;
|
||||
this.expanded = false;
|
||||
}
|
||||
|
||||
this.emit('unexpanded');
|
||||
},
|
||||
|
||||
canClose: function() {
|
||||
@@ -1225,7 +1229,7 @@ const NotificationMessage = new Lang.Class({
|
||||
this._closed = true;
|
||||
this.notification.destroy(MessageTray.NotificationDestroyedReason.DISMISSED);
|
||||
}));
|
||||
notification.connect('destroy', Lang.bind(this,
|
||||
this._destroyId = notification.connect('destroy', Lang.bind(this,
|
||||
function() {
|
||||
if (!this._closed)
|
||||
this.close();
|
||||
@@ -1248,10 +1252,6 @@ const NotificationMessage = new Lang.Class({
|
||||
this.setUseBodyMarkup(n.bannerBodyMarkup);
|
||||
},
|
||||
|
||||
canClose: function() {
|
||||
return !this.notification.resident;
|
||||
},
|
||||
|
||||
_onClicked: function() {
|
||||
this.notification.activate();
|
||||
},
|
||||
@@ -1260,6 +1260,10 @@ const NotificationMessage = new Lang.Class({
|
||||
if (this._updatedId)
|
||||
this.notification.disconnect(this._updatedId);
|
||||
this._updatedId = 0;
|
||||
|
||||
if (this._destroyId)
|
||||
this.notification.disconnect(this._destroyId);
|
||||
this._destroyId = 0;
|
||||
}
|
||||
});
|
||||
|
||||
|
@@ -158,14 +158,6 @@ const TelepathyClient = new Lang.Class({
|
||||
this._chatSources[channel.get_object_path()] = source;
|
||||
source.connect('destroy', Lang.bind(this,
|
||||
function() {
|
||||
if (this._tpClient.is_handling_channel(channel)) {
|
||||
// The chat box has been destroyed so it can't
|
||||
// handle the channel any more.
|
||||
channel.close_async(function(src, result) {
|
||||
channel.close_finish(result);
|
||||
});
|
||||
}
|
||||
|
||||
delete this._chatSources[channel.get_object_path()];
|
||||
}));
|
||||
},
|
||||
@@ -274,13 +266,6 @@ const ChatSource = new Lang.Class({
|
||||
this._channel = channel;
|
||||
this._closedId = this._channel.connect('invalidated', Lang.bind(this, this._channelClosed));
|
||||
|
||||
this._notification = new ChatNotification(this);
|
||||
this._notification.connect('activated', Lang.bind(this, this.open));
|
||||
this._notification.connect('updated', Lang.bind(this,
|
||||
function() {
|
||||
if (this._banner && this._banner.expanded)
|
||||
this._ackMessages();
|
||||
}));
|
||||
this._notifyTimeoutId = 0;
|
||||
|
||||
this._presence = contact.get_presence_type();
|
||||
@@ -295,11 +280,28 @@ const ChatSource = new Lang.Class({
|
||||
|
||||
// Add ourselves as a source.
|
||||
Main.messageTray.add(this);
|
||||
this.pushNotification(this._notification);
|
||||
|
||||
this._getLogMessages();
|
||||
},
|
||||
|
||||
_ensureNotification: function() {
|
||||
if (this._notification)
|
||||
return;
|
||||
|
||||
this._notification = new ChatNotification(this);
|
||||
this._notification.connect('activated', Lang.bind(this, this.open));
|
||||
this._notification.connect('updated', Lang.bind(this,
|
||||
function() {
|
||||
if (this._banner && this._banner.expanded)
|
||||
this._ackMessages();
|
||||
}));
|
||||
this._notification.connect('destroy', Lang.bind(this,
|
||||
function() {
|
||||
this._notification = null;
|
||||
}));
|
||||
this.pushNotification(this._notification);
|
||||
},
|
||||
|
||||
_createPolicy: function() {
|
||||
return new MessageTray.NotificationApplicationPolicy('empathy');
|
||||
},
|
||||
@@ -326,7 +328,8 @@ const ChatSource = new Lang.Class({
|
||||
return;
|
||||
|
||||
this.setTitle(newAlias);
|
||||
this._notification.appendAliasChange(oldAlias, newAlias);
|
||||
if (this._notification)
|
||||
this._notification.appendAliasChange(oldAlias, newAlias);
|
||||
},
|
||||
|
||||
getIcon: function() {
|
||||
@@ -369,9 +372,10 @@ const ChatSource = new Lang.Class({
|
||||
|
||||
_updateAvatarIcon: function() {
|
||||
this.iconUpdated();
|
||||
this._notification.update(this._notification.title,
|
||||
this._notification.bannerBodyText,
|
||||
{ gicon: this.getIcon() });
|
||||
if (this._notifiction)
|
||||
this._notification.update(this._notification.title,
|
||||
this._notification.bannerBodyText,
|
||||
{ gicon: this.getIcon() });
|
||||
},
|
||||
|
||||
open: function() {
|
||||
@@ -412,6 +416,7 @@ const ChatSource = new Lang.Class({
|
||||
let [success, events] = logManager.get_filtered_events_finish(result);
|
||||
|
||||
let logMessages = events.map(makeMessageFromTplEvent);
|
||||
this._ensureNotification();
|
||||
|
||||
let pendingTpMessages = this._channel.get_pending_messages();
|
||||
let pendingMessages = [];
|
||||
@@ -461,6 +466,18 @@ const ChatSource = new Lang.Class({
|
||||
},
|
||||
|
||||
destroy: function(reason) {
|
||||
if (this._client.is_handling_channel(this._channel)) {
|
||||
// The chat box has been destroyed so it can't
|
||||
// handle the channel any more.
|
||||
this._channel.close_async(function(channel, result) {
|
||||
channel.close_finish(result);
|
||||
});
|
||||
}
|
||||
|
||||
// Keep source alive while the channel is open
|
||||
if (reason != MessageTray.NotificationDestroyedReason.SOURCE_CLOSED)
|
||||
return;
|
||||
|
||||
if (this._destroyed)
|
||||
return;
|
||||
|
||||
@@ -474,9 +491,6 @@ const ChatSource = new Lang.Class({
|
||||
this._contact.disconnect(this._notifyAvatarId);
|
||||
this._contact.disconnect(this._presenceChangedId);
|
||||
|
||||
if (this._timestampTimeoutId)
|
||||
Mainloop.source_remove(this._timestampTimeoutId);
|
||||
|
||||
this.parent(reason);
|
||||
},
|
||||
|
||||
@@ -501,6 +515,7 @@ const ChatSource = new Lang.Class({
|
||||
if (message.get_message_type() == Tp.ChannelTextMessageType.DELIVERY_REPORT)
|
||||
return;
|
||||
|
||||
this._ensureNotification();
|
||||
this._pendingMessages.push(message);
|
||||
this.countUpdated();
|
||||
|
||||
@@ -528,6 +543,7 @@ const ChatSource = new Lang.Class({
|
||||
// This is called for both messages we send from
|
||||
// our client and other clients as well.
|
||||
_messageSent: function(channel, message, flags, token) {
|
||||
this._ensureNotification();
|
||||
message = makeMessageFromTpMessage(message, NotificationDirection.SENT);
|
||||
this._notification.appendMessage(message);
|
||||
},
|
||||
@@ -565,9 +581,10 @@ const ChatSource = new Lang.Class({
|
||||
},
|
||||
|
||||
_presenceChanged: function (contact, presence, status, message) {
|
||||
this._notification.update(this._notification.title,
|
||||
this._notification.bannerBodyText,
|
||||
{ secondaryGIcon: this.getSecondaryIcon() });
|
||||
if (this._notification)
|
||||
this._notification.update(this._notification.title,
|
||||
this._notification.bannerBodyText,
|
||||
{ secondaryGIcon: this.getSecondaryIcon() });
|
||||
},
|
||||
|
||||
_pendingRemoved: function(channel, message) {
|
||||
@@ -577,6 +594,10 @@ const ChatSource = new Lang.Class({
|
||||
this._pendingMessages.splice(idx, 1);
|
||||
this.countUpdated();
|
||||
}
|
||||
|
||||
if (this._pendingMessages.length == 0 &&
|
||||
this._banner && !this._banner.expanded)
|
||||
this._banner.hide();
|
||||
},
|
||||
|
||||
_ackMessages: function() {
|
||||
@@ -600,6 +621,13 @@ const ChatNotification = new Lang.Class({
|
||||
this._timestampTimeoutId = 0;
|
||||
},
|
||||
|
||||
destroy: function(reason) {
|
||||
if (this._timestampTimeoutId)
|
||||
Mainloop.source_remove(this._timestampTimeoutId);
|
||||
this._timestampTimeoutId = 0;
|
||||
this.parent(reason);
|
||||
},
|
||||
|
||||
/**
|
||||
* appendMessage:
|
||||
* @message: An object with the properties:
|
||||
@@ -682,6 +710,7 @@ const ChatNotification = new Lang.Class({
|
||||
// Reset the old message timeout
|
||||
if (this._timestampTimeoutId)
|
||||
Mainloop.source_remove(this._timestampTimeoutId);
|
||||
this._timestampTimeoutId = 0;
|
||||
|
||||
let message = { realMessage: props.group != 'meta',
|
||||
showTimestamp: false };
|
||||
@@ -830,6 +859,10 @@ const ChatNotificationBanner = new Lang.Class({
|
||||
adjustment.value = adjustment.upper;
|
||||
},
|
||||
|
||||
hide: function() {
|
||||
this.emit('done-displaying');
|
||||
},
|
||||
|
||||
_addMessage: function(message) {
|
||||
let highlighter = new Calendar.URLHighlighter(message.body, true, true);
|
||||
let body = highlighter.actor;
|
||||
|
@@ -242,8 +242,6 @@ const ShowAppsIcon = new Lang.Class({
|
||||
_init: function() {
|
||||
this.parent();
|
||||
|
||||
this._settings = new Gio.Settings({ schema_id: 'org.gnome.shell' });
|
||||
|
||||
this.toggleButton = new St.Button({ style_class: 'show-apps',
|
||||
track_hover: true,
|
||||
can_focus: true,
|
||||
@@ -272,7 +270,7 @@ const ShowAppsIcon = new Lang.Class({
|
||||
if (app == null)
|
||||
return false;
|
||||
|
||||
if (!this._settings.is_writable('favorite-apps'))
|
||||
if (!global.settings.is_writable('favorite-apps'))
|
||||
return false;
|
||||
|
||||
let id = app.get_id();
|
||||
@@ -430,8 +428,6 @@ const Dash = new Lang.Class({
|
||||
|
||||
this._workId = Main.initializeDeferredWork(this._box, Lang.bind(this, this._redisplay));
|
||||
|
||||
this._settings = new Gio.Settings({ schema_id: 'org.gnome.shell' });
|
||||
|
||||
this._appSystem = Shell.AppSystem.get_default();
|
||||
|
||||
this._appSystem.connect('installed-changed', Lang.bind(this, function() {
|
||||
@@ -648,15 +644,14 @@ const Dash = new Lang.Class({
|
||||
let firstIcon = firstButton._delegate.icon;
|
||||
|
||||
let minHeight, natHeight;
|
||||
let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor;
|
||||
|
||||
// Enforce the current icon size during the size request
|
||||
firstIcon.setIconSize(this.iconSize);
|
||||
firstIcon.icon.ensure_style();
|
||||
let [currentWidth, currentHeight] = firstIcon.icon.get_size();
|
||||
firstIcon.icon.set_size(this.iconSize * scaleFactor, this.iconSize * scaleFactor);
|
||||
[minHeight, natHeight] = firstButton.get_preferred_height(-1);
|
||||
|
||||
let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor;
|
||||
let iconSizes = baseIconSizes.map(function(s) {
|
||||
return s * scaleFactor;
|
||||
});
|
||||
firstIcon.icon.set_size(currentWidth, currentHeight);
|
||||
|
||||
// Subtract icon padding and box spacing from the available height
|
||||
availHeight -= iconChildren.length * (natHeight - this.iconSize * scaleFactor) +
|
||||
@@ -664,6 +659,10 @@ const Dash = new Lang.Class({
|
||||
|
||||
let availSize = availHeight / iconChildren.length;
|
||||
|
||||
let iconSizes = baseIconSizes.map(function(s) {
|
||||
return s * scaleFactor;
|
||||
});
|
||||
|
||||
let newIconSize = baseIconSizes[0];
|
||||
for (let i = 0; i < iconSizes.length; i++) {
|
||||
if (iconSizes[i] < availSize)
|
||||
@@ -864,7 +863,7 @@ const Dash = new Lang.Class({
|
||||
if (app == null || app.is_window_backed())
|
||||
return DND.DragMotionResult.NO_DROP;
|
||||
|
||||
if (!this._settings.is_writable('favorite-apps'))
|
||||
if (!global.settings.is_writable('favorite-apps'))
|
||||
return DND.DragMotionResult.NO_DROP;
|
||||
|
||||
let favorites = AppFavorites.getAppFavorites().getFavorites();
|
||||
@@ -943,7 +942,7 @@ const Dash = new Lang.Class({
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!this._settings.is_writable('favorite-apps'))
|
||||
if (!global.settings.is_writable('favorite-apps'))
|
||||
return false;
|
||||
|
||||
let id = app.get_id();
|
||||
|
@@ -357,8 +357,6 @@ const DateMenuButton = new Lang.Class({
|
||||
this._date.setDate(now);
|
||||
this._messageList.setDate(now);
|
||||
}
|
||||
// Block notification banners while the menu is open
|
||||
Main.messageTray.bannerBlocked = isOpen;
|
||||
}));
|
||||
|
||||
// Fill up the first column
|
||||
|
@@ -24,9 +24,6 @@ const KEYBOARD_TYPE = 'keyboard-type';
|
||||
const A11Y_APPLICATIONS_SCHEMA = 'org.gnome.desktop.a11y.applications';
|
||||
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_OBJECT_PATH = '/org/gnome/Caribou/Daemon';
|
||||
|
||||
@@ -114,6 +111,35 @@ const Key = new Lang.Class({
|
||||
key.release();
|
||||
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;
|
||||
},
|
||||
@@ -178,12 +204,13 @@ const Keyboard = new Lang.Class({
|
||||
this._keyboardSettings.connect('changed', Lang.bind(this, this._sync));
|
||||
this._a11yApplicationsSettings = new Gio.Settings({ schema_id: A11Y_APPLICATIONS_SCHEMA });
|
||||
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._lastDeviceId = null;
|
||||
|
||||
if (Meta.is_wayland_compositor() &&
|
||||
Caribou.DisplayAdapter.set_default)
|
||||
Caribou.DisplayAdapter.set_default(new ShellWaylandAdapter());
|
||||
|
||||
Meta.get_backend().connect('last-device-changed', Lang.bind(this,
|
||||
function (backend, deviceId) {
|
||||
let manager = Clutter.DeviceManager.get_default();
|
||||
@@ -725,3 +752,24 @@ const KeyboardSource = new Lang.Class({
|
||||
this._keyboard.show(Main.layoutManager.bottomIndex);
|
||||
}
|
||||
});
|
||||
|
||||
const ShellWaylandAdapter = new Lang.Class({
|
||||
Name: 'ShellWaylandAdapter',
|
||||
Extends: Caribou.XAdapter,
|
||||
|
||||
vfunc_keyval_press: function(keyval) {
|
||||
let focus = global.stage.get_key_focus();
|
||||
if (focus instanceof Clutter.Text)
|
||||
Shell.util_text_insert_keyval(focus, keyval);
|
||||
else
|
||||
this.parent(keyval);
|
||||
},
|
||||
|
||||
vfunc_keyval_release: function(keyval) {
|
||||
let focus = global.stage.get_key_focus();
|
||||
if (focus instanceof Clutter.Text)
|
||||
return; // do nothing
|
||||
else
|
||||
this.parent(keyval);
|
||||
},
|
||||
});
|
||||
|
@@ -11,6 +11,7 @@ const St = imports.gi.St;
|
||||
|
||||
const Background = imports.ui.background;
|
||||
const BackgroundMenu = imports.ui.backgroundMenu;
|
||||
const LoginManager = imports.misc.loginManager;
|
||||
|
||||
const DND = imports.ui.dnd;
|
||||
const Main = imports.ui.main;
|
||||
@@ -273,6 +274,18 @@ const LayoutManager = new Lang.Class({
|
||||
global.screen.connect('in-fullscreen-changed',
|
||||
Lang.bind(this, this._updateFullscreen));
|
||||
this._monitorsChanged();
|
||||
|
||||
// NVIDIA drivers don't preserve FBO contents across
|
||||
// suspend/resume, see
|
||||
// https://bugzilla.gnome.org/show_bug.cgi?id=739178
|
||||
if (Shell.util_need_background_refresh()) {
|
||||
LoginManager.getLoginManager().connect('prepare-for-sleep',
|
||||
function(lm, suspending) {
|
||||
if (suspending)
|
||||
return;
|
||||
Meta.Background.refresh_all();
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
// This is called by Main after everything else is constructed
|
||||
@@ -824,6 +837,7 @@ const LayoutManager = new Lang.Class({
|
||||
// need to connect to 'destroy' too.
|
||||
|
||||
this._trackedActors.push(actorData);
|
||||
this._updateActorVisibility(actorData);
|
||||
this._queueUpdateRegions();
|
||||
},
|
||||
|
||||
@@ -842,25 +856,23 @@ const LayoutManager = new Lang.Class({
|
||||
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() {
|
||||
let windowsVisible = Main.sessionMode.hasWindows && !this._inOverview;
|
||||
|
||||
global.window_group.visible = windowsVisible;
|
||||
global.top_window_group.visible = windowsVisible;
|
||||
|
||||
for (let i = 0; i < this._trackedActors.length; i++) {
|
||||
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;
|
||||
}
|
||||
this._trackedActors.forEach(Lang.bind(this, this._updateActorVisibility));
|
||||
},
|
||||
|
||||
getWorkAreaForMonitor: function(monitorIndex) {
|
||||
|
@@ -1,4 +1,5 @@
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const GLib = imports.gi.GLib;
|
||||
const GObject = imports.gi.GObject;
|
||||
const Meta = imports.gi.Meta;
|
||||
const Shell = imports.gi.Shell;
|
||||
@@ -28,8 +29,9 @@ const STANDARD_TRAY_ICON_IMPLEMENTATIONS = {
|
||||
};
|
||||
|
||||
// Offset of the original position from the bottom-right corner
|
||||
const CONCEALED_VISIBLE_FRACTION = 0.2;
|
||||
const CONCEALED_WIDTH = 3;
|
||||
const REVEAL_ANIMATION_TIME = 0.2;
|
||||
const TEMP_REVEAL_TIME = 2;
|
||||
|
||||
const BARRIER_THRESHOLD = 70;
|
||||
const BARRIER_TIMEOUT = 1000;
|
||||
@@ -100,6 +102,7 @@ const LegacyTray = new Lang.Class({
|
||||
|
||||
Main.layoutManager.addChrome(this.actor, { affectsInputRegion: false });
|
||||
Main.layoutManager.trackChrome(this._slider, { affectsInputRegion: true });
|
||||
Main.uiGroup.set_child_below_sibling(this.actor, Main.layoutManager.modalDialogGroup);
|
||||
Main.ctrlAltTabManager.addGroup(this.actor,
|
||||
_("Status Icons"), 'focus-legacy-systray-symbolic',
|
||||
{ sortGroup: CtrlAltTab.SortGroup.BOTTOM });
|
||||
@@ -173,7 +176,15 @@ const LegacyTray = new Lang.Class({
|
||||
}));
|
||||
|
||||
this._iconBox.add_actor(button);
|
||||
this._sync();
|
||||
|
||||
if (!this._concealHandle.visible) {
|
||||
this._concealHandle.show();
|
||||
GLib.timeout_add_seconds(GLib.PRIORITY_DEFAULT, TEMP_REVEAL_TIME,
|
||||
Lang.bind(this, function() {
|
||||
this._concealHandle.hide();
|
||||
return GLib.SOURCE_REMOVE;
|
||||
}));
|
||||
}
|
||||
},
|
||||
|
||||
_onTrayIconRemoved: function(tm, icon) {
|
||||
@@ -204,11 +215,7 @@ const LegacyTray = new Lang.Class({
|
||||
this._horizontalBarrier.y2 == y2)
|
||||
return;
|
||||
|
||||
if (this._horizontalBarrier) {
|
||||
this._pressureBarrier.removeBarrier(this._horizontalBarrier);
|
||||
this._horizontalBarrier.destroy();
|
||||
this._horizontalBarrier = null;
|
||||
}
|
||||
this._unsetBarrier();
|
||||
|
||||
let directions = (rtl ? Meta.BarrierDirection.NEGATIVE_X : Meta.BarrierDirection.POSITIVE_X);
|
||||
this._horizontalBarrier = new Meta.Barrier({ display: global.display,
|
||||
@@ -218,6 +225,15 @@ const LegacyTray = new Lang.Class({
|
||||
this._pressureBarrier.addBarrier(this._horizontalBarrier);
|
||||
},
|
||||
|
||||
_unsetBarrier: function() {
|
||||
if (this._horizontalBarrier == null)
|
||||
return;
|
||||
|
||||
this._pressureBarrier.removeBarrier(this._horizontalBarrier);
|
||||
this._horizontalBarrier.destroy();
|
||||
this._horizontalBarrier = null;
|
||||
},
|
||||
|
||||
_sync: function() {
|
||||
// FIXME: we no longer treat tray icons as notifications
|
||||
let allowed = Main.sessionMode.hasNotifications;
|
||||
@@ -238,17 +254,20 @@ const LegacyTray = new Lang.Class({
|
||||
let [, boxWidth] = this._box.get_preferred_width(-1);
|
||||
let [, handleWidth] = this._revealHandle.get_preferred_width(-1);
|
||||
|
||||
targetSlide = handleWidth / boxWidth;
|
||||
if (!this._revealHandle.hover)
|
||||
targetSlide *= CONCEALED_VISIBLE_FRACTION;
|
||||
if (this._revealHandle.hover)
|
||||
targetSlide = handleWidth / boxWidth;
|
||||
else
|
||||
targetSlide = CONCEALED_WIDTH / boxWidth;
|
||||
}
|
||||
|
||||
if (this.actor.visible)
|
||||
if (this.actor.visible) {
|
||||
Tweener.addTween(this._slideLayout,
|
||||
{ slideX: targetSlide,
|
||||
time: REVEAL_ANIMATION_TIME,
|
||||
transition: 'easeOutQuad' });
|
||||
else
|
||||
} else {
|
||||
this._slideLayout.slideX = targetSlide;
|
||||
this._unsetBarrier();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@@ -444,55 +444,6 @@ const Magnifier = new Lang.Class({
|
||||
this._appSettings = new Gio.Settings({ schema_id: APPLICATIONS_SCHEMA });
|
||||
this._settings = new Gio.Settings({ schema_id: MAGNIFIER_SCHEMA });
|
||||
|
||||
if (zoomRegion) {
|
||||
// Mag factor is accurate to two decimal places.
|
||||
let aPref = parseFloat(this._settings.get_double(MAG_FACTOR_KEY).toFixed(2));
|
||||
if (aPref != 0.0)
|
||||
zoomRegion.setMagFactor(aPref, aPref);
|
||||
|
||||
aPref = this._settings.get_enum(SCREEN_POSITION_KEY);
|
||||
if (aPref)
|
||||
zoomRegion.setScreenPosition(aPref);
|
||||
|
||||
zoomRegion.setLensMode(this._settings.get_boolean(LENS_MODE_KEY));
|
||||
zoomRegion.setClampScrollingAtEdges(!this._settings.get_boolean(CLAMP_MODE_KEY));
|
||||
|
||||
aPref = this._settings.get_enum(MOUSE_TRACKING_KEY);
|
||||
if (aPref)
|
||||
zoomRegion.setMouseTrackingMode(aPref);
|
||||
|
||||
aPref = this._settings.get_enum(FOCUS_TRACKING_KEY);
|
||||
if (aPref)
|
||||
zoomRegion.setFocusTrackingMode(aPref);
|
||||
|
||||
aPref = this._settings.get_enum(CARET_TRACKING_KEY);
|
||||
if (aPref)
|
||||
zoomRegion.setCaretTrackingMode(aPref);
|
||||
|
||||
aPref = this._settings.get_boolean(INVERT_LIGHTNESS_KEY);
|
||||
if (aPref)
|
||||
zoomRegion.setInvertLightness(aPref);
|
||||
|
||||
aPref = this._settings.get_double(COLOR_SATURATION_KEY);
|
||||
if (aPref)
|
||||
zoomRegion.setColorSaturation(aPref);
|
||||
|
||||
let bc = {};
|
||||
bc.r = this._settings.get_double(BRIGHT_RED_KEY);
|
||||
bc.g = this._settings.get_double(BRIGHT_GREEN_KEY);
|
||||
bc.b = this._settings.get_double(BRIGHT_BLUE_KEY);
|
||||
zoomRegion.setBrightness(bc);
|
||||
|
||||
bc.r = this._settings.get_double(CONTRAST_RED_KEY);
|
||||
bc.g = this._settings.get_double(CONTRAST_GREEN_KEY);
|
||||
bc.b = this._settings.get_double(CONTRAST_BLUE_KEY);
|
||||
zoomRegion.setContrast(bc);
|
||||
}
|
||||
|
||||
let showCrosshairs = this._settings.get_boolean(SHOW_CROSS_HAIRS_KEY);
|
||||
this.addCrosshairs();
|
||||
this.setCrosshairsVisible(showCrosshairs);
|
||||
|
||||
this._appSettings.connect('changed::' + SHOW_KEY,
|
||||
Lang.bind(this, function() {
|
||||
this.setActive(this._appSettings.get_boolean(SHOW_KEY));
|
||||
@@ -561,6 +512,56 @@ const Magnifier = new Lang.Class({
|
||||
Lang.bind(this, function() {
|
||||
this.setCrosshairsClip(this._settings.get_boolean(CROSS_HAIRS_CLIP_KEY));
|
||||
}));
|
||||
|
||||
if (zoomRegion) {
|
||||
// Mag factor is accurate to two decimal places.
|
||||
let aPref = parseFloat(this._settings.get_double(MAG_FACTOR_KEY).toFixed(2));
|
||||
if (aPref != 0.0)
|
||||
zoomRegion.setMagFactor(aPref, aPref);
|
||||
|
||||
aPref = this._settings.get_enum(SCREEN_POSITION_KEY);
|
||||
if (aPref)
|
||||
zoomRegion.setScreenPosition(aPref);
|
||||
|
||||
zoomRegion.setLensMode(this._settings.get_boolean(LENS_MODE_KEY));
|
||||
zoomRegion.setClampScrollingAtEdges(!this._settings.get_boolean(CLAMP_MODE_KEY));
|
||||
|
||||
aPref = this._settings.get_enum(MOUSE_TRACKING_KEY);
|
||||
if (aPref)
|
||||
zoomRegion.setMouseTrackingMode(aPref);
|
||||
|
||||
aPref = this._settings.get_enum(FOCUS_TRACKING_KEY);
|
||||
if (aPref)
|
||||
zoomRegion.setFocusTrackingMode(aPref);
|
||||
|
||||
aPref = this._settings.get_enum(CARET_TRACKING_KEY);
|
||||
if (aPref)
|
||||
zoomRegion.setCaretTrackingMode(aPref);
|
||||
|
||||
aPref = this._settings.get_boolean(INVERT_LIGHTNESS_KEY);
|
||||
if (aPref)
|
||||
zoomRegion.setInvertLightness(aPref);
|
||||
|
||||
aPref = this._settings.get_double(COLOR_SATURATION_KEY);
|
||||
if (aPref)
|
||||
zoomRegion.setColorSaturation(aPref);
|
||||
|
||||
let bc = {};
|
||||
bc.r = this._settings.get_double(BRIGHT_RED_KEY);
|
||||
bc.g = this._settings.get_double(BRIGHT_GREEN_KEY);
|
||||
bc.b = this._settings.get_double(BRIGHT_BLUE_KEY);
|
||||
zoomRegion.setBrightness(bc);
|
||||
|
||||
bc.r = this._settings.get_double(CONTRAST_RED_KEY);
|
||||
bc.g = this._settings.get_double(CONTRAST_GREEN_KEY);
|
||||
bc.b = this._settings.get_double(CONTRAST_BLUE_KEY);
|
||||
zoomRegion.setContrast(bc);
|
||||
}
|
||||
|
||||
let showCrosshairs = this._settings.get_boolean(SHOW_CROSS_HAIRS_KEY);
|
||||
this.addCrosshairs();
|
||||
this.setCrosshairsVisible(showCrosshairs);
|
||||
|
||||
return this._appSettings.get_boolean(SHOW_KEY);
|
||||
},
|
||||
|
||||
|
@@ -258,6 +258,8 @@ const NotificationApplicationPolicy = new Lang.Class({
|
||||
|
||||
_changed: function(settings, key) {
|
||||
this.emit('policy-changed', key);
|
||||
if (key == 'enable')
|
||||
this.emit('enable-changed');
|
||||
},
|
||||
|
||||
_canonicalizeId: function(id) {
|
||||
@@ -508,6 +510,7 @@ const NotificationBanner = new Lang.Class({
|
||||
_init: function(notification) {
|
||||
this.parent(notification);
|
||||
|
||||
this.actor.can_focus = false;
|
||||
this.actor.add_style_class_name('notification-banner');
|
||||
|
||||
this._buttonBox = null;
|
||||
@@ -753,10 +756,6 @@ const Source = new Lang.Class({
|
||||
return this.count > 1;
|
||||
},
|
||||
|
||||
get isClearable() {
|
||||
return !this.isChat && !this.resident;
|
||||
},
|
||||
|
||||
countUpdated: function() {
|
||||
this.emit('count-updated');
|
||||
},
|
||||
@@ -929,8 +928,6 @@ const MessageTray = new Lang.Class({
|
||||
this._notificationTimeoutId = 0;
|
||||
this._notificationRemoved = false;
|
||||
|
||||
this.clearableCount = 0;
|
||||
|
||||
Main.layoutManager.addChrome(this.actor, { affectsInputRegion: false });
|
||||
Main.layoutManager.trackChrome(this._bannerBin, { affectsInputRegion: true });
|
||||
|
||||
@@ -981,6 +978,14 @@ const MessageTray = new Lang.Class({
|
||||
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) {
|
||||
if (event.get_key_symbol() == Clutter.KEY_Escape && event.get_state() == 0) {
|
||||
this._expireNotification();
|
||||
@@ -1031,9 +1036,6 @@ const MessageTray = new Lang.Class({
|
||||
destroyId: 0,
|
||||
};
|
||||
|
||||
if (source.isClearable)
|
||||
this.clearableCount++;
|
||||
|
||||
this._sources.set(source, obj);
|
||||
|
||||
obj.notifyId = source.connect('notify', Lang.bind(this, this._onNotify));
|
||||
@@ -1046,9 +1048,6 @@ const MessageTray = new Lang.Class({
|
||||
let obj = this._sources.get(source);
|
||||
this._sources.delete(source);
|
||||
|
||||
if (source.isClearable)
|
||||
this.clearableCount--;
|
||||
|
||||
source.disconnect(obj.notifyId);
|
||||
source.disconnect(obj.destroyId);
|
||||
|
||||
|
@@ -933,6 +933,14 @@ const Panel = new Lang.Class({
|
||||
this._updateBox(panel.center, this._centerBox);
|
||||
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)
|
||||
this._removeStyleClassName(this._sessionStyle);
|
||||
|
||||
@@ -995,6 +1003,7 @@ const Panel = new Lang.Class({
|
||||
if (parent)
|
||||
parent.remove_actor(container);
|
||||
|
||||
|
||||
box.insert_child_at_index(container, position);
|
||||
if (indicator.menu)
|
||||
this.menuManager.addMenu(indicator.menu);
|
||||
@@ -1004,6 +1013,8 @@ const Panel = new Lang.Class({
|
||||
emitter.disconnect(destroyId);
|
||||
container.destroy();
|
||||
}));
|
||||
indicator.connect('menu-set', Lang.bind(this, this._onMenuSet));
|
||||
this._onMenuSet(indicator);
|
||||
},
|
||||
|
||||
addToStatusArea: function(role, indicator, position, box) {
|
||||
@@ -1035,5 +1046,24 @@ const Panel = new Lang.Class({
|
||||
this.actor.remove_style_class_name(className);
|
||||
this._rightCorner.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;
|
||||
}));
|
||||
}
|
||||
});
|
||||
|
@@ -128,6 +128,7 @@ const Button = new Lang.Class({
|
||||
Main.uiGroup.add_actor(this.menu.actor);
|
||||
this.menu.actor.hide();
|
||||
}
|
||||
this.emit('menu-set');
|
||||
},
|
||||
|
||||
_onEvent: function(actor, event) {
|
||||
|
@@ -63,7 +63,7 @@ const SearchProvider2Iface = '<node> \
|
||||
var SearchProviderProxyInfo = Gio.DBusInterfaceInfo.new_for_xml(SearchProviderIface);
|
||||
var SearchProvider2ProxyInfo = Gio.DBusInterfaceInfo.new_for_xml(SearchProvider2Iface);
|
||||
|
||||
function loadRemoteSearchProviders(callback) {
|
||||
function loadRemoteSearchProviders(searchSettings, callback) {
|
||||
let objectPaths = {};
|
||||
let loadedProviders = [];
|
||||
|
||||
@@ -124,7 +124,6 @@ function loadRemoteSearchProviders(callback) {
|
||||
}
|
||||
}
|
||||
|
||||
let searchSettings = new Gio.Settings({ schema_id: Search.SEARCH_PROVIDERS_SCHEMA });
|
||||
if (searchSettings.get_boolean('disable-external')) {
|
||||
callback([]);
|
||||
return;
|
||||
|
@@ -507,21 +507,22 @@ const ScreenShield = new Lang.Class({
|
||||
this._liftShield(true, 0);
|
||||
}));
|
||||
|
||||
this._inhibitor = null;
|
||||
this._aboutToSuspend = false;
|
||||
this._loginManager = LoginManager.getLoginManager();
|
||||
this._loginManager.connect('prepare-for-sleep',
|
||||
Lang.bind(this, this._prepareForSleep));
|
||||
this._inhibitSuspend();
|
||||
|
||||
this._loginSession = null;
|
||||
this._loginManager.getCurrentSessionProxy(Lang.bind(this,
|
||||
function(sessionProxy) {
|
||||
this._loginSession = sessionProxy;
|
||||
this._loginSession.connectSignal('Lock', Lang.bind(this, function() { this.lock(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.connect('changed::' + LOCK_ENABLED_KEY, Lang.bind(this, this._syncInhibitor));
|
||||
|
||||
this._isModal = false;
|
||||
this._hasLockScreen = false;
|
||||
@@ -547,6 +548,18 @@ const ScreenShield = new Lang.Class({
|
||||
|
||||
this.idleMonitor = Meta.IdleMonitor.get_core();
|
||||
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) {
|
||||
@@ -664,31 +677,28 @@ const ScreenShield = new Lang.Class({
|
||||
return Clutter.EVENT_STOP;
|
||||
},
|
||||
|
||||
_inhibitSuspend: function() {
|
||||
this._loginManager.inhibit(_("GNOME needs to lock the screen"),
|
||||
Lang.bind(this, function(inhibitor) {
|
||||
this._inhibitor = inhibitor;
|
||||
}));
|
||||
},
|
||||
|
||||
_uninhibitSuspend: function() {
|
||||
if (this._inhibitor)
|
||||
this._inhibitor.close(null);
|
||||
this._inhibitor = null;
|
||||
_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"),
|
||||
Lang.bind(this, function(inhibitor) {
|
||||
if (this._inhibitor)
|
||||
this._inhibitor.close(null);
|
||||
this._inhibitor = inhibitor;
|
||||
}));
|
||||
} else {
|
||||
if (this._inhibitor)
|
||||
this._inhibitor.close(null);
|
||||
this._inhibitor = null;
|
||||
}
|
||||
},
|
||||
|
||||
_prepareForSleep: function(loginManager, aboutToSuspend) {
|
||||
this._aboutToSuspend = aboutToSuspend;
|
||||
|
||||
if (aboutToSuspend) {
|
||||
if (!this._settings.get_boolean(LOCK_ENABLED_KEY)) {
|
||||
this._uninhibitSuspend();
|
||||
return;
|
||||
}
|
||||
this.lock(true);
|
||||
if (this._settings.get_boolean(LOCK_ENABLED_KEY))
|
||||
this.lock(true);
|
||||
} else {
|
||||
this._inhibitSuspend();
|
||||
|
||||
this._wakeUpScreen();
|
||||
}
|
||||
},
|
||||
@@ -1083,15 +1093,7 @@ const ScreenShield = new Lang.Class({
|
||||
},
|
||||
|
||||
_completeLockScreenShown: function() {
|
||||
let prevIsActive = this._isActive;
|
||||
this._isActive = true;
|
||||
|
||||
if (prevIsActive != this._isActive)
|
||||
this.emit('active-changed');
|
||||
|
||||
if (this._aboutToSuspend)
|
||||
this._uninhibitSuspend();
|
||||
|
||||
this._setActive(true);
|
||||
this.emit('lock-screen-shown');
|
||||
},
|
||||
|
||||
@@ -1185,8 +1187,7 @@ const ScreenShield = new Lang.Class({
|
||||
// gnome-settings-daemon will stop blanking the screen
|
||||
|
||||
this._activationTime = 0;
|
||||
this._isActive = false;
|
||||
this.emit('active-changed');
|
||||
this._setActive(false);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1229,9 +1230,8 @@ const ScreenShield = new Lang.Class({
|
||||
}
|
||||
|
||||
this._activationTime = 0;
|
||||
this._isActive = false;
|
||||
this._setActive(false);
|
||||
this._isLocked = false;
|
||||
this.emit('active-changed');
|
||||
this.emit('locked-changed');
|
||||
global.set_runtime_state(LOCKED_STATE_STR, null);
|
||||
},
|
||||
|
@@ -416,6 +416,7 @@ const SearchResults = new Lang.Class({
|
||||
|
||||
this._searchSettings = new Gio.Settings({ schema_id: SEARCH_PROVIDERS_SCHEMA });
|
||||
this._searchSettings.connect('changed::disabled', Lang.bind(this, this._reloadRemoteProviders));
|
||||
this._searchSettings.connect('changed::enabled', Lang.bind(this, this._reloadRemoteProviders));
|
||||
this._searchSettings.connect('changed::disable-external', Lang.bind(this, this._reloadRemoteProviders));
|
||||
this._searchSettings.connect('changed::sort-order', Lang.bind(this, this._reloadRemoteProviders));
|
||||
|
||||
@@ -434,7 +435,7 @@ const SearchResults = new Lang.Class({
|
||||
this._unregisterProvider(provider);
|
||||
}));
|
||||
|
||||
RemoteSearch.loadRemoteSearchProviders(Lang.bind(this, function(providers) {
|
||||
RemoteSearch.loadRemoteSearchProviders(this._searchSettings, Lang.bind(this, function(providers) {
|
||||
providers.forEach(Lang.bind(this, this._registerProvider));
|
||||
}));
|
||||
},
|
||||
|
@@ -119,23 +119,46 @@ const ATIndicator = new Lang.Class({
|
||||
|
||||
_buildItem: function(string, schema, key) {
|
||||
let settings = new Gio.Settings({ schema_id: schema });
|
||||
settings.connect('changed::'+key, Lang.bind(this, function() {
|
||||
widget.setToggleState(settings.get_boolean(key));
|
||||
|
||||
this._queueSyncMenuVisibility();
|
||||
}));
|
||||
|
||||
let widget = this._buildItemExtended(string,
|
||||
settings.get_boolean(key),
|
||||
settings.is_writable(key),
|
||||
function(enabled) {
|
||||
return settings.set_boolean(key, enabled);
|
||||
});
|
||||
settings.connect('changed::'+key, Lang.bind(this, function() {
|
||||
widget.setToggleState(settings.get_boolean(key));
|
||||
|
||||
this._queueSyncMenuVisibility();
|
||||
}));
|
||||
return widget;
|
||||
},
|
||||
|
||||
_buildHCItem: function() {
|
||||
let interfaceSettings = new Gio.Settings({ schema_id: DESKTOP_INTERFACE_SCHEMA });
|
||||
let wmSettings = new Gio.Settings({ schema_id: WM_SCHEMA });
|
||||
interfaceSettings.connect('changed::' + KEY_GTK_THEME, Lang.bind(this, function() {
|
||||
let value = interfaceSettings.get_string(KEY_GTK_THEME);
|
||||
if (value == HIGH_CONTRAST_THEME) {
|
||||
highContrast.setToggleState(true);
|
||||
} else {
|
||||
highContrast.setToggleState(false);
|
||||
gtkTheme = value;
|
||||
}
|
||||
|
||||
this._queueSyncMenuVisibility();
|
||||
}));
|
||||
interfaceSettings.connect('changed::' + KEY_ICON_THEME, function() {
|
||||
let value = interfaceSettings.get_string(KEY_ICON_THEME);
|
||||
if (value != HIGH_CONTRAST_THEME)
|
||||
iconTheme = value;
|
||||
});
|
||||
wmSettings.connect('changed::' + KEY_WM_THEME, function() {
|
||||
let value = wmSettings.get_string(KEY_WM_THEME);
|
||||
if (value != HIGH_CONTRAST_THEME)
|
||||
wmTheme = value;
|
||||
});
|
||||
|
||||
let gtkTheme = interfaceSettings.get_string(KEY_GTK_THEME);
|
||||
let iconTheme = interfaceSettings.get_string(KEY_ICON_THEME);
|
||||
let wmTheme = wmSettings.get_string(KEY_WM_THEME);
|
||||
@@ -161,32 +184,18 @@ const ATIndicator = new Lang.Class({
|
||||
wmSettings.reset(KEY_WM_THEME);
|
||||
}
|
||||
});
|
||||
interfaceSettings.connect('changed::' + KEY_GTK_THEME, Lang.bind(this, function() {
|
||||
let value = interfaceSettings.get_string(KEY_GTK_THEME);
|
||||
if (value == HIGH_CONTRAST_THEME) {
|
||||
highContrast.setToggleState(true);
|
||||
} else {
|
||||
highContrast.setToggleState(false);
|
||||
gtkTheme = value;
|
||||
}
|
||||
|
||||
this._queueSyncMenuVisibility();
|
||||
}));
|
||||
interfaceSettings.connect('changed::' + KEY_ICON_THEME, function() {
|
||||
let value = interfaceSettings.get_string(KEY_ICON_THEME);
|
||||
if (value != HIGH_CONTRAST_THEME)
|
||||
iconTheme = value;
|
||||
});
|
||||
wmSettings.connect('changed::' + KEY_WM_THEME, function() {
|
||||
let value = wmSettings.get_string(KEY_WM_THEME);
|
||||
if (value != HIGH_CONTRAST_THEME)
|
||||
wmTheme = value;
|
||||
});
|
||||
return highContrast;
|
||||
},
|
||||
|
||||
_buildFontItem: function() {
|
||||
let settings = new Gio.Settings({ schema_id: DESKTOP_INTERFACE_SCHEMA });
|
||||
settings.connect('changed::' + KEY_TEXT_SCALING_FACTOR, Lang.bind(this, function() {
|
||||
let factor = settings.get_double(KEY_TEXT_SCALING_FACTOR);
|
||||
let active = (factor > 1.0);
|
||||
widget.setToggleState(active);
|
||||
|
||||
this._queueSyncMenuVisibility();
|
||||
}));
|
||||
|
||||
let factor = settings.get_double(KEY_TEXT_SCALING_FACTOR);
|
||||
let initial_setting = (factor > 1.0);
|
||||
@@ -200,13 +209,6 @@ const ATIndicator = new Lang.Class({
|
||||
else
|
||||
settings.reset(KEY_TEXT_SCALING_FACTOR);
|
||||
});
|
||||
settings.connect('changed::' + KEY_TEXT_SCALING_FACTOR, Lang.bind(this, function() {
|
||||
let factor = settings.get_double(KEY_TEXT_SCALING_FACTOR);
|
||||
let active = (factor > 1.0);
|
||||
widget.setToggleState(active);
|
||||
|
||||
this._queueSyncMenuVisibility();
|
||||
}));
|
||||
return widget;
|
||||
}
|
||||
});
|
||||
|
@@ -295,11 +295,11 @@ const InputSourceManager = new Lang.Class({
|
||||
this._ibusSources = {};
|
||||
|
||||
this._currentSource = null;
|
||||
this._backupSource = null;
|
||||
|
||||
// All valid input sources currently in the gsettings
|
||||
// KEY_INPUT_SOURCES list ordered by most recently used
|
||||
this._mruSources = [];
|
||||
this._mruSourcesBackup = null;
|
||||
this._keybindingAction =
|
||||
Main.wm.addKeybinding('switch-input-source',
|
||||
new Gio.Settings({ schema_id: "org.gnome.desktop.wm.keybindings" }),
|
||||
@@ -516,6 +516,11 @@ const InputSourceManager = new Lang.Class({
|
||||
|
||||
this._keyboardManager.setUserLayouts(sourcesList.map(function(x) { return x.xkbId; }));
|
||||
|
||||
if (!this._disableIBus && this._mruSourcesBackup) {
|
||||
this._mruSources = this._mruSourcesBackup;
|
||||
this._mruSourcesBackup = null;
|
||||
}
|
||||
|
||||
let mruSources = [];
|
||||
for (let i = 0; i < this._mruSources.length; i++) {
|
||||
for (let j = 0; j < sourcesList.length; j++)
|
||||
@@ -527,20 +532,8 @@ const InputSourceManager = new Lang.Class({
|
||||
}
|
||||
this._mruSources = mruSources.concat(sourcesList);
|
||||
|
||||
if (this._mruSources.length > 0) {
|
||||
if (!this._disableIBus && this._backupSource) {
|
||||
for (let i = 0; i < this._mruSources.length; i++) {
|
||||
if (this._mruSources[i].type == this._backupSource.type &&
|
||||
this._mruSources[i].id == this._backupSource.id) {
|
||||
let currentSource = this._mruSources.splice(i, 1);
|
||||
this._mruSources = currentSource.concat(this._mruSources);
|
||||
break;
|
||||
}
|
||||
}
|
||||
this._backupSource = null;
|
||||
}
|
||||
if (this._mruSources.length > 0)
|
||||
this._mruSources[0].activate();
|
||||
}
|
||||
|
||||
// All ibus engines are preloaded here to reduce the launching time
|
||||
// when users switch the input sources.
|
||||
@@ -605,16 +598,12 @@ const InputSourceManager = new Lang.Class({
|
||||
if (this._disableIBus)
|
||||
return;
|
||||
this._disableIBus = true;
|
||||
this._backupSource = this._currentSource;
|
||||
this._mruSourcesBackup = this._mruSources.slice();
|
||||
} else {
|
||||
if (!this._disableIBus)
|
||||
return;
|
||||
this._disableIBus = false;
|
||||
}
|
||||
// If this._mruSources is not cleared before this.reload() is called,
|
||||
// the order is different from the original one as IM sources will
|
||||
// be appended to XKB sources.
|
||||
this._mruSources = [];
|
||||
this.reload();
|
||||
},
|
||||
|
||||
|
@@ -17,9 +17,7 @@ const PanelMenu = imports.ui.panelMenu;
|
||||
const PopupMenu = imports.ui.popupMenu;
|
||||
|
||||
const LOCKDOWN_SCHEMA = 'org.gnome.desktop.lockdown';
|
||||
const SCREENSAVER_SCHEMA = 'org.gnome.desktop.screensaver';
|
||||
const LOGIN_SCREEN_SCHEMA = 'org.gnome.login-screen';
|
||||
const PRIVACY_SCHEMA = 'org.gnome.desktop.privacy'
|
||||
const DISABLE_USER_SWITCH_KEY = 'disable-user-switching';
|
||||
const DISABLE_LOCK_SCREEN_KEY = 'disable-lock-screen';
|
||||
const DISABLE_LOG_OUT_KEY = 'disable-log-out';
|
||||
@@ -95,10 +93,8 @@ const Indicator = new Lang.Class({
|
||||
_init: function() {
|
||||
this.parent();
|
||||
|
||||
this._screenSaverSettings = new Gio.Settings({ schema_id: SCREENSAVER_SCHEMA });
|
||||
this._loginScreenSettings = new Gio.Settings({ schema_id: LOGIN_SCREEN_SCHEMA });
|
||||
this._lockdownSettings = new Gio.Settings({ schema_id: LOCKDOWN_SCHEMA });
|
||||
this._privacySettings = new Gio.Settings({ schema_id: PRIVACY_SCHEMA });
|
||||
this._orientationSettings = new Gio.Settings({ schema_id: 'org.gnome.settings-daemon.peripherals.touchscreen' });
|
||||
|
||||
this._session = new GnomeSession.SessionManager();
|
||||
@@ -129,6 +125,7 @@ const Indicator = new Lang.Class({
|
||||
Lang.bind(this, this._updateMultiUser));
|
||||
this._updateSwitchUser();
|
||||
this._updateMultiUser();
|
||||
this._updateLockScreen();
|
||||
|
||||
// Whether shutdown is available or not depends on both lockdown
|
||||
// settings (disable-log-out) and Polkit policy - the latter doesn't
|
||||
|
@@ -197,6 +197,8 @@ const WorkspaceTracker = new Lang.Class({
|
||||
this._workspaces = [];
|
||||
this._checkWorkspacesId = 0;
|
||||
|
||||
this._pauseWorkspaceCheck = false;
|
||||
|
||||
let tracker = Shell.WindowTracker.get_default();
|
||||
tracker.connect('startup-sequence-changed', Lang.bind(this, this._queueCheckWorkspaces));
|
||||
|
||||
@@ -220,6 +222,14 @@ const WorkspaceTracker = new Lang.Class({
|
||||
return new Gio.Settings({ schema_id: 'org.gnome.mutter' });
|
||||
},
|
||||
|
||||
blockUpdates: function() {
|
||||
this._pauseWorkspaceCheck = true;
|
||||
},
|
||||
|
||||
unblockUpdates: function() {
|
||||
this._pauseWorkspaceCheck = false;
|
||||
},
|
||||
|
||||
_checkWorkspaces: function() {
|
||||
let i;
|
||||
let emptyWorkspaces = [];
|
||||
@@ -229,6 +239,10 @@ const WorkspaceTracker = new Lang.Class({
|
||||
return false;
|
||||
}
|
||||
|
||||
// Update workspaces only if Dynamic Workspace Management has not been paused by some other function
|
||||
if (this._pauseWorkspaceCheck)
|
||||
return true;
|
||||
|
||||
for (i = 0; i < this._workspaces.length; i++) {
|
||||
let lastRemoved = this._workspaces[i]._lastRemovedWindow;
|
||||
if ((lastRemoved &&
|
||||
@@ -627,6 +641,8 @@ const WindowManager = new Lang.Class({
|
||||
|
||||
this._allowedKeybindings = {};
|
||||
|
||||
this._isWorkspacePrepended = false;
|
||||
|
||||
this._switchData = null;
|
||||
this._shellwm.connect('kill-switch-workspace', Lang.bind(this, this._switchWorkspaceDone));
|
||||
this._shellwm.connect('kill-window-effects', Lang.bind(this, function (shellwm, actor) {
|
||||
@@ -915,6 +931,8 @@ const WindowManager = new Lang.Class({
|
||||
if (!Meta.prefs_get_dynamic_workspaces())
|
||||
return;
|
||||
|
||||
global.screen.append_new_workspace(false, global.get_current_time());
|
||||
|
||||
let windows = global.get_window_actors().map(function(winActor) {
|
||||
return winActor.meta_window;
|
||||
});
|
||||
@@ -1626,14 +1644,26 @@ const WindowManager = new Lang.Class({
|
||||
let newWs;
|
||||
let direction;
|
||||
|
||||
if (action == 'move') {
|
||||
// "Moving" a window to another workspace doesn't make sense when
|
||||
// it cannot be unstuck, and is potentially confusing if a new
|
||||
// workspaces is added at the start/end
|
||||
if (window.is_always_on_all_workspaces() ||
|
||||
(Meta.prefs_get_workspaces_only_on_primary() &&
|
||||
window.get_monitor() != Main.layoutManager.primaryIndex))
|
||||
return;
|
||||
}
|
||||
|
||||
if (target == 'last') {
|
||||
direction = Meta.MotionDirection.DOWN;
|
||||
newWs = screen.get_workspace_by_index(screen.n_workspaces - 1);
|
||||
} else if (isNaN(target)) {
|
||||
// Prepend a new workspace dynamically
|
||||
if (screen.get_active_workspace_index() == 0 &&
|
||||
action == 'move' && target == 'up')
|
||||
action == 'move' && target == 'up' && this._isWorkspacePrepended == false) {
|
||||
this.insertWorkspace(0);
|
||||
this._isWorkspacePrepended = true;
|
||||
}
|
||||
|
||||
direction = Meta.MotionDirection[target.toUpperCase()];
|
||||
newWs = screen.get_active_workspace().get_neighbor(direction);
|
||||
@@ -1658,9 +1688,12 @@ const WindowManager = new Lang.Class({
|
||||
|
||||
if (!Main.overview.visible) {
|
||||
if (this._workspaceSwitcherPopup == null) {
|
||||
this._workspaceTracker.blockUpdates();
|
||||
this._workspaceSwitcherPopup = new WorkspaceSwitcherPopup.WorkspaceSwitcherPopup();
|
||||
this._workspaceSwitcherPopup.connect('destroy', Lang.bind(this, function() {
|
||||
this._workspaceTracker.unblockUpdates();
|
||||
this._workspaceSwitcherPopup = null;
|
||||
this._isWorkspacePrepended = false;
|
||||
}));
|
||||
}
|
||||
this._workspaceSwitcherPopup.display(direction, newWs.index());
|
||||
|
@@ -167,6 +167,10 @@ const WindowMenuManager = new Lang.Class({
|
||||
menu.connect('activate', function() {
|
||||
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_position(rect.x, rect.y);
|
||||
@@ -180,6 +184,7 @@ const WindowMenuManager = new Lang.Class({
|
||||
|
||||
this._sourceActor.hide();
|
||||
menu.destroy();
|
||||
window.disconnect(destroyId);
|
||||
}));
|
||||
}
|
||||
});
|
||||
|
@@ -97,8 +97,6 @@ const WorkspacesView = new Lang.Class({
|
||||
this._scrolling = false; // swipe-scrolling
|
||||
this._animatingScroll = false; // programatically updating the adjustment
|
||||
|
||||
this._settings = new Gio.Settings({ schema_id: OVERRIDE_SCHEMA });
|
||||
|
||||
let activeWorkspaceIndex = global.screen.get_active_workspace_index();
|
||||
this.scrollAdjustment = new St.Adjustment({ value: activeWorkspaceIndex,
|
||||
lower: 0,
|
||||
@@ -418,7 +416,7 @@ const WorkspacesDisplay = new Lang.Class({
|
||||
this.actor.connect('notify::allocation', Lang.bind(this, this._updateWorkspacesActualGeometry));
|
||||
this.actor.connect('parent-set', Lang.bind(this, this._parentSet));
|
||||
|
||||
let clickAction = new Clutter.ClickAction()
|
||||
let clickAction = new Clutter.ClickAction();
|
||||
clickAction.connect('clicked', Lang.bind(this, function(action) {
|
||||
// Only switch to the workspace when there's no application
|
||||
// windows open. The problem is that it's too easy to miss
|
||||
@@ -464,6 +462,7 @@ const WorkspacesDisplay = new Lang.Class({
|
||||
|
||||
this._notifyOpacityId = 0;
|
||||
this._scrollEventId = 0;
|
||||
this._keyPressEventId = 0;
|
||||
|
||||
this._fullGeometry = null;
|
||||
},
|
||||
@@ -495,6 +494,9 @@ const WorkspacesDisplay = new Lang.Class({
|
||||
Lang.bind(this, this._onRestacked));
|
||||
if (this._scrollEventId == 0)
|
||||
this._scrollEventId = Main.overview.connect('scroll-event', Lang.bind(this, this._onScrollEvent));
|
||||
|
||||
if (this._keyPressEventId == 0)
|
||||
this._keyPressEventId = global.stage.connect('key-press-event', Lang.bind(this, this._onKeyPressEvent));
|
||||
},
|
||||
|
||||
animateFromOverview: function(fadeOnPrimary) {
|
||||
@@ -517,7 +519,10 @@ const WorkspacesDisplay = new Lang.Class({
|
||||
Main.overview.disconnect(this._scrollEventId);
|
||||
this._scrollEventId = 0;
|
||||
}
|
||||
|
||||
if (this._keyPressEventId > 0) {
|
||||
global.stage.disconnect(this._keyPressEventId);
|
||||
this._keyPressEventId = 0;
|
||||
}
|
||||
for (let i = 0; i < this._workspacesViews.length; i++)
|
||||
this._workspacesViews[i].destroy();
|
||||
this._workspacesViews = [];
|
||||
@@ -670,6 +675,25 @@ const WorkspacesDisplay = new Lang.Class({
|
||||
}
|
||||
Main.wm.actionMoveWorkspace(ws);
|
||||
return Clutter.EVENT_STOP;
|
||||
},
|
||||
|
||||
_onKeyPressEvent: function(actor, event) {
|
||||
if (!this.actor.mapped)
|
||||
return Clutter.EVENT_PROPAGATE;
|
||||
let activeWs = global.screen.get_active_workspace();
|
||||
let ws;
|
||||
switch (event.get_key_symbol()) {
|
||||
case Clutter.KEY_Page_Up:
|
||||
ws = activeWs.get_neighbor(Meta.MotionDirection.UP);
|
||||
break;
|
||||
case Clutter.KEY_Page_Down:
|
||||
ws = activeWs.get_neighbor(Meta.MotionDirection.DOWN);
|
||||
break;
|
||||
default:
|
||||
return Clutter.EVENT_PROPAGATE;
|
||||
}
|
||||
Main.wm.actionMoveWorkspace(ws);
|
||||
return Clutter.EVENT_STOP;
|
||||
}
|
||||
});
|
||||
Signals.addSignalMethods(WorkspacesDisplay.prototype);
|
||||
|
@@ -50,6 +50,7 @@ nb
|
||||
ne
|
||||
nl
|
||||
nn
|
||||
oc
|
||||
or
|
||||
pa
|
||||
pl
|
||||
|
3
po/ar.po
3
po/ar.po
@@ -6,7 +6,7 @@
|
||||
# Ibrahim Saed <ibraheem5000@gmail.com>, 2012.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: HEAD\n"
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-03-22 15:29+0200\n"
|
||||
"PO-Revision-Date: 2015-03-22 15:55+0200\n"
|
||||
@@ -19,7 +19,6 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
|
||||
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
|
||||
"X-Generator: Virtaal 0.7.1\n"
|
||||
"&& n%100<=10 ? 3: n%100>=11 ? 4 : 5;\n"
|
||||
"X-Project-Style: gnome\n"
|
||||
|
||||
#: ../data/50-gnome-shell-system.xml.in.h:1
|
||||
|
357
po/fi.po
357
po/fi.po
@@ -26,8 +26,8 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2015-03-04 12:55+0000\n"
|
||||
"PO-Revision-Date: 2015-03-04 22:01+0200\n"
|
||||
"POT-Creation-Date: 2015-10-05 08:39+0000\n"
|
||||
"PO-Revision-Date: 2015-10-05 17:38+0300\n"
|
||||
"Last-Translator: Jiri Grönroos <jiri.gronroos+l10n@iki.fi>\n"
|
||||
"Language-Team: suomi <gnome-fi-laatu@lists.sourceforge.net>\n"
|
||||
"Language: fi\n"
|
||||
@@ -45,8 +45,6 @@ msgid "System"
|
||||
msgstr "Järjestelmä"
|
||||
|
||||
#: ../data/50-gnome-shell-system.xml.in.h:2
|
||||
#| msgid "%d new notification"
|
||||
#| msgid_plural "%d new notifications"
|
||||
msgid "Show the notification list"
|
||||
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"
|
||||
|
||||
#: ../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."
|
||||
msgstr "Ilmoitusluettelon näyttämiseen/piilottamiseen tarkoitettu pikanäppäin."
|
||||
|
||||
@@ -324,59 +321,67 @@ msgstr ""
|
||||
"liikkumisen"
|
||||
|
||||
#: ../data/org.gnome.Shell.PortalHelper.desktop.in.h:1
|
||||
#| msgid "Network error"
|
||||
msgid "Network Login"
|
||||
msgstr "Verkkokirjautuminen"
|
||||
|
||||
#: ../js/extensionPrefs/main.js:123
|
||||
#: ../js/extensionPrefs/main.js:122
|
||||
#, javascript-format
|
||||
msgid "There was an error loading the preferences dialog for %s:"
|
||||
msgstr "Kohteen %s asetusikkunaa ladataessa tapahtui virhe:"
|
||||
|
||||
#: ../js/extensionPrefs/main.js:155
|
||||
#: ../js/extensionPrefs/main.js:154
|
||||
msgid "GNOME Shell Extensions"
|
||||
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/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
|
||||
#: ../js/ui/status/network.js:916
|
||||
msgid "Cancel"
|
||||
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"
|
||||
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
|
||||
msgid "Unlock"
|
||||
msgstr "Avaa lukitus"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:215
|
||||
#: ../js/gdm/authPrompt.js:213
|
||||
msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "Kirjaudu sisään"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:276
|
||||
#: ../js/gdm/loginDialog.js:281
|
||||
msgid "Choose Session"
|
||||
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?"
|
||||
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
|
||||
msgid "(e.g., user or %s)"
|
||||
msgstr "(esim. käyttäjä tai %s)"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:831 ../js/ui/components/networkAgent.js:269
|
||||
#: ../js/ui/components/networkAgent.js:287
|
||||
#. 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
|
||||
msgid "Username: "
|
||||
msgstr "Käyttäjänimi: "
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1166
|
||||
#: ../js/gdm/loginDialog.js:1181
|
||||
msgid "Login Window"
|
||||
msgstr "Kirjautumisikkuna"
|
||||
|
||||
@@ -384,6 +389,11 @@ msgstr "Kirjautumisikkuna"
|
||||
msgid "Authentication error"
|
||||
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
|
||||
msgid "(or swipe finger)"
|
||||
msgstr "(tai pyyhkäise sormella)"
|
||||
@@ -392,6 +402,8 @@ msgstr "(tai pyyhkäise sormella)"
|
||||
msgid "Command not found"
|
||||
msgstr "Komentoa ei löydy"
|
||||
|
||||
#. Replace "Error invoking GLib.shell_parse_argv: " with
|
||||
#. something nicer
|
||||
#: ../js/misc/util.js:152
|
||||
msgid "Could not parse command:"
|
||||
msgstr "Komentoa ei voi jäsentää:"
|
||||
@@ -401,101 +413,107 @@ msgstr "Komentoa ei voi jäsentää:"
|
||||
msgid "Execution of “%s” failed:"
|
||||
msgstr "Kohteen ”%s” suorittaminen epäonnistui:"
|
||||
|
||||
#. Translators: Time in 24h format */
|
||||
#. Translators: Time in 24h format
|
||||
#: ../js/misc/util.js:191
|
||||
msgid "%H∶%M"
|
||||
msgstr "%H∶%M"
|
||||
|
||||
#. Translators: this is the word "Yesterday" followed by a
|
||||
#. time string in 24h format. i.e. "Yesterday, 14:30" */
|
||||
#. time string in 24h format. i.e. "Yesterday, 14:30"
|
||||
#: ../js/misc/util.js:197
|
||||
#, no-c-format
|
||||
msgid "Yesterday, %H∶%M"
|
||||
msgstr "Eilen, %H∶%M"
|
||||
|
||||
#. Translators: this is the week day name followed by a time
|
||||
#. string in 24h format. i.e. "Monday, 14:30" */
|
||||
#. string in 24h format. i.e. "Monday, 14:30"
|
||||
#: ../js/misc/util.js:203
|
||||
#, no-c-format
|
||||
msgid "%A, %H∶%M"
|
||||
msgstr "%A, %H∶%M"
|
||||
|
||||
#. Translators: this is the month name and day number
|
||||
#. followed by a time string in 24h format.
|
||||
#. i.e. "May 25, 14:30" */
|
||||
#. i.e. "May 25, 14:30"
|
||||
#: ../js/misc/util.js:209
|
||||
#, no-c-format
|
||||
msgid "%B %d, %H∶%M"
|
||||
msgstr "%e. %Bta, %H∶%M"
|
||||
|
||||
#. Translators: this is the month name, day number, year
|
||||
#. number followed by a time string in 24h format.
|
||||
#. i.e. "May 25 2012, 14:30" */
|
||||
#. i.e. "May 25 2012, 14:30"
|
||||
#: ../js/misc/util.js:215
|
||||
#, no-c-format
|
||||
msgid "%B %d %Y, %H∶%M"
|
||||
msgstr "%e. %Bta %Y, %H∶%M"
|
||||
|
||||
#. Translators: Time in 12h format */
|
||||
#. Translators: Time in 12h format
|
||||
#: ../js/misc/util.js:220
|
||||
msgid "%l∶%M %p"
|
||||
msgstr "%l∶%M %p"
|
||||
|
||||
#. Translators: this is the word "Yesterday" followed by a
|
||||
#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */
|
||||
#. time string in 12h format. i.e. "Yesterday, 2:30 pm"
|
||||
#: ../js/misc/util.js:226
|
||||
#, no-c-format
|
||||
msgid "Yesterday, %l∶%M %p"
|
||||
msgstr "Eilen, %l∶%M %p"
|
||||
|
||||
#. Translators: this is the week day name followed by a time
|
||||
#. string in 12h format. i.e. "Monday, 2:30 pm" */
|
||||
#. string in 12h format. i.e. "Monday, 2:30 pm"
|
||||
#: ../js/misc/util.js:232
|
||||
#, no-c-format
|
||||
msgid "%A, %l∶%M %p"
|
||||
msgstr "%A, %l∶%M %p"
|
||||
|
||||
#. Translators: this is the month name and day number
|
||||
#. followed by a time string in 12h format.
|
||||
#. i.e. "May 25, 2:30 pm" */
|
||||
#. i.e. "May 25, 2:30 pm"
|
||||
#: ../js/misc/util.js:238
|
||||
#| msgid "%a %b %e, %l:%M %p"
|
||||
#, no-c-format
|
||||
msgid "%B %d, %l∶%M %p"
|
||||
msgstr "%B %d, %l∶%M %p"
|
||||
|
||||
#. Translators: this is the month name, day number, year
|
||||
#. number followed by a time string in 12h format.
|
||||
#. i.e. "May 25 2012, 2:30 pm"*/
|
||||
#. i.e. "May 25 2012, 2:30 pm"
|
||||
#: ../js/misc/util.js:244
|
||||
#| msgid "%a %b %e, %l:%M %p"
|
||||
#, no-c-format
|
||||
msgid "%B %d %Y, %l∶%M %p"
|
||||
msgstr "%B %d %Y, %l∶%M %p"
|
||||
|
||||
#. TRANSLATORS: this is the title of the wifi captive portal login
|
||||
#. * window, until we know the title of the actual login page */
|
||||
#. * window, until we know the title of the actual login page
|
||||
#: ../js/portalHelper/main.js:85
|
||||
msgid "Web Authentication Redirect"
|
||||
msgstr "Verkkotunnistautumisen uudelleenohjaus"
|
||||
|
||||
#: ../js/ui/appDisplay.js:791
|
||||
#: ../js/ui/appDisplay.js:794
|
||||
msgid "Frequently used applications will appear here"
|
||||
msgstr "Usein käytetyt sovellukset ilmestyvät tänne"
|
||||
|
||||
#: ../js/ui/appDisplay.js:911
|
||||
#: ../js/ui/appDisplay.js:914
|
||||
msgid "Frequent"
|
||||
msgstr "Käytetyimmät"
|
||||
|
||||
#: ../js/ui/appDisplay.js:918
|
||||
#: ../js/ui/appDisplay.js:921
|
||||
msgid "All"
|
||||
msgstr "Kaikki"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1849
|
||||
#: ../js/ui/appDisplay.js:1853
|
||||
msgid "New Window"
|
||||
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"
|
||||
msgstr "Poista suosikeista"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1883
|
||||
#: ../js/ui/appDisplay.js:1887
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Lisää suosikkeihin"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1893
|
||||
#: ../js/ui/appDisplay.js:1897
|
||||
msgid "Show Details"
|
||||
msgstr "Näytä tiedot"
|
||||
|
||||
@@ -509,8 +527,8 @@ msgstr "%s on lisätty suosikkeihin."
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "%s on poistettu suosikeista."
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:649
|
||||
#: ../js/ui/status/system.js:337
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:650
|
||||
#: ../js/ui/status/system.js:334
|
||||
msgid "Settings"
|
||||
msgstr "Asetukset"
|
||||
|
||||
@@ -518,106 +536,105 @@ msgstr "Asetukset"
|
||||
msgid "Change Background…"
|
||||
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). */
|
||||
#: ../js/ui/calendar.js:49
|
||||
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday).
|
||||
#: ../js/ui/calendar.js:53
|
||||
msgctxt "calendar-no-work"
|
||||
msgid "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.
|
||||
#. *
|
||||
#. * NOTE: These grid abbreviations are always shown together
|
||||
#. * 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"
|
||||
msgid "S"
|
||||
msgstr "S"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Monday */
|
||||
#: ../js/ui/calendar.js:95
|
||||
#. Translators: Calendar grid abbreviation for Monday
|
||||
#: ../js/ui/calendar.js:84
|
||||
msgctxt "grid monday"
|
||||
msgid "M"
|
||||
msgstr "M"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Tuesday */
|
||||
#: ../js/ui/calendar.js:97
|
||||
#. Translators: Calendar grid abbreviation for Tuesday
|
||||
#: ../js/ui/calendar.js:86
|
||||
msgctxt "grid tuesday"
|
||||
msgid "T"
|
||||
msgstr "T"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Wednesday */
|
||||
#: ../js/ui/calendar.js:99
|
||||
#. Translators: Calendar grid abbreviation for Wednesday
|
||||
#: ../js/ui/calendar.js:88
|
||||
msgctxt "grid wednesday"
|
||||
msgid "W"
|
||||
msgstr "K"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Thursday */
|
||||
#: ../js/ui/calendar.js:101
|
||||
#. Translators: Calendar grid abbreviation for Thursday
|
||||
#: ../js/ui/calendar.js:90
|
||||
msgctxt "grid thursday"
|
||||
msgid "T"
|
||||
msgstr "T"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Friday */
|
||||
#: ../js/ui/calendar.js:103
|
||||
#. Translators: Calendar grid abbreviation for Friday
|
||||
#: ../js/ui/calendar.js:92
|
||||
msgctxt "grid friday"
|
||||
msgid "F"
|
||||
msgstr "P"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Saturday */
|
||||
#: ../js/ui/calendar.js:105
|
||||
#. Translators: Calendar grid abbreviation for Saturday
|
||||
#: ../js/ui/calendar.js:94
|
||||
msgctxt "grid saturday"
|
||||
msgid "S"
|
||||
msgstr "L"
|
||||
|
||||
#: ../js/ui/calendar.js:572
|
||||
#: ../js/ui/calendar.js:564
|
||||
msgid "Previous month"
|
||||
msgstr "Edellinen kuukausi"
|
||||
|
||||
#: ../js/ui/calendar.js:582
|
||||
#: ../js/ui/calendar.js:574
|
||||
msgid "Next month"
|
||||
msgstr "Seuraava kuukausi"
|
||||
|
||||
#: ../js/ui/calendar.js:789
|
||||
#: ../js/ui/calendar.js:781
|
||||
msgid "Week %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"
|
||||
msgstr "Tyhjennä osio"
|
||||
|
||||
#: ../js/ui/calendar.js:1437
|
||||
#: ../js/ui/calendar.js:1516
|
||||
msgid "Events"
|
||||
msgstr "Tapahtumat"
|
||||
|
||||
#: ../js/ui/calendar.js:1445
|
||||
#: ../js/ui/calendar.js:1525
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, %e. %Bta"
|
||||
|
||||
#: ../js/ui/calendar.js:1449
|
||||
#: ../js/ui/calendar.js:1529
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%A, %e. %Bta %Y"
|
||||
|
||||
#: ../js/ui/calendar.js:1541
|
||||
#: ../js/ui/calendar.js:1614
|
||||
msgid "Notifications"
|
||||
msgstr "Ilmoitukset"
|
||||
|
||||
#: ../js/ui/calendar.js:1681
|
||||
#| msgid "Notifications"
|
||||
#: ../js/ui/calendar.js:1765
|
||||
msgid "No Notifications"
|
||||
msgstr "Ei ilmoituksia"
|
||||
|
||||
#: ../js/ui/calendar.js:1684
|
||||
#: ../js/ui/calendar.js:1768
|
||||
msgid "No Events"
|
||||
msgstr "Ei tapahtumia"
|
||||
|
||||
@@ -642,79 +659,95 @@ msgstr "Salasana:"
|
||||
msgid "Type again:"
|
||||
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
|
||||
msgid "Connect"
|
||||
msgstr "Yhdistä"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:231
|
||||
#: ../js/ui/components/networkAgent.js:243
|
||||
#: ../js/ui/components/networkAgent.js:271
|
||||
#: ../js/ui/components/networkAgent.js:291
|
||||
#: ../js/ui/components/networkAgent.js:301
|
||||
#. Cisco LEAP
|
||||
#: ../js/ui/components/networkAgent.js:233
|
||||
#: ../js/ui/components/networkAgent.js:245
|
||||
#: ../js/ui/components/networkAgent.js:273
|
||||
#: ../js/ui/components/networkAgent.js:293
|
||||
#: ../js/ui/components/networkAgent.js:303
|
||||
msgid "Password: "
|
||||
msgstr "Salasana: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:236
|
||||
#. static WEP
|
||||
#: ../js/ui/components/networkAgent.js:238
|
||||
msgid "Key: "
|
||||
msgstr "Avain: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:275
|
||||
#: ../js/ui/components/networkAgent.js:277
|
||||
msgid "Identity: "
|
||||
msgstr "Henkilöllisyys: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:277
|
||||
#: ../js/ui/components/networkAgent.js:279
|
||||
msgid "Private key password: "
|
||||
msgstr "Salaisen avaimen salasana: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:289
|
||||
#: ../js/ui/components/networkAgent.js:291
|
||||
msgid "Service: "
|
||||
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"
|
||||
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
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
"“%s”."
|
||||
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"
|
||||
msgstr "Kiinteän 802.1X-yhteyden tunnistautuminen"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:325
|
||||
#: ../js/ui/components/networkAgent.js:327
|
||||
msgid "Network name: "
|
||||
msgstr "Verkon nimi: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:330
|
||||
#: ../js/ui/components/networkAgent.js:332
|
||||
#: ../js/ui/components/networkAgent.js:666
|
||||
msgid "DSL authentication"
|
||||
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"
|
||||
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"
|
||||
msgstr "Mobiililaajakaista vaatii PIN-koodin"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:339
|
||||
#: ../js/ui/components/networkAgent.js:341
|
||||
msgid "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"
|
||||
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
|
||||
msgid "A password is required to connect to “%s”."
|
||||
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
|
||||
msgid "Authentication Required"
|
||||
msgstr "Tunnistautuminen vaaditaan"
|
||||
@@ -730,14 +763,14 @@ msgstr "Tunnistaudu"
|
||||
#. Translators: "that didn't work" refers to the fact that the
|
||||
#. * requested authentication was not gained; this can happen
|
||||
#. * because of an authentication error (like invalid password),
|
||||
#. * for instance. */
|
||||
#. * for instance.
|
||||
#: ../js/ui/components/polkitAgent.js:271 ../js/ui/shellMountOperation.js:383
|
||||
msgid "Sorry, that didn't work. Please try again."
|
||||
msgstr "Tunnistautuminen epäonnistui. Yritä uudelleen."
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name. */
|
||||
#: ../js/ui/components/telepathyClient.js:772
|
||||
#. IM name.
|
||||
#: ../js/ui/components/telepathyClient.js:757
|
||||
#, javascript-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "%s on nyt nimeltään %s"
|
||||
@@ -750,24 +783,24 @@ msgstr "Ikkunat"
|
||||
msgid "Show Applications"
|
||||
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"
|
||||
msgstr "Pikavalikko"
|
||||
|
||||
#. Translators: This is the date format to use when the calendar popup is
|
||||
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
|
||||
#. */
|
||||
#.
|
||||
#: ../js/ui/dateMenu.js:73
|
||||
#| msgid "%A %B %e, %Y"
|
||||
msgid "%B %e %Y"
|
||||
msgstr "%e. %b %Y"
|
||||
|
||||
#. Translators: This is the accessible name of the date button shown
|
||||
#. * below the time in the shell; it should combine the weekday and the
|
||||
#. * date, e.g. "Tuesday February 17 2015".
|
||||
#. */
|
||||
#.
|
||||
#: ../js/ui/dateMenu.js:80
|
||||
#| msgid "%A %B %e, %Y"
|
||||
msgid "%A %B %e %Y"
|
||||
msgstr "%A, %e. %Bta %Y"
|
||||
|
||||
@@ -776,7 +809,6 @@ msgid "Add world clocks…"
|
||||
msgstr "Lisää maailmankelloja…"
|
||||
|
||||
#: ../js/ui/dateMenu.js:161
|
||||
#| msgid "Open Clocks"
|
||||
msgid "World Clocks"
|
||||
msgstr "Maailmankellot"
|
||||
|
||||
@@ -902,13 +934,13 @@ msgstr ""
|
||||
msgid "Other users are logged in."
|
||||
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
|
||||
#, javascript-format
|
||||
msgid "%s (remote)"
|
||||
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
|
||||
#, javascript-format
|
||||
msgid "%s (console)"
|
||||
@@ -923,15 +955,25 @@ msgstr "Asenna"
|
||||
msgid "Download and install “%s” from 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"
|
||||
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
|
||||
msgid "No extensions installed"
|
||||
msgstr "Laajennuksia ei asennettu"
|
||||
|
||||
#. Translators: argument is an extension UUID. */
|
||||
#. Translators: argument is an extension UUID.
|
||||
#: ../js/ui/lookingGlass.js:697
|
||||
#, javascript-format
|
||||
msgid "%s has not emitted any errors."
|
||||
@@ -951,7 +993,7 @@ msgid "Enabled"
|
||||
msgstr "Käytössä"
|
||||
|
||||
#. 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:
|
||||
#. * The device has been disabled
|
||||
#: ../js/ui/lookingGlass.js:719 ../js/ui/status/location.js:179
|
||||
@@ -979,7 +1021,7 @@ msgstr "Näytä lähde"
|
||||
msgid "Web Page"
|
||||
msgstr "Verkkosivusto"
|
||||
|
||||
#: ../js/ui/messageTray.js:2131
|
||||
#: ../js/ui/messageTray.js:1506
|
||||
msgid "System Information"
|
||||
msgstr "Järjestelmän tiedot"
|
||||
|
||||
@@ -994,26 +1036,31 @@ msgstr "Yleisnäkymä"
|
||||
#. Translators: this is the text displayed
|
||||
#. in the search entry when no search is
|
||||
#. active; it should not exceed ~30
|
||||
#. characters. */
|
||||
#. characters.
|
||||
#: ../js/ui/overview.js:246
|
||||
msgid "Type to search…"
|
||||
msgstr "Kirjoita hakeaksesi…"
|
||||
|
||||
#: ../js/ui/panel.js:351
|
||||
#: ../js/ui/panel.js:352
|
||||
msgid "Quit"
|
||||
msgstr "Lopeta"
|
||||
|
||||
#. Translators: If there is no suitable word for "Activities"
|
||||
#. in your language, you can use the word for "Overview". */
|
||||
#: ../js/ui/panel.js:403
|
||||
#. in your language, you can use the word for "Overview".
|
||||
#: ../js/ui/panel.js:404
|
||||
msgid "Activities"
|
||||
msgstr "Toiminnot"
|
||||
|
||||
#: ../js/ui/panel.js:754
|
||||
#: ../js/ui/panel.js:755
|
||||
msgid "Top Bar"
|
||||
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"
|
||||
msgstr "toggle-switch-intl"
|
||||
|
||||
@@ -1030,7 +1077,7 @@ msgid "Restarting…"
|
||||
msgstr "Käynnistetään uudelleen…"
|
||||
|
||||
#. Translators: This is a time format for a date in
|
||||
#. long format */
|
||||
#. long format
|
||||
#: ../js/ui/screenShield.js:85
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, %e. %Bta"
|
||||
@@ -1049,27 +1096,34 @@ msgid_plural "%d new notifications"
|
||||
msgstr[0] "%d uusi ilmoitus"
|
||||
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"
|
||||
msgstr "Lukitse"
|
||||
|
||||
#: ../js/ui/screenShield.js:668
|
||||
#: ../js/ui/screenShield.js:684
|
||||
msgid "GNOME needs to lock the screen"
|
||||
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"
|
||||
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"
|
||||
msgstr "Lukitus estettiin sovelluksen toimesta"
|
||||
|
||||
#: ../js/ui/search.js:609
|
||||
#: ../js/ui/search.js:617
|
||||
msgid "Searching…"
|
||||
msgstr "Etsitään…"
|
||||
|
||||
#: ../js/ui/search.js:611
|
||||
#: ../js/ui/search.js:619
|
||||
msgid "No results."
|
||||
msgstr "Ei tuloksia."
|
||||
|
||||
@@ -1133,14 +1187,16 @@ msgstr "Kimmonäppäimet"
|
||||
msgid "Mouse Keys"
|
||||
msgstr "Hiirinäppäimet"
|
||||
|
||||
#: ../js/ui/status/accessibility.js:144
|
||||
#: ../js/ui/status/accessibility.js:167
|
||||
msgid "High Contrast"
|
||||
msgstr "Korkea kontrasti"
|
||||
|
||||
#: ../js/ui/status/accessibility.js:193
|
||||
#: ../js/ui/status/accessibility.js:202
|
||||
msgid "Large Text"
|
||||
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
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
@@ -1171,7 +1227,7 @@ msgstr "Ei yhdistetty"
|
||||
msgid "Brightness"
|
||||
msgstr "Kirkkaus"
|
||||
|
||||
#: ../js/ui/status/keyboard.js:599
|
||||
#: ../js/ui/status/keyboard.js:736
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "Näytä näppäimistön asettelu"
|
||||
|
||||
@@ -1209,7 +1265,7 @@ msgid "Connected"
|
||||
msgstr "Yhdistetty"
|
||||
|
||||
#. 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
|
||||
msgid "Unmanaged"
|
||||
msgstr "Ei hallinnassa"
|
||||
@@ -1222,19 +1278,19 @@ msgstr "Katkaistaan yhteyttä"
|
||||
msgid "Connecting"
|
||||
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
|
||||
msgid "Authentication required"
|
||||
msgstr "tunnistautuminen vaaditaan"
|
||||
|
||||
#. 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
|
||||
msgid "Firmware missing"
|
||||
msgstr "Laiteohjelmisto puuttuu"
|
||||
|
||||
#. 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
|
||||
msgid "Unavailable"
|
||||
msgstr "Ei tavoitettavissa"
|
||||
@@ -1319,7 +1375,7 @@ msgstr "Yhteyspiste aktiivisena"
|
||||
msgid "connecting..."
|
||||
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
|
||||
msgid "authentication required"
|
||||
msgstr "tunnistautuminen vaaditaan"
|
||||
@@ -1340,10 +1396,6 @@ msgstr "VPN-asetukset"
|
||||
msgid "VPN"
|
||||
msgstr "VPN"
|
||||
|
||||
#: ../js/ui/status/network.js:1657
|
||||
msgid "Network Manager"
|
||||
msgstr "Verkon hallinta"
|
||||
|
||||
#: ../js/ui/status/network.js:1697
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Verkkoyhteyden aktivointi epäonnistui"
|
||||
@@ -1356,15 +1408,19 @@ msgstr "Virranhallinta"
|
||||
msgid "Fully Charged"
|
||||
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
|
||||
msgid "Estimating…"
|
||||
msgstr "Arvioidaan…"
|
||||
|
||||
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
|
||||
#: ../js/ui/status/power.js:86
|
||||
#, javascript-format
|
||||
msgid "%d∶%02d Remaining (%d%%)"
|
||||
msgstr "%d∶%02d jäljellä (%d%%)"
|
||||
|
||||
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
|
||||
#: ../js/ui/status/power.js:91
|
||||
#, javascript-format
|
||||
msgid "%d∶%02d Until Full (%d%%)"
|
||||
@@ -1378,6 +1434,9 @@ msgstr "UPS"
|
||||
msgid "Battery"
|
||||
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
|
||||
msgid "Airplane Mode"
|
||||
msgstr "Lentokonetila"
|
||||
@@ -1386,23 +1445,23 @@ msgstr "Lentokonetila"
|
||||
msgid "On"
|
||||
msgstr "Päällä"
|
||||
|
||||
#: ../js/ui/status/system.js:317
|
||||
#: ../js/ui/status/system.js:314
|
||||
msgid "Switch User"
|
||||
msgstr "Vaihda käyttäjää"
|
||||
|
||||
#: ../js/ui/status/system.js:322
|
||||
#: ../js/ui/status/system.js:319
|
||||
msgid "Log Out"
|
||||
msgstr "Kirjaudu ulos"
|
||||
|
||||
#: ../js/ui/status/system.js:341
|
||||
#: ../js/ui/status/system.js:338
|
||||
msgid "Orientation Lock"
|
||||
msgstr "Kiertolukitus"
|
||||
|
||||
#: ../js/ui/status/system.js:349
|
||||
#: ../js/ui/status/system.js:346
|
||||
msgid "Suspend"
|
||||
msgstr "Valmiustila"
|
||||
|
||||
#: ../js/ui/status/system.js:352
|
||||
#: ../js/ui/status/system.js:349
|
||||
msgid "Power Off"
|
||||
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,
|
||||
#. to avoid ellipsizing the labels.
|
||||
#. */
|
||||
#.
|
||||
#: ../js/ui/windowManager.js:84
|
||||
msgid "Revert Settings"
|
||||
msgstr "Palauta asetukset"
|
||||
@@ -1462,8 +1521,8 @@ msgstr[0] "Asetusmuutokset palautetaan %d sekunnissa"
|
||||
msgstr[1] "Asetusmuutokset palautetaan %d sekunnissa"
|
||||
|
||||
#. Translators: This represents the size of a window. The first number is
|
||||
#. * the width of the window and the second is the height. */
|
||||
#: ../js/ui/windowManager.js:599
|
||||
#. * the width of the window and the second is the height.
|
||||
#: ../js/ui/windowManager.js:613
|
||||
#, javascript-format
|
||||
msgid "%d x %d"
|
||||
msgstr "%d x %d"
|
||||
@@ -1534,28 +1593,28 @@ msgstr[1] "%u sisääntuloa"
|
||||
msgid "System Sounds"
|
||||
msgstr "Järjestelmän äänet"
|
||||
|
||||
#: ../src/main.c:373
|
||||
#: ../src/main.c:372
|
||||
msgid "Print version"
|
||||
msgstr "Tulosta versio"
|
||||
|
||||
#: ../src/main.c:379
|
||||
#: ../src/main.c:378
|
||||
msgid "Mode used by GDM for login screen"
|
||||
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"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/main.c:391
|
||||
#: ../src/main.c:390
|
||||
msgid "List possible modes"
|
||||
msgstr "Listaa mahdolliset tilat"
|
||||
|
||||
#: ../src/shell-app.c:247
|
||||
#: ../src/shell-app.c:239
|
||||
msgctxt "program"
|
||||
msgid "Unknown"
|
||||
msgstr "Tuntematon"
|
||||
|
||||
#: ../src/shell-app.c:488
|
||||
#: ../src/shell-app.c:480
|
||||
#, c-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Sovelluksen ”%s” käynnistäminen epäonnistui"
|
||||
|
246
po/lt.po
246
po/lt.po
@@ -11,7 +11,7 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2015-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"
|
||||
"Last-Translator: Aurimas Černius <aurisc4@gmail.com>\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"
|
||||
msgstr "Tinklo prisijungimas"
|
||||
|
||||
#: ../js/extensionPrefs/main.js:123
|
||||
#: ../js/extensionPrefs/main.js:122
|
||||
#, javascript-format
|
||||
msgid "There was an error loading the preferences dialog for %s:"
|
||||
msgstr "Kilo klaida įkeliant %s nustatymų dialogą:"
|
||||
|
||||
#: ../js/extensionPrefs/main.js:155
|
||||
#: ../js/extensionPrefs/main.js:154
|
||||
msgid "GNOME Shell Extensions"
|
||||
msgstr "GNOME Shell plėtiniai"
|
||||
|
||||
@@ -316,39 +316,48 @@ msgstr "GNOME Shell plėtiniai"
|
||||
msgid "Cancel"
|
||||
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"
|
||||
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
|
||||
msgid "Unlock"
|
||||
msgstr "Atrakinti"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:215
|
||||
#: ../js/gdm/authPrompt.js:213
|
||||
msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "Prisijungti"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:280
|
||||
#: ../js/gdm/loginDialog.js:281
|
||||
msgid "Choose Session"
|
||||
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?"
|
||||
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
|
||||
msgid "(e.g., user or %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
|
||||
msgid "Username: "
|
||||
msgstr "Naudotojo vardas: "
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1170
|
||||
#: ../js/gdm/loginDialog.js:1181
|
||||
msgid "Login Window"
|
||||
msgstr "Prisijungimo langas"
|
||||
|
||||
@@ -356,6 +365,11 @@ msgstr "Prisijungimo langas"
|
||||
msgid "Authentication error"
|
||||
msgstr "Tapatybės patvirtinimo klaida"
|
||||
|
||||
#. We don't show fingerprint messages directly since it's
|
||||
#. not the main auth service. Instead we use the messages
|
||||
#. as a cue to display our own message.
|
||||
#. Translators: this message is shown below the password entry field
|
||||
#. to indicate the user can swipe their finger instead
|
||||
#: ../js/gdm/util.js:473
|
||||
msgid "(or swipe finger)"
|
||||
msgstr "(arba perbraukite pirštu)"
|
||||
@@ -364,6 +378,8 @@ msgstr "(arba perbraukite pirštu)"
|
||||
msgid "Command not found"
|
||||
msgstr "Komanda nerasta"
|
||||
|
||||
#. Replace "Error invoking GLib.shell_parse_argv: " with
|
||||
#. something nicer
|
||||
#: ../js/misc/util.js:152
|
||||
msgid "Could not parse command:"
|
||||
msgstr "Nepavyko perskaityti komandos:"
|
||||
@@ -373,99 +389,107 @@ msgstr "Nepavyko perskaityti komandos:"
|
||||
msgid "Execution of “%s” failed:"
|
||||
msgstr "Nepavyko įvykdyti „%s“:"
|
||||
|
||||
#. Translators: Time in 24h format */
|
||||
#. Translators: Time in 24h format
|
||||
#: ../js/misc/util.js:191
|
||||
msgid "%H∶%M"
|
||||
msgstr "%H∶%M"
|
||||
|
||||
#. Translators: this is the word "Yesterday" followed by a
|
||||
#. time string in 24h format. i.e. "Yesterday, 14:30" */
|
||||
#. time string in 24h format. i.e. "Yesterday, 14:30"
|
||||
#: ../js/misc/util.js:197
|
||||
#, no-c-format
|
||||
msgid "Yesterday, %H∶%M"
|
||||
msgstr "Vakar, %H:%M"
|
||||
|
||||
#. Translators: this is the week day name followed by a time
|
||||
#. string in 24h format. i.e. "Monday, 14:30" */
|
||||
#. string in 24h format. i.e. "Monday, 14:30"
|
||||
#: ../js/misc/util.js:203
|
||||
#, no-c-format
|
||||
msgid "%A, %H∶%M"
|
||||
msgstr "%A, %H∶%M"
|
||||
|
||||
#. Translators: this is the month name and day number
|
||||
#. followed by a time string in 24h format.
|
||||
#. i.e. "May 25, 14:30" */
|
||||
#. i.e. "May 25, 14:30"
|
||||
#: ../js/misc/util.js:209
|
||||
#, no-c-format
|
||||
msgid "%B %d, %H∶%M"
|
||||
msgstr "%B %d, %H∶%M"
|
||||
|
||||
#. Translators: this is the month name, day number, year
|
||||
#. number followed by a time string in 24h format.
|
||||
#. i.e. "May 25 2012, 14:30" */
|
||||
#. i.e. "May 25 2012, 14:30"
|
||||
#: ../js/misc/util.js:215
|
||||
#, no-c-format
|
||||
msgid "%B %d %Y, %H∶%M"
|
||||
msgstr "%Y %m %d, %H∶%M"
|
||||
|
||||
#. Translators: Time in 12h format */
|
||||
#. Translators: Time in 12h format
|
||||
#: ../js/misc/util.js:220
|
||||
msgid "%l∶%M %p"
|
||||
msgstr "%l∶%M %p"
|
||||
|
||||
#. Translators: this is the word "Yesterday" followed by a
|
||||
#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */
|
||||
#. time string in 12h format. i.e. "Yesterday, 2:30 pm"
|
||||
#: ../js/misc/util.js:226
|
||||
#, no-c-format
|
||||
msgid "Yesterday, %l∶%M %p"
|
||||
msgstr "Vakar, %l∶%M %p"
|
||||
|
||||
#. Translators: this is the week day name followed by a time
|
||||
#. string in 12h format. i.e. "Monday, 2:30 pm" */
|
||||
#. string in 12h format. i.e. "Monday, 2:30 pm"
|
||||
#: ../js/misc/util.js:232
|
||||
#, no-c-format
|
||||
msgid "%A, %l∶%M %p"
|
||||
msgstr "%A, %l∶%M %p"
|
||||
|
||||
#. Translators: this is the month name and day number
|
||||
#. followed by a time string in 12h format.
|
||||
#. i.e. "May 25, 2:30 pm" */
|
||||
#. i.e. "May 25, 2:30 pm"
|
||||
#: ../js/misc/util.js:238
|
||||
#, no-c-format
|
||||
msgid "%B %d, %l∶%M %p"
|
||||
msgstr "%B %d, %l∶%M %p"
|
||||
|
||||
#. Translators: this is the month name, day number, year
|
||||
#. number followed by a time string in 12h format.
|
||||
#. i.e. "May 25 2012, 2:30 pm"*/
|
||||
#. i.e. "May 25 2012, 2:30 pm"
|
||||
#: ../js/misc/util.js:244
|
||||
#, no-c-format
|
||||
msgid "%B %d %Y, %l∶%M %p"
|
||||
msgstr "%Y %B %d, %l∶%M %p"
|
||||
|
||||
#. TRANSLATORS: this is the title of the wifi captive portal login
|
||||
#. * window, until we know the title of the actual login page */
|
||||
#. * window, until we know the title of the actual login page
|
||||
#: ../js/portalHelper/main.js:85
|
||||
msgid "Web Authentication Redirect"
|
||||
msgstr "Reikia patvirtinti tapatybę internete"
|
||||
|
||||
#: ../js/ui/appDisplay.js:792
|
||||
#: ../js/ui/appDisplay.js:794
|
||||
msgid "Frequently used applications will appear here"
|
||||
msgstr "Čia bus matomos dažnai naudojamos programos"
|
||||
|
||||
#: ../js/ui/appDisplay.js:912
|
||||
#: ../js/ui/appDisplay.js:914
|
||||
msgid "Frequent"
|
||||
msgstr "Dažnai naudojamos"
|
||||
|
||||
#: ../js/ui/appDisplay.js:919
|
||||
#: ../js/ui/appDisplay.js:921
|
||||
msgid "All"
|
||||
msgstr "Visos"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1850
|
||||
#: ../js/ui/appDisplay.js:1853
|
||||
msgid "New Window"
|
||||
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"
|
||||
msgstr "Pašalinti iš mėgstamų"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1884
|
||||
#: ../js/ui/appDisplay.js:1887
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Pridėti prie mėgstamų"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1894
|
||||
#: ../js/ui/appDisplay.js:1897
|
||||
msgid "Show Details"
|
||||
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ų."
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:650
|
||||
#: ../js/ui/status/system.js:337
|
||||
#: ../js/ui/status/system.js:334
|
||||
msgid "Settings"
|
||||
msgstr "Nustatymai"
|
||||
|
||||
@@ -488,7 +512,7 @@ msgstr "Nustatymai"
|
||||
msgid "Change Background…"
|
||||
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
|
||||
msgctxt "calendar-no-work"
|
||||
msgid "06"
|
||||
@@ -498,95 +522,95 @@ msgstr "06"
|
||||
#. *
|
||||
#. * NOTE: These grid abbreviations are always shown together
|
||||
#. * and in order, e.g. "S M T W T F S".
|
||||
#. */
|
||||
#.
|
||||
#: ../js/ui/calendar.js:82
|
||||
msgctxt "grid sunday"
|
||||
msgid "S"
|
||||
msgstr "S"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Monday */
|
||||
#. Translators: Calendar grid abbreviation for Monday
|
||||
#: ../js/ui/calendar.js:84
|
||||
msgctxt "grid monday"
|
||||
msgid "M"
|
||||
msgstr "P"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Tuesday */
|
||||
#. Translators: Calendar grid abbreviation for Tuesday
|
||||
#: ../js/ui/calendar.js:86
|
||||
msgctxt "grid tuesday"
|
||||
msgid "T"
|
||||
msgstr "A"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Wednesday */
|
||||
#. Translators: Calendar grid abbreviation for Wednesday
|
||||
#: ../js/ui/calendar.js:88
|
||||
msgctxt "grid wednesday"
|
||||
msgid "W"
|
||||
msgstr "T"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Thursday */
|
||||
#. Translators: Calendar grid abbreviation for Thursday
|
||||
#: ../js/ui/calendar.js:90
|
||||
msgctxt "grid thursday"
|
||||
msgid "T"
|
||||
msgstr "K"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Friday */
|
||||
#. Translators: Calendar grid abbreviation for Friday
|
||||
#: ../js/ui/calendar.js:92
|
||||
msgctxt "grid friday"
|
||||
msgid "F"
|
||||
msgstr "P"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Saturday */
|
||||
#. Translators: Calendar grid abbreviation for Saturday
|
||||
#: ../js/ui/calendar.js:94
|
||||
msgctxt "grid saturday"
|
||||
msgid "S"
|
||||
msgstr "Š"
|
||||
|
||||
#: ../js/ui/calendar.js:563
|
||||
#: ../js/ui/calendar.js:564
|
||||
msgid "Previous month"
|
||||
msgstr "Ankstesnis mėnuo"
|
||||
|
||||
#: ../js/ui/calendar.js:573
|
||||
#: ../js/ui/calendar.js:574
|
||||
msgid "Next month"
|
||||
msgstr "Kitas mėnuo"
|
||||
|
||||
#: ../js/ui/calendar.js:780
|
||||
#: ../js/ui/calendar.js:781
|
||||
msgid "Week %V"
|
||||
msgstr "Savaitė %V"
|
||||
|
||||
#. Translators: Shown in calendar event list for all day events
|
||||
#. * Keep it short, best if you can use less then 10 characters
|
||||
#. */
|
||||
#: ../js/ui/calendar.js:1182
|
||||
#.
|
||||
#: ../js/ui/calendar.js:1187
|
||||
msgctxt "event list time"
|
||||
msgid "All Day"
|
||||
msgstr "Visa diena"
|
||||
|
||||
#: ../js/ui/calendar.js:1288
|
||||
#: ../js/ui/calendar.js:1293
|
||||
msgid "Clear section"
|
||||
msgstr "Išvalyti skiltį"
|
||||
|
||||
#: ../js/ui/calendar.js:1515
|
||||
#: ../js/ui/calendar.js:1520
|
||||
msgid "Events"
|
||||
msgstr "Įvykiai"
|
||||
|
||||
#: ../js/ui/calendar.js:1524
|
||||
#: ../js/ui/calendar.js:1529
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, %B %d d."
|
||||
|
||||
#: ../js/ui/calendar.js:1528
|
||||
#: ../js/ui/calendar.js:1533
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%A, %Y m. %B %d d."
|
||||
|
||||
#: ../js/ui/calendar.js:1613
|
||||
#: ../js/ui/calendar.js:1618
|
||||
msgid "Notifications"
|
||||
msgstr "Pranešimai"
|
||||
|
||||
#: ../js/ui/calendar.js:1764
|
||||
#: ../js/ui/calendar.js:1769
|
||||
msgid "No Notifications"
|
||||
msgstr "Nėra pranešimų"
|
||||
|
||||
#: ../js/ui/calendar.js:1767
|
||||
#: ../js/ui/calendar.js:1772
|
||||
msgid "No Events"
|
||||
msgstr "Nėra įvykių"
|
||||
|
||||
@@ -616,6 +640,7 @@ msgstr "Įveskite dar kartą:"
|
||||
msgid "Connect"
|
||||
msgstr "Prisijungti"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: ../js/ui/components/networkAgent.js:233
|
||||
#: ../js/ui/components/networkAgent.js:245
|
||||
#: ../js/ui/components/networkAgent.js:273
|
||||
@@ -624,6 +649,7 @@ msgstr "Prisijungti"
|
||||
msgid "Password: "
|
||||
msgstr "Slaptažodis: "
|
||||
|
||||
#. static WEP
|
||||
#: ../js/ui/components/networkAgent.js:238
|
||||
msgid "Key: "
|
||||
msgstr "Raktas: "
|
||||
@@ -715,14 +741,14 @@ msgstr "Patvirtinti tapatybę"
|
||||
#. Translators: "that didn't work" refers to the fact that the
|
||||
#. * requested authentication was not gained; this can happen
|
||||
#. * because of an authentication error (like invalid password),
|
||||
#. * for instance. */
|
||||
#. * for instance.
|
||||
#: ../js/ui/components/polkitAgent.js:271 ../js/ui/shellMountOperation.js:383
|
||||
msgid "Sorry, that didn't work. Please try again."
|
||||
msgstr "Atsiprašome, tai nesuveikė. Bandykite dar kartą."
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name. */
|
||||
#: ../js/ui/components/telepathyClient.js:775
|
||||
#. IM name.
|
||||
#: ../js/ui/components/telepathyClient.js:757
|
||||
#, javascript-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "%s nuo šiol vadinasi %s"
|
||||
@@ -731,25 +757,27 @@ msgstr "%s nuo šiol vadinasi %s"
|
||||
msgid "Windows"
|
||||
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"
|
||||
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"
|
||||
msgstr "Paleidimo sritis"
|
||||
|
||||
#. Translators: This is the date format to use when the calendar popup is
|
||||
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
|
||||
#. */
|
||||
#.
|
||||
#: ../js/ui/dateMenu.js:73
|
||||
msgid "%B %e %Y"
|
||||
msgstr "%B %e %Y"
|
||||
msgstr "%Y m. %B %d d."
|
||||
|
||||
#. Translators: This is the accessible name of the date button shown
|
||||
#. * below the time in the shell; it should combine the weekday and the
|
||||
#. * date, e.g. "Tuesday February 17 2015".
|
||||
#. */
|
||||
#.
|
||||
#: ../js/ui/dateMenu.js:80
|
||||
msgid "%A %B %e %Y"
|
||||
msgstr "%A, %Y %B %d"
|
||||
@@ -886,13 +914,13 @@ msgstr "Kai kurios programos dirba arba turi neįrašyto darbo."
|
||||
msgid "Other users are logged in."
|
||||
msgstr "Yra prisijungusių kitų naudotojų"
|
||||
|
||||
#. Translators: Remote here refers to a remote session, like a ssh login */
|
||||
#. Translators: Remote here refers to a remote session, like a ssh login
|
||||
#: ../js/ui/endSessionDialog.js:640
|
||||
#, javascript-format
|
||||
msgid "%s (remote)"
|
||||
msgstr "%s (nutolęs)"
|
||||
|
||||
#. Translators: Console here refers to a tty like a VT console */
|
||||
#. Translators: Console here refers to a tty like a VT console
|
||||
#: ../js/ui/endSessionDialog.js:643
|
||||
#, javascript-format
|
||||
msgid "%s (console)"
|
||||
@@ -907,17 +935,16 @@ msgstr "Įdiegti"
|
||||
msgid "Download and install “%s” from 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"
|
||||
msgstr "Klaviatūra"
|
||||
|
||||
#. translators: 'Hide' is a verb */
|
||||
#: ../js/ui/legacyTray.js:59
|
||||
#| msgid "Hide Text"
|
||||
#. translators: 'Hide' is a verb
|
||||
#: ../js/ui/legacyTray.js:66
|
||||
msgid "Hide tray"
|
||||
msgstr "Slėpti dėklą"
|
||||
|
||||
#: ../js/ui/legacyTray.js:91
|
||||
#: ../js/ui/legacyTray.js:107
|
||||
msgid "Status Icons"
|
||||
msgstr "Būsenos piktogramos"
|
||||
|
||||
@@ -925,7 +952,7 @@ msgstr "Būsenos piktogramos"
|
||||
msgid "No extensions installed"
|
||||
msgstr "Nėra įdiegtų plėtinių"
|
||||
|
||||
#. Translators: argument is an extension UUID. */
|
||||
#. Translators: argument is an extension UUID.
|
||||
#: ../js/ui/lookingGlass.js:697
|
||||
#, javascript-format
|
||||
msgid "%s has not emitted any errors."
|
||||
@@ -945,7 +972,7 @@ msgid "Enabled"
|
||||
msgstr "Įjungta"
|
||||
|
||||
#. 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:
|
||||
#. * The device has been disabled
|
||||
#: ../js/ui/lookingGlass.js:719 ../js/ui/status/location.js:179
|
||||
@@ -973,7 +1000,7 @@ msgstr "Žiūrėti šaltinį"
|
||||
msgid "Web Page"
|
||||
msgstr "Tinklalapis"
|
||||
|
||||
#: ../js/ui/messageTray.js:2133
|
||||
#: ../js/ui/messageTray.js:1506
|
||||
msgid "System Information"
|
||||
msgstr "Sistemos informacija"
|
||||
|
||||
@@ -988,7 +1015,7 @@ msgstr "Apžvalga"
|
||||
#. Translators: this is the text displayed
|
||||
#. in the search entry when no search is
|
||||
#. active; it should not exceed ~30
|
||||
#. characters. */
|
||||
#. characters.
|
||||
#: ../js/ui/overview.js:246
|
||||
msgid "Type to search…"
|
||||
msgstr "Rašykite, ko ieškote…"
|
||||
@@ -998,7 +1025,7 @@ msgid "Quit"
|
||||
msgstr "Užverti"
|
||||
|
||||
#. Translators: If there is no suitable word for "Activities"
|
||||
#. in your language, you can use the word for "Overview". */
|
||||
#. in your language, you can use the word for "Overview".
|
||||
#: ../js/ui/panel.js:404
|
||||
msgid "Activities"
|
||||
msgstr "Apžvalga"
|
||||
@@ -1007,6 +1034,11 @@ msgstr "Apžvalga"
|
||||
msgid "Top Bar"
|
||||
msgstr "Viršutinė juosta"
|
||||
|
||||
#. Translators: this MUST be either "toggle-switch-us"
|
||||
#. (for toggle switches containing the English words
|
||||
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
|
||||
#. switches containing "◯" and "|"). Other values will
|
||||
#. simply result in invisible toggle switches.
|
||||
#: ../js/ui/popupMenu.js:289
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-intl"
|
||||
@@ -1024,7 +1056,7 @@ msgid "Restarting…"
|
||||
msgstr "Perleidžiama…"
|
||||
|
||||
#. Translators: This is a time format for a date in
|
||||
#. long format */
|
||||
#. long format
|
||||
#: ../js/ui/screenShield.js:85
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, %B %d d."
|
||||
@@ -1045,27 +1077,34 @@ msgstr[0] "%d naujas pranešimas"
|
||||
msgstr[1] "%d nauji pranešimai"
|
||||
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"
|
||||
msgstr "Užrakinti"
|
||||
|
||||
#: ../js/ui/screenShield.js:668
|
||||
#: ../js/ui/screenShield.js:684
|
||||
msgid "GNOME needs to lock the screen"
|
||||
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"
|
||||
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"
|
||||
msgstr "Programa užblokavo užrakinimą"
|
||||
|
||||
#: ../js/ui/search.js:616
|
||||
#: ../js/ui/search.js:617
|
||||
msgid "Searching…"
|
||||
msgstr "Ieškoma…"
|
||||
|
||||
#: ../js/ui/search.js:618
|
||||
#: ../js/ui/search.js:619
|
||||
msgid "No results."
|
||||
msgstr "Nerasta atitikmenų."
|
||||
|
||||
@@ -1129,14 +1168,16 @@ msgstr "Pasikartojantieji klavišai"
|
||||
msgid "Mouse Keys"
|
||||
msgstr "Pelės mygtukai"
|
||||
|
||||
#: ../js/ui/status/accessibility.js:144
|
||||
#: ../js/ui/status/accessibility.js:167
|
||||
msgid "High Contrast"
|
||||
msgstr "Didelis kontrastas"
|
||||
|
||||
#: ../js/ui/status/accessibility.js:193
|
||||
#: ../js/ui/status/accessibility.js:202
|
||||
msgid "Large Text"
|
||||
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
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
@@ -1168,7 +1209,7 @@ msgstr "Atsijungta"
|
||||
msgid "Brightness"
|
||||
msgstr "Ryškumas"
|
||||
|
||||
#: ../js/ui/status/keyboard.js:603
|
||||
#: ../js/ui/status/keyboard.js:736
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "Rodyti klaviatūros išdėstymą"
|
||||
|
||||
@@ -1206,7 +1247,7 @@ msgid "Connected"
|
||||
msgstr "Prisijungta"
|
||||
|
||||
#. 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
|
||||
msgid "Unmanaged"
|
||||
msgstr "Nevaldomas"
|
||||
@@ -1219,19 +1260,19 @@ msgstr "Atsijungiama"
|
||||
msgid "Connecting"
|
||||
msgstr "Jungiamasi"
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password */
|
||||
#. Translators: this is for network connections that require some kind of key or password
|
||||
#: ../js/ui/status/network.js:474
|
||||
msgid "Authentication required"
|
||||
msgstr "Reikia patvirtinti tapatybę"
|
||||
|
||||
#. 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
|
||||
msgid "Firmware missing"
|
||||
msgstr "Trūksta integruotos programinės įrangos (firmware)"
|
||||
|
||||
#. 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
|
||||
msgid "Unavailable"
|
||||
msgstr "Nepasiekiamas"
|
||||
@@ -1316,7 +1357,7 @@ msgstr "Prieigos taškas aktyvus"
|
||||
msgid "connecting..."
|
||||
msgstr "jungiamasi..."
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password */
|
||||
#. Translators: this is for network connections that require some kind of key or password
|
||||
#: ../js/ui/status/network.js:1413
|
||||
msgid "authentication required"
|
||||
msgstr "reikia patvirtinti tapatybę"
|
||||
@@ -1349,15 +1390,19 @@ msgstr "Energijos valdymo nustatymai"
|
||||
msgid "Fully Charged"
|
||||
msgstr "Pilnai įkrauta"
|
||||
|
||||
#. 0 is reported when UPower does not have enough data
|
||||
#. to estimate battery life
|
||||
#: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78
|
||||
msgid "Estimating…"
|
||||
msgstr "Įvertinama…"
|
||||
|
||||
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
|
||||
#: ../js/ui/status/power.js:86
|
||||
#, javascript-format
|
||||
msgid "%d∶%02d Remaining (%d%%)"
|
||||
msgstr "Liko %d∶%02d (%d%%)"
|
||||
|
||||
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
|
||||
#: ../js/ui/status/power.js:91
|
||||
#, javascript-format
|
||||
msgid "%d∶%02d Until Full (%d%%)"
|
||||
@@ -1371,6 +1416,9 @@ msgstr "UPS"
|
||||
msgid "Battery"
|
||||
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
|
||||
msgid "Airplane Mode"
|
||||
msgstr "Skrydžio veiksena"
|
||||
@@ -1379,23 +1427,23 @@ msgstr "Skrydžio veiksena"
|
||||
msgid "On"
|
||||
msgstr "Įjungta"
|
||||
|
||||
#: ../js/ui/status/system.js:317
|
||||
#: ../js/ui/status/system.js:314
|
||||
msgid "Switch User"
|
||||
msgstr "Keisti naudotoją"
|
||||
|
||||
#: ../js/ui/status/system.js:322
|
||||
#: ../js/ui/status/system.js:319
|
||||
msgid "Log Out"
|
||||
msgstr "Atsijungti"
|
||||
|
||||
#: ../js/ui/status/system.js:341
|
||||
#: ../js/ui/status/system.js:338
|
||||
msgid "Orientation Lock"
|
||||
msgstr "Padėties užrakinimas"
|
||||
|
||||
#: ../js/ui/status/system.js:349
|
||||
#: ../js/ui/status/system.js:346
|
||||
msgid "Suspend"
|
||||
msgstr "Užmigdyti"
|
||||
|
||||
#: ../js/ui/status/system.js:352
|
||||
#: ../js/ui/status/system.js:349
|
||||
msgid "Power Off"
|
||||
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,
|
||||
#. to avoid ellipsizing the labels.
|
||||
#. */
|
||||
#.
|
||||
#: ../js/ui/windowManager.js:84
|
||||
msgid "Revert Settings"
|
||||
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ų"
|
||||
|
||||
#. Translators: This represents the size of a window. The first number is
|
||||
#. * the width of the window and the second is the height. */
|
||||
#: ../js/ui/windowManager.js:599
|
||||
#. * the width of the window and the second is the height.
|
||||
#: ../js/ui/windowManager.js:613
|
||||
#, javascript-format
|
||||
msgid "%d x %d"
|
||||
msgstr "%d x %d"
|
||||
@@ -1530,28 +1578,28 @@ msgstr[2] "%u įvesčių"
|
||||
msgid "System Sounds"
|
||||
msgstr "Sistemos garsai"
|
||||
|
||||
#: ../src/main.c:373
|
||||
#: ../src/main.c:372
|
||||
msgid "Print version"
|
||||
msgstr "Išvesti versijos numerį"
|
||||
|
||||
#: ../src/main.c:379
|
||||
#: ../src/main.c:378
|
||||
msgid "Mode used by GDM for login screen"
|
||||
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"
|
||||
msgstr "Naudoti konkrečią veikseną, pvz., „gdm“ prisijungimo ekranui"
|
||||
|
||||
#: ../src/main.c:391
|
||||
#: ../src/main.c:390
|
||||
msgid "List possible modes"
|
||||
msgstr "Išvardinti galimas veiksenas"
|
||||
|
||||
#: ../src/shell-app.c:247
|
||||
#: ../src/shell-app.c:239
|
||||
msgctxt "program"
|
||||
msgid "Unknown"
|
||||
msgstr "Nežinoma"
|
||||
|
||||
#: ../src/shell-app.c:488
|
||||
#: ../src/shell-app.c:480
|
||||
#, c-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Nepavyko paleisti „%s“"
|
||||
|
113
po/nb.po
113
po/nb.po
@@ -9,8 +9,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell 3.15.x\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-03-19 20:47+0100\n"
|
||||
"PO-Revision-Date: 2015-03-19 20:56+0100\n"
|
||||
"POT-Creation-Date: 2015-10-16 18:14+0200\n"
|
||||
"PO-Revision-Date: 2015-10-16 18:14+0200\n"
|
||||
"Last-Translator: Åka Sikrom <a4NOSPAMPLEASETHANKYOU@hush.com>\n"
|
||||
"Language-Team: Norwegian bokmål <i18n-nb@lister.ping.uio.no>\n"
|
||||
"Language: Norwegian bokmål\n"
|
||||
@@ -296,12 +296,12 @@ msgstr "Utsett fokusendringer i musmodus til peker slutter å bevege seg"
|
||||
msgid "Network Login"
|
||||
msgstr "Nettverkspålogging"
|
||||
|
||||
#: ../js/extensionPrefs/main.js:123
|
||||
#: ../js/extensionPrefs/main.js:122
|
||||
#, javascript-format
|
||||
msgid "There was an error loading the preferences dialog 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"
|
||||
msgstr "Utvidelser for GNOME Shell"
|
||||
|
||||
@@ -312,34 +312,35 @@ msgstr "Utvidelser for GNOME Shell"
|
||||
msgid "Cancel"
|
||||
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"
|
||||
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
|
||||
msgid "Unlock"
|
||||
msgstr "Lås opp"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:215
|
||||
#: ../js/gdm/authPrompt.js:213
|
||||
msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "Logg inn"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:280
|
||||
#: ../js/gdm/loginDialog.js:281
|
||||
msgid "Choose Session"
|
||||
msgstr "Velg økt"
|
||||
|
||||
#. 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:421
|
||||
#: ../js/gdm/loginDialog.js:431
|
||||
msgid "Not listed?"
|
||||
msgstr "Ikke listet?"
|
||||
|
||||
#. 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:830
|
||||
#: ../js/gdm/loginDialog.js:847
|
||||
#, javascript-format
|
||||
msgid "(e.g., user or %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
|
||||
#. is not visible here since we only care about phase2 authentication
|
||||
#. (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
|
||||
msgid "Username: "
|
||||
msgstr "Brukernavn: "
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1163
|
||||
#: ../js/gdm/loginDialog.js:1181
|
||||
msgid "Login Window"
|
||||
msgstr "Innloggingsvindu"
|
||||
|
||||
@@ -460,31 +461,31 @@ msgstr "%d %B %Y, %H.%M"
|
||||
msgid "Web Authentication Redirect"
|
||||
msgstr "Omdirigering av autentisering på nett"
|
||||
|
||||
#: ../js/ui/appDisplay.js:792
|
||||
#: ../js/ui/appDisplay.js:794
|
||||
msgid "Frequently used applications will appear here"
|
||||
msgstr "Ofte brukte programmer vises her"
|
||||
|
||||
#: ../js/ui/appDisplay.js:912
|
||||
#: ../js/ui/appDisplay.js:914
|
||||
msgid "Frequent"
|
||||
msgstr "Ofte"
|
||||
|
||||
#: ../js/ui/appDisplay.js:919
|
||||
#: ../js/ui/appDisplay.js:921
|
||||
msgid "All"
|
||||
msgstr "Alle"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1850
|
||||
#: ../js/ui/appDisplay.js:1853
|
||||
msgid "New Window"
|
||||
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"
|
||||
msgstr "Fjern fra favoritter"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1884
|
||||
#: ../js/ui/appDisplay.js:1887
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Legg til i favoritter"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1894
|
||||
#: ../js/ui/appDisplay.js:1897
|
||||
msgid "Show Details"
|
||||
msgstr "Vis detaljer"
|
||||
|
||||
@@ -499,7 +500,7 @@ msgid "%s has been removed from your favorites."
|
||||
msgstr "%s ble fjernet fra favoritter."
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:650
|
||||
#: ../js/ui/status/system.js:337
|
||||
#: ../js/ui/status/system.js:334
|
||||
msgid "Settings"
|
||||
msgstr "Innstillinger"
|
||||
|
||||
@@ -574,38 +575,38 @@ msgstr "Uke %V"
|
||||
#. Translators: Shown in calendar event list for all day events
|
||||
#. * Keep it short, best if you can use less then 10 characters
|
||||
#.
|
||||
#: ../js/ui/calendar.js:1183
|
||||
#: ../js/ui/calendar.js:1187
|
||||
msgctxt "event list time"
|
||||
msgid "All Day"
|
||||
msgstr "Hele dagen"
|
||||
|
||||
#: ../js/ui/calendar.js:1289
|
||||
#: ../js/ui/calendar.js:1293
|
||||
msgid "Clear section"
|
||||
msgstr "Tøm seksjon"
|
||||
|
||||
#: ../js/ui/calendar.js:1516
|
||||
#: ../js/ui/calendar.js:1520
|
||||
msgid "Events"
|
||||
msgstr "Hendelser"
|
||||
|
||||
#: ../js/ui/calendar.js:1525
|
||||
#: ../js/ui/calendar.js:1529
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A %B %d"
|
||||
|
||||
#: ../js/ui/calendar.js:1529
|
||||
#: ../js/ui/calendar.js:1533
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%A %B %d, %Y"
|
||||
|
||||
#: ../js/ui/calendar.js:1614
|
||||
#: ../js/ui/calendar.js:1618
|
||||
msgid "Notifications"
|
||||
msgstr "Varslinger"
|
||||
|
||||
#: ../js/ui/calendar.js:1765
|
||||
#: ../js/ui/calendar.js:1769
|
||||
msgid "No Notifications"
|
||||
msgstr "Ingen varslinger"
|
||||
|
||||
#: ../js/ui/calendar.js:1768
|
||||
#: ../js/ui/calendar.js:1772
|
||||
msgid "No Events"
|
||||
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
|
||||
#. IM name.
|
||||
#: ../js/ui/components/telepathyClient.js:728
|
||||
#: ../js/ui/components/telepathyClient.js:757
|
||||
#, javascript-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "%s er nå kjent som %s"
|
||||
@@ -752,13 +753,13 @@ msgstr "%s er nå kjent som %s"
|
||||
msgid "Windows"
|
||||
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"
|
||||
msgstr "Vis programmer"
|
||||
|
||||
#. Translators: this is the name of the dock/favorites area on
|
||||
#. the left of the overview
|
||||
#: ../js/ui/dash.js:453
|
||||
#: ../js/ui/dash.js:449
|
||||
msgid "Dash"
|
||||
msgstr "Favoritter"
|
||||
|
||||
@@ -925,16 +926,16 @@ msgstr "Installer"
|
||||
msgid "Download and install “%s” from 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"
|
||||
msgstr "Tastatur"
|
||||
|
||||
#. translators: 'Hide' is a verb
|
||||
#: ../js/ui/legacyTray.js:64
|
||||
#: ../js/ui/legacyTray.js:66
|
||||
msgid "Hide tray"
|
||||
msgstr "Skjul statusområde"
|
||||
|
||||
#: ../js/ui/legacyTray.js:104
|
||||
#: ../js/ui/legacyTray.js:107
|
||||
msgid "Status Icons"
|
||||
msgstr "Statusikoner"
|
||||
|
||||
@@ -990,7 +991,7 @@ msgstr "Vis kildekode"
|
||||
msgid "Web Page"
|
||||
msgstr "Nettside"
|
||||
|
||||
#: ../js/ui/messageTray.js:1507
|
||||
#: ../js/ui/messageTray.js:1506
|
||||
msgid "System Information"
|
||||
msgstr "Systeminformasjon"
|
||||
|
||||
@@ -1065,11 +1066,11 @@ msgid_plural "%d new notifications"
|
||||
msgstr[0] "%d ny varsling"
|
||||
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"
|
||||
msgstr "Lås"
|
||||
|
||||
#: ../js/ui/screenShield.js:668
|
||||
#: ../js/ui/screenShield.js:684
|
||||
msgid "GNOME needs to lock the screen"
|
||||
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
|
||||
#. 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"
|
||||
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"
|
||||
msgstr "Låsing ble stoppet av et program"
|
||||
|
||||
#: ../js/ui/search.js:616
|
||||
#: ../js/ui/search.js:617
|
||||
msgid "Searching…"
|
||||
msgstr "Søker …"
|
||||
|
||||
#: ../js/ui/search.js:618
|
||||
#: ../js/ui/search.js:619
|
||||
msgid "No results."
|
||||
msgstr "Ingen resultater."
|
||||
|
||||
@@ -1156,11 +1157,11 @@ msgstr "Spretne taster"
|
||||
msgid "Mouse Keys"
|
||||
msgstr "Mustaster"
|
||||
|
||||
#: ../js/ui/status/accessibility.js:144
|
||||
#: ../js/ui/status/accessibility.js:167
|
||||
msgid "High Contrast"
|
||||
msgstr "Høy kontrast"
|
||||
|
||||
#: ../js/ui/status/accessibility.js:193
|
||||
#: ../js/ui/status/accessibility.js:202
|
||||
msgid "Large Text"
|
||||
msgstr "Stor tekst"
|
||||
|
||||
@@ -1196,7 +1197,7 @@ msgstr "Ikke koblet til"
|
||||
msgid "Brightness"
|
||||
msgstr "Lysstyrke"
|
||||
|
||||
#: ../js/ui/status/keyboard.js:747
|
||||
#: ../js/ui/status/keyboard.js:736
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "Vis tastaturutforming"
|
||||
|
||||
@@ -1414,23 +1415,23 @@ msgstr "Flymodus"
|
||||
msgid "On"
|
||||
msgstr "På"
|
||||
|
||||
#: ../js/ui/status/system.js:317
|
||||
#: ../js/ui/status/system.js:314
|
||||
msgid "Switch User"
|
||||
msgstr "Bytt bruker"
|
||||
|
||||
#: ../js/ui/status/system.js:322
|
||||
#: ../js/ui/status/system.js:319
|
||||
msgid "Log Out"
|
||||
msgstr "Logg ut"
|
||||
|
||||
#: ../js/ui/status/system.js:341
|
||||
#: ../js/ui/status/system.js:338
|
||||
msgid "Orientation Lock"
|
||||
msgstr "Lås for orientering"
|
||||
|
||||
#: ../js/ui/status/system.js:349
|
||||
#: ../js/ui/status/system.js:346
|
||||
msgid "Suspend"
|
||||
msgstr "Hvilemodus"
|
||||
|
||||
#: ../js/ui/status/system.js:352
|
||||
#: ../js/ui/status/system.js:349
|
||||
msgid "Power Off"
|
||||
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
|
||||
#. * the width of the window and the second is the height.
|
||||
#: ../js/ui/windowManager.js:599
|
||||
#: ../js/ui/windowManager.js:613
|
||||
#, javascript-format
|
||||
msgid "%d x %d"
|
||||
msgstr "%d x %d"
|
||||
@@ -1530,11 +1531,11 @@ msgstr "Alltid på synlig arbeidsområde"
|
||||
|
||||
#: ../js/ui/windowMenu.js:106
|
||||
msgid "Move to Workspace Up"
|
||||
msgstr "Gå til arbeidsområdet over"
|
||||
msgstr "Flytt til arbeidsområdet over"
|
||||
|
||||
#: ../js/ui/windowMenu.js:111
|
||||
msgid "Move to Workspace Down"
|
||||
msgstr "Gå til arbeidsområdet under"
|
||||
msgstr "Flytt til arbeidsområdet under"
|
||||
|
||||
#: ../src/calendar-server/evolution-calendar.desktop.in.in.h:1
|
||||
msgid "Evolution Calendar"
|
||||
@@ -1562,19 +1563,19 @@ msgstr[1] "%u innganger"
|
||||
msgid "System Sounds"
|
||||
msgstr "Systemlyder"
|
||||
|
||||
#: ../src/main.c:373
|
||||
#: ../src/main.c:372
|
||||
msgid "Print version"
|
||||
msgstr "Vis versjon"
|
||||
|
||||
#: ../src/main.c:379
|
||||
#: ../src/main.c:378
|
||||
msgid "Mode used by GDM for login screen"
|
||||
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"
|
||||
msgstr "Bruk spesifikt modus, f.eks «gdm» for innloggingsskjerm"
|
||||
|
||||
#: ../src/main.c:391
|
||||
#: ../src/main.c:390
|
||||
msgid "List possible modes"
|
||||
msgstr "Vis mulige modi"
|
||||
|
||||
|
244
po/ru.po
244
po/ru.po
@@ -19,8 +19,8 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2015-03-16 17:46+0000\n"
|
||||
"PO-Revision-Date: 2015-03-16 22:16+0300\n"
|
||||
"POT-Creation-Date: 2015-03-29 18:01+0000\n"
|
||||
"PO-Revision-Date: 2015-03-29 20:32+0300\n"
|
||||
"Last-Translator: Stas Solovey <whats_up@tut.by>\n"
|
||||
"Language-Team: Русский <gnome-cyr@gnome.org>\n"
|
||||
"Language: ru\n"
|
||||
@@ -29,7 +29,7 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
|
||||
"X-Generator: Gtranslator 2.91.6\n"
|
||||
"X-Generator: Gtranslator 2.91.7\n"
|
||||
|
||||
#: ../data/50-gnome-shell-system.xml.in.h:1
|
||||
msgid "System"
|
||||
@@ -310,12 +310,12 @@ msgstr "Задержка изменения фокуса в режиме мыш
|
||||
msgid "Network Login"
|
||||
msgstr "Сетевая авторизация"
|
||||
|
||||
#: ../js/extensionPrefs/main.js:123
|
||||
#: ../js/extensionPrefs/main.js:122
|
||||
#, javascript-format
|
||||
msgid "There was an error loading the preferences dialog for %s:"
|
||||
msgstr "Возникла ошибка загрузки диалогового окна параметров для %s:"
|
||||
|
||||
#: ../js/extensionPrefs/main.js:155
|
||||
#: ../js/extensionPrefs/main.js:154
|
||||
msgid "GNOME Shell Extensions"
|
||||
msgstr "Расширения GNOME Shell"
|
||||
|
||||
@@ -340,25 +340,25 @@ msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "Войти"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:280
|
||||
#: ../js/gdm/loginDialog.js:281
|
||||
msgid "Choose Session"
|
||||
msgstr "Выбрать сеанс"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:421
|
||||
#: ../js/gdm/loginDialog.js:431
|
||||
msgid "Not listed?"
|
||||
msgstr "Нет в списке?"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:830
|
||||
#: ../js/gdm/loginDialog.js:840
|
||||
#, javascript-format
|
||||
msgid "(e.g., user or %s)"
|
||||
msgstr "(например, пользователь или %s)"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:835 ../js/ui/components/networkAgent.js:271
|
||||
#: ../js/gdm/loginDialog.js:845 ../js/ui/components/networkAgent.js:271
|
||||
#: ../js/ui/components/networkAgent.js:289
|
||||
msgid "Username: "
|
||||
msgstr "Имя пользователя: "
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1170
|
||||
#: ../js/gdm/loginDialog.js:1173
|
||||
msgid "Login Window"
|
||||
msgstr "Окно входа в систему"
|
||||
|
||||
@@ -456,31 +456,31 @@ msgstr "%d %b. %Y, %l∶%M %p"
|
||||
msgid "Web Authentication Redirect"
|
||||
msgstr "Перенаправление для проверки подлинности"
|
||||
|
||||
#: ../js/ui/appDisplay.js:792
|
||||
#: ../js/ui/appDisplay.js:788
|
||||
msgid "Frequently used applications will appear here"
|
||||
msgstr "Здесь появляются часто используемые приложения"
|
||||
|
||||
#: ../js/ui/appDisplay.js:912
|
||||
#: ../js/ui/appDisplay.js:908
|
||||
msgid "Frequent"
|
||||
msgstr "Популярные"
|
||||
|
||||
#: ../js/ui/appDisplay.js:919
|
||||
#: ../js/ui/appDisplay.js:915
|
||||
msgid "All"
|
||||
msgstr "Все"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1850
|
||||
#: ../js/ui/appDisplay.js:1844
|
||||
msgid "New Window"
|
||||
msgstr "Новое окно"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1878 ../js/ui/dash.js:291
|
||||
#: ../js/ui/appDisplay.js:1872 ../js/ui/dash.js:289
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Удалить из избранного"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1884
|
||||
#: ../js/ui/appDisplay.js:1878
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Добавить в избранное"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1894
|
||||
#: ../js/ui/appDisplay.js:1888
|
||||
msgid "Show Details"
|
||||
msgstr "Показать подробности"
|
||||
|
||||
@@ -495,7 +495,7 @@ msgid "%s has been removed from your favorites."
|
||||
msgstr "Приложение %s удалено из избранного."
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:650
|
||||
#: ../js/ui/status/system.js:337
|
||||
#: ../js/ui/status/system.js:334
|
||||
msgid "Settings"
|
||||
msgstr "Параметры"
|
||||
|
||||
@@ -555,55 +555,55 @@ msgctxt "grid saturday"
|
||||
msgid "S"
|
||||
msgstr "Сб"
|
||||
|
||||
#: ../js/ui/calendar.js:563
|
||||
#: ../js/ui/calendar.js:564
|
||||
msgid "Previous month"
|
||||
msgstr "Предыдущий месяц"
|
||||
|
||||
#: ../js/ui/calendar.js:573
|
||||
#: ../js/ui/calendar.js:574
|
||||
msgid "Next month"
|
||||
msgstr "Следующий месяц"
|
||||
|
||||
#: ../js/ui/calendar.js:780
|
||||
#: ../js/ui/calendar.js:781
|
||||
msgid "Week %V"
|
||||
msgstr "%V неделя"
|
||||
|
||||
#. Translators: Shown in calendar event list for all day events
|
||||
#. * Keep it short, best if you can use less then 10 characters
|
||||
#. */
|
||||
#: ../js/ui/calendar.js:1182
|
||||
#: ../js/ui/calendar.js:1187
|
||||
msgctxt "event list time"
|
||||
msgid "All Day"
|
||||
msgstr "Весь день"
|
||||
|
||||
#: ../js/ui/calendar.js:1288
|
||||
#: ../js/ui/calendar.js:1293
|
||||
msgid "Clear section"
|
||||
msgstr "Очистить секцию"
|
||||
|
||||
#: ../js/ui/calendar.js:1515
|
||||
#: ../js/ui/calendar.js:1520
|
||||
msgid "Events"
|
||||
msgstr "События"
|
||||
|
||||
# fix для даты в календаре и на экране блокировки, за разъяснением обращаться к Stas Solovey <whats_up@tut.by>
|
||||
#: ../js/ui/calendar.js:1524
|
||||
#: ../js/ui/calendar.js:1529
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, %d %b."
|
||||
|
||||
# fix для даты в календаре и на экране блокировки
|
||||
#: ../js/ui/calendar.js:1528
|
||||
#: ../js/ui/calendar.js:1533
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%A, %d %b. %Y"
|
||||
|
||||
#: ../js/ui/calendar.js:1613
|
||||
#: ../js/ui/calendar.js:1618
|
||||
msgid "Notifications"
|
||||
msgstr "Уведомления"
|
||||
|
||||
#: ../js/ui/calendar.js:1764
|
||||
#: ../js/ui/calendar.js:1769
|
||||
msgid "No Notifications"
|
||||
msgstr "Уведомлений нет"
|
||||
|
||||
#: ../js/ui/calendar.js:1767
|
||||
#: ../js/ui/calendar.js:1772
|
||||
msgid "No Events"
|
||||
msgstr "Событий нет"
|
||||
|
||||
@@ -738,7 +738,7 @@ msgstr "Не удалось подтвердить подлинность. По
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name. */
|
||||
#: ../js/ui/components/telepathyClient.js:775
|
||||
#: ../js/ui/components/telepathyClient.js:732
|
||||
#, javascript-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "Контакт %s теперь известен как %s"
|
||||
@@ -747,11 +747,11 @@ msgstr "Контакт %s теперь известен как %s"
|
||||
msgid "Windows"
|
||||
msgstr "Окна"
|
||||
|
||||
#: ../js/ui/dash.js:252 ../js/ui/dash.js:293
|
||||
#: ../js/ui/dash.js:250 ../js/ui/dash.js:291
|
||||
msgid "Show Applications"
|
||||
msgstr "Показать приложения"
|
||||
|
||||
#: ../js/ui/dash.js:453
|
||||
#: ../js/ui/dash.js:449
|
||||
msgid "Dash"
|
||||
msgstr "Панель приложений"
|
||||
|
||||
@@ -927,7 +927,7 @@ msgstr "Установить"
|
||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||
msgstr "Загрузить и установить расширение «%s» из extensions.gnome.org?"
|
||||
|
||||
#: ../js/ui/keyboard.js:714 ../js/ui/status/keyboard.js:580
|
||||
#: ../js/ui/keyboard.js:714 ../js/ui/status/keyboard.js:724
|
||||
msgid "Keyboard"
|
||||
msgstr "Клавиатура"
|
||||
|
||||
@@ -936,7 +936,7 @@ msgstr "Клавиатура"
|
||||
msgid "Hide tray"
|
||||
msgstr "Скрыть лоток"
|
||||
|
||||
#: ../js/ui/legacyTray.js:104
|
||||
#: ../js/ui/legacyTray.js:105
|
||||
msgid "Status Icons"
|
||||
msgstr "Значки состояния"
|
||||
|
||||
@@ -992,7 +992,7 @@ msgstr "Показать код"
|
||||
msgid "Web Page"
|
||||
msgstr "Веб-страница"
|
||||
|
||||
#: ../js/ui/messageTray.js:2133
|
||||
#: ../js/ui/messageTray.js:1507
|
||||
msgid "System Information"
|
||||
msgstr "Системная информация"
|
||||
|
||||
@@ -1065,7 +1065,7 @@ msgstr[0] "%d новое уведомление"
|
||||
msgstr[1] "%d новых уведомления"
|
||||
msgstr[2] "%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"
|
||||
msgstr "Заблокировать"
|
||||
|
||||
@@ -1081,11 +1081,11 @@ msgstr "Не удалось заблокировать"
|
||||
msgid "Lock was blocked by an application"
|
||||
msgstr "Блокировке помешало приложение"
|
||||
|
||||
#: ../js/ui/search.js:616
|
||||
#: ../js/ui/search.js:617
|
||||
msgid "Searching…"
|
||||
msgstr "Поиск…"
|
||||
|
||||
#: ../js/ui/search.js:618
|
||||
#: ../js/ui/search.js:619
|
||||
msgid "No results."
|
||||
msgstr "Ничего не найдено."
|
||||
|
||||
@@ -1149,11 +1149,11 @@ msgstr "Отскакивающие клавиши"
|
||||
msgid "Mouse Keys"
|
||||
msgstr "Клавиши мыши"
|
||||
|
||||
#: ../js/ui/status/accessibility.js:144
|
||||
#: ../js/ui/status/accessibility.js:167
|
||||
msgid "High Contrast"
|
||||
msgstr "Высокая контрастность"
|
||||
|
||||
#: ../js/ui/status/accessibility.js:193
|
||||
#: ../js/ui/status/accessibility.js:202
|
||||
msgid "Large Text"
|
||||
msgstr "Крупный текст"
|
||||
|
||||
@@ -1188,7 +1188,7 @@ msgstr "Не подключено"
|
||||
msgid "Brightness"
|
||||
msgstr "Яркость"
|
||||
|
||||
#: ../js/ui/status/keyboard.js:603
|
||||
#: ../js/ui/status/keyboard.js:747
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "Показать раскладку клавиатуры"
|
||||
|
||||
@@ -1373,19 +1373,21 @@ msgstr "Полностью заряжена"
|
||||
msgid "Estimating…"
|
||||
msgstr "Выполняется подсчёт…"
|
||||
|
||||
# нужно в две строки, иначе не влезает в выпадающую панель
|
||||
#: ../js/ui/status/power.js:86
|
||||
#, javascript-format
|
||||
msgid "%d∶%02d Remaining (%d%%)"
|
||||
msgstr ""
|
||||
"Разряжается (%d%%)\n"
|
||||
"Осталось — %d∶%02d"
|
||||
"Осталось %02d ч. %d мин.\n"
|
||||
"Разряжается (%d%%)"
|
||||
|
||||
# нужно в две строки, иначе не влезает в выпадающую панель
|
||||
#: ../js/ui/status/power.js:91
|
||||
#, javascript-format
|
||||
msgid "%d∶%02d Until Full (%d%%)"
|
||||
msgstr ""
|
||||
"Заряжается (%d%%)\n"
|
||||
"До полной — %d∶%02d"
|
||||
"До полной %02d ч. %d мин.\n"
|
||||
"Заряжается (%d%%)"
|
||||
|
||||
# Источник Бесперебойного Питания
|
||||
#: ../js/ui/status/power.js:119
|
||||
@@ -1404,23 +1406,23 @@ msgstr "Режим авиаперелёта"
|
||||
msgid "On"
|
||||
msgstr "Включено"
|
||||
|
||||
#: ../js/ui/status/system.js:317
|
||||
#: ../js/ui/status/system.js:314
|
||||
msgid "Switch User"
|
||||
msgstr "Сменить пользователя"
|
||||
|
||||
#: ../js/ui/status/system.js:322
|
||||
#: ../js/ui/status/system.js:319
|
||||
msgid "Log Out"
|
||||
msgstr "Завершить сеанс"
|
||||
|
||||
#: ../js/ui/status/system.js:341
|
||||
#: ../js/ui/status/system.js:338
|
||||
msgid "Orientation Lock"
|
||||
msgstr "Заблокировать положение"
|
||||
|
||||
#: ../js/ui/status/system.js:349
|
||||
#: ../js/ui/status/system.js:346
|
||||
msgid "Suspend"
|
||||
msgstr "Ждущий режим"
|
||||
|
||||
#: ../js/ui/status/system.js:352
|
||||
#: ../js/ui/status/system.js:349
|
||||
msgid "Power Off"
|
||||
msgstr "Выключить"
|
||||
|
||||
@@ -1482,7 +1484,7 @@ msgstr[2] "Изменения параметров будут отменены
|
||||
|
||||
#. Translators: This represents the size of a window. The first number is
|
||||
#. * the width of the window and the second is the height. */
|
||||
#: ../js/ui/windowManager.js:599
|
||||
#: ../js/ui/windowManager.js:613
|
||||
#, javascript-format
|
||||
msgid "%d x %d"
|
||||
msgstr "%d x %d"
|
||||
@@ -1593,143 +1595,3 @@ msgstr "Пароль не может быть пустым"
|
||||
#: ../src/shell-polkit-authentication-agent.c:346
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "Аутентификация отклонена пользователем"
|
||||
|
||||
#~ msgctxt "event list time"
|
||||
#~ msgid "%H∶%M"
|
||||
#~ msgstr "%H∶%M"
|
||||
|
||||
#~ msgctxt "event list time"
|
||||
#~ msgid "%l∶%M %p"
|
||||
#~ msgstr "%l∶%M %p"
|
||||
|
||||
#~ msgid "Invitation"
|
||||
#~ msgstr "Приглашение"
|
||||
|
||||
#~ msgid "Call"
|
||||
#~ msgstr "Вызов"
|
||||
|
||||
#~ msgid "File Transfer"
|
||||
#~ msgstr "Передача файлов"
|
||||
|
||||
#~ msgid "Chat"
|
||||
#~ msgstr "Чат"
|
||||
|
||||
#~ msgid "Invitation to %s"
|
||||
#~ msgstr "Приглашение в %s"
|
||||
|
||||
#~ msgid "%s is inviting you to join %s"
|
||||
#~ msgstr "%s приглашает вас присоединиться к %s"
|
||||
|
||||
#~ msgid "Decline"
|
||||
#~ msgstr "Отказаться"
|
||||
|
||||
#~ msgid "Accept"
|
||||
#~ msgstr "Принять"
|
||||
|
||||
#~ msgid "Video call from %s"
|
||||
#~ msgstr "Видеозвонок от %s"
|
||||
|
||||
#~ msgid "Call from %s"
|
||||
#~ msgstr "Вас вызывает %s"
|
||||
|
||||
#~ msgid "Answer"
|
||||
#~ msgstr "Ответить"
|
||||
|
||||
#~ msgid "%s is sending you %s"
|
||||
#~ msgstr "%s отправляет вам %s"
|
||||
|
||||
#~ msgid "%s would like permission to see when you are online"
|
||||
#~ msgstr "%s хочет видеть, когда вы доступны в сети"
|
||||
|
||||
#~ msgid "Network error"
|
||||
#~ msgstr "Ошибка сети"
|
||||
|
||||
#~ msgid "Authentication failed"
|
||||
#~ msgstr "Ошибка аутентификации"
|
||||
|
||||
#~ msgid "Encryption error"
|
||||
#~ msgstr "Ошибка шифрования"
|
||||
|
||||
#~ msgid "Certificate not provided"
|
||||
#~ msgstr "Сертификат не предоставляется"
|
||||
|
||||
#~ msgid "Certificate untrusted"
|
||||
#~ msgstr "Недоверенный сертификат"
|
||||
|
||||
#~ msgid "Certificate expired"
|
||||
#~ msgstr "Срок действия сертификата истёк"
|
||||
|
||||
#~ msgid "Certificate not activated"
|
||||
#~ msgstr "Сертификат не активирован"
|
||||
|
||||
#~ msgid "Certificate hostname mismatch"
|
||||
#~ msgstr "Имя узла сертификата не совпадает"
|
||||
|
||||
#~ msgid "Certificate fingerprint mismatch"
|
||||
#~ msgstr "Отпечаток сертификата не совпадает"
|
||||
|
||||
#~ msgid "Certificate self-signed"
|
||||
#~ msgstr "Самоподписанный сертификат"
|
||||
|
||||
#~ msgid "Status is set to offline"
|
||||
#~ msgstr "Установлен статус «не в сети»"
|
||||
|
||||
#~ msgid "Encryption is not available"
|
||||
#~ msgstr "Шифрование недоступно"
|
||||
|
||||
#~ msgid "Certificate is invalid"
|
||||
#~ msgstr "Недействительный сертификат"
|
||||
|
||||
#~ msgid "Connection has been refused"
|
||||
#~ msgstr "В соединении отказано"
|
||||
|
||||
#~ msgid "Connection can't be established"
|
||||
#~ msgstr "Соединение не может быть установлено"
|
||||
|
||||
#~ msgid "Connection has been lost"
|
||||
#~ msgstr "Соединение потеряно"
|
||||
|
||||
#~ msgid "This account is already connected to the server"
|
||||
#~ msgstr "Эта учётная запись уже подключена к серверу"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Connection has been replaced by a new connection using the same resource"
|
||||
#~ msgstr "Соединение было заменено новым, используя тот же источник"
|
||||
|
||||
#~ msgid "The account already exists on the server"
|
||||
#~ msgstr "Учётная запись уже существует на сервере"
|
||||
|
||||
#~ msgid "Server is currently too busy to handle the connection"
|
||||
#~ msgstr ""
|
||||
#~ "Сервер в настоящее время сильно перегружен, чтобы обработать соединение"
|
||||
|
||||
#~ msgid "Certificate has been revoked"
|
||||
#~ msgstr "Сертификат аннулирован"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Certificate uses an insecure cipher algorithm or is cryptographically weak"
|
||||
#~ msgstr ""
|
||||
#~ "Сертификат использует небезопасный алгоритм шифрования или он "
|
||||
#~ "криптографически нестоек"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The length of the server certificate, or the depth of the server "
|
||||
#~ "certificate chain, exceed the limits imposed by the cryptography library"
|
||||
#~ msgstr ""
|
||||
#~ "Длина сертификата сервера, или глубина цепочки сертификатов сервера, "
|
||||
#~ "превышает пределы, установленные библиотекой криптографии"
|
||||
|
||||
#~ msgid "Internal error"
|
||||
#~ msgstr "Внутренняя ошибка"
|
||||
|
||||
#~ msgid "Unable to connect to %s"
|
||||
#~ msgstr "Не удалось подключиться к %s"
|
||||
|
||||
#~ msgid "View account"
|
||||
#~ msgstr "Показать учётную запись"
|
||||
|
||||
#~ msgid "Unknown reason"
|
||||
#~ msgstr "Неизвестная причина"
|
||||
|
||||
#~ msgid "Show the message list"
|
||||
#~ msgstr "Показать список уведомлений"
|
||||
|
361
po/sk.po
361
po/sk.po
@@ -7,10 +7,9 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-\n"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2015-03-13 16:16+0000\n"
|
||||
"PO-Revision-Date: 2015-03-13 17:44+0100\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2015-03-27 08:57+0000\n"
|
||||
"PO-Revision-Date: 2015-03-27 16:41+0100\n"
|
||||
"Last-Translator: Dušan Kazik <prescott66@gmail.com>\n"
|
||||
"Language-Team: Slovak <gnome-sk-list@gnome.org>\n"
|
||||
"Language: sk\n"
|
||||
@@ -19,7 +18,7 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||
"X-DamnedLies-Scope: partial\n"
|
||||
"X-Generator: Vé 0.1.4\n"
|
||||
"X-Generator: Poedit 1.7.4\n"
|
||||
|
||||
#: ../data/50-gnome-shell-system.xml.in.h:1
|
||||
msgid "System"
|
||||
@@ -53,8 +52,7 @@ msgstr "Otvoriť ponuku aplikácií"
|
||||
msgid "GNOME Shell"
|
||||
msgstr "Shell prostredia GNOME"
|
||||
|
||||
#: ../data/gnome-shell.desktop.in.in.h:2
|
||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
|
||||
#: ../data/gnome-shell.desktop.in.in.h:2 ../data/gnome-shell-wayland.desktop.in.in.h:2
|
||||
msgid "Window management and application launching"
|
||||
msgstr "Správa okien a spúšťanie aplikácií"
|
||||
|
||||
@@ -72,17 +70,11 @@ msgstr "Shell prostredia GNOME (kompozitor pre wayland)"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
|
||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
|
||||
msgstr ""
|
||||
"Povoliť vnútorné nástroje užitočné pre vývojárov a testerov z dialógového "
|
||||
"okna Alt-F2"
|
||||
msgstr "Povoliť vnútorné nástroje užitočné pre vývojárov a testerov z dialógového okna Alt-F2"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:2
|
||||
msgid ""
|
||||
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
|
||||
"dialog."
|
||||
msgstr ""
|
||||
"Umožňuje prístup k vnútorným ladiacim a sledovacím nástrojom pomocou "
|
||||
"dialógového okna Alt-F2."
|
||||
msgid "Allows access to internal debugging and monitoring tools using the Alt-F2 dialog."
|
||||
msgstr "Umožňuje prístup k vnútorným ladiacim a sledovacím nástrojom pomocou dialógového okna Alt-F2."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:3
|
||||
msgid "UUIDs of extensions to enable"
|
||||
@@ -90,43 +82,28 @@ msgstr "Vlastnosť UUID rozšírení určených na povolenie"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:4
|
||||
msgid ""
|
||||
"GNOME Shell extensions have a UUID property; this key lists extensions which "
|
||||
"should be loaded. Any extension that wants to be loaded needs to be in this "
|
||||
"list. You can also manipulate this list with the EnableExtension and "
|
||||
"DisableExtension D-Bus methods on org.gnome.Shell."
|
||||
"GNOME Shell extensions have a UUID property; this key lists extensions which should be loaded. Any extension that wants to be loaded needs to be in this list. You can also manipulate this list with the EnableExtension and DisableExtension D-Bus methods on "
|
||||
"org.gnome.Shell."
|
||||
msgstr ""
|
||||
"Rozšírenia pre Shell prostredia GNOME majú vlastnosť UUID; tento kľúč "
|
||||
"obsahuje zoznam rozšírení, ktoré by mali byť načítané. Každé rozšírenie, "
|
||||
"ktoré je potrebné načítať, musí byť v tomto zozname. Tento zoznam môžete "
|
||||
"upraviť aj ručne pomocou metód DBus EnableExtension a DisableExtension v org."
|
||||
"gnome.Shell."
|
||||
"Rozšírenia pre Shell prostredia GNOME majú vlastnosť UUID; tento kľúč obsahuje zoznam rozšírení, ktoré by mali byť načítané. Každé rozšírenie, ktoré je potrebné načítať, musí byť v tomto zozname. Tento zoznam môžete upraviť aj ručne pomocou metód DBus "
|
||||
"EnableExtension a DisableExtension v org.gnome.Shell."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:5
|
||||
msgid "Disables the validation of extension version compatibility"
|
||||
msgstr "Zakáže kontrolu kompatibility verzií rozšírení"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:6
|
||||
msgid ""
|
||||
"GNOME Shell will only load extensions that claim to support the current "
|
||||
"running version. Enabling this option will disable this check and try to "
|
||||
"load all extensions regardless of the versions they claim to support."
|
||||
msgid "GNOME Shell will only load extensions that claim to support the current running version. Enabling this option will disable this check and try to load all extensions regardless of the versions they claim to support."
|
||||
msgstr ""
|
||||
"Shell prostredia GNOME načíta len rozšírenia, ktoré deklarujú podporu pre "
|
||||
"práve spustenú verziu prostredia. Povolením tejto voľby zakážete túto "
|
||||
"kontrolu a umožníte načítanie všetkých rozšírení bez ohľadu na to, pre ktorú "
|
||||
"verziu prostredia deklarujú podporu."
|
||||
"Shell prostredia GNOME načíta len rozšírenia, ktoré deklarujú podporu pre práve spustenú verziu prostredia. Povolením tejto voľby zakážete túto kontrolu a umožníte načítanie všetkých rozšírení bez ohľadu na to, pre ktorú verziu prostredia deklarujú podporu."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:7
|
||||
msgid "List of desktop file IDs for favorite applications"
|
||||
msgstr "Zoznam identifikátorov súborov plochy pre obľúbené aplikácie"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:8
|
||||
msgid ""
|
||||
"The applications corresponding to these identifiers will be displayed in the "
|
||||
"favorites area."
|
||||
msgstr ""
|
||||
"Aplikácie zodpovedajúce týmto identifikátorom budú zobrazené medzi "
|
||||
"obľúbenými aplikáciami."
|
||||
msgid "The applications corresponding to these identifiers will be displayed in the favorites area."
|
||||
msgstr "Aplikácie zodpovedajúce týmto identifikátorom budú zobrazené medzi obľúbenými aplikáciami."
|
||||
|
||||
# summary
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:9
|
||||
@@ -153,32 +130,18 @@ msgstr "Vždy zobraziť položku „Odhlásiť sa“ v ponuke používateľa."
|
||||
|
||||
# description
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
|
||||
msgid ""
|
||||
"This key overrides the automatic hiding of the 'Log out' menu item in single-"
|
||||
"user, single-session situations."
|
||||
msgstr ""
|
||||
"Tento kľúč preváži automatické skrývanie položky „Odhlásiť sa“ v situáciách "
|
||||
"s jedným používateľom alebo jednou reláciou."
|
||||
msgid "This key overrides the automatic hiding of the 'Log out' menu item in single-user, single-session situations."
|
||||
msgstr "Tento kľúč preváži automatické skrývanie položky „Odhlásiť sa“ v situáciách s jedným používateľom alebo jednou reláciou."
|
||||
|
||||
# summary
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
|
||||
msgid "Whether to remember password for mounting encrypted or remote filesystems"
|
||||
msgstr ""
|
||||
"Určiť, či bude zapamätané heslo pre pripojenie zašifrovaných alebo "
|
||||
"prenosných súborových systémov"
|
||||
msgstr "Určiť, či bude zapamätané heslo pre pripojenie zašifrovaných alebo prenosných súborových systémov"
|
||||
|
||||
# description
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
|
||||
msgid ""
|
||||
"The shell will request a password when an encrypted device or a remote "
|
||||
"filesystem is mounted. If the password can be saved for future use a "
|
||||
"'Remember Password' checkbox will be present. This key sets the default "
|
||||
"state of the checkbox."
|
||||
msgstr ""
|
||||
"Shell bude po pripojení zašifrovaného alebo prenosného súborového systému "
|
||||
"požadovať heslo. Ak bude možné toto heslo uložiť pre neskoršie použitie, "
|
||||
"zobrazí sa zaškrtávacie pole „Zapamätať heslo“. Tento kľúč nastaví "
|
||||
"predvolený stav zaškrtávacieho poľa."
|
||||
msgid "The shell will request a password when an encrypted device or a remote filesystem is mounted. If the password can be saved for future use a 'Remember Password' checkbox will be present. This key sets the default state of the checkbox."
|
||||
msgstr "Shell bude po pripojení zašifrovaného alebo prenosného súborového systému požadovať heslo. Ak bude možné toto heslo uložiť pre neskoršie použitie, zobrazí sa zaškrtávacie pole „Zapamätať heslo“. Tento kľúč nastaví predvolený stav zaškrtávacieho poľa."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
|
||||
msgid "Show the week date in the calendar"
|
||||
@@ -201,11 +164,8 @@ msgid "Keybinding to open the \"Show Applications\" view"
|
||||
msgstr "Klávesová skratka na otvorenie pohľadu „Zobraziť aplikácie“"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
|
||||
msgid ""
|
||||
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
|
||||
msgstr ""
|
||||
"Klávesová skratka na otvorenie pohľadu „Zobraziť aplikácie“ v prehľade "
|
||||
"aktivít."
|
||||
msgid "Keybinding to open the \"Show Applications\" view of the Activities Overview."
|
||||
msgstr "Klávesová skratka na otvorenie pohľadu „Zobraziť aplikácie“ v prehľade aktivít."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
|
||||
msgid "Keybinding to open the overview"
|
||||
@@ -233,11 +193,8 @@ msgstr "Klávesová skratka, s ktorou sa zamerá na aktívne oznámenia."
|
||||
|
||||
# summary
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
|
||||
msgid ""
|
||||
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
|
||||
msgstr ""
|
||||
"Klávesová skratka, ktorá pozastaví a znovu spustí všetky animácie(tween), "
|
||||
"pre ladiace účely"
|
||||
msgid "Keybinding that pauses and resumes all running tweens, for debugging purposes"
|
||||
msgstr "Klávesová skratka, ktorá pozastaví a znovu spustí všetky animácie(tween), pre ladiace účely"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
|
||||
msgid "Which keyboard to use"
|
||||
@@ -254,35 +211,21 @@ msgstr "Obmedziť prepínač na aktuálny pracovný priestor."
|
||||
|
||||
# desc
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
|
||||
msgid ""
|
||||
"If true, only applications that have windows on the current workspace are "
|
||||
"shown in the switcher. Otherwise, all applications are included."
|
||||
msgstr ""
|
||||
"Ak je true, iba aplikácie, ktoré majú okná na aktuálnom pracovnom priestore "
|
||||
"budú zobrazené v prepínači. Inak budú zahrnuté všetky aplikácie."
|
||||
msgid "If true, only applications that have windows on the current workspace are shown in the switcher. Otherwise, all applications are included."
|
||||
msgstr "Ak je true, iba aplikácie, ktoré majú okná na aktuálnom pracovnom priestore budú zobrazené v prepínači. Inak budú zahrnuté všetky aplikácie."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
|
||||
msgid "The application icon mode."
|
||||
msgstr "Režim ikonizácie aplikácií."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
|
||||
msgid ""
|
||||
"Configures how the windows are shown in the switcher. Valid possibilities "
|
||||
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
|
||||
"only' (shows only the application icon) or 'both'."
|
||||
msgstr ""
|
||||
"Konfiguruje, ako sa majú zobraziť okná v prepínači. Platné možnosti sú "
|
||||
"„thumbnail-only“ (zobrazí miniatúru okna), „app-icon-only“ (zobrazí iba "
|
||||
"ikonu aplikácie) alebo „both“ (zobrazí oboje)."
|
||||
msgid "Configures how the windows are shown in the switcher. Valid possibilities are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-only' (shows only the application icon) or 'both'."
|
||||
msgstr "Konfiguruje, ako sa majú zobraziť okná v prepínači. Platné možnosti sú „thumbnail-only“ (zobrazí miniatúru okna), „app-icon-only“ (zobrazí iba ikonu aplikácie) alebo „both“ (zobrazí oboje)."
|
||||
|
||||
# desc
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
||||
msgid ""
|
||||
"If true, only windows from the current workspace are shown in the switcher. "
|
||||
"Otherwise, all windows are included."
|
||||
msgstr ""
|
||||
"Ak je true, iba okná z aktuálneho pracovného priestoru budú zobrazené v "
|
||||
"prepínači. Inak budú zahrnuté všetky okná."
|
||||
msgid "If true, only windows from the current workspace are shown in the switcher. Otherwise, all windows are included."
|
||||
msgstr "Ak je true, iba okná z aktuálneho pracovného priestoru budú zobrazené v prepínači. Inak budú zahrnuté všetky okná."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
@@ -290,9 +233,7 @@ msgstr "Pripojiť modálne dialógové okno k rodičovskému oknu"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||
msgid "This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr ""
|
||||
"Tento kľúč preváži kľúč v org.gnome.mutter po spustení Shellu prostredia "
|
||||
"GNOME."
|
||||
msgstr "Tento kľúč preváži kľúč v org.gnome.mutter po spustení Shellu prostredia GNOME."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
@@ -324,10 +265,7 @@ msgstr "Vyskytla sa chyba pri načítavaní dialógového okna nastavení pre %s
|
||||
msgid "GNOME Shell Extensions"
|
||||
msgstr "Rozšírenia pre Shell prostredia GNOME"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:145
|
||||
#: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:452
|
||||
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
|
||||
#: ../js/ui/status/network.js:916
|
||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:145 ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:452 ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 ../js/ui/status/network.js:916
|
||||
msgid "Cancel"
|
||||
msgstr "Zrušiť"
|
||||
|
||||
@@ -335,8 +273,7 @@ msgstr "Zrušiť"
|
||||
msgid "Next"
|
||||
msgstr "Ďalej"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:213 ../js/ui/shellMountOperation.js:403
|
||||
#: ../js/ui/unlockDialog.js:59
|
||||
#: ../js/gdm/authPrompt.js:213 ../js/ui/shellMountOperation.js:403 ../js/ui/unlockDialog.js:59
|
||||
msgid "Unlock"
|
||||
msgstr "Odomknúť"
|
||||
|
||||
@@ -346,26 +283,25 @@ msgid "Sign In"
|
||||
msgstr "Prihlásiť sa"
|
||||
|
||||
# button
|
||||
#: ../js/gdm/loginDialog.js:280
|
||||
#: ../js/gdm/loginDialog.js:281
|
||||
msgid "Choose Session"
|
||||
msgstr "Vybrať reláciu"
|
||||
|
||||
# https://bugzilla.gnome.org/show_bug.cgi?id=659972
|
||||
#: ../js/gdm/loginDialog.js:421
|
||||
#: ../js/gdm/loginDialog.js:431
|
||||
msgid "Not listed?"
|
||||
msgstr "Nie ste v zozname?"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:830
|
||||
#: ../js/gdm/loginDialog.js:840
|
||||
#, javascript-format
|
||||
msgid "(e.g., user or %s)"
|
||||
msgstr "(napr., používateľ alebo %s)"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:835 ../js/ui/components/networkAgent.js:271
|
||||
#: ../js/ui/components/networkAgent.js:289
|
||||
#: ../js/gdm/loginDialog.js:845 ../js/ui/components/networkAgent.js:271 ../js/ui/components/networkAgent.js:289
|
||||
msgid "Username: "
|
||||
msgstr "Používateľské meno: "
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1170
|
||||
#: ../js/gdm/loginDialog.js:1173
|
||||
msgid "Login Window"
|
||||
msgstr "Prihlasovacie okno"
|
||||
|
||||
@@ -502,8 +438,7 @@ msgstr "Program %s bol pridaný medzi obľúbené."
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "Program %s bol odstránený z obľúbených."
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:650
|
||||
#: ../js/ui/status/system.js:337
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:650 ../js/ui/status/system.js:337
|
||||
msgid "Settings"
|
||||
msgstr "Nastavenia"
|
||||
|
||||
@@ -566,53 +501,53 @@ msgctxt "grid saturday"
|
||||
msgid "S"
|
||||
msgstr "S"
|
||||
|
||||
#: ../js/ui/calendar.js:563
|
||||
#: ../js/ui/calendar.js:564
|
||||
msgid "Previous month"
|
||||
msgstr "Predchádzajúci mesiac"
|
||||
|
||||
#: ../js/ui/calendar.js:573
|
||||
#: ../js/ui/calendar.js:574
|
||||
msgid "Next month"
|
||||
msgstr "Nasledujúci mesiac"
|
||||
|
||||
#: ../js/ui/calendar.js:780
|
||||
#: ../js/ui/calendar.js:781
|
||||
msgid "Week %V"
|
||||
msgstr "%V. týždeň"
|
||||
|
||||
#. Translators: Shown in calendar event list for all day events
|
||||
#. * Keep it short, best if you can use less then 10 characters
|
||||
#. */
|
||||
#: ../js/ui/calendar.js:1182
|
||||
#: ../js/ui/calendar.js:1183
|
||||
msgctxt "event list time"
|
||||
msgid "All Day"
|
||||
msgstr "Celý deň"
|
||||
|
||||
#: ../js/ui/calendar.js:1288
|
||||
#: ../js/ui/calendar.js:1289
|
||||
msgid "Clear section"
|
||||
msgstr "Vymazať úsek"
|
||||
|
||||
#: ../js/ui/calendar.js:1515
|
||||
#: ../js/ui/calendar.js:1516
|
||||
msgid "Events"
|
||||
msgstr "Udalosti"
|
||||
|
||||
#: ../js/ui/calendar.js:1524
|
||||
#: ../js/ui/calendar.js:1525
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, %e. %B"
|
||||
|
||||
#: ../js/ui/calendar.js:1528
|
||||
#: ../js/ui/calendar.js:1529
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%A, %e. %B %Y"
|
||||
|
||||
#: ../js/ui/calendar.js:1613
|
||||
#: ../js/ui/calendar.js:1614
|
||||
msgid "Notifications"
|
||||
msgstr "Oznámenia"
|
||||
|
||||
#: ../js/ui/calendar.js:1764
|
||||
#: ../js/ui/calendar.js:1765
|
||||
msgid "No Notifications"
|
||||
msgstr "Žiadne oznámenia"
|
||||
|
||||
#: ../js/ui/calendar.js:1767
|
||||
#: ../js/ui/calendar.js:1768
|
||||
msgid "No Events"
|
||||
msgstr "Žiadne udalosti"
|
||||
|
||||
@@ -638,16 +573,11 @@ msgstr "Heslo:"
|
||||
msgid "Type again:"
|
||||
msgstr "Zadajte znovu:"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:140 ../js/ui/status/network.js:277
|
||||
#: ../js/ui/status/network.js:359 ../js/ui/status/network.js:919
|
||||
#: ../js/ui/components/networkAgent.js:140 ../js/ui/status/network.js:277 ../js/ui/status/network.js:359 ../js/ui/status/network.js:919
|
||||
msgid "Connect"
|
||||
msgstr "Pripojiť"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:233
|
||||
#: ../js/ui/components/networkAgent.js:245
|
||||
#: ../js/ui/components/networkAgent.js:273
|
||||
#: ../js/ui/components/networkAgent.js:293
|
||||
#: ../js/ui/components/networkAgent.js:303
|
||||
#: ../js/ui/components/networkAgent.js:233 ../js/ui/components/networkAgent.js:245 ../js/ui/components/networkAgent.js:273 ../js/ui/components/networkAgent.js:293 ../js/ui/components/networkAgent.js:303
|
||||
msgid "Password: "
|
||||
msgstr "Heslo: "
|
||||
|
||||
@@ -667,23 +597,16 @@ msgstr "Heslo k súkromnému kľúču: "
|
||||
msgid "Service: "
|
||||
msgstr "Služba: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:320
|
||||
#: ../js/ui/components/networkAgent.js:658
|
||||
#: ../js/ui/components/networkAgent.js:320 ../js/ui/components/networkAgent.js:658
|
||||
msgid "Authentication required by wireless network"
|
||||
msgstr "Bezdrôtová sieť vyžaduje overenie totožnosti"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:321
|
||||
#: ../js/ui/components/networkAgent.js:659
|
||||
#: ../js/ui/components/networkAgent.js:321 ../js/ui/components/networkAgent.js:659
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
"“%s”."
|
||||
msgstr ""
|
||||
"Na prístup do bezdrôtovej siete „%s“ sú vyžadované heslá alebo šifrovacie "
|
||||
"kľúče."
|
||||
msgid "Passwords or encryption keys are required to access the wireless network “%s”."
|
||||
msgstr "Na prístup do bezdrôtovej siete „%s“ sú vyžadované heslá alebo šifrovacie kľúče."
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:325
|
||||
#: ../js/ui/components/networkAgent.js:662
|
||||
#: ../js/ui/components/networkAgent.js:325 ../js/ui/components/networkAgent.js:662
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "Overenie totožnosti k drôtovej sieti 802.1X"
|
||||
|
||||
@@ -691,18 +614,15 @@ msgstr "Overenie totožnosti k drôtovej sieti 802.1X"
|
||||
msgid "Network name: "
|
||||
msgstr "Názov siete: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:332
|
||||
#: ../js/ui/components/networkAgent.js:666
|
||||
#: ../js/ui/components/networkAgent.js:332 ../js/ui/components/networkAgent.js:666
|
||||
msgid "DSL authentication"
|
||||
msgstr "Overenie totožnosti k DSL"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:339
|
||||
#: ../js/ui/components/networkAgent.js:672
|
||||
#: ../js/ui/components/networkAgent.js:339 ../js/ui/components/networkAgent.js:672
|
||||
msgid "PIN code required"
|
||||
msgstr "Požaduje sa kód PIN"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:340
|
||||
#: ../js/ui/components/networkAgent.js:673
|
||||
#: ../js/ui/components/networkAgent.js:340 ../js/ui/components/networkAgent.js:673
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "Pre zariadenie mobilnej širokopásmovej siete je potrebný kód PIN"
|
||||
|
||||
@@ -710,15 +630,11 @@ msgstr "Pre zariadenie mobilnej širokopásmovej siete je potrebný kód PIN"
|
||||
msgid "PIN: "
|
||||
msgstr "PIN: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:348
|
||||
#: ../js/ui/components/networkAgent.js:679
|
||||
#: ../js/ui/components/networkAgent.js:348 ../js/ui/components/networkAgent.js:679
|
||||
msgid "Mobile broadband network password"
|
||||
msgstr "Heslo k mobilnej širokopásmovej sieti"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:349
|
||||
#: ../js/ui/components/networkAgent.js:663
|
||||
#: ../js/ui/components/networkAgent.js:667
|
||||
#: ../js/ui/components/networkAgent.js:680
|
||||
#: ../js/ui/components/networkAgent.js:349 ../js/ui/components/networkAgent.js:663 ../js/ui/components/networkAgent.js:667 ../js/ui/components/networkAgent.js:680
|
||||
#, javascript-format
|
||||
msgid "A password is required to connect to “%s”."
|
||||
msgstr "Na pripojenie k „%s“ sa požaduje heslo."
|
||||
@@ -750,7 +666,7 @@ msgstr "Prepáčte, ale nezabralo to. Skúste to, prosím, znova."
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name. */
|
||||
#: ../js/ui/components/telepathyClient.js:775
|
||||
#: ../js/ui/components/telepathyClient.js:728
|
||||
#, javascript-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "Kontakt %s odteraz vystupuje ako %s"
|
||||
@@ -806,17 +722,17 @@ msgstr "Odhlásenie"
|
||||
#, javascript-format
|
||||
msgid "%s will be logged out automatically in %d second."
|
||||
msgid_plural "%s will be logged out automatically in %d seconds."
|
||||
msgstr[0] "Používateľ %s bude automaticky odhlásený o %d sekúnd."
|
||||
msgstr[1] "Používateľ %s bude automaticky odhlásený o %d sekundu."
|
||||
msgstr[2] "Používateľ %s bude automaticky odhlásený o %d sekundy."
|
||||
msgstr[0] "Používateľ %s bude automaticky odhlásený o %d sekundu."
|
||||
msgstr[1] "Používateľ %s bude automaticky odhlásený o %d sekundy."
|
||||
msgstr[2] "Používateľ %s bude automaticky odhlásený o %d sekúnd."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:72
|
||||
#, javascript-format
|
||||
msgid "You will be logged out automatically in %d second."
|
||||
msgid_plural "You will be logged out automatically in %d seconds."
|
||||
msgstr[0] "Budete automaticky odhlásený o %d sekúnd."
|
||||
msgstr[1] "Budete automaticky odhlásený o %d sekundu."
|
||||
msgstr[2] "Budete automaticky odhlásený o %d sekundy."
|
||||
msgstr[0] "Budete automaticky odhlásený o %d sekundu."
|
||||
msgstr[1] "Budete automaticky odhlásený o %d sekundy."
|
||||
msgstr[2] "Budete automaticky odhlásený o %d sekúnd."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:78
|
||||
msgctxt "button"
|
||||
@@ -837,9 +753,9 @@ msgstr "Inštalácia aktualizácií a vypnutie"
|
||||
#, javascript-format
|
||||
msgid "The system will power off automatically in %d second."
|
||||
msgid_plural "The system will power off automatically in %d seconds."
|
||||
msgstr[0] "Systém sa automaticky vypne o %d sekúnd."
|
||||
msgstr[1] "Systém sa automaticky vypne o %d sekundu."
|
||||
msgstr[2] "Systém sa automaticky vypne o %d sekundy."
|
||||
msgstr[0] "Systém sa automaticky vypne o %d sekundu."
|
||||
msgstr[1] "Systém sa automaticky vypne o %d sekundy."
|
||||
msgstr[2] "Systém sa automaticky vypne o %d sekúnd."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:91
|
||||
msgctxt "checkbox"
|
||||
@@ -865,9 +781,9 @@ msgstr "Reštart"
|
||||
#, javascript-format
|
||||
msgid "The system will restart automatically in %d second."
|
||||
msgid_plural "The system will restart automatically in %d seconds."
|
||||
msgstr[0] "Systém sa automaticky reštartuje o %d sekúnd."
|
||||
msgstr[1] "Systém sa automaticky reštartuje o %d sekundu."
|
||||
msgstr[2] "Systém sa automaticky reštartuje o %d sekundy."
|
||||
msgstr[0] "Systém sa automaticky reštartuje o %d sekundu."
|
||||
msgstr[1] "Systém sa automaticky reštartuje o %d sekundy."
|
||||
msgstr[2] "Systém sa automaticky reštartuje o %d sekúnd."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:119
|
||||
msgctxt "title"
|
||||
@@ -877,14 +793,10 @@ msgstr "Reštart a inštalácia aktualizácií"
|
||||
#: ../js/ui/endSessionDialog.js:121
|
||||
#, javascript-format
|
||||
msgid "The system will automatically restart and install updates in %d second."
|
||||
msgid_plural ""
|
||||
"The system will automatically restart and install updates in %d seconds."
|
||||
msgstr[0] ""
|
||||
"Systém sa automaticky reštartuje a nainštaluje aktualizácie o %d sekúnd."
|
||||
msgstr[1] ""
|
||||
"Systém sa automaticky reštartuje a nainštaluje aktualizácie o %d sekundu."
|
||||
msgstr[2] ""
|
||||
"Systém sa automaticky reštartuje a nainštaluje aktualizácie o %d sekundy."
|
||||
msgid_plural "The system will automatically restart and install updates in %d seconds."
|
||||
msgstr[0] "Systém sa automaticky reštartuje a nainštaluje aktualizácie o %d sekundu."
|
||||
msgstr[1] "Systém sa automaticky reštartuje a nainštaluje aktualizácie o %d sekundy."
|
||||
msgstr[2] "Systém sa automaticky reštartuje a nainštaluje aktualizácie o %d sekúnd."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:127
|
||||
msgctxt "button"
|
||||
@@ -903,9 +815,7 @@ msgstr "Vypnúť po inštalácii aktualizácií"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:338
|
||||
msgid "Running on battery power: please plug in before installing updates."
|
||||
msgstr ""
|
||||
"Systém je napájaný z batérie. Pred inštaláciou aktualizácií pripojte "
|
||||
"napájací zdroj."
|
||||
msgstr "Systém je napájaný z batérie. Pred inštaláciou aktualizácií pripojte napájací zdroj."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:355
|
||||
msgid "Some applications are busy or have unsaved work."
|
||||
@@ -936,17 +846,16 @@ msgstr "Inštalovať"
|
||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||
msgstr "Stiahnuť a nainštalovať „%s“ z extensions.gnome.org?"
|
||||
|
||||
#: ../js/ui/keyboard.js:706 ../js/ui/status/keyboard.js:580
|
||||
#: ../js/ui/keyboard.js:714 ../js/ui/status/keyboard.js:724
|
||||
msgid "Keyboard"
|
||||
msgstr "Klávesnica"
|
||||
|
||||
#. translators: 'Hide' is a verb */
|
||||
#: ../js/ui/legacyTray.js:59
|
||||
#| msgid "Hide Text"
|
||||
#: ../js/ui/legacyTray.js:64
|
||||
msgid "Hide tray"
|
||||
msgstr "Skryť lištu"
|
||||
|
||||
#: ../js/ui/legacyTray.js:91
|
||||
#: ../js/ui/legacyTray.js:105
|
||||
msgid "Status Icons"
|
||||
msgstr "Stavová ikona"
|
||||
|
||||
@@ -968,8 +877,7 @@ msgstr "Skryť chyby"
|
||||
msgid "Show Errors"
|
||||
msgstr "Zobraziť chyby"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:716 ../js/ui/status/location.js:71
|
||||
#: ../js/ui/status/location.js:176
|
||||
#: ../js/ui/lookingGlass.js:716 ../js/ui/status/location.js:71 ../js/ui/status/location.js:176
|
||||
msgid "Enabled"
|
||||
msgstr "Povolené"
|
||||
|
||||
@@ -977,8 +885,7 @@ msgstr "Povolené"
|
||||
#. because it's disabled by rfkill (airplane mode) */
|
||||
#. translators:
|
||||
#. * The device has been disabled
|
||||
#: ../js/ui/lookingGlass.js:719 ../js/ui/status/location.js:179
|
||||
#: ../js/ui/status/network.js:592 ../src/gvc/gvc-mixer-control.c:1830
|
||||
#: ../js/ui/lookingGlass.js:719 ../js/ui/status/location.js:179 ../js/ui/status/network.js:592 ../src/gvc/gvc-mixer-control.c:1830
|
||||
msgid "Disabled"
|
||||
msgstr "Zakázané"
|
||||
|
||||
@@ -1003,7 +910,7 @@ msgstr "Zobraziť zdroj"
|
||||
msgid "Web Page"
|
||||
msgstr "Webová stránka"
|
||||
|
||||
#: ../js/ui/messageTray.js:2133
|
||||
#: ../js/ui/messageTray.js:1507
|
||||
msgid "System Information"
|
||||
msgstr "Informácie o systéme"
|
||||
|
||||
@@ -1067,17 +974,17 @@ msgstr "%A, %e. %B"
|
||||
#, javascript-format
|
||||
msgid "%d new message"
|
||||
msgid_plural "%d new messages"
|
||||
msgstr[0] "%d nových správ"
|
||||
msgstr[1] "%d nová správa"
|
||||
msgstr[2] "%d nové správy"
|
||||
msgstr[0] "%d nová správa"
|
||||
msgstr[1] "%d nové správy"
|
||||
msgstr[2] "%d nových správ"
|
||||
|
||||
#: ../js/ui/screenShield.js:146
|
||||
#, javascript-format
|
||||
msgid "%d new notification"
|
||||
msgid_plural "%d new notifications"
|
||||
msgstr[0] "%d nových oznámení"
|
||||
msgstr[1] "%d nové oznámenie"
|
||||
msgstr[2] "%d nové oznámenia"
|
||||
msgstr[0] "%d nové oznámenie"
|
||||
msgstr[1] "%d nové oznámenia"
|
||||
msgstr[2] "%d nových oznámení"
|
||||
|
||||
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:345
|
||||
msgid "Lock"
|
||||
@@ -1178,10 +1085,7 @@ msgstr "Veľký text"
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:178
|
||||
#: ../js/ui/status/network.js:360 ../js/ui/status/network.js:1282
|
||||
#: ../js/ui/status/network.js:1393 ../js/ui/status/rfkill.js:91
|
||||
#: ../js/ui/status/rfkill.js:118
|
||||
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:178 ../js/ui/status/network.js:360 ../js/ui/status/network.js:1282 ../js/ui/status/network.js:1393 ../js/ui/status/rfkill.js:91 ../js/ui/status/rfkill.js:118
|
||||
msgid "Turn Off"
|
||||
msgstr "Vypnúť"
|
||||
|
||||
@@ -1193,9 +1097,9 @@ msgstr "Nastavenia Bluetooth"
|
||||
#, javascript-format
|
||||
msgid "%d Connected Device"
|
||||
msgid_plural "%d Connected Devices"
|
||||
msgstr[0] "%d pripojených zariadení"
|
||||
msgstr[1] "%d pripojené zariadenie"
|
||||
msgstr[2] "%d pripojené zariadenia"
|
||||
msgstr[0] "%d pripojené zariadenie"
|
||||
msgstr[1] "%d pripojené zariadenia"
|
||||
msgstr[2] "%d pripojených zariadení"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:106 ../js/ui/status/network.js:1310
|
||||
msgid "Not Connected"
|
||||
@@ -1206,7 +1110,7 @@ msgid "Brightness"
|
||||
msgstr "Jas"
|
||||
|
||||
# menu item
|
||||
#: ../js/ui/status/keyboard.js:603
|
||||
#: ../js/ui/status/keyboard.js:747
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "Zobraziť rozloženie klávesnice"
|
||||
|
||||
@@ -1236,8 +1140,7 @@ msgid "<unknown>"
|
||||
msgstr "<neznáme>"
|
||||
|
||||
# DK: pripojenie, zariadenie
|
||||
#: ../js/ui/status/network.js:457 ../js/ui/status/network.js:1308
|
||||
#: ../js/ui/status/network.js:1512
|
||||
#: ../js/ui/status/network.js:457 ../js/ui/status/network.js:1308 ../js/ui/status/network.js:1512
|
||||
msgid "Off"
|
||||
msgstr "Vypnuté"
|
||||
|
||||
@@ -1496,9 +1399,9 @@ msgstr "Uchovať zmeny"
|
||||
#, javascript-format
|
||||
msgid "Settings changes will revert in %d second"
|
||||
msgid_plural "Settings changes will revert in %d seconds"
|
||||
msgstr[0] "Zmeny nastavení budú vrátené za %d sekúnd"
|
||||
msgstr[1] "Zmeny nastavení budú vrátené za %d sekundu"
|
||||
msgstr[2] "Zmeny nastavení budú vrátené za %d sekundy"
|
||||
msgstr[0] "Zmeny nastavení budú vrátené za %d sekundu"
|
||||
msgstr[1] "Zmeny nastavení budú vrátené za %d sekundy"
|
||||
msgstr[2] "Zmeny nastavení budú vrátené za %d sekúnd"
|
||||
|
||||
#. Translators: This represents the size of a window. The first number is
|
||||
#. * the width of the window and the second is the height. */
|
||||
@@ -1557,9 +1460,9 @@ msgstr "Kalendár Evolution"
|
||||
#, c-format
|
||||
msgid "%u Output"
|
||||
msgid_plural "%u Outputs"
|
||||
msgstr[0] "%u výstupov"
|
||||
msgstr[1] "%u výstup"
|
||||
msgstr[2] "%u výstupy"
|
||||
msgstr[0] "%u výstup"
|
||||
msgstr[1] "%u výstupy"
|
||||
msgstr[2] "%u výstupov"
|
||||
|
||||
#. translators:
|
||||
#. * The number of sound inputs on a particular device
|
||||
@@ -1567,9 +1470,9 @@ msgstr[2] "%u výstupy"
|
||||
#, c-format
|
||||
msgid "%u Input"
|
||||
msgid_plural "%u Inputs"
|
||||
msgstr[0] "%u vstupov"
|
||||
msgstr[1] "%u vstup"
|
||||
msgstr[2] "%u vstupy"
|
||||
msgstr[0] "%u vstup"
|
||||
msgstr[1] "%u vstupy"
|
||||
msgstr[2] "%u vstupov"
|
||||
|
||||
#: ../src/gvc/gvc-mixer-control.c:2373
|
||||
msgid "System Sounds"
|
||||
@@ -1591,12 +1494,12 @@ msgstr "Použitie zvláštneho režimu, napr. „gdm“ pre prihlasovaciu obraz
|
||||
msgid "List possible modes"
|
||||
msgstr "Zoznam možných režimov"
|
||||
|
||||
#: ../src/shell-app.c:247
|
||||
#: ../src/shell-app.c:239
|
||||
msgctxt "program"
|
||||
msgid "Unknown"
|
||||
msgstr "Neznámy"
|
||||
|
||||
#: ../src/shell-app.c:488
|
||||
#: ../src/shell-app.c:480
|
||||
#, c-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Zlyhalo spustenie „%s“"
|
||||
@@ -1712,8 +1615,7 @@ msgstr "Dialógové okno overenia totožnosti bolo zatvorené používateľom"
|
||||
#~ msgid "This account is already connected to the server"
|
||||
#~ msgstr "Tento účet je už pripojený k serveru"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Connection has been replaced by a new connection using the same resource"
|
||||
#~ msgid "Connection has been replaced by a new connection using the same resource"
|
||||
#~ msgstr "Pripojenie bolo nahradené novým, ktoré používa rovnaký zdroj"
|
||||
|
||||
#~ msgid "The account already exists on the server"
|
||||
@@ -1725,18 +1627,11 @@ msgstr "Dialógové okno overenia totožnosti bolo zatvorené používateľom"
|
||||
#~ msgid "Certificate has been revoked"
|
||||
#~ msgstr "Certifikát bol zrušený"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Certificate uses an insecure cipher algorithm or is cryptographically weak"
|
||||
#~ msgstr ""
|
||||
#~ "Šifrovací algoritmus používaný certifikátom nie je bezpečný alebo je "
|
||||
#~ "kryptograficky slabý"
|
||||
#~ msgid "Certificate uses an insecure cipher algorithm or is cryptographically weak"
|
||||
#~ msgstr "Šifrovací algoritmus používaný certifikátom nie je bezpečný alebo je kryptograficky slabý"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The length of the server certificate, or the depth of the server "
|
||||
#~ "certificate chain, exceed the limits imposed by the cryptography library"
|
||||
#~ msgstr ""
|
||||
#~ "Dĺžka certifikátu servera, alebo hĺbka reťazca certifikátu servera "
|
||||
#~ "presahuje limit stanovený kryptografickou knižnicou."
|
||||
#~ msgid "The length of the server certificate, or the depth of the server certificate chain, exceed the limits imposed by the cryptography library"
|
||||
#~ msgstr "Dĺžka certifikátu servera, alebo hĺbka reťazca certifikátu servera presahuje limit stanovený kryptografickou knižnicou."
|
||||
|
||||
#~ msgid "Internal error"
|
||||
#~ msgstr "Vnútorná chyba"
|
||||
@@ -1846,31 +1741,17 @@ msgstr "Dialógové okno overenia totožnosti bolo zatvorené používateľom"
|
||||
#~ msgstr "Maximálna úroveň presnosti určenia polohy."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Configures the maximum level of location accuracy applications are "
|
||||
#~ "allowed to see. Valid options are 'off' (disable location tracking), "
|
||||
#~ "'country', 'city', 'neighborhood', 'street', and 'exact' (typically "
|
||||
#~ "requires GPS receiver). Please keep in mind that this only controls what "
|
||||
#~ "GeoClue will allow applications to see and they can find user's location "
|
||||
#~ "on their own using network resources (albeit with street-level accuracy "
|
||||
#~ "at best)."
|
||||
#~ "Configures the maximum level of location accuracy applications are allowed to see. Valid options are 'off' (disable location tracking), 'country', 'city', 'neighborhood', 'street', and 'exact' (typically requires GPS receiver). Please keep in mind that "
|
||||
#~ "this only controls what GeoClue will allow applications to see and they can find user's location on their own using network resources (albeit with street-level accuracy at best)."
|
||||
#~ msgstr ""
|
||||
#~ "Konfiguruje maximálnu úroveň presnosti určenia polohy, ktorú aplikácie "
|
||||
#~ "môžu získať. Povolené sú voľby 'off' (zakáže sledovanie polohy), "
|
||||
#~ "'country' (krajina), 'city' (mesto), 'neighborhood' (okolie), "
|
||||
#~ "'street' (ulica), 'exact' (presne, pri čom je štandardne požadované "
|
||||
#~ "použitie prijímača GPS). Uvedomte si, že toto nastavenie ovplyvňuje "
|
||||
#~ "povolenia GeoClue a aplikácie môžu tiež získať údaje o polohe použitím "
|
||||
#~ "sieťových prostriedkov (aj keď prinajlepšom s presnosťou na ulicu)."
|
||||
#~ "Konfiguruje maximálnu úroveň presnosti určenia polohy, ktorú aplikácie môžu získať. Povolené sú voľby 'off' (zakáže sledovanie polohy), 'country' (krajina), 'city' (mesto), 'neighborhood' (okolie), 'street' (ulica), 'exact' (presne, pri čom je "
|
||||
#~ "štandardne požadované použitie prijímača GPS). Uvedomte si, že toto nastavenie ovplyvňuje povolenia GeoClue a aplikácie môžu tiež získať údaje o polohe použitím sieťových prostriedkov (aj keď prinajlepšom s presnosťou na ulicu)."
|
||||
|
||||
#~ msgid "Arrangement of buttons on the titlebar"
|
||||
#~ msgstr "Usporiadanie tlačidiel na titulku okna"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when "
|
||||
#~ "running GNOME Shell."
|
||||
#~ msgstr ""
|
||||
#~ "Tento kľúč preváži kľúč v org.gnome.desktop.wm.preferences po spustení "
|
||||
#~ "Shellu prostredia GNOME."
|
||||
#~ msgid "This key overrides the key in org.gnome.desktop.wm.preferences when running GNOME Shell."
|
||||
#~ msgstr "Tento kľúč preváži kľúč v org.gnome.desktop.wm.preferences po spustení Shellu prostredia GNOME."
|
||||
|
||||
#~ msgid "Extension"
|
||||
#~ msgstr "Rozšírenie"
|
||||
|
363
po/zh_CN.po
363
po/zh_CN.po
@@ -21,8 +21,8 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2015-03-03 22:33+0000\n"
|
||||
"PO-Revision-Date: 2015-03-04 17:55+0800\n"
|
||||
"POT-Creation-Date: 2015-04-25 08:00+0000\n"
|
||||
"PO-Revision-Date: 2015-04-17 19:36+0800\n"
|
||||
"Last-Translator: Aron Xu <happyaron.xu@gmail.com>\n"
|
||||
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
|
||||
"Language: zh_CN\n"
|
||||
@@ -30,6 +30,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Poedit 1.7.5\n"
|
||||
|
||||
#: ../data/50-gnome-shell-system.xml.in.h:1
|
||||
msgid "System"
|
||||
@@ -287,55 +288,55 @@ msgstr "将鼠标模式下焦点的更改推迟到指针停止移动之后"
|
||||
msgid "Network Login"
|
||||
msgstr "网络登录"
|
||||
|
||||
#: ../js/extensionPrefs/main.js:123
|
||||
#: ../js/extensionPrefs/main.js:122
|
||||
#, javascript-format
|
||||
msgid "There was an error loading the preferences dialog for %s:"
|
||||
msgstr "载入 %s 的首选想对话框出错:"
|
||||
|
||||
#: ../js/extensionPrefs/main.js:155
|
||||
#: ../js/extensionPrefs/main.js:154
|
||||
msgid "GNOME Shell Extensions"
|
||||
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/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
|
||||
#: ../js/ui/status/network.js:916
|
||||
msgid "Cancel"
|
||||
msgstr "取消"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:217
|
||||
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215
|
||||
msgid "Next"
|
||||
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
|
||||
msgid "Unlock"
|
||||
msgstr "解锁"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:215
|
||||
#: ../js/gdm/authPrompt.js:213
|
||||
msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "登录"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:276
|
||||
#: ../js/gdm/loginDialog.js:281
|
||||
msgid "Choose Session"
|
||||
msgstr "选择会话"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:417
|
||||
#: ../js/gdm/loginDialog.js:431
|
||||
msgid "Not listed?"
|
||||
msgstr "未列出?"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:826
|
||||
#: ../js/gdm/loginDialog.js:840
|
||||
#, javascript-format
|
||||
msgid "(e.g., user or %s)"
|
||||
msgstr "(如 user 或 %s)"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:831 ../js/ui/components/networkAgent.js:269
|
||||
#: ../js/ui/components/networkAgent.js:287
|
||||
#: ../js/gdm/loginDialog.js:845 ../js/ui/components/networkAgent.js:271
|
||||
#: ../js/ui/components/networkAgent.js:289
|
||||
msgid "Username: "
|
||||
msgstr "用户名:"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1166
|
||||
#: ../js/gdm/loginDialog.js:1173
|
||||
msgid "Login Window"
|
||||
msgstr "登录窗口"
|
||||
|
||||
@@ -347,50 +348,112 @@ msgstr "认证出错"
|
||||
msgid "(or swipe finger)"
|
||||
msgstr "(或滑动手指)"
|
||||
|
||||
#: ../js/misc/util.js:115
|
||||
#: ../js/misc/util.js:119
|
||||
msgid "Command not found"
|
||||
msgstr "命令未找到"
|
||||
|
||||
#: ../js/misc/util.js:148
|
||||
#: ../js/misc/util.js:152
|
||||
msgid "Could not parse command:"
|
||||
msgstr "不能解析命令:"
|
||||
|
||||
#: ../js/misc/util.js:156
|
||||
#: ../js/misc/util.js:160
|
||||
#, javascript-format
|
||||
msgid "Execution of “%s” failed:"
|
||||
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
|
||||
#. * window, until we know the title of the actual login page */
|
||||
#: ../js/portalHelper/main.js:85
|
||||
msgid "Web Authentication Redirect"
|
||||
msgstr "网页认证重定向"
|
||||
|
||||
#: ../js/ui/appDisplay.js:785
|
||||
#: ../js/ui/appDisplay.js:788
|
||||
msgid "Frequently used applications will appear here"
|
||||
msgstr "常用的应用程序会出现在这里"
|
||||
|
||||
#: ../js/ui/appDisplay.js:905
|
||||
#: ../js/ui/appDisplay.js:908
|
||||
msgid "Frequent"
|
||||
msgstr "常用"
|
||||
|
||||
#: ../js/ui/appDisplay.js:912
|
||||
#: ../js/ui/appDisplay.js:915
|
||||
msgid "All"
|
||||
msgstr "全部"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1840
|
||||
#: ../js/ui/appDisplay.js:1844
|
||||
msgid "New Window"
|
||||
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"
|
||||
msgstr "从收藏夹中移除"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1874
|
||||
#: ../js/ui/appDisplay.js:1878
|
||||
msgid "Add to Favorites"
|
||||
msgstr "添加到收藏夹"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1884
|
||||
#: ../js/ui/appDisplay.js:1888
|
||||
msgid "Show Details"
|
||||
msgstr "显示细节"
|
||||
|
||||
@@ -404,8 +467,8 @@ msgstr "%s 已经添加到了您的收藏夹。"
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "%s 已经从您的收藏夹移除。"
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:649
|
||||
#: ../js/ui/status/system.js:337
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:650
|
||||
#: ../js/ui/status/system.js:334
|
||||
msgid "Settings"
|
||||
msgstr "设置"
|
||||
|
||||
@@ -414,119 +477,104 @@ msgid "Change Background…"
|
||||
msgstr "更换壁纸..."
|
||||
|
||||
#. 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"
|
||||
msgid "06"
|
||||
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.
|
||||
#. *
|
||||
#. * NOTE: These grid abbreviations are always shown together
|
||||
#. * 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"
|
||||
msgid "S"
|
||||
msgstr "日"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Monday */
|
||||
#: ../js/ui/calendar.js:113
|
||||
#: ../js/ui/calendar.js:84
|
||||
msgctxt "grid monday"
|
||||
msgid "M"
|
||||
msgstr "一"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Tuesday */
|
||||
#: ../js/ui/calendar.js:115
|
||||
#: ../js/ui/calendar.js:86
|
||||
msgctxt "grid tuesday"
|
||||
msgid "T"
|
||||
msgstr "二"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Wednesday */
|
||||
#: ../js/ui/calendar.js:117
|
||||
#: ../js/ui/calendar.js:88
|
||||
msgctxt "grid wednesday"
|
||||
msgid "W"
|
||||
msgstr "三"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Thursday */
|
||||
#: ../js/ui/calendar.js:119
|
||||
#: ../js/ui/calendar.js:90
|
||||
msgctxt "grid thursday"
|
||||
msgid "T"
|
||||
msgstr "四"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Friday */
|
||||
#: ../js/ui/calendar.js:121
|
||||
#: ../js/ui/calendar.js:92
|
||||
msgctxt "grid friday"
|
||||
msgid "F"
|
||||
msgstr "五"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Saturday */
|
||||
#: ../js/ui/calendar.js:123
|
||||
#: ../js/ui/calendar.js:94
|
||||
msgctxt "grid saturday"
|
||||
msgid "S"
|
||||
msgstr "六"
|
||||
|
||||
#: ../js/ui/calendar.js:590
|
||||
#: ../js/ui/calendar.js:564
|
||||
msgid "Previous month"
|
||||
msgstr "上个月"
|
||||
|
||||
#: ../js/ui/calendar.js:600
|
||||
#: ../js/ui/calendar.js:574
|
||||
msgid "Next month"
|
||||
msgstr "下个月"
|
||||
|
||||
#: ../js/ui/calendar.js:807
|
||||
#: ../js/ui/calendar.js:781
|
||||
msgid "Week %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"
|
||||
msgstr "清除选中项目"
|
||||
|
||||
#: ../js/ui/calendar.js:1455
|
||||
#: ../js/ui/calendar.js:1516
|
||||
msgid "Events"
|
||||
msgstr "事件"
|
||||
|
||||
#: ../js/ui/calendar.js:1463
|
||||
#: ../js/ui/calendar.js:1525
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%m月%d日 %A"
|
||||
|
||||
#: ../js/ui/calendar.js:1467
|
||||
#: ../js/ui/calendar.js:1529
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%Y年%m月%d日 %A"
|
||||
|
||||
#: ../js/ui/calendar.js:1560
|
||||
#: ../js/ui/calendar.js:1614
|
||||
msgid "Notifications"
|
||||
msgstr "提示"
|
||||
|
||||
#: ../js/ui/calendar.js:1700
|
||||
#: ../js/ui/calendar.js:1765
|
||||
msgid "No Notifications"
|
||||
msgstr "无提示"
|
||||
|
||||
#: ../js/ui/calendar.js:1703
|
||||
#: ../js/ui/calendar.js:1768
|
||||
msgid "No Events"
|
||||
msgstr "无事件"
|
||||
|
||||
@@ -551,79 +599,93 @@ msgstr "密码:"
|
||||
msgid "Type again:"
|
||||
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
|
||||
msgid "Connect"
|
||||
msgstr "连接"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:231
|
||||
#: ../js/ui/components/networkAgent.js:243
|
||||
#: ../js/ui/components/networkAgent.js:271
|
||||
#: ../js/ui/components/networkAgent.js:291
|
||||
#: ../js/ui/components/networkAgent.js:301
|
||||
#: ../js/ui/components/networkAgent.js:233
|
||||
#: ../js/ui/components/networkAgent.js:245
|
||||
#: ../js/ui/components/networkAgent.js:273
|
||||
#: ../js/ui/components/networkAgent.js:293
|
||||
#: ../js/ui/components/networkAgent.js:303
|
||||
msgid "Password: "
|
||||
msgstr "密码:"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:236
|
||||
#: ../js/ui/components/networkAgent.js:238
|
||||
msgid "Key: "
|
||||
msgstr "密钥:"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:275
|
||||
#: ../js/ui/components/networkAgent.js:277
|
||||
msgid "Identity: "
|
||||
msgstr "身份:"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:277
|
||||
#: ../js/ui/components/networkAgent.js:279
|
||||
msgid "Private key password: "
|
||||
msgstr "私人密钥密码:"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:289
|
||||
#: ../js/ui/components/networkAgent.js:291
|
||||
msgid "Service: "
|
||||
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"
|
||||
msgstr "无线网络要求身份认证"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:319
|
||||
#: ../js/ui/components/networkAgent.js:321
|
||||
#: ../js/ui/components/networkAgent.js:659
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
"“%s”."
|
||||
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"
|
||||
msgstr "有线 802.1X 认证"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:325
|
||||
#: ../js/ui/components/networkAgent.js:327
|
||||
msgid "Network name: "
|
||||
msgstr "网络名称:"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:330
|
||||
#: ../js/ui/components/networkAgent.js:332
|
||||
#: ../js/ui/components/networkAgent.js:666
|
||||
msgid "DSL authentication"
|
||||
msgstr "DSL 认证"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:337
|
||||
#: ../js/ui/components/networkAgent.js:339
|
||||
#: ../js/ui/components/networkAgent.js:672
|
||||
msgid "PIN code required"
|
||||
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"
|
||||
msgstr "移动宽带设备需要 PIN 码"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:339
|
||||
#: ../js/ui/components/networkAgent.js:341
|
||||
msgid "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"
|
||||
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
|
||||
msgid "A password is required to connect to “%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
|
||||
msgid "Authentication Required"
|
||||
msgstr "需要认证"
|
||||
@@ -644,71 +706,9 @@ msgstr "认证"
|
||||
msgid "Sorry, that didn't work. Please try again."
|
||||
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
|
||||
#. IM name. */
|
||||
#: ../js/ui/components/telepathyClient.js:856
|
||||
#: ../js/ui/components/telepathyClient.js:757
|
||||
#, javascript-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "%s 现在叫做 %s"
|
||||
@@ -721,7 +721,7 @@ msgstr "窗口"
|
||||
msgid "Show Applications"
|
||||
msgstr "显示应用程序"
|
||||
|
||||
#: ../js/ui/dash.js:451
|
||||
#: ../js/ui/dash.js:449
|
||||
msgid "Dash"
|
||||
msgstr "Dash"
|
||||
|
||||
@@ -878,10 +878,19 @@ msgstr "安装"
|
||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||
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"
|
||||
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
|
||||
msgid "No extensions installed"
|
||||
msgstr "未安装扩展"
|
||||
@@ -934,7 +943,7 @@ msgstr "查看源"
|
||||
msgid "Web Page"
|
||||
msgstr "网页"
|
||||
|
||||
#: ../js/ui/messageTray.js:2131
|
||||
#: ../js/ui/messageTray.js:1504
|
||||
msgid "System Information"
|
||||
msgstr "系统信息"
|
||||
|
||||
@@ -954,21 +963,21 @@ msgstr "概览"
|
||||
msgid "Type to search…"
|
||||
msgstr "输入以搜索..."
|
||||
|
||||
#: ../js/ui/panel.js:351
|
||||
#: ../js/ui/panel.js:352
|
||||
msgid "Quit"
|
||||
msgstr "退出"
|
||||
|
||||
#. Translators: If there is no suitable word for "Activities"
|
||||
#. in your language, you can use the word for "Overview". */
|
||||
#: ../js/ui/panel.js:403
|
||||
#: ../js/ui/panel.js:404
|
||||
msgid "Activities"
|
||||
msgstr "活动"
|
||||
|
||||
#: ../js/ui/panel.js:754
|
||||
#: ../js/ui/panel.js:755
|
||||
msgid "Top Bar"
|
||||
msgstr "顶栏"
|
||||
|
||||
#: ../js/ui/popupMenu.js:288
|
||||
#: ../js/ui/popupMenu.js:289
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-us"
|
||||
|
||||
@@ -1002,7 +1011,7 @@ msgid "%d new notification"
|
||||
msgid_plural "%d new notifications"
|
||||
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"
|
||||
msgstr "锁定"
|
||||
|
||||
@@ -1018,11 +1027,11 @@ msgstr "无法锁定"
|
||||
msgid "Lock was blocked by an application"
|
||||
msgstr "一个应用程序阻止了锁定"
|
||||
|
||||
#: ../js/ui/search.js:609
|
||||
#: ../js/ui/search.js:617
|
||||
msgid "Searching…"
|
||||
msgstr "正在搜索..."
|
||||
|
||||
#: ../js/ui/search.js:611
|
||||
#: ../js/ui/search.js:619
|
||||
msgid "No results."
|
||||
msgstr "无结果。"
|
||||
|
||||
@@ -1086,11 +1095,11 @@ msgstr "筛选键"
|
||||
msgid "Mouse Keys"
|
||||
msgstr "鼠标按键"
|
||||
|
||||
#: ../js/ui/status/accessibility.js:144
|
||||
#: ../js/ui/status/accessibility.js:167
|
||||
msgid "High Contrast"
|
||||
msgstr "高对比度"
|
||||
|
||||
#: ../js/ui/status/accessibility.js:193
|
||||
#: ../js/ui/status/accessibility.js:202
|
||||
msgid "Large Text"
|
||||
msgstr "大号文本"
|
||||
|
||||
@@ -1123,7 +1132,7 @@ msgstr "无连接"
|
||||
msgid "Brightness"
|
||||
msgstr "亮度"
|
||||
|
||||
#: ../js/ui/status/keyboard.js:599
|
||||
#: ../js/ui/status/keyboard.js:736
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "显示键盘布局"
|
||||
|
||||
@@ -1292,10 +1301,6 @@ msgstr "VPN 设置"
|
||||
msgid "VPN"
|
||||
msgstr "VPN"
|
||||
|
||||
#: ../js/ui/status/network.js:1657
|
||||
msgid "Network Manager"
|
||||
msgstr "网络管理器"
|
||||
|
||||
#: ../js/ui/status/network.js:1697
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "启用网络连接失败"
|
||||
@@ -1338,23 +1343,23 @@ msgstr "乘机模式"
|
||||
msgid "On"
|
||||
msgstr "开"
|
||||
|
||||
#: ../js/ui/status/system.js:317
|
||||
#: ../js/ui/status/system.js:314
|
||||
msgid "Switch User"
|
||||
msgstr "切换用户"
|
||||
|
||||
#: ../js/ui/status/system.js:322
|
||||
#: ../js/ui/status/system.js:319
|
||||
msgid "Log Out"
|
||||
msgstr "注销"
|
||||
|
||||
#: ../js/ui/status/system.js:341
|
||||
#: ../js/ui/status/system.js:338
|
||||
msgid "Orientation Lock"
|
||||
msgstr "方向锁定"
|
||||
|
||||
#: ../js/ui/status/system.js:349
|
||||
#: ../js/ui/status/system.js:346
|
||||
msgid "Suspend"
|
||||
msgstr "挂起"
|
||||
|
||||
#: ../js/ui/status/system.js:352
|
||||
#: ../js/ui/status/system.js:349
|
||||
msgid "Power Off"
|
||||
msgstr "关机"
|
||||
|
||||
@@ -1414,7 +1419,7 @@ msgstr[0] "设置更改将在 %d 后还原"
|
||||
|
||||
#. Translators: This represents the size of a window. The first number is
|
||||
#. * the width of the window and the second is the height. */
|
||||
#: ../js/ui/windowManager.js:599
|
||||
#: ../js/ui/windowManager.js:613
|
||||
#, javascript-format
|
||||
msgid "%d x %d"
|
||||
msgstr "%d x %d"
|
||||
@@ -1499,12 +1504,12 @@ msgstr "使用指定模式,如 “gdm”用于登录屏幕的模式"
|
||||
msgid "List possible modes"
|
||||
msgstr "列出可用的模式"
|
||||
|
||||
#: ../src/shell-app.c:247
|
||||
#: ../src/shell-app.c:239
|
||||
msgctxt "program"
|
||||
msgid "Unknown"
|
||||
msgstr "未知"
|
||||
|
||||
#: ../src/shell-app.c:488
|
||||
#: ../src/shell-app.c:480
|
||||
#, c-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "启动“%s”失败"
|
||||
@@ -1520,3 +1525,11 @@ msgstr "密码不能为空"
|
||||
#: ../src/shell-polkit-authentication-agent.c:346
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "认证对话框被用户驳回"
|
||||
|
||||
#~ msgctxt "event list time"
|
||||
#~ msgid "%H∶%M"
|
||||
#~ msgstr "%H∶%M"
|
||||
|
||||
#~ msgctxt "event list time"
|
||||
#~ msgid "%l∶%M %p"
|
||||
#~ msgstr "%p %-l:%M"
|
||||
|
@@ -24,6 +24,8 @@
|
||||
#include "gtkactionobservable.h"
|
||||
#include "gtkactionobserver.h"
|
||||
|
||||
#include <clutter/clutter.h>
|
||||
|
||||
#include <string.h>
|
||||
|
||||
/**
|
||||
@@ -396,6 +398,26 @@ gtk_action_muxer_query_action (GActionGroup *action_group,
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static GVariant *
|
||||
get_platform_data (void)
|
||||
{
|
||||
gchar time[32];
|
||||
GVariantBuilder *builder;
|
||||
GVariant *result;
|
||||
|
||||
g_snprintf (time, 32, "_TIME%d", clutter_get_current_event_time ());
|
||||
|
||||
builder = g_variant_builder_new (G_VARIANT_TYPE ("a{sv}"));
|
||||
|
||||
g_variant_builder_add (builder, "{sv}", "desktop-startup-id",
|
||||
g_variant_new_string (time));
|
||||
|
||||
result = g_variant_builder_end (builder);
|
||||
g_variant_builder_unref (builder);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_action_muxer_activate_action (GActionGroup *action_group,
|
||||
const gchar *action_name,
|
||||
@@ -408,7 +430,14 @@ gtk_action_muxer_activate_action (GActionGroup *action_group,
|
||||
group = gtk_action_muxer_find_group (muxer, action_name, &unprefixed_name);
|
||||
|
||||
if (group)
|
||||
g_action_group_activate_action (group->group, unprefixed_name, parameter);
|
||||
{
|
||||
if (G_IS_REMOTE_ACTION_GROUP (group->group))
|
||||
g_remote_action_group_activate_action_full (G_REMOTE_ACTION_GROUP (group->group),
|
||||
unprefixed_name, parameter,
|
||||
get_platform_data ());
|
||||
else
|
||||
g_action_group_activate_action (group->group, unprefixed_name, parameter);
|
||||
}
|
||||
else if (muxer->parent)
|
||||
g_action_group_activate_action (G_ACTION_GROUP (muxer->parent), action_name, parameter);
|
||||
}
|
||||
@@ -425,7 +454,15 @@ gtk_action_muxer_change_action_state (GActionGroup *action_group,
|
||||
group = gtk_action_muxer_find_group (muxer, action_name, &unprefixed_name);
|
||||
|
||||
if (group)
|
||||
g_action_group_change_action_state (group->group, unprefixed_name, state);
|
||||
{
|
||||
if (G_IS_REMOTE_ACTION_GROUP (group->group))
|
||||
g_remote_action_group_change_action_state_full (G_REMOTE_ACTION_GROUP (group->group),
|
||||
unprefixed_name,
|
||||
state,
|
||||
get_platform_data ());
|
||||
else
|
||||
g_action_group_change_action_state (group->group, unprefixed_name, state);
|
||||
}
|
||||
else if (muxer->parent)
|
||||
g_action_group_change_action_state (G_ACTION_GROUP (muxer->parent), action_name, state);
|
||||
}
|
||||
|
@@ -181,7 +181,6 @@ shell_prefs_init (void)
|
||||
|
||||
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++)
|
||||
meta_prefs_override_preference_schema (*k, schema_id);
|
||||
|
||||
|
@@ -83,12 +83,18 @@ scan_startup_wm_class_to_id (ShellAppSystem *self)
|
||||
for (l = apps; l != NULL; l = l->next)
|
||||
{
|
||||
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);
|
||||
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_strdup (startup_wm_class), g_strdup (id));
|
||||
}
|
||||
@@ -377,3 +383,28 @@ shell_app_system_get_running (ShellAppSystem *self)
|
||||
|
||||
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;
|
||||
}
|
||||
|
@@ -48,5 +48,6 @@ ShellApp *shell_app_system_lookup_desktop_wmclass (ShellAppSystem *s
|
||||
const char *wmclass);
|
||||
|
||||
GSList *shell_app_system_get_running (ShellAppSystem *self);
|
||||
char ***shell_app_system_search (const char *search_string);
|
||||
|
||||
#endif /* __SHELL_APP_SYSTEM_H__ */
|
||||
|
@@ -39,7 +39,7 @@
|
||||
#include <malloc.h>
|
||||
#endif
|
||||
|
||||
#ifdef __OpenBSD__
|
||||
#if defined __OpenBSD__ || defined __FreeBSD__
|
||||
#include <sys/sysctl.h>
|
||||
#endif
|
||||
|
||||
@@ -1278,6 +1278,30 @@ shell_global_reexec_self (ShellGlobal *global)
|
||||
g_ptr_array_add (arr, *args_p);
|
||||
}
|
||||
|
||||
g_ptr_array_add (arr, NULL);
|
||||
#elif defined __FreeBSD__
|
||||
char *buf;
|
||||
char *buf_p;
|
||||
char *buf_end;
|
||||
gint mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_ARGS, getpid() };
|
||||
|
||||
if (sysctl (mib, G_N_ELEMENTS (mib), NULL, &len, NULL, 0) == -1)
|
||||
return;
|
||||
|
||||
buf = g_malloc0 (len);
|
||||
|
||||
if (sysctl (mib, G_N_ELEMENTS (mib), buf, &len, NULL, 0) == -1) {
|
||||
g_warning ("failed to get command line args: %d", errno);
|
||||
g_free (buf);
|
||||
return;
|
||||
}
|
||||
|
||||
buf_end = buf+len;
|
||||
arr = g_ptr_array_new ();
|
||||
/* The value returned by sysctl is NUL-separated */
|
||||
for (buf_p = buf; buf_p < buf_end; buf_p = buf_p + strlen (buf_p) + 1)
|
||||
g_ptr_array_add (arr, buf_p);
|
||||
|
||||
g_ptr_array_add (arr, NULL);
|
||||
#else
|
||||
return;
|
||||
@@ -1297,7 +1321,7 @@ shell_global_reexec_self (ShellGlobal *global)
|
||||
execvp (arr->pdata[0], (char**)arr->pdata);
|
||||
g_warning ("failed to reexec: %s", g_strerror (errno));
|
||||
g_ptr_array_free (arr, TRUE);
|
||||
#if defined __linux__
|
||||
#if defined __linux__ || defined __FreeBSD__
|
||||
g_free (buf);
|
||||
#elif defined __OpenBSD__
|
||||
g_free (args);
|
||||
@@ -1440,7 +1464,7 @@ shell_global_sync_pointer (ShellGlobal *global)
|
||||
|
||||
event.type = CLUTTER_MOTION;
|
||||
event.time = shell_global_get_current_time (global);
|
||||
event.flags = 0;
|
||||
event.flags = CLUTTER_EVENT_FLAG_SYNTHETIC;
|
||||
event.stage = global->stage;
|
||||
event.x = x;
|
||||
event.y = y;
|
||||
|
@@ -5,6 +5,9 @@
|
||||
#include <sys/types.h>
|
||||
#include <sys/wait.h>
|
||||
|
||||
#include <GL/gl.h>
|
||||
#include <cogl/cogl.h>
|
||||
|
||||
#include "shell-util.h"
|
||||
#include <glib/gi18n-lib.h>
|
||||
#include <gtk/gtk.h>
|
||||
@@ -358,3 +361,45 @@ shell_util_cursor_tracker_to_clutter (MetaCursorTracker *tracker,
|
||||
clutter_actor_hide (CLUTTER_ACTOR (texture));
|
||||
}
|
||||
}
|
||||
|
||||
typedef const gchar *(*ShellGLGetString) (GLenum);
|
||||
|
||||
static const gchar *
|
||||
get_gl_vendor (void)
|
||||
{
|
||||
static const gchar *vendor = NULL;
|
||||
|
||||
if (!vendor)
|
||||
{
|
||||
ShellGLGetString gl_get_string;
|
||||
gl_get_string = (ShellGLGetString) cogl_get_proc_address ("glGetString");
|
||||
if (gl_get_string)
|
||||
vendor = gl_get_string (GL_VENDOR);
|
||||
}
|
||||
|
||||
return vendor;
|
||||
}
|
||||
|
||||
gboolean
|
||||
shell_util_need_background_refresh (void)
|
||||
{
|
||||
if (!clutter_check_windowing_backend (CLUTTER_WINDOWING_X11))
|
||||
return FALSE;
|
||||
|
||||
if (g_strcmp0 (get_gl_vendor (), "NVIDIA Corporation") == 0)
|
||||
return TRUE;
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void
|
||||
shell_util_text_insert_keyval (ClutterActor *actor,
|
||||
guint keyval)
|
||||
{
|
||||
ClutterEvent event = { 0 };
|
||||
|
||||
event.type = CLUTTER_KEY_PRESS;
|
||||
event.key.keyval = keyval;
|
||||
|
||||
clutter_actor_event (actor, &event, FALSE);
|
||||
}
|
||||
|
@@ -45,6 +45,11 @@ GdkPixbuf *shell_util_create_pixbuf_from_data (const guchar *data,
|
||||
void shell_util_cursor_tracker_to_clutter (MetaCursorTracker *tracker,
|
||||
ClutterTexture *texture);
|
||||
|
||||
gboolean shell_util_need_background_refresh (void);
|
||||
|
||||
void shell_util_text_insert_keyval (ClutterActor *actor,
|
||||
guint keyval);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __SHELL_UTIL_H__ */
|
||||
|
@@ -144,8 +144,6 @@ st_generic_accessible_class_init (StGenericAccessibleClass *klass)
|
||||
* Emitted when atk_value_set_current_value() is called on
|
||||
* @self. Right now we only care about doubles, so the value is
|
||||
* directly returned by the signal.
|
||||
*
|
||||
* Return value: value of the current element.
|
||||
*/
|
||||
st_generic_accessible_signals[SET_CURRENT_VALUE] =
|
||||
g_signal_new ("set-current-value",
|
||||
|
@@ -92,8 +92,6 @@ struct _StThemeNode {
|
||||
guint background_position_set : 1;
|
||||
guint background_repeat : 1;
|
||||
|
||||
gboolean margin_set : 4;
|
||||
|
||||
guint properties_computed : 1;
|
||||
guint geometry_computed : 1;
|
||||
guint background_computed : 1;
|
||||
|
@@ -1672,25 +1672,13 @@ do_margin_property_term (StThemeNode *node,
|
||||
return;
|
||||
|
||||
if (left)
|
||||
{
|
||||
node->margin[ST_SIDE_LEFT] = value;
|
||||
node->margin_set |= 1 << ST_SIDE_LEFT;
|
||||
}
|
||||
node->margin[ST_SIDE_LEFT] = value;
|
||||
if (right)
|
||||
{
|
||||
node->margin[ST_SIDE_RIGHT] = value;
|
||||
node->margin_set |= 1 << ST_SIDE_RIGHT;
|
||||
}
|
||||
node->margin[ST_SIDE_RIGHT] = value;
|
||||
if (top)
|
||||
{
|
||||
node->margin[ST_SIDE_TOP] = value;
|
||||
node->margin_set |= 1 << ST_SIDE_TOP;
|
||||
}
|
||||
node->margin[ST_SIDE_TOP] = value;
|
||||
if (bottom)
|
||||
{
|
||||
node->margin[ST_SIDE_BOTTOM] = value;
|
||||
node->margin_set |= 1 << ST_SIDE_BOTTOM;
|
||||
}
|
||||
node->margin[ST_SIDE_BOTTOM] = value;
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -3188,18 +3176,10 @@ _st_theme_node_apply_margins (StThemeNode *node,
|
||||
|
||||
_st_theme_node_ensure_geometry (node);
|
||||
|
||||
// In the case that a CSS margin is not specified, we don't to set a value
|
||||
// of 0 to the clutter actor margin. In this manner it allows to use Clutter
|
||||
// margin values set in the code. However, the margins that are set both in
|
||||
// the code and in the CSS on the same side, the result is unpredictable.
|
||||
if (node->margin_set & 1 << ST_SIDE_LEFT)
|
||||
clutter_actor_set_margin_left (actor, st_theme_node_get_margin(node, ST_SIDE_LEFT));
|
||||
if (node->margin_set & 1 << ST_SIDE_RIGHT)
|
||||
clutter_actor_set_margin_right (actor, st_theme_node_get_margin(node, ST_SIDE_RIGHT));
|
||||
if (node->margin_set & 1 << ST_SIDE_TOP)
|
||||
clutter_actor_set_margin_top (actor, st_theme_node_get_margin(node, ST_SIDE_TOP));
|
||||
if (node->margin_set & 1 << ST_SIDE_BOTTOM)
|
||||
clutter_actor_set_margin_bottom (actor, st_theme_node_get_margin(node, ST_SIDE_BOTTOM));
|
||||
clutter_actor_set_margin_left (actor, st_theme_node_get_margin(node, ST_SIDE_LEFT));
|
||||
clutter_actor_set_margin_right (actor, st_theme_node_get_margin(node, ST_SIDE_RIGHT));
|
||||
clutter_actor_set_margin_top (actor, st_theme_node_get_margin(node, ST_SIDE_TOP));
|
||||
clutter_actor_set_margin_bottom (actor, st_theme_node_get_margin(node, ST_SIDE_BOTTOM));
|
||||
}
|
||||
|
||||
static GetFromTermResult
|
||||
|
Reference in New Issue
Block a user