Compare commits
201 Commits
Author | SHA1 | Date | |
---|---|---|---|
02f2f694e4 | |||
d175a588f7 | |||
4bb41f2f66 | |||
088c46c7be | |||
4228c40b3d | |||
d581d29198 | |||
5a7e854f9e | |||
6e13823ccc | |||
5c5f2fdf8f | |||
96aa33f4ef | |||
25fd23e703 | |||
99cf4e5787 | |||
66a4cb5875 | |||
da14e2c349 | |||
4cda61a16a | |||
002afda503 | |||
cb7a2e8c6a | |||
d21ae1dad1 | |||
4548859509 | |||
09c6e6427a | |||
8c34398a15 | |||
a65b705080 | |||
7e28c71074 | |||
726f4a6715 | |||
a444b43548 | |||
473bb139d1 | |||
d084770cea | |||
619389ed20 | |||
ad043e009e | |||
89b9d079b1 | |||
58a8845047 | |||
3e6c8e68b4 | |||
40cd92f701 | |||
e216addf7c | |||
9291594330 | |||
f6010864ea | |||
13e6a6def5 | |||
575b373cd5 | |||
0892065649 | |||
766ef367fb | |||
0c7d9958f5 | |||
425b8f6073 | |||
63593e45a6 | |||
a6ee9806de | |||
a6579f4ceb | |||
639622a4fe | |||
e28ec2f5ab | |||
873753c735 | |||
ff14951be4 | |||
b47b445558 | |||
6e9a2fea89 | |||
64d2679b3c | |||
3c3d4dfccb | |||
0ccffed517 | |||
20c18c1fc0 | |||
a21c0097c2 | |||
404d9ef2af | |||
503fa1cbce | |||
63f7991d0f | |||
ae301c1f39 | |||
8e911fb719 | |||
a0d84e44c5 | |||
81fb7ebb31 | |||
3751211590 | |||
6b4cba09be | |||
6a7d184b7b | |||
bde5cfc8bb | |||
777c7a952b | |||
c79bdd9029 | |||
6a154efe65 | |||
627f3ef36b | |||
3d28836f2c | |||
c28bd04958 | |||
a6fb3acb42 | |||
8a8b3bf96e | |||
f7624e5f05 | |||
55edfd2e4a | |||
91878dd52c | |||
c132358ec9 | |||
e426f8ac47 | |||
740dca8afc | |||
6ae06d319c | |||
30bc2b2f9c | |||
7dc8e9d657 | |||
1ab2fa5bf0 | |||
779a1077bf | |||
815bf7a53a | |||
91a382dfb5 | |||
2d8d4cd57d | |||
0c5fe2b3bf | |||
56c487347f | |||
0a572fce1b | |||
e898e29910 | |||
843f076225 | |||
fdb732c8c2 | |||
33896a4e8f | |||
51e016a0d6 | |||
8737b06559 | |||
15ab285174 | |||
3a4782cc64 | |||
0256a6d47b | |||
8b0e846e0e | |||
41acb5d3cc | |||
a2f9b8ea9b | |||
6237a1c505 | |||
7c08db0b0f | |||
df1270ac49 | |||
46edc053d4 | |||
908046c31a | |||
8380c79875 | |||
8a4879a96a | |||
cdf1a77f08 | |||
3f9857ccbd | |||
1d65a31420 | |||
dafdf0838a | |||
f9cf135f68 | |||
a1878e54c9 | |||
95e5d899a9 | |||
ee8321df67 | |||
4918213e68 | |||
ed7f349fc6 | |||
2888f22a24 | |||
fcb217f681 | |||
9ffa9fe1a8 | |||
905020c507 | |||
02f5500641 | |||
465af55d6e | |||
80a3bb85aa | |||
ea26bd3003 | |||
508a511d2a | |||
2d80cb71db | |||
e31693bbee | |||
fb561f10a7 | |||
0c57d53e03 | |||
3b1b9f589b | |||
ac8d39acf4 | |||
664e795217 | |||
82bf323f63 | |||
547ac85113 | |||
46e0e4430d | |||
609a31ea46 | |||
3e99eb10d1 | |||
b9d935af0c | |||
31d3e82aa8 | |||
dfdc17197b | |||
62b965b4b7 | |||
ba221abea5 | |||
aa026c7134 | |||
496cfff97a | |||
ccaa7f5f3e | |||
f492d21c70 | |||
1983541f8c | |||
e4cb3672b9 | |||
a06a78a9c1 | |||
2ba91ad837 | |||
66eb3ea723 | |||
d30e992b20 | |||
c6a342563f | |||
fd584eda05 | |||
4301506590 | |||
88f7c3a970 | |||
f21a9f0cc2 | |||
2233c2e618 | |||
6264419bd4 | |||
b62effb8fa | |||
c8a07dd612 | |||
02c99e4b25 | |||
1242a16265 | |||
a89fd17b8e | |||
3d5e7bd6f1 | |||
cefcb89487 | |||
005272bde9 | |||
491e60e4f2 | |||
e5f72fd302 | |||
5f21b100b8 | |||
1a4c7629c5 | |||
d21734ee47 | |||
e140e2c367 | |||
7ced1f5b54 | |||
54b028ee3e | |||
703336e1ea | |||
9e936252ae | |||
fc71a0f081 | |||
86c72fa15d | |||
6ba5af1e9e | |||
33a4f59cfb | |||
39134f0d9b | |||
30e7440851 | |||
be1a7bac7c | |||
fb52a93a28 | |||
efdf1ff755 | |||
2c00dad211 | |||
c23786c73e | |||
7f1b07b76f | |||
2f35ad6e65 | |||
159c7d34c7 | |||
fe8e990ed7 | |||
1fb9b18cb6 | |||
5c2586127b | |||
661b266b45 | |||
98af044196 |
85
NEWS
85
NEWS
@ -1,3 +1,88 @@
|
||||
3.10.1
|
||||
======
|
||||
* Make sure lock screen is drawn once before switching user [Giovanni; #708051]
|
||||
* Fix signal strength indicators in network selector [Jasper; #708442]
|
||||
* Scroll search results when focusing provider icons [Jasper; #708868]
|
||||
* Add separate hover/active states to page indicators [Carlos; #708852]
|
||||
* Tweak appearance of user name and avatar [Yash; #702309]
|
||||
* Hide "Turn On" in network menu when disabled by hardware [Giovanni; #709635]
|
||||
* Cancel open keyring prompts when the screen is locked [Florian; #708910]
|
||||
* Differentiate "Not Connected" and "Off" in network menu [Giovanni; #709043]
|
||||
* Make network settings items point to the right device [Giovanni; #709246]
|
||||
* Remove animation of window preview titles [Sebastien; #709392]
|
||||
* Add 'Notifications' switch to tray menu [Florian; #707073]
|
||||
* Make dropdown arrows consistent [Carlos; #709564]
|
||||
* power: Use icon from primary device for status [Jasper; #709925]
|
||||
* Fix XDND drags to overview [Adel; #708887]
|
||||
* Fix workspace switcher disappearing with too many workspaces [Jasper; #694881]
|
||||
* Handle search results with 'special:' prefix specially [Giovanni; #707055]
|
||||
* gdm: Support pre-authenticated logins from oVirt [Vinzenz; #702162]
|
||||
* Use ARROW role for labels representing arrows [Alejandro; #710120]
|
||||
* Make selected view in app picker persistent [Florian; #710042]
|
||||
* Make network selector navigable by keyboard [Alejandro; #710144]
|
||||
* Misc bug fixes [Florian, Adel, Jasper, Aleksander, Giovanni, Dan, Michael,
|
||||
Tim; #709034, #709263, #698486, #709286, #709248, #709543, #696564, #703265,
|
||||
#709638, #709866, #709998, #710019, #710104, #710115]
|
||||
|
||||
Contributors:
|
||||
Giovanni Campagna, Michael Catanzaro, Vinzenz Feenstra, Adel Gadllah,
|
||||
Yash Girdhar, Sebastien Lafargue, Tim Lunn, Aleksander Morgado,
|
||||
Florian Müllner, Alejandro Piñeiro, Carlos Soriano, Jasper St. Pierre,
|
||||
Dieter Verfaillie, Dan Winship
|
||||
|
||||
Translations:
|
||||
Inaki Larranaga Murgoitio [eu], Christian Kirbach [de], Muhammet Kara [tr],
|
||||
Aurimas Černius [lt], Ryan Lortie [eo], Rūdolfs Mazurs [lv],
|
||||
Dušan Kazik [sk], Fran Diéguez [gl], Enrico Nicoletto [pt_BR],
|
||||
Kjartan Maraas [nb], Victor Ibragimov [tg], Matej Urbančič [sl],
|
||||
A S Alam [pa], Nilamdyuti Goswami [as], Daniel Mustieles [es],
|
||||
Cheng-Chia Tseng [zh_HK, zh_TW], Mattias Põldaru [et], Kenneth Nielsen [da],
|
||||
Milo Casagrande [it], Marek Černocký [cs], Ihar Hrachyshka [be],
|
||||
Мирослав Николић [sr, sr@latin], Arash Mousavi [fa], Yuri Myasoedov [ru],
|
||||
Gil Forcada [ca], Carles Ferrando [ca@valencia], Andika Triwidada [id],
|
||||
Timo Jyrinki [fi], Piotr Drąg [pl], Rafael Ferreira [pt_BR],
|
||||
Gabor Kelemen [hu], Yosef Or Boczko [he], Daniel Korostil [uk],
|
||||
Wouter Bolsterlee [nl], António Lima [pt]
|
||||
|
||||
3.10.0.1
|
||||
=========
|
||||
* Fix login screen [Ray; #708691]
|
||||
|
||||
Contributors:
|
||||
Ray Strode, Giovanni Campagna, Jasper St. Pierree
|
||||
|
||||
Translations:
|
||||
Kjartan Maraas [nb], Marek Černocký [cs], A S Alam [pa], Daniel Mustieles [es],
|
||||
Ihar Hrachyshka [be], Chao-Hsiung Liao [zh_HK], Nilamdyuti Goswami [as],
|
||||
Yuri Myasoedov [ru], Baurzhan Muftakhidinov [kk]
|
||||
|
||||
3.10.0
|
||||
======
|
||||
* Fix fade effect in ScrollViews [Carlos; #708256]
|
||||
* network: Resync when activating connection changes [Jasper; #708322]
|
||||
* Close run dialog when the screen locks [Florian; #708218]
|
||||
* Fix entry growing out of password dialogs [Florian; #708324, #703833]
|
||||
* Vertically center labels in submenu items [Jasper; #708330]
|
||||
* https://bugzilla.gnome.org/show_bug.cgi?id=708387 [Mike; #708387]
|
||||
* Fix bluetooth icon not being added to status menu [Jasper; #708541]
|
||||
* Fix GNOME 2 keyring dialogs appearing on lock screen [Florian; #708187]
|
||||
* Fix passwords being cleared twice when authentication fails [Florian; #708186]
|
||||
* Fix message tray appearing in a11y popup on login screen [Florian; #708380]
|
||||
* Increase width of aggregate menu popup [Adel; #708472]
|
||||
|
||||
Contributors:
|
||||
Adel Gadllah, Mike Gorse, Ryan Lortie, Florian Müllner, Frédéric Péters,
|
||||
Carlos Soriano, Jasper St. Pierre, Rico Tzschichholz
|
||||
|
||||
Translations:
|
||||
Daniel Șerbănescu [ro], Ryan Lortie [eo], Ihar Hrachyshka [be],
|
||||
A S Alam [pa], Jiro Matsuzawa [ja], Chao-Hsiung Liao [zh_HK, zh_TW],
|
||||
Piotr Drąg [pl], Kristjan SCHMIDT [eo], Daniel Korostil [uk],
|
||||
Rūdolfs Mazurs [lv], Reinout van Schouwen [nl], Yosef Or Boczko [he],
|
||||
Fran Diéguez [gl], António Lima [pt], Andika Triwidada [id],
|
||||
Alexandre Franke [fr], Rafael Ferreira [pt_BR], Milo Casagrande [it],
|
||||
Kenneth Nielsen [da], Matej Urbančič [sl]
|
||||
|
||||
3.9.92
|
||||
======
|
||||
* Don't show page indicators if there's only one page [Florian; #707363]
|
||||
|
@ -1,5 +1,5 @@
|
||||
AC_PREREQ(2.63)
|
||||
AC_INIT([gnome-shell],[3.9.92],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
|
||||
AC_INIT([gnome-shell],[3.10.1],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
|
||||
|
||||
AC_CONFIG_HEADERS([config.h])
|
||||
AC_CONFIG_SRCDIR([src/shell-global.c])
|
||||
@ -59,8 +59,8 @@ AM_CONDITIONAL(BUILD_RECORDER, $build_recorder)
|
||||
|
||||
CLUTTER_MIN_VERSION=1.13.4
|
||||
GOBJECT_INTROSPECTION_MIN_VERSION=0.10.1
|
||||
GJS_MIN_VERSION=1.35.4
|
||||
MUTTER_MIN_VERSION=3.9.92
|
||||
GJS_MIN_VERSION=1.38.1
|
||||
MUTTER_MIN_VERSION=3.10.1
|
||||
GTK_MIN_VERSION=3.7.9
|
||||
GIO_MIN_VERSION=2.37.0
|
||||
LIBECAL_MIN_VERSION=3.5.3
|
||||
|
@ -45,8 +45,10 @@ dist_theme_DATA = \
|
||||
theme/message-tray-background.png \
|
||||
theme/more-results.svg \
|
||||
theme/noise-texture.png \
|
||||
theme/page-indicator-active.svg \
|
||||
theme/page-indicator-active.svg \
|
||||
theme/page-indicator-inactive.svg \
|
||||
theme/page-indicator-checked.svg \
|
||||
theme/page-indicator-hover.svg \
|
||||
theme/panel-button-border.svg \
|
||||
theme/panel-button-highlight-narrow.svg \
|
||||
theme/panel-button-highlight-wide.svg \
|
||||
|
@ -37,6 +37,13 @@
|
||||
application view, rather than being displayed inline in the main view.
|
||||
</_description>
|
||||
</key>
|
||||
<key name="app-picker-view" type="u">
|
||||
<default>0</default>
|
||||
<summary>App Picker View</summary>
|
||||
<description>
|
||||
Index of the currently selected view in the application picker.
|
||||
</description>
|
||||
</key>
|
||||
<key name="command-history" type="as">
|
||||
<default>[]</default>
|
||||
<_summary>History for command (Alt-F2) dialog</_summary>
|
||||
@ -216,10 +223,10 @@
|
||||
|
||||
<key name="focus-change-on-pointer-rest" type="b">
|
||||
<default>true</default>
|
||||
<summary>Delay focus changes in mouse mode until the pointer stops moving</summary>
|
||||
<description>
|
||||
<_summary>Delay focus changes in mouse mode until the pointer stops moving</_summary>
|
||||
<_description>
|
||||
This key overrides the key in org.gnome.mutter when running GNOME Shell.
|
||||
</description>
|
||||
</_description>
|
||||
</key>
|
||||
</schema>
|
||||
</schemalist>
|
||||
|
@ -157,7 +157,7 @@ StScrollBar StButton#vhandle:active {
|
||||
min-width: 200px;
|
||||
}
|
||||
|
||||
.popup-submenu-menu-item-triangle {
|
||||
.unicode-arrow {
|
||||
font-size: 120%;
|
||||
}
|
||||
|
||||
@ -642,7 +642,7 @@ StScrollBar StButton#vhandle:active {
|
||||
}
|
||||
|
||||
.aggregate-menu {
|
||||
width: 340px;
|
||||
width: 360px;
|
||||
}
|
||||
|
||||
.aggregate-menu .popup-menu-icon {
|
||||
@ -693,7 +693,9 @@ StScrollBar StButton#vhandle:active {
|
||||
padding-bottom: 32px;
|
||||
}
|
||||
|
||||
.workspace-thumbnails-background {
|
||||
.workspace-thumbnails {
|
||||
spacing: 11px;
|
||||
visible-width: 32px; /* Amount visible before hovering */
|
||||
border: 1px solid rgba(128, 128, 128, 0.4);
|
||||
border-right: 0px;
|
||||
border-radius: 9px 0px 0px 9px;
|
||||
@ -701,18 +703,13 @@ StScrollBar StButton#vhandle:active {
|
||||
padding: 11px 7px 11px 11px;
|
||||
}
|
||||
|
||||
.workspace-thumbnails-background:rtl {
|
||||
.workspace-thumbnails:rtl {
|
||||
border-right: 1px;
|
||||
border-left: 0px;
|
||||
border-radius: 0px 9px 9px 0px;
|
||||
padding: 11px 11px 11px 7px;
|
||||
}
|
||||
|
||||
.workspace-thumbnails {
|
||||
spacing: 11px;
|
||||
visible-width: 32px; /* Amount visible before hovering */
|
||||
}
|
||||
|
||||
.workspace-thumbnail-indicator {
|
||||
border: 4px solid rgba(255,255,255,0.7);
|
||||
border-radius: 4px;
|
||||
@ -950,11 +947,19 @@ StScrollBar StButton#vhandle:active {
|
||||
background-image: url(page-indicator-inactive.svg);
|
||||
}
|
||||
|
||||
.page-indicator:hover .page-indicator-icon,
|
||||
.page-indicator:checked .page-indicator-icon {
|
||||
.page-indicator:hover .page-indicator-icon {
|
||||
background-image: url(page-indicator-hover.svg);
|
||||
}
|
||||
|
||||
.page-indicator:active .page-indicator-icon {
|
||||
background-image: url(page-indicator-active.svg);
|
||||
}
|
||||
|
||||
.page-indicator:checked .page-indicator-icon,
|
||||
.page-indicator:checked:active .page-indicator-icon {
|
||||
background-image: url(page-indicator-checked.svg);
|
||||
}
|
||||
|
||||
.no-frequent-applications-label {
|
||||
font-size: 18pt;
|
||||
color: #999999;
|
||||
@ -2268,7 +2273,7 @@ StScrollBar StButton#vhandle:active {
|
||||
|
||||
.framed-user-icon {
|
||||
border: 2px solid #8b8b8b;
|
||||
border-radius: 5px;
|
||||
border-radius: 3px;
|
||||
background-size: contain;
|
||||
}
|
||||
|
||||
@ -2312,7 +2317,7 @@ StScrollBar StButton#vhandle:active {
|
||||
}
|
||||
|
||||
.login-dialog-user-list-item {
|
||||
border-radius: 10px;
|
||||
border-radius: 5px;
|
||||
padding: .2em;
|
||||
}
|
||||
|
||||
@ -2325,19 +2330,20 @@ StScrollBar StButton#vhandle:active {
|
||||
}
|
||||
|
||||
.login-dialog-user-list-item .login-dialog-user-list-item-name {
|
||||
font-size: 20pt;
|
||||
padding-left: 9px;
|
||||
font-size: 20px;
|
||||
padding-left: 18px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.login-dialog-user-list:expanded .login-dialog-user-list-item {
|
||||
color: #666666;
|
||||
color: #bfbfbf;
|
||||
}
|
||||
|
||||
.login-dialog-user-list-item,
|
||||
.login-dialog-user-list-item:hover .login-dialog-user-list-item-name,
|
||||
.login-dialog-user-list:expanded .login-dialog-user-list-item:focus .login-dialog-user-list-item-name,
|
||||
.login-dialog-user-list:expanded .login-dialog-user-list-item:logged-in {
|
||||
color: white;
|
||||
color: #bfbfbf;
|
||||
text-shadow: black 0px 2px 2px;
|
||||
}
|
||||
|
||||
@ -2369,7 +2375,7 @@ StScrollBar StButton#vhandle:active {
|
||||
|
||||
.login-dialog-user-list-item-icon {
|
||||
border: 2px solid #8b8b8b;
|
||||
border-radius: 8px;
|
||||
border-radius: 3px;
|
||||
width: 64px;
|
||||
height: 64px;
|
||||
}
|
||||
@ -2486,10 +2492,11 @@ StScrollBar StButton#vhandle:active {
|
||||
}
|
||||
|
||||
.user-widget-label {
|
||||
font-size: 16pt;
|
||||
font-size: 20px;
|
||||
font-weight: bold;
|
||||
text-align: left;
|
||||
padding-left: 15px;
|
||||
padding-left: 18px;
|
||||
color:white;
|
||||
text-shadow: black 0px 4px 3px 0px;
|
||||
}
|
||||
|
||||
|
@ -14,7 +14,7 @@
|
||||
id="svg4703"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.4 r9939"
|
||||
sodipodi:docname="page-indicator-active.svg">
|
||||
sodipodi:docname="page-indicator-pushed.svg">
|
||||
<defs
|
||||
id="defs4705" />
|
||||
<sodipodi:namedview
|
||||
@ -24,18 +24,22 @@
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="22.197802"
|
||||
inkscape:cx="2.1522887"
|
||||
inkscape:cy="16.782904"
|
||||
inkscape:zoom="31.392433"
|
||||
inkscape:cx="1.0245308"
|
||||
inkscape:cy="13.3715"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
inkscape:grid-bbox="true"
|
||||
inkscape:document-units="px"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1021"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1374"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1" />
|
||||
inkscape:window-maximized="1">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid6140" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata4708">
|
||||
<rdf:RDF>
|
||||
@ -44,7 +48,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>
|
||||
@ -54,14 +58,14 @@
|
||||
inkscape:groupmode="layer"
|
||||
transform="translate(0,2)">
|
||||
<path
|
||||
transform="matrix(0.72823872,0,0,0.8336417,-1512.2872,-525.55618)"
|
||||
d="m 2099.9808,638.83099 c 0,5.29998 -4.9184,9.59645 -10.9854,9.59645 -6.0671,0 -10.9854,-4.29647 -10.9854,-9.59645 0,-5.29997 4.9183,-9.59645 10.9854,-9.59645 6.067,0 10.9854,4.29648 10.9854,9.59645 z"
|
||||
transform="matrix(0.54617904,0,0,0.62523128,-1131.9904,-392.39214)"
|
||||
d="m 2099.9808,638.83099 a 10.985409,9.5964489 0 1 1 -21.9708,0 10.985409,9.5964489 0 1 1 21.9708,0 z"
|
||||
sodipodi:ry="9.5964489"
|
||||
sodipodi:rx="10.985409"
|
||||
sodipodi:cy="638.83099"
|
||||
sodipodi:cx="2088.9954"
|
||||
id="path4711"
|
||||
style="fill:#fdffff;fill-opacity:0.94117647;stroke:none"
|
||||
style="fill:#fdffff;fill-opacity:1;stroke:none"
|
||||
sodipodi:type="arc" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
67
data/theme/page-indicator-checked.svg
Normal file
67
data/theme/page-indicator-checked.svg
Normal file
@ -0,0 +1,67 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="18"
|
||||
height="18"
|
||||
id="svg4703"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.4 r9939"
|
||||
sodipodi:docname="page-indicator-active.svg">
|
||||
<defs
|
||||
id="defs4705" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="22.197802"
|
||||
inkscape:cx="2.1522887"
|
||||
inkscape:cy="16.782904"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
inkscape:grid-bbox="true"
|
||||
inkscape:document-units="px"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1021"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata4708">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
id="layer1"
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
transform="translate(0,2)">
|
||||
<path
|
||||
transform="matrix(0.72823872,0,0,0.8336417,-1512.2872,-525.55618)"
|
||||
d="m 2099.9808,638.83099 c 0,5.29998 -4.9184,9.59645 -10.9854,9.59645 -6.0671,0 -10.9854,-4.29647 -10.9854,-9.59645 0,-5.29997 4.9183,-9.59645 10.9854,-9.59645 6.067,0 10.9854,4.29648 10.9854,9.59645 z"
|
||||
sodipodi:ry="9.5964489"
|
||||
sodipodi:rx="10.985409"
|
||||
sodipodi:cy="638.83099"
|
||||
sodipodi:cx="2088.9954"
|
||||
id="path4711"
|
||||
style="fill:#fdffff;fill-opacity:0.94117647;stroke:none"
|
||||
sodipodi:type="arc" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.1 KiB |
67
data/theme/page-indicator-hover.svg
Normal file
67
data/theme/page-indicator-hover.svg
Normal file
@ -0,0 +1,67 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="18"
|
||||
height="18"
|
||||
id="svg5266"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.4 r9939"
|
||||
sodipodi:docname="page-indicator-inactive.svg">
|
||||
<defs
|
||||
id="defs5268" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="11.313709"
|
||||
inkscape:cx="-2.307566"
|
||||
inkscape:cy="17.859535"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
inkscape:grid-bbox="true"
|
||||
inkscape:document-units="px"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1374"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata5271">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
id="layer1"
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
transform="translate(0,2)">
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:none;fill-opacity:0;stroke:#ffffff;stroke-width:2.93356276000000005;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path5274"
|
||||
sodipodi:cx="2088.9954"
|
||||
sodipodi:cy="638.83099"
|
||||
sodipodi:rx="10.985409"
|
||||
sodipodi:ry="9.5964489"
|
||||
d="m 2099.9808,638.83099 c 0,5.29998 -4.9184,9.59645 -10.9854,9.59645 -6.0671,0 -10.9854,-4.29647 -10.9854,-9.59645 0,-5.29997 4.9183,-9.59645 10.9854,-9.59645 6.067,0 10.9854,4.29648 10.9854,9.59645 z"
|
||||
transform="matrix(0.63720887,0,0,0.72943648,-1322.1264,-458.98661)" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.2 KiB |
@ -25,14 +25,14 @@
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="11.313709"
|
||||
inkscape:cx="13.381365"
|
||||
inkscape:cx="-2.307566"
|
||||
inkscape:cy="17.859535"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
inkscape:grid-bbox="true"
|
||||
inkscape:document-units="px"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1021"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1374"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1" />
|
||||
@ -55,7 +55,7 @@
|
||||
transform="translate(0,2)">
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#ffffff;fill-opacity:0;stroke:#ffffff;stroke-width:2.93356276;stroke-miterlimit:4;stroke-opacity:0.39215686;stroke-dasharray:none"
|
||||
style="fill:none;fill-opacity:0;stroke:#ffffff;stroke-width:2.93356276000000005;stroke-miterlimit:4;stroke-opacity:0.39215686000000000;stroke-dasharray:none"
|
||||
id="path5274"
|
||||
sodipodi:cx="2088.9954"
|
||||
sodipodi:cy="638.83099"
|
||||
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
@ -21,6 +21,7 @@ nobase_dist_js_DATA = \
|
||||
gdm/batch.js \
|
||||
gdm/fingerprint.js \
|
||||
gdm/loginDialog.js \
|
||||
gdm/oVirt.js \
|
||||
gdm/realmd.js \
|
||||
gdm/util.js \
|
||||
extensionPrefs/main.js \
|
||||
|
@ -59,6 +59,7 @@ const AuthPrompt = new Lang.Class({
|
||||
this._userVerifier.connect('verification-complete', Lang.bind(this, this._onVerificationComplete));
|
||||
this._userVerifier.connect('reset', Lang.bind(this, this._onReset));
|
||||
this._userVerifier.connect('smartcard-status-changed', Lang.bind(this, this._onSmartcardStatusChanged));
|
||||
this._userVerifier.connect('ovirt-user-authenticated', Lang.bind(this, this._onOVirtUserAuthenticated));
|
||||
this.smartcardDetected = this._userVerifier.smartcardDetected;
|
||||
|
||||
this.connect('next', Lang.bind(this, function() {
|
||||
@ -219,6 +220,11 @@ const AuthPrompt = new Lang.Class({
|
||||
this.emit('prompted');
|
||||
},
|
||||
|
||||
_onOVirtUserAuthenticated: function() {
|
||||
if (this.verificationStatus != AuthPromptStatus.VERIFICATION_SUCCEEDED)
|
||||
this.reset();
|
||||
},
|
||||
|
||||
_onSmartcardStatusChanged: function() {
|
||||
this.smartcardDetected = this._userVerifier.smartcardDetected;
|
||||
|
||||
@ -244,6 +250,7 @@ const AuthPrompt = new Lang.Class({
|
||||
},
|
||||
|
||||
_onVerificationFailed: function() {
|
||||
this._queryingService = null;
|
||||
this.clear();
|
||||
|
||||
this.updateSensitivity(true);
|
||||
@ -443,10 +450,11 @@ const AuthPrompt = new Lang.Class({
|
||||
// The user is constant at the unlock screen, so it will immediately
|
||||
// respond to the request with the username
|
||||
beginRequestType = BeginRequestType.PROVIDE_USERNAME;
|
||||
} else if (this.smartcardDetected &&
|
||||
this._userVerifier.serviceIsForeground(GdmUtil.SMARTCARD_SERVICE_NAME)) {
|
||||
} else if (this._userVerifier.serviceIsForeground(GdmUtil.OVIRT_SERVICE_NAME) ||
|
||||
(this.smartcardDetected &&
|
||||
this._userVerifier.serviceIsForeground(GdmUtil.SMARTCARD_SERVICE_NAME))) {
|
||||
// We don't need to know the username if the user preempted the login screen
|
||||
// with a smartcard.
|
||||
// with a smartcard or with preauthenticated oVirt credentials
|
||||
beginRequestType = BeginRequestType.DONT_PROVIDE_USERNAME;
|
||||
} else {
|
||||
// In all other cases, we should get the username up front.
|
||||
|
@ -619,7 +619,7 @@ const LoginDialog = new Lang.Class({
|
||||
|
||||
// Translators: this message is shown below the username entry field
|
||||
// to clue the user in on how to login to the local network realm
|
||||
this._authPrompt.setMessage(_("(e.g., user or %s)").format(hint), AuthPrompt.MessageType.HINT);
|
||||
this._authPrompt.setMessage(_("(e.g., user or %s)").format(hint), GdmUtil.MessageType.HINT);
|
||||
},
|
||||
|
||||
_askForUsernameAndBeginVerification: function() {
|
||||
|
62
js/gdm/oVirt.js
Normal file
62
js/gdm/oVirt.js
Normal file
@ -0,0 +1,62 @@
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Gio = imports.gi.Gio;
|
||||
const Lang = imports.lang;
|
||||
const Signals = imports.signals;
|
||||
|
||||
const OVirtCredentialsIface = <interface name='org.ovirt.vdsm.Credentials'>
|
||||
<signal name="UserAuthenticated">
|
||||
<arg type="s" name="token"/>
|
||||
</signal>
|
||||
</interface>;
|
||||
|
||||
const OVirtCredentialsInfo = Gio.DBusInterfaceInfo.new_for_xml(OVirtCredentialsIface);
|
||||
|
||||
let _oVirtCredentialsManager = null;
|
||||
|
||||
function OVirtCredentials() {
|
||||
var self = new Gio.DBusProxy({ g_connection: Gio.DBus.system,
|
||||
g_interface_name: OVirtCredentialsInfo.name,
|
||||
g_interface_info: OVirtCredentialsInfo,
|
||||
g_name: 'org.ovirt.vdsm.Credentials',
|
||||
g_object_path: '/org/ovirt/vdsm/Credentials',
|
||||
g_flags: (Gio.DBusProxyFlags.DO_NOT_LOAD_PROPERTIES) });
|
||||
self.init(null);
|
||||
return self;
|
||||
}
|
||||
|
||||
const OVirtCredentialsManager = new Lang.Class({
|
||||
Name: 'OVirtCredentialsManager',
|
||||
_init: function() {
|
||||
this._token = null;
|
||||
|
||||
this._credentials = new OVirtCredentials();
|
||||
this._credentials.connectSignal('UserAuthenticated',
|
||||
Lang.bind(this, this._onUserAuthenticated));
|
||||
},
|
||||
|
||||
_onUserAuthenticated: function(proxy, sender, [token]) {
|
||||
this._token = token;
|
||||
this.emit('user-authenticated', token);
|
||||
},
|
||||
|
||||
hasToken: function() {
|
||||
return this._token != null;
|
||||
},
|
||||
|
||||
getToken: function() {
|
||||
return this._token;
|
||||
},
|
||||
|
||||
resetToken: function() {
|
||||
this._token = null;
|
||||
}
|
||||
});
|
||||
Signals.addSignalMethods(OVirtCredentialsManager.prototype);
|
||||
|
||||
function getOVirtCredentialsManager() {
|
||||
if (!_oVirtCredentialsManager)
|
||||
_oVirtCredentialsManager = new OVirtCredentialsManager();
|
||||
|
||||
return _oVirtCredentialsManager;
|
||||
}
|
@ -10,6 +10,7 @@ const St = imports.gi.St;
|
||||
|
||||
const Batch = imports.gdm.batch;
|
||||
const Fprint = imports.gdm.fingerprint;
|
||||
const OVirt = imports.gdm.oVirt;
|
||||
const Main = imports.ui.main;
|
||||
const Params = imports.misc.params;
|
||||
const ShellEntry = imports.ui.shellEntry;
|
||||
@ -19,6 +20,7 @@ const Tweener = imports.ui.tweener;
|
||||
const PASSWORD_SERVICE_NAME = 'gdm-password';
|
||||
const FINGERPRINT_SERVICE_NAME = 'gdm-fingerprint';
|
||||
const SMARTCARD_SERVICE_NAME = 'gdm-smartcard';
|
||||
const OVIRT_SERVICE_NAME = 'gdm-ovirtcred';
|
||||
const FADE_ANIMATION_TIME = 0.16;
|
||||
const CLONE_FADE_ANIMATION_TIME = 0.25;
|
||||
|
||||
@ -151,6 +153,14 @@ const ShellUserVerifier = new Lang.Class({
|
||||
this.reauthenticating = false;
|
||||
|
||||
this._failCounter = 0;
|
||||
|
||||
this._oVirtCredentialsManager = OVirt.getOVirtCredentialsManager();
|
||||
|
||||
if (this._oVirtCredentialsManager.hasToken())
|
||||
this._oVirtUserAuthenticated(this._oVirtCredentialsManager.getToken());
|
||||
|
||||
this._oVirtCredentialsManager.connect('user-authenticated',
|
||||
Lang.bind(this, this._oVirtUserAuthenticated));
|
||||
},
|
||||
|
||||
begin: function(userName, hold) {
|
||||
@ -277,6 +287,11 @@ const ShellUserVerifier = new Lang.Class({
|
||||
}));
|
||||
},
|
||||
|
||||
_oVirtUserAuthenticated: function(token) {
|
||||
this._preemptingService = OVIRT_SERVICE_NAME;
|
||||
this.emit('ovirt-user-authenticated');
|
||||
},
|
||||
|
||||
_checkForSmartcard: function() {
|
||||
let smartcardDetected;
|
||||
|
||||
@ -455,6 +470,12 @@ const ShellUserVerifier = new Lang.Class({
|
||||
if (!this.serviceIsForeground(serviceName))
|
||||
return;
|
||||
|
||||
if (serviceName == OVIRT_SERVICE_NAME) {
|
||||
// The only question asked by this service is "Token?"
|
||||
this.answerQuery(serviceName, this._oVirtCredentialsManager.getToken());
|
||||
return;
|
||||
}
|
||||
|
||||
this.emit('ask-question', serviceName, secretQuestion, '\u25cf');
|
||||
},
|
||||
|
||||
@ -515,6 +536,16 @@ const ShellUserVerifier = new Lang.Class({
|
||||
},
|
||||
|
||||
_onConversationStopped: function(client, serviceName) {
|
||||
// If the login failed with the preauthenticated oVirt credentials
|
||||
// then discard the credentials and revert to default authentication
|
||||
// mechanism.
|
||||
if (this.serviceIsForeground(OVIRT_SERVICE_NAME)) {
|
||||
this._oVirtCredentialsManager.resetToken();
|
||||
this._preemptingService = null;
|
||||
this._verificationFailed(false);
|
||||
return;
|
||||
}
|
||||
|
||||
// if the password service fails, then cancel everything.
|
||||
// But if, e.g., fingerprint fails, still give
|
||||
// password authentication a chance to succeed
|
||||
|
@ -72,8 +72,10 @@ function versionCompare(required, reference) {
|
||||
reference = reference.split('.');
|
||||
|
||||
for (let i = 0; i < required.length; i++) {
|
||||
if (required[i] != reference[i])
|
||||
return required[i] < reference[i];
|
||||
let requiredInt = parseInt(required[i]);
|
||||
let referenceInt = parseInt(reference[i]);
|
||||
if (requiredInt != referenceInt)
|
||||
return requiredInt < referenceInt;
|
||||
}
|
||||
|
||||
return true;
|
||||
|
@ -1,6 +1,7 @@
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const Gio = imports.gi.Gio;
|
||||
const GLib = imports.gi.GLib;
|
||||
const Lang = imports.lang;
|
||||
const St = imports.gi.St;
|
||||
@ -79,6 +80,22 @@ function spawnCommandLine(command_line) {
|
||||
}
|
||||
}
|
||||
|
||||
// spawnApp:
|
||||
// @argv: an argv array
|
||||
//
|
||||
// Runs @argv as if it was an application, handling startup notification
|
||||
function spawnApp(argv) {
|
||||
try {
|
||||
let app = Gio.AppInfo.create_from_commandline(argv.join(' '), null,
|
||||
Gio.AppInfoCreateFlags.SUPPORTS_STARTUP_NOTIFICATION);
|
||||
|
||||
let context = global.create_app_launch_context();
|
||||
app.launch([], context);
|
||||
} catch(err) {
|
||||
_handleSpawnError(argv[0], err);
|
||||
}
|
||||
}
|
||||
|
||||
// trySpawn:
|
||||
// @argv: an argv array
|
||||
//
|
||||
|
@ -744,10 +744,15 @@ const AppDisplay = new Lang.Class({
|
||||
this._views[i].control.connect('clicked', Lang.bind(this,
|
||||
function(actor) {
|
||||
this._showView(viewIndex);
|
||||
global.settings.set_uint('app-picker-view', viewIndex);
|
||||
}));
|
||||
}
|
||||
let initialView = Math.min(global.settings.get_uint('app-picker-view'),
|
||||
this._views.length - 1);
|
||||
let frequentUseful = this._views[Views.FREQUENT].view.hasUsefulData();
|
||||
this._showView(frequentUseful ? Views.FREQUENT : Views.ALL);
|
||||
if (initialView == Views.FREQUENT && !frequentUseful)
|
||||
initialView = Views.ALL;
|
||||
this._showView(initialView);
|
||||
this._updateFrequentVisibility();
|
||||
|
||||
// We need a dummy actor to catch the keyboard focus if the
|
||||
@ -877,6 +882,10 @@ const AppSearchProvider = new Lang.Class({
|
||||
callback(metas);
|
||||
},
|
||||
|
||||
filterResults: function(results, maxNumber) {
|
||||
return results.slice(0, maxNumber);
|
||||
},
|
||||
|
||||
getInitialResultSet: function(terms) {
|
||||
this.searchSystem.setResults(this, this._appSys.initial_search(terms));
|
||||
},
|
||||
|
@ -319,9 +319,9 @@ const Background = new Lang.Class({
|
||||
this._cancellable = new Gio.Cancellable();
|
||||
this.isLoaded = false;
|
||||
|
||||
this._settings.connect('changed', Lang.bind(this, function() {
|
||||
this.emit('changed');
|
||||
}));
|
||||
this._settingsChangedSignalId = this._settings.connect('changed', Lang.bind(this, function() {
|
||||
this.emit('changed');
|
||||
}));
|
||||
|
||||
this._load();
|
||||
},
|
||||
@ -362,6 +362,10 @@ const Background = new Lang.Class({
|
||||
|
||||
this.actor.disconnect(this._destroySignalId);
|
||||
this._destroySignalId = 0;
|
||||
|
||||
if (this._settingsChangedSignalId != 0)
|
||||
this._settings.disconnect(this._settingsChangedSignalId);
|
||||
this._settingsChangedSignalId = 0;
|
||||
},
|
||||
|
||||
_setLoaded: function() {
|
||||
|
@ -185,7 +185,9 @@ const BoxPointer = new Lang.Class({
|
||||
},
|
||||
|
||||
_getPreferredHeight: function(actor, forWidth, alloc) {
|
||||
let [minSize, naturalSize] = this.bin.get_preferred_height(forWidth);
|
||||
let themeNode = this.actor.get_theme_node();
|
||||
let borderWidth = themeNode.get_length('-arrow-border-width');
|
||||
let [minSize, naturalSize] = this.bin.get_preferred_height(forWidth - 2 * borderWidth);
|
||||
alloc.min_size = minSize;
|
||||
alloc.natural_size = naturalSize;
|
||||
this._adjustAllocationForArrow(false, alloc);
|
||||
|
@ -13,8 +13,6 @@ const ModalDialog = imports.ui.modalDialog;
|
||||
const ShellEntry = imports.ui.shellEntry;
|
||||
const CheckBox = imports.ui.checkBox;
|
||||
|
||||
let prompter = null;
|
||||
|
||||
const KeyringDialog = new Lang.Class({
|
||||
Name: 'KeyringDialog',
|
||||
Extends: ModalDialog.ModalDialog,
|
||||
@ -80,23 +78,26 @@ const KeyringDialog = new Lang.Class({
|
||||
},
|
||||
|
||||
_buildControlTable: function() {
|
||||
let table = new St.Table({ style_class: 'keyring-dialog-control-table' });
|
||||
let layout = new Clutter.TableLayout();
|
||||
let table = new St.Widget({ style_class: 'keyring-dialog-control-table',
|
||||
layout_manager: layout });
|
||||
layout.hookup_style(table);
|
||||
let row = 0;
|
||||
|
||||
if (this.prompt.password_visible) {
|
||||
let label = new St.Label(({ style_class: 'prompt-dialog-password-label' }));
|
||||
let label = new St.Label({ style_class: 'prompt-dialog-password-label' });
|
||||
label.set_text(_("Password:"));
|
||||
table.add(label, { row: row, col: 0,
|
||||
x_expand: false, x_fill: true,
|
||||
x_align: St.Align.START,
|
||||
y_fill: false, y_align: St.Align.MIDDLE });
|
||||
label.clutter_text.ellipsize = Pango.EllipsizeMode.NONE;
|
||||
layout.pack(label, 0, row);
|
||||
layout.child_set(label, { x_expand: false, y_fill: false,
|
||||
x_align: Clutter.TableAlignment.START });
|
||||
this._passwordEntry = new St.Entry({ style_class: 'prompt-dialog-password-entry',
|
||||
text: '',
|
||||
can_focus: true});
|
||||
can_focus: true });
|
||||
this._passwordEntry.clutter_text.set_password_char('\u25cf'); // ● U+25CF BLACK CIRCLE
|
||||
ShellEntry.addContextMenu(this._passwordEntry, { isPassword: true });
|
||||
this._passwordEntry.clutter_text.connect('activate', Lang.bind(this, this._onPasswordActivate));
|
||||
table.add(this._passwordEntry, { row: row, col: 1, x_expand: true, x_fill: true, x_align: St.Align.START });
|
||||
layout.pack(this._passwordEntry, 1, row);
|
||||
row++;
|
||||
} else {
|
||||
this._passwordEntry = null;
|
||||
@ -105,17 +106,16 @@ const KeyringDialog = new Lang.Class({
|
||||
if (this.prompt.confirm_visible) {
|
||||
var label = new St.Label(({ style_class: 'prompt-dialog-password-label' }));
|
||||
label.set_text(_("Type again:"));
|
||||
table.add(label, { row: row, col: 0,
|
||||
x_expand: false, x_fill: true,
|
||||
x_align: St.Align.START,
|
||||
y_fill: false, y_align: St.Align.MIDDLE });
|
||||
layout.pack(label, 0, row);
|
||||
layout.child_set(label, { x_expand: false, y_fill: false,
|
||||
x_align: Clutter.TableAlignment.START });
|
||||
this._confirmEntry = new St.Entry({ style_class: 'prompt-dialog-password-entry',
|
||||
text: '',
|
||||
can_focus: true});
|
||||
can_focus: true });
|
||||
this._confirmEntry.clutter_text.set_password_char('\u25cf'); // ● U+25CF BLACK CIRCLE
|
||||
ShellEntry.addContextMenu(this._confirmEntry, { isPassword: true });
|
||||
this._confirmEntry.clutter_text.connect('activate', Lang.bind(this, this._onConfirmActivate));
|
||||
table.add(this._confirmEntry, { row: row, col: 1, x_expand: true, x_fill: true, x_align: St.Align.START });
|
||||
layout.pack(this._confirmEntry, 1, row);
|
||||
row++;
|
||||
} else {
|
||||
this._confirmEntry = null;
|
||||
@ -128,14 +128,14 @@ const KeyringDialog = new Lang.Class({
|
||||
let choice = new CheckBox.CheckBox();
|
||||
this.prompt.bind_property('choice-label', choice.getLabelActor(), 'text', GObject.BindingFlags.SYNC_CREATE);
|
||||
this.prompt.bind_property('choice-chosen', choice.actor, 'checked', GObject.BindingFlags.SYNC_CREATE | GObject.BindingFlags.BIDIRECTIONAL);
|
||||
table.add(choice.actor, { row: row, col: 1, x_expand: false, x_fill: true, x_align: St.Align.START });
|
||||
layout.pack(choice.actor, 1, row);
|
||||
row++;
|
||||
}
|
||||
|
||||
let warning = new St.Label({ style_class: 'prompt-dialog-error-label' });
|
||||
warning.clutter_text.ellipsize = Pango.EllipsizeMode.NONE;
|
||||
warning.clutter_text.line_wrap = true;
|
||||
table.add(warning, { row: row, col: 1, x_expand: false, x_fill: false, x_align: St.Align.START });
|
||||
layout.pack(warning, 1, row);
|
||||
this.prompt.bind_property('warning-visible', warning, 'visible', GObject.BindingFlags.SYNC_CREATE);
|
||||
this.prompt.bind_property('warning', warning, 'text', GObject.BindingFlags.SYNC_CREATE);
|
||||
|
||||
@ -221,27 +221,56 @@ const KeyringDialog = new Lang.Class({
|
||||
},
|
||||
});
|
||||
|
||||
const KeyringDummyDialog = new Lang.Class({
|
||||
Name: 'KeyringDummyDialog',
|
||||
|
||||
_init: function() {
|
||||
this.prompt = new Shell.KeyringPrompt();
|
||||
this.prompt.connect('show-password',
|
||||
Lang.bind(this, this._cancelPrompt));
|
||||
this.prompt.connect('show-confirm', Lang.bind(this,
|
||||
this._cancelPrompt));
|
||||
},
|
||||
|
||||
_cancelPrompt: function() {
|
||||
this.prompt.cancel();
|
||||
}
|
||||
});
|
||||
|
||||
const KeyringPrompter = new Lang.Class({
|
||||
Name: 'KeyringPrompter',
|
||||
|
||||
_init: function() {
|
||||
this._prompter = new Gcr.SystemPrompter();
|
||||
this._prompter.connect('new-prompt', function(prompter) {
|
||||
let dialog = new KeyringDialog();
|
||||
return dialog.prompt;
|
||||
});
|
||||
this._prompter.connect('new-prompt', Lang.bind(this,
|
||||
function() {
|
||||
let dialog = this._enabled ? new KeyringDialog()
|
||||
: new KeyringDummyDialog();
|
||||
this._currentPrompt = dialog.prompt;
|
||||
return this._currentPrompt;
|
||||
}));
|
||||
this._dbusId = null;
|
||||
this._registered = false;
|
||||
this._enabled = false;
|
||||
this._currentPrompt = null;
|
||||
},
|
||||
|
||||
enable: function() {
|
||||
this._prompter.register(Gio.DBus.session);
|
||||
this._dbusId = Gio.DBus.session.own_name('org.gnome.keyring.SystemPrompter',
|
||||
Gio.BusNameOwnerFlags.ALLOW_REPLACEMENT, null, null);
|
||||
if (!this._registered) {
|
||||
this._prompter.register(Gio.DBus.session);
|
||||
this._dbusId = Gio.DBus.session.own_name('org.gnome.keyring.SystemPrompter',
|
||||
Gio.BusNameOwnerFlags.ALLOW_REPLACEMENT, null, null);
|
||||
this._registered = true;
|
||||
}
|
||||
this._enabled = true;
|
||||
},
|
||||
|
||||
disable: function() {
|
||||
this._prompter.unregister(false);
|
||||
Gio.DBus.session.unown_name(this._dbusId);
|
||||
this._enabled = false;
|
||||
|
||||
if (this._prompter.prompting)
|
||||
this._currentPrompt.cancel();
|
||||
this._currentPrompt = null;
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -72,13 +72,18 @@ const NetworkSecretDialog = new Lang.Class({
|
||||
expand: true });
|
||||
}
|
||||
|
||||
let secretTable = new St.Table({ style_class: 'network-dialog-secret-table' });
|
||||
let layout = new Clutter.TableLayout();
|
||||
let secretTable = new St.Widget({ style_class: 'network-dialog-secret-table',
|
||||
layout_manager: layout });
|
||||
layout.hookup_style(secretTable);
|
||||
|
||||
let initialFocusSet = false;
|
||||
let pos = 0;
|
||||
for (let i = 0; i < this._content.secrets.length; i++) {
|
||||
let secret = this._content.secrets[i];
|
||||
let label = new St.Label({ style_class: 'prompt-dialog-password-label',
|
||||
text: secret.label });
|
||||
label.clutter_text.ellipsize = Pango.EllipsizeMode.NONE;
|
||||
|
||||
let reactive = secret.key != null;
|
||||
|
||||
@ -111,11 +116,10 @@ const NetworkSecretDialog = new Lang.Class({
|
||||
} else
|
||||
secret.valid = true;
|
||||
|
||||
secretTable.add(label, { row: pos, col: 0,
|
||||
x_expand: false, x_fill: true,
|
||||
x_align: St.Align.START,
|
||||
y_fill: false, y_align: St.Align.MIDDLE });
|
||||
secretTable.add(secret.entry, { row: pos, col: 1, x_expand: true, x_fill: true, y_align: St.Align.END });
|
||||
layout.pack(label, 0, pos);
|
||||
layout.child_set(label, { x_expand: false, y_fill: false,
|
||||
x_align: Clutter.TableAlignment.START });
|
||||
layout.pack(secret.entry, 1, pos);
|
||||
pos++;
|
||||
|
||||
if (secret.password)
|
||||
|
@ -13,7 +13,6 @@ const Tp = imports.gi.TelepathyGLib;
|
||||
const History = imports.misc.history;
|
||||
const Main = imports.ui.main;
|
||||
const MessageTray = imports.ui.messageTray;
|
||||
const NotificationDaemon = imports.ui.notificationDaemon;
|
||||
const Params = imports.misc.params;
|
||||
const PopupMenu = imports.ui.popupMenu;
|
||||
|
||||
@ -416,7 +415,7 @@ const TelepathyClient = new Lang.Class({
|
||||
_ensureAppSource: function() {
|
||||
if (this._appSource == null) {
|
||||
this._appSource = new MessageTray.Source(_("Chat"), 'empathy');
|
||||
this._appSource.policy = new NotificationDaemon.NotificationApplicationPolicy('empathy');
|
||||
this._appSource.policy = new MessageTray.NotificationApplicationPolicy('empathy');
|
||||
|
||||
Main.messageTray.add(this._appSource);
|
||||
this._appSource.connect('destroy', Lang.bind(this, function () {
|
||||
@ -488,7 +487,7 @@ const ChatSource = new Lang.Class({
|
||||
},
|
||||
|
||||
_createPolicy: function() {
|
||||
return new NotificationDaemon.NotificationApplicationPolicy('empathy');
|
||||
return new MessageTray.NotificationApplicationPolicy('empathy');
|
||||
},
|
||||
|
||||
_updateAlias: function() {
|
||||
@ -1061,7 +1060,7 @@ const ApproverSource = new Lang.Class({
|
||||
},
|
||||
|
||||
_createPolicy: function() {
|
||||
return new NotificationDaemon.NotificationApplicationPolicy('empathy');
|
||||
return new MessageTray.NotificationApplicationPolicy('empathy');
|
||||
},
|
||||
|
||||
destroy: function() {
|
||||
|
@ -33,6 +33,7 @@ const FocusCaretTracker = new Lang.Class({
|
||||
|
||||
_init: function() {
|
||||
Atspi.init();
|
||||
Atspi.set_timeout(250, 250);
|
||||
this._atspiListener = Atspi.EventListener.new(Lang.bind(this, this._onChanged));
|
||||
},
|
||||
|
||||
|
@ -251,7 +251,7 @@ const LayoutManager = new Lang.Class({
|
||||
|
||||
this._inOverview = true;
|
||||
this._updateVisibility();
|
||||
this._queueUpdateRegions();
|
||||
this._updateRegions();
|
||||
},
|
||||
|
||||
hideOverview: function() {
|
||||
@ -362,7 +362,7 @@ const LayoutManager = new Lang.Class({
|
||||
BackgroundMenu.addBackgroundMenu(bgManager.background.actor);
|
||||
}));
|
||||
|
||||
this._bgManagers.push(bgManager);
|
||||
this._bgManagers[monitorIndex] = bgManager;
|
||||
|
||||
return bgManager.background;
|
||||
},
|
||||
|
@ -90,8 +90,12 @@ function _sessionUpdated() {
|
||||
Shell.KeyBindingMode.OVERVIEW,
|
||||
sessionMode.hasRunDialog ? openRunDialog : null);
|
||||
|
||||
if (!sessionMode.hasRunDialog && lookingGlass)
|
||||
lookingGlass.close();
|
||||
if (!sessionMode.hasRunDialog) {
|
||||
if (runDialog)
|
||||
runDialog.close();
|
||||
if (lookingGlass)
|
||||
lookingGlass.close();
|
||||
}
|
||||
}
|
||||
|
||||
function start() {
|
||||
|
@ -310,6 +310,126 @@ const NotificationPolicy = new Lang.Class({
|
||||
});
|
||||
Signals.addSignalMethods(NotificationPolicy.prototype);
|
||||
|
||||
const NotificationGenericPolicy = new Lang.Class({
|
||||
Name: 'NotificationGenericPolicy',
|
||||
Extends: NotificationPolicy,
|
||||
|
||||
_init: function() {
|
||||
// Don't chain to parent, it would try setting
|
||||
// our properties to the defaults
|
||||
|
||||
this.id = 'generic';
|
||||
|
||||
this._masterSettings = new Gio.Settings({ schema: 'org.gnome.desktop.notifications' });
|
||||
this._masterSettings.connect('changed', Lang.bind(this, this._changed));
|
||||
},
|
||||
|
||||
store: function() { },
|
||||
|
||||
destroy: function() {
|
||||
this._masterSettings.run_dispose();
|
||||
},
|
||||
|
||||
_changed: function(settings, key) {
|
||||
this.emit('policy-changed', key);
|
||||
},
|
||||
|
||||
get enable() {
|
||||
return true;
|
||||
},
|
||||
|
||||
get enableSound() {
|
||||
return true;
|
||||
},
|
||||
|
||||
get showBanners() {
|
||||
return this._masterSettings.get_boolean('show-banners');
|
||||
},
|
||||
|
||||
get forceExpanded() {
|
||||
return false;
|
||||
},
|
||||
|
||||
get showInLockScreen() {
|
||||
return this._masterSettings.get_boolean('show-in-lock-screen');
|
||||
},
|
||||
|
||||
get detailsInLockScreen() {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
const NotificationApplicationPolicy = new Lang.Class({
|
||||
Name: 'NotificationApplicationPolicy',
|
||||
Extends: NotificationPolicy,
|
||||
|
||||
_init: function(id) {
|
||||
// Don't chain to parent, it would try setting
|
||||
// our properties to the defaults
|
||||
|
||||
this.id = id;
|
||||
this._canonicalId = this._canonicalizeId(id);
|
||||
|
||||
this._masterSettings = new Gio.Settings({ schema: 'org.gnome.desktop.notifications' });
|
||||
this._settings = new Gio.Settings({ schema: 'org.gnome.desktop.notifications.application',
|
||||
path: '/org/gnome/desktop/notifications/application/' + this._canonicalId + '/' });
|
||||
|
||||
this._masterSettings.connect('changed', Lang.bind(this, this._changed));
|
||||
this._settings.connect('changed', Lang.bind(this, this._changed));
|
||||
},
|
||||
|
||||
store: function() {
|
||||
this._settings.set_string('application-id', this.id + '.desktop');
|
||||
|
||||
let apps = this._masterSettings.get_strv('application-children');
|
||||
if (apps.indexOf(this._canonicalId) < 0) {
|
||||
apps.push(this._canonicalId);
|
||||
this._masterSettings.set_strv('application-children', apps);
|
||||
}
|
||||
},
|
||||
|
||||
destroy: function() {
|
||||
this._masterSettings.run_dispose();
|
||||
this._settings.run_dispose();
|
||||
},
|
||||
|
||||
_changed: function(settings, key) {
|
||||
this.emit('policy-changed', key);
|
||||
},
|
||||
|
||||
_canonicalizeId: function(id) {
|
||||
// Keys are restricted to lowercase alphanumeric characters and dash,
|
||||
// and two dashes cannot be in succession
|
||||
return id.toLowerCase().replace(/[^a-z0-9\-]/g, '-').replace(/--+/g, '-');
|
||||
},
|
||||
|
||||
get enable() {
|
||||
return this._settings.get_boolean('enable');
|
||||
},
|
||||
|
||||
get enableSound() {
|
||||
return this._settings.get_boolean('enable-sound-alerts');
|
||||
},
|
||||
|
||||
get showBanners() {
|
||||
return this._masterSettings.get_boolean('show-banners') &&
|
||||
this._settings.get_boolean('show-banners');
|
||||
},
|
||||
|
||||
get forceExpanded() {
|
||||
return this._settings.get_boolean('force-expanded');
|
||||
},
|
||||
|
||||
get showInLockScreen() {
|
||||
return this._masterSettings.get_boolean('show-in-lock-screen') &&
|
||||
this._settings.get_boolean('show-in-lock-screen');
|
||||
},
|
||||
|
||||
get detailsInLockScreen() {
|
||||
return this._settings.get_boolean('details-in-lock-screen');
|
||||
}
|
||||
});
|
||||
|
||||
// Notification:
|
||||
// @source: the notification's Source
|
||||
// @title: the title
|
||||
@ -438,7 +558,12 @@ const Notification = new Lang.Class({
|
||||
this._bannerLabel = this._bannerUrlHighlighter.actor;
|
||||
this._bannerBox.add_actor(this._bannerLabel);
|
||||
|
||||
this.update(title, banner, params);
|
||||
// If called with only one argument we assume the caller
|
||||
// will call .update() later on. This is the case of
|
||||
// NotificationDaemon, which wants to use the same code
|
||||
// for new and updated notifications
|
||||
if (arguments.length != 1)
|
||||
this.update(title, banner, params);
|
||||
},
|
||||
|
||||
// update:
|
||||
@ -723,7 +848,6 @@ const Notification = new Lang.Class({
|
||||
// %action-invoked signal with @id as a parameter
|
||||
addButton: function(id, label) {
|
||||
if (!this._buttonBox) {
|
||||
|
||||
let box = new St.BoxLayout({ style_class: 'notification-actions' });
|
||||
this.setActionArea(box, { x_expand: false,
|
||||
y_expand: false,
|
||||
@ -731,6 +855,7 @@ const Notification = new Lang.Class({
|
||||
y_fill: false,
|
||||
x_align: St.Align.END });
|
||||
this._buttonBox = box;
|
||||
global.focus_manager.add_group(this._buttonBox);
|
||||
}
|
||||
|
||||
let button = new St.Button({ can_focus: true });
|
||||
@ -745,11 +870,7 @@ const Notification = new Lang.Class({
|
||||
button.label = label;
|
||||
}
|
||||
|
||||
if (this._buttonBox.get_n_children() > 0)
|
||||
global.focus_manager.remove_group(this._buttonBox);
|
||||
|
||||
this._buttonBox.add(button);
|
||||
global.focus_manager.add_group(this._buttonBox);
|
||||
button.connect('clicked', Lang.bind(this, this._onActionInvoked, id));
|
||||
|
||||
this.updated();
|
||||
@ -1206,6 +1327,10 @@ const Source = new Lang.Class({
|
||||
return this.count > 1;
|
||||
},
|
||||
|
||||
get isClearable() {
|
||||
return !this.trayIcon && !this.isChat && !this.resident;
|
||||
},
|
||||
|
||||
countUpdated: function() {
|
||||
this.emit('count-updated');
|
||||
},
|
||||
@ -1277,25 +1402,27 @@ const Source = new Lang.Class({
|
||||
return this._mainIcon.actor;
|
||||
},
|
||||
|
||||
_onNotificationDestroy: function(notification) {
|
||||
let index = this.notifications.indexOf(notification);
|
||||
if (index < 0)
|
||||
return;
|
||||
|
||||
this.notifications.splice(index, 1);
|
||||
if (this.notifications.length == 0)
|
||||
this._lastNotificationRemoved();
|
||||
|
||||
this.countUpdated();
|
||||
},
|
||||
|
||||
pushNotification: function(notification) {
|
||||
if (this.notifications.indexOf(notification) < 0) {
|
||||
this.notifications.push(notification);
|
||||
this.emit('notification-added', notification);
|
||||
}
|
||||
if (this.notifications.indexOf(notification) >= 0)
|
||||
return;
|
||||
|
||||
notification.connect('clicked', Lang.bind(this, this.open));
|
||||
notification.connect('destroy', Lang.bind(this,
|
||||
function () {
|
||||
let index = this.notifications.indexOf(notification);
|
||||
if (index < 0)
|
||||
return;
|
||||
notification.connect('destroy', Lang.bind(this, this._onNotificationDestroy));
|
||||
|
||||
this.notifications.splice(index, 1);
|
||||
if (this.notifications.length == 0)
|
||||
this._lastNotificationRemoved();
|
||||
|
||||
this.countUpdated();
|
||||
}));
|
||||
this.notifications.push(notification);
|
||||
this.emit('notification-added', notification);
|
||||
|
||||
this.countUpdated();
|
||||
},
|
||||
@ -1507,26 +1634,42 @@ const MessageTrayMenu = new Lang.Class({
|
||||
|
||||
this._tray = tray;
|
||||
|
||||
this._presence = new GnomeSession.Presence(Lang.bind(this, function(proxy, error) {
|
||||
if (error) {
|
||||
logError(error, 'Error while reading gnome-session presence');
|
||||
return;
|
||||
}
|
||||
|
||||
this._onStatusChanged(proxy.status);
|
||||
}));
|
||||
this._presence.connectSignal('StatusChanged', Lang.bind(this, function(proxy, senderName, [status]) {
|
||||
this._onStatusChanged(status);
|
||||
}));
|
||||
|
||||
this._accountManager = Tp.AccountManager.dup();
|
||||
this._accountManager.connect('most-available-presence-changed',
|
||||
Lang.bind(this, this._onIMPresenceChanged));
|
||||
this._accountManager.prepare_async(null, Lang.bind(this, this._onIMPresenceChanged));
|
||||
|
||||
this.actor.hide();
|
||||
Main.layoutManager.addChrome(this.actor);
|
||||
|
||||
this._busyItem = new PopupMenu.PopupSwitchMenuItem(_("Notifications"));
|
||||
this._busyItem.connect('toggled', Lang.bind(this, this._updatePresence));
|
||||
this.addMenuItem(this._busyItem);
|
||||
|
||||
let separator = new PopupMenu.PopupSeparatorMenuItem();
|
||||
this.addMenuItem(separator);
|
||||
|
||||
this._clearItem = this.addAction(_("Clear Messages"), function() {
|
||||
let toDestroy = [];
|
||||
let sources = tray.getSources();
|
||||
for (let i = 0; i < sources.length; i++) {
|
||||
// We exclude trayIcons, chat and resident sources
|
||||
if (sources[i].trayIcon ||
|
||||
sources[i].isChat ||
|
||||
sources[i].resident)
|
||||
continue;
|
||||
toDestroy.push(sources[i]);
|
||||
}
|
||||
let toDestroy = tray.getSources().filter(function(source) {
|
||||
return source.isClearable;
|
||||
})
|
||||
|
||||
for (let i = 0; i < toDestroy.length; i++) {
|
||||
toDestroy[i].destroy();
|
||||
}
|
||||
toDestroy.forEach(function(source) {
|
||||
source.destroy();
|
||||
});
|
||||
|
||||
toDestroy = null;
|
||||
tray.close();
|
||||
});
|
||||
|
||||
@ -1541,9 +1684,43 @@ const MessageTrayMenu = new Lang.Class({
|
||||
settingsItem.connect('activate', function() { tray.close(); });
|
||||
},
|
||||
|
||||
_onStatusChanged: function(status) {
|
||||
this._sessionStatus = status;
|
||||
this._busyItem.setToggleState(status != GnomeSession.PresenceStatus.BUSY);
|
||||
},
|
||||
|
||||
_onIMPresenceChanged: function(am, type) {
|
||||
if (type == Tp.ConnectionPresenceType.AVAILABLE &&
|
||||
this._sessionStatus == GnomeSession.PresenceStatus.BUSY)
|
||||
this._presence.SetStatusRemote(GnomeSession.PresenceStatus.AVAILABLE);
|
||||
},
|
||||
|
||||
_updateClearSensitivity: function() {
|
||||
this._clearItem.setSensitive(this._tray.clearableCount > 0);
|
||||
},
|
||||
|
||||
_updatePresence: function(item, state) {
|
||||
let status = state ? GnomeSession.PresenceStatus.AVAILABLE
|
||||
: GnomeSession.PresenceStatus.BUSY;
|
||||
this._presence.SetStatusRemote(status);
|
||||
|
||||
let [type, s ,msg] = this._accountManager.get_most_available_presence();
|
||||
let newType = 0;
|
||||
let newStatus;
|
||||
if (status == GnomeSession.PresenceStatus.BUSY &&
|
||||
type == Tp.ConnectionPresenceType.AVAILABLE) {
|
||||
newType = Tp.ConnectionPresenceType.BUSY;
|
||||
newStatus = 'busy';
|
||||
} else if (status == GnomeSession.PresenceStatus.AVAILABLE &&
|
||||
type == Tp.ConnectionPresenceType.BUSY) {
|
||||
newType = Tp.ConnectionPresenceType.AVAILABLE;
|
||||
newStatus = 'available';
|
||||
}
|
||||
|
||||
if (newType > 0)
|
||||
this._accountManager.set_all_requested_presences(newType,
|
||||
newStatus, msg);
|
||||
}
|
||||
});
|
||||
|
||||
const MessageTrayMenuButton = new Lang.Class({
|
||||
@ -1805,8 +1982,9 @@ const MessageTray = new Lang.Class({
|
||||
},
|
||||
|
||||
_sessionUpdated: function() {
|
||||
if ((Main.sessionMode.isLocked || Main.sessionMode.isGreeter) && this._inCtrlAltTab) {
|
||||
Main.ctrlAltTabManager.removeGroup(this._summary);
|
||||
if (Main.sessionMode.isLocked || Main.sessionMode.isGreeter) {
|
||||
if (this._inCtrlAltTab)
|
||||
Main.ctrlAltTabManager.removeGroup(this._summary);
|
||||
this._inCtrlAltTab = false;
|
||||
} else if (!this._inCtrlAltTab) {
|
||||
Main.ctrlAltTabManager.addGroup(this._summary, _("Message Tray"), 'user-available-symbolic',
|
||||
@ -1925,7 +2103,7 @@ const MessageTray = new Lang.Class({
|
||||
this._summary.insert_child_at_index(summaryItem.actor, this._chatSummaryItemsCount);
|
||||
}
|
||||
|
||||
if (!source.trayIcon && !source.isChat && !source.resident)
|
||||
if (source.isClearable)
|
||||
this.clearableCount++;
|
||||
|
||||
this._sources.set(source, obj);
|
||||
@ -1969,7 +2147,7 @@ const MessageTray = new Lang.Class({
|
||||
if (source.isChat)
|
||||
this._chatSummaryItemsCount--;
|
||||
|
||||
if (!source.trayIcon && !source.isChat && !source.resident)
|
||||
if (source.isClearable)
|
||||
this.clearableCount--;
|
||||
|
||||
source.disconnect(obj.notifyId);
|
||||
|
@ -103,126 +103,6 @@ const STANDARD_TRAY_ICON_IMPLEMENTATIONS = {
|
||||
'ibus-ui-gtk': 'keyboard'
|
||||
};
|
||||
|
||||
const NotificationGenericPolicy = new Lang.Class({
|
||||
Name: 'NotificationGenericPolicy',
|
||||
Extends: MessageTray.NotificationPolicy,
|
||||
|
||||
_init: function() {
|
||||
// Don't chain to parent, it would try setting
|
||||
// our properties to the defaults
|
||||
|
||||
this.id = 'generic';
|
||||
|
||||
this._masterSettings = new Gio.Settings({ schema: 'org.gnome.desktop.notifications' });
|
||||
this._masterSettings.connect('changed', Lang.bind(this, this._changed));
|
||||
},
|
||||
|
||||
store: function() { },
|
||||
|
||||
destroy: function() {
|
||||
this._masterSettings.run_dispose();
|
||||
},
|
||||
|
||||
_changed: function(settings, key) {
|
||||
this.emit('policy-changed', key);
|
||||
},
|
||||
|
||||
get enable() {
|
||||
return true;
|
||||
},
|
||||
|
||||
get enableSound() {
|
||||
return true;
|
||||
},
|
||||
|
||||
get showBanners() {
|
||||
return this._masterSettings.get_boolean('show-banners');
|
||||
},
|
||||
|
||||
get forceExpanded() {
|
||||
return false;
|
||||
},
|
||||
|
||||
get showInLockScreen() {
|
||||
return this._masterSettings.get_boolean('show-in-lock-screen');
|
||||
},
|
||||
|
||||
get detailsInLockScreen() {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
const NotificationApplicationPolicy = new Lang.Class({
|
||||
Name: 'NotificationApplicationPolicy',
|
||||
Extends: MessageTray.NotificationPolicy,
|
||||
|
||||
_init: function(id) {
|
||||
// Don't chain to parent, it would try setting
|
||||
// our properties to the defaults
|
||||
|
||||
this.id = id;
|
||||
this._canonicalId = this._canonicalizeId(id)
|
||||
|
||||
this._masterSettings = new Gio.Settings({ schema: 'org.gnome.desktop.notifications' });
|
||||
this._settings = new Gio.Settings({ schema: 'org.gnome.desktop.notifications.application',
|
||||
path: '/org/gnome/desktop/notifications/application/' + this._canonicalId + '/' });
|
||||
|
||||
this._masterSettings.connect('changed', Lang.bind(this, this._changed));
|
||||
this._settings.connect('changed', Lang.bind(this, this._changed));
|
||||
},
|
||||
|
||||
store: function() {
|
||||
this._settings.set_string('application-id', this.id + '.desktop');
|
||||
|
||||
let apps = this._masterSettings.get_strv('application-children');
|
||||
if (apps.indexOf(this._canonicalId) < 0) {
|
||||
apps.push(this._canonicalId);
|
||||
this._masterSettings.set_strv('application-children', apps);
|
||||
}
|
||||
},
|
||||
|
||||
destroy: function() {
|
||||
this._masterSettings.run_dispose();
|
||||
this._settings.run_dispose();
|
||||
},
|
||||
|
||||
_changed: function(settings, key) {
|
||||
this.emit('policy-changed', key);
|
||||
},
|
||||
|
||||
_canonicalizeId: function(id) {
|
||||
// Keys are restricted to lowercase alphanumeric characters and dash,
|
||||
// and two dashes cannot be in succession
|
||||
return id.toLowerCase().replace(/[^a-z0-9\-]/g, '-').replace(/--+/g, '-');
|
||||
},
|
||||
|
||||
get enable() {
|
||||
return this._settings.get_boolean('enable');
|
||||
},
|
||||
|
||||
get enableSound() {
|
||||
return this._settings.get_boolean('enable-sound-alerts');
|
||||
},
|
||||
|
||||
get showBanners() {
|
||||
return this._masterSettings.get_boolean('show-banners') &&
|
||||
this._settings.get_boolean('show-banners');
|
||||
},
|
||||
|
||||
get forceExpanded() {
|
||||
return this._settings.get_boolean('force-expanded');
|
||||
},
|
||||
|
||||
get showInLockScreen() {
|
||||
return this._masterSettings.get_boolean('show-in-lock-screen') &&
|
||||
this._settings.get_boolean('show-in-lock-screen');
|
||||
},
|
||||
|
||||
get detailsInLockScreen() {
|
||||
return this._settings.get_boolean('details-in-lock-screen');
|
||||
}
|
||||
});
|
||||
|
||||
const NotificationDaemon = new Lang.Class({
|
||||
Name: 'NotificationDaemon',
|
||||
|
||||
@ -396,12 +276,13 @@ const NotificationDaemon = new Lang.Class({
|
||||
if (!hints['image-path'] && hints['image_path'])
|
||||
hints['image-path'] = hints['image_path']; // version 1.1 of the spec
|
||||
|
||||
if (!hints['image-data'])
|
||||
if (!hints['image-data']) {
|
||||
if (hints['image_data'])
|
||||
hints['image-data'] = hints['image_data']; // version 1.1 of the spec
|
||||
else if (hints['icon_data'] && !hints['image-path'])
|
||||
// early versions of the spec; 'icon_data' should only be used if 'image-path' is not available
|
||||
hints['image-data'] = hints['icon_data'];
|
||||
}
|
||||
|
||||
let ndata = { appName: appName,
|
||||
icon: icon,
|
||||
@ -674,9 +555,9 @@ const Source = new Lang.Class({
|
||||
_createPolicy: function() {
|
||||
if (this.app) {
|
||||
let id = this.app.get_id().replace(/\.desktop$/,'');
|
||||
return new NotificationApplicationPolicy(id);
|
||||
return new MessageTray.NotificationApplicationPolicy(id);
|
||||
} else {
|
||||
return new NotificationGenericPolicy();
|
||||
return new MessageTray.NotificationGenericPolicy();
|
||||
}
|
||||
},
|
||||
|
||||
@ -752,22 +633,6 @@ const Source = new Lang.Class({
|
||||
return null;
|
||||
},
|
||||
|
||||
_setApp: function(appId) {
|
||||
if (this.app)
|
||||
return;
|
||||
|
||||
this.app = this._getApp(appId);
|
||||
if (!this.app)
|
||||
return;
|
||||
|
||||
// Only override the icon if we were previously using
|
||||
// notification-based icons (ie, not a trayicon) or if it was unset before
|
||||
if (!this.trayIcon) {
|
||||
this.useNotificationIcon = false;
|
||||
this.iconUpdated();
|
||||
}
|
||||
},
|
||||
|
||||
setTitle: function(title) {
|
||||
// Do nothing if .app is set, we don't want to override the
|
||||
// app name with whatever is provided through libnotify (usually
|
||||
@ -779,8 +644,8 @@ const Source = new Lang.Class({
|
||||
},
|
||||
|
||||
open: function(notification) {
|
||||
this.destroyNonResidentNotifications();
|
||||
this.openApp();
|
||||
this.destroyNonResidentNotifications();
|
||||
},
|
||||
|
||||
_lastNotificationRemoved: function() {
|
||||
@ -792,11 +657,8 @@ const Source = new Lang.Class({
|
||||
if (this.app == null)
|
||||
return;
|
||||
|
||||
let windows = this.app.get_windows();
|
||||
if (windows.length > 0) {
|
||||
let mostRecentWindow = windows[0];
|
||||
Main.activateWindow(mostRecentWindow);
|
||||
}
|
||||
this.app.activate();
|
||||
Main.overview.hide();
|
||||
},
|
||||
|
||||
destroy: function() {
|
||||
|
@ -148,7 +148,7 @@ const Overview = new Lang.Class({
|
||||
// Dash elements, or mouseover handlers in the workspaces.
|
||||
this._coverPane = new Clutter.Actor({ opacity: 0,
|
||||
reactive: true });
|
||||
this._stack.add_actor(this._coverPane);
|
||||
Main.layoutManager.overviewGroup.add_child(this._coverPane);
|
||||
this._coverPane.connect('event', Lang.bind(this, function (actor, event) { return true; }));
|
||||
|
||||
this._stack.add_actor(this._overview);
|
||||
|
@ -55,18 +55,21 @@ const SlideLayout = new Lang.Class({
|
||||
vfunc_allocate: function(container, box, flags) {
|
||||
let child = container.get_first_child();
|
||||
|
||||
let [, , natWidth, natHeight] = child.get_preferred_size();
|
||||
let availWidth = Math.round(box.x2 - box.x1);
|
||||
let availHeight = Math.round(box.y2 - box.y1);
|
||||
let [, natWidth] = child.get_preferred_width(availHeight);
|
||||
|
||||
// Align the actor inside the clipped box, as the actor's alignment
|
||||
// flags only determine what to do if the allocated box is bigger
|
||||
// than the actor's box.
|
||||
let realDirection = getRtlSlideDirection(this._direction, child);
|
||||
let translationX = (realDirection == SlideDirection.LEFT) ?
|
||||
(availWidth - natWidth) : (natWidth - availWidth);
|
||||
let alignX = (realDirection == SlideDirection.LEFT) ? (availWidth - natWidth) : 0;
|
||||
|
||||
let actorBox = new Clutter.ActorBox({ x1: translationX,
|
||||
y1: 0,
|
||||
x2: child.x_expand ? availWidth : natWidth,
|
||||
y2: child.y_expand ? availHeight : natHeight });
|
||||
let actorBox = new Clutter.ActorBox();
|
||||
actorBox.x1 = alignX;
|
||||
actorBox.x2 = actorBox.x1 + child.x_expand ? availWidth : natWidth;
|
||||
actorBox.y1 = 0;
|
||||
actorBox.y2 = actorBox.y1 + availHeight;
|
||||
|
||||
child.allocate(actorBox, flags);
|
||||
},
|
||||
@ -236,11 +239,6 @@ const ThumbnailsSlider = new Lang.Class({
|
||||
|
||||
this._thumbnailsBox = thumbnailsBox;
|
||||
|
||||
// SlideLayout reads the actor's expand flags to decide
|
||||
// whether to allocate the natural size to its child, or the whole
|
||||
// available allocation
|
||||
this._thumbnailsBox.actor.y_expand = true;
|
||||
|
||||
this.actor.request_mode = Clutter.RequestMode.WIDTH_FOR_HEIGHT;
|
||||
this.actor.reactive = true;
|
||||
this.actor.track_hover = true;
|
||||
@ -324,7 +322,6 @@ const DashSlider = new Lang.Class({
|
||||
// whether to allocate the natural size to its child, or the whole
|
||||
// available allocation
|
||||
this._dash.actor.x_expand = true;
|
||||
this._dash.actor.y_expand = true;
|
||||
|
||||
this.actor.x_align = Clutter.ActorAlign.START;
|
||||
this.actor.y_expand = true;
|
||||
|
@ -213,9 +213,7 @@ const AppMenuButton = new Lang.Class({
|
||||
this._label = new TextShadower();
|
||||
this._label.actor.y_align = Clutter.ActorAlign.CENTER;
|
||||
this._hbox.add_actor(this._label.actor);
|
||||
this._arrow = new St.Label({ text: '\u25BE',
|
||||
y_expand: true,
|
||||
y_align: Clutter.ActorAlign.CENTER });
|
||||
this._arrow = PopupMenu.unicodeArrow(St.Side.BOTTOM);
|
||||
this._hbox.add_actor(this._arrow);
|
||||
|
||||
this._iconBottomClip = 0;
|
||||
@ -611,6 +609,7 @@ const ActivitiesButton = new Lang.Class({
|
||||
|
||||
_onButtonRelease: function() {
|
||||
Main.overview.toggle();
|
||||
this.menu.close();
|
||||
},
|
||||
|
||||
_onKeyRelease: function(actor, event) {
|
||||
@ -832,9 +831,7 @@ const AggregateMenu = new Lang.Class({
|
||||
this._indicators.add_child(this._rfkill.indicators);
|
||||
this._indicators.add_child(this._volume.indicators);
|
||||
this._indicators.add_child(this._power.indicators);
|
||||
this._indicators.add_child(new St.Label({ text: '\u25BE',
|
||||
y_expand: true,
|
||||
y_align: Clutter.ActorAlign.CENTER }));
|
||||
this._indicators.add_child(PopupMenu.unicodeArrow(St.Side.BOTTOM));
|
||||
|
||||
this.menu.addMenuItem(this._volume.menu);
|
||||
this.menu.addMenuItem(this._brightness.menu);
|
||||
|
@ -42,6 +42,33 @@ function isPopupMenuItemVisible(child) {
|
||||
return child.visible;
|
||||
}
|
||||
|
||||
/**
|
||||
* @side Side to which the arrow points.
|
||||
*/
|
||||
function unicodeArrow(side) {
|
||||
let arrowChar;
|
||||
switch (side) {
|
||||
case St.Side.TOP:
|
||||
arrowChar = '\u25B4';
|
||||
break;
|
||||
case St.Side.RIGHT:
|
||||
arrowChar = '\u25B8';
|
||||
break;
|
||||
case St.Side.BOTTOM:
|
||||
arrowChar = '\u25BE';
|
||||
break;
|
||||
case St.Side.LEFT:
|
||||
arrowChar = '\u25C2';
|
||||
break;
|
||||
}
|
||||
|
||||
return new St.Label({ text: arrowChar,
|
||||
style_class: 'unicode-arrow',
|
||||
accessible_role: Atk.Role.ARROW,
|
||||
y_expand: true,
|
||||
y_align: Clutter.ActorAlign.CENTER });
|
||||
}
|
||||
|
||||
const PopupBaseMenuItem = new Lang.Class({
|
||||
Name: 'PopupBaseMenuItem',
|
||||
|
||||
@ -948,18 +975,21 @@ const PopupSubMenuMenuItem = new Lang.Class({
|
||||
this.actor.add_child(this.icon);
|
||||
}
|
||||
|
||||
this.label = new St.Label({ text: text });
|
||||
this.label = new St.Label({ text: text,
|
||||
y_expand: true,
|
||||
y_align: Clutter.ActorAlign.CENTER });
|
||||
this.actor.add_child(this.label);
|
||||
this.actor.label_actor = this.label;
|
||||
|
||||
let expander = new St.Bin({ style_class: 'popup-menu-item-expander' });
|
||||
this.actor.add(expander, { expand: true });
|
||||
|
||||
this.status = new St.Label({ style_class: 'popup-status-menu-item' });
|
||||
this.status = new St.Label({ style_class: 'popup-status-menu-item',
|
||||
y_expand: true,
|
||||
y_align: Clutter.ActorAlign.CENTER });
|
||||
this.actor.add_child(this.status);
|
||||
|
||||
this._triangle = new St.Label({ text: '\u25B8',
|
||||
style_class: 'popup-submenu-menu-item-triangle' });
|
||||
this._triangle = unicodeArrow(St.Side.RIGHT);
|
||||
this._triangle.pivot_point = new Clutter.Point({ x: 0.5, y: 0.6 });
|
||||
|
||||
this._triangleBin = new St.Widget({ y_expand: true,
|
||||
|
@ -207,6 +207,16 @@ const RemoteSearchProvider = new Lang.Class({
|
||||
icon_size: size });
|
||||
},
|
||||
|
||||
filterResults: function(results, maxNumber) {
|
||||
if (results.length <= maxNumber)
|
||||
return results;
|
||||
|
||||
let regularResults = results.filter(function(r) { return !r.startsWith('special:'); });
|
||||
let specialResults = results.filter(function(r) { return r.startsWith('special:'); });
|
||||
|
||||
return regularResults.slice(0, maxNumber).concat(specialResults.slice(0, maxNumber));
|
||||
},
|
||||
|
||||
_getResultsFinished: function(results, error) {
|
||||
if (error)
|
||||
return;
|
||||
|
@ -19,6 +19,7 @@ const Background = imports.ui.background;
|
||||
const GnomeSession = imports.misc.gnomeSession;
|
||||
const Hash = imports.misc.hash;
|
||||
const Layout = imports.ui.layout;
|
||||
const OVirt = imports.gdm.oVirt;
|
||||
const LoginManager = imports.misc.loginManager;
|
||||
const Lightbox = imports.ui.lightbox;
|
||||
const Main = imports.ui.main;
|
||||
@ -545,6 +546,13 @@ const ScreenShield = new Lang.Class({
|
||||
this._liftShield(true, 0);
|
||||
}));
|
||||
|
||||
this._oVirtCredentialsManager = OVirt.getOVirtCredentialsManager();
|
||||
this._oVirtCredentialsManager.connect('user-authenticated',
|
||||
Lang.bind(this, function() {
|
||||
if (this._isLocked)
|
||||
this._liftShield(true, 0);
|
||||
}));
|
||||
|
||||
this._inhibitor = null;
|
||||
this._aboutToSuspend = false;
|
||||
this._loginManager = LoginManager.getLoginManager();
|
||||
|
@ -214,8 +214,8 @@ const SearchResultsBase = new Lang.Class({
|
||||
this.actor.hide();
|
||||
},
|
||||
|
||||
_keyFocusIn: function(icon) {
|
||||
this.emit('key-focus-in', icon);
|
||||
_keyFocusIn: function(actor) {
|
||||
this.emit('key-focus-in', actor);
|
||||
},
|
||||
|
||||
_setMoreIconVisible: function(visible) {
|
||||
@ -230,7 +230,7 @@ const SearchResultsBase = new Lang.Class({
|
||||
callback();
|
||||
} else {
|
||||
let maxResults = this._getMaxDisplayedResults();
|
||||
let results = providerResults.slice(0, maxResults);
|
||||
let results = this.provider.filterResults(providerResults, maxResults);
|
||||
let hasMoreResults = results.length < providerResults.length;
|
||||
|
||||
this.provider.getResultMetas(results, Lang.bind(this, function(metas) {
|
||||
@ -259,6 +259,7 @@ const ListSearchResults = new Lang.Class({
|
||||
|
||||
this._container = new St.BoxLayout({ style_class: 'search-section-content' });
|
||||
this.providerIcon = new ProviderIcon(provider);
|
||||
this.providerIcon.connect('key-focus-in', Lang.bind(this, this._keyFocusIn));
|
||||
this.providerIcon.connect('clicked', Lang.bind(this,
|
||||
function() {
|
||||
provider.launchSearch(this._terms);
|
||||
@ -404,8 +405,8 @@ const SearchResults = new Lang.Class({
|
||||
return false;
|
||||
},
|
||||
|
||||
_keyFocusIn: function(provider, icon) {
|
||||
Util.ensureActorVisibleInScrollView(this._scrollView, icon);
|
||||
_keyFocusIn: function(provider, actor) {
|
||||
Util.ensureActorVisibleInScrollView(this._scrollView, actor);
|
||||
},
|
||||
|
||||
createProviderDisplay: function(provider) {
|
||||
|
@ -43,9 +43,7 @@ const ATIndicator = new Lang.Class({
|
||||
this._hbox = new St.BoxLayout({ style_class: 'panel-status-menu-box' });
|
||||
this._hbox.add_child(new St.Icon({ style_class: 'system-status-icon',
|
||||
icon_name: 'preferences-desktop-accessibility-symbolic' }));
|
||||
this._hbox.add_child(new St.Label({ text: '\u25BE',
|
||||
y_expand: true,
|
||||
y_align: Clutter.ActorAlign.CENTER }));
|
||||
this._hbox.add_child(PopupMenu.unicodeArrow(St.Side.BOTTOM));
|
||||
|
||||
this.actor.add_child(this._hbox);
|
||||
|
||||
|
@ -9,7 +9,6 @@ const St = imports.gi.St;
|
||||
|
||||
const Main = imports.ui.main;
|
||||
const MessageTray = imports.ui.messageTray;
|
||||
const NotificationDaemon = imports.ui.notificationDaemon;
|
||||
const PanelMenu = imports.ui.panelMenu;
|
||||
const PopupMenu = imports.ui.popupMenu;
|
||||
|
||||
@ -31,6 +30,7 @@ const Indicator = new Lang.Class({
|
||||
this._applet.killswitch_state = GnomeBluetooth.KillswitchState.SOFT_BLOCKED;
|
||||
}));
|
||||
this._item.menu.addSettingsAction(_("Bluetooth Settings"), 'gnome-bluetooth-panel.desktop');
|
||||
this.menu.addMenuItem(this._item);
|
||||
|
||||
this._applet = new GnomeBluetoothApplet.Applet();
|
||||
this._applet.connect('devices-changed', Lang.bind(this, this._sync));
|
||||
@ -54,13 +54,13 @@ const Indicator = new Lang.Class({
|
||||
this._item.actor.visible = on;
|
||||
|
||||
if (on)
|
||||
this._item.status.text = ngettext("%d Connected Device", "%d Connected Devices").format(nDevices);
|
||||
this._item.status.text = ngettext("%d Connected Device", "%d Connected Devices", nDevices).format(nDevices);
|
||||
},
|
||||
|
||||
_ensureSource: function() {
|
||||
if (!this._source) {
|
||||
this._source = new MessageTray.Source(_("Bluetooth"), 'bluetooth-active');
|
||||
this._source.policy = new NotificationDaemon.NotificationApplicationPolicy('gnome-bluetooth-panel');
|
||||
this._source.policy = new MessageTray.NotificationApplicationPolicy('gnome-bluetooth-panel');
|
||||
Main.messageTray.add(this._source);
|
||||
}
|
||||
},
|
||||
|
@ -339,9 +339,7 @@ const InputSourceIndicator = new Lang.Class({
|
||||
|
||||
this._hbox = new St.BoxLayout({ style_class: 'panel-status-menu-box' });
|
||||
this._hbox.add_child(this._container);
|
||||
this._hbox.add_child(new St.Label({ text: '\u25BE',
|
||||
y_expand: true,
|
||||
y_align: Clutter.ActorAlign.CENTER }));
|
||||
this._hbox.add_child(PopupMenu.unicodeArrow(St.Side.BOTTOM));
|
||||
|
||||
this.actor.add_child(this._hbox);
|
||||
this.actor.add_style_class_name('panel-status-button');
|
||||
|
@ -16,7 +16,6 @@ const Main = imports.ui.main;
|
||||
const PanelMenu = imports.ui.panelMenu;
|
||||
const PopupMenu = imports.ui.popupMenu;
|
||||
const MessageTray = imports.ui.messageTray;
|
||||
const NotificationDaemon = imports.ui.notificationDaemon;
|
||||
const ModalDialog = imports.ui.modalDialog;
|
||||
const ModemManager = imports.misc.modemManager;
|
||||
const Util = imports.misc.util;
|
||||
@ -73,6 +72,27 @@ function ssidToLabel(ssid) {
|
||||
return label;
|
||||
}
|
||||
|
||||
function ensureActiveConnectionProps(active, settings) {
|
||||
if (!active._connection) {
|
||||
active._connection = settings.get_connection_by_path(active.connection);
|
||||
|
||||
// This list is guaranteed to have only one device in it.
|
||||
let device = active.get_devices()[0]._delegate;
|
||||
active._primaryDevice = device;
|
||||
}
|
||||
}
|
||||
|
||||
function createSettingsAction(label, device) {
|
||||
let item = new PopupMenu.PopupMenuItem(label);
|
||||
|
||||
item.connect('activate', function() {
|
||||
Util.spawnApp(['gnome-control-center', 'network', 'show-device',
|
||||
device.get_path()]);
|
||||
});
|
||||
|
||||
return item;
|
||||
}
|
||||
|
||||
const NMConnectionItem = new Lang.Class({
|
||||
Name: 'NMConnectionItem',
|
||||
|
||||
@ -170,8 +190,7 @@ const NMConnectionSection = new Lang.Class({
|
||||
},
|
||||
|
||||
destroy: function() {
|
||||
this.statusItem.destroy();
|
||||
this.section.destroy();
|
||||
this.item.destroy();
|
||||
},
|
||||
|
||||
_sync: function() {
|
||||
@ -268,12 +287,12 @@ const NMConnectionDevice = new Lang.Class({
|
||||
Extends: NMConnectionSection,
|
||||
Abstract: true,
|
||||
|
||||
_init: function(client, device) {
|
||||
_init: function(client, device, settings) {
|
||||
this.parent(client);
|
||||
this._device = device;
|
||||
this._settings = settings;
|
||||
|
||||
this._autoConnectItem = this.item.menu.addAction(_("Connect"), Lang.bind(this, this._autoConnect));
|
||||
this.item.menu.addSettingsAction(_("Network Settings"), 'gnome-network-panel.desktop');
|
||||
|
||||
this._stateChangedId = this._device.connect('state-changed', Lang.bind(this, this._deviceStateChanged));
|
||||
this._activeConnectionChangedId = this._device.connect('notify::active-connection', Lang.bind(this, this._activeConnectionChanged));
|
||||
@ -301,6 +320,7 @@ const NMConnectionDevice = new Lang.Class({
|
||||
this._activeConnection = this._device.active_connection;
|
||||
|
||||
if (this._activeConnection) {
|
||||
ensureActiveConnectionProps(this._activeConnection, this._settings);
|
||||
let item = this._connectionItems.get(this._activeConnection._connection.get_uuid());
|
||||
item.setActiveConnection(this._activeConnection);
|
||||
}
|
||||
@ -356,8 +376,9 @@ const NMConnectionDevice = new Lang.Class({
|
||||
|
||||
switch(this._device.state) {
|
||||
case NetworkManager.DeviceState.DISCONNECTED:
|
||||
return _("Off");
|
||||
case NetworkManager.DeviceState.ACTIVATED:
|
||||
return '';
|
||||
return this.parent();
|
||||
case NetworkManager.DeviceState.UNMANAGED:
|
||||
/* 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) */
|
||||
@ -399,8 +420,11 @@ const NMDeviceModem = new Lang.Class({
|
||||
Extends: NMConnectionDevice,
|
||||
category: NMConnectionCategory.WWAN,
|
||||
|
||||
_init: function(client, device) {
|
||||
this.parent(client, device);
|
||||
_init: function(client, device, settings) {
|
||||
this.parent(client, device, settings);
|
||||
|
||||
this.item.menu.addMenuItem(createSettingsAction(_("Mobile Broadband Settings"), device));
|
||||
|
||||
this._mobileDevice = null;
|
||||
|
||||
let capabilities = device.current_capabilities;
|
||||
@ -414,16 +438,7 @@ const NMDeviceModem = new Lang.Class({
|
||||
this._mobileDevice = new ModemManager.ModemGsm(device.udi);
|
||||
|
||||
if (this._mobileDevice) {
|
||||
this._operatorNameId = this._mobileDevice.connect('notify::operator-name', Lang.bind(this, function() {
|
||||
if (this._operatorItem) {
|
||||
let name = this._mobileDevice.operator_name;
|
||||
if (name) {
|
||||
this._operatorItem.label.text = name;
|
||||
this._operatorItem.actor.show();
|
||||
} else
|
||||
this._operatorItem.actor.hide();
|
||||
}
|
||||
}));
|
||||
this._operatorNameId = this._mobileDevice.connect('notify::operator-name', Lang.bind(this, this._sync));
|
||||
this._signalQualityId = this._mobileDevice.connect('notify::signal-quality', Lang.bind(this, function() {
|
||||
this.emit('icon-changed');
|
||||
}));
|
||||
@ -448,6 +463,20 @@ const NMDeviceModem = new Lang.Class({
|
||||
this.parent();
|
||||
},
|
||||
|
||||
_getStatus: function() {
|
||||
if (!this._client.wwan_hardware_enabled)
|
||||
return _("Hardware Disabled");
|
||||
else if (!this._client.wwan_enabled)
|
||||
/* Translators: this is for a network device that cannot be activated
|
||||
because it's disabled by rfkill (airplane mode) */
|
||||
return _("Disabled");
|
||||
else if (this._device.state == NetworkManager.DeviceState.ACTIVATED &&
|
||||
this._mobileDevice && this._mobileDevice.operator_name)
|
||||
return this._mobileDevice.operator_name;
|
||||
else
|
||||
return this.parent();
|
||||
},
|
||||
|
||||
_getMenuIcon: function() {
|
||||
if (this._device.active_connection)
|
||||
return this.getIndicatorIcon();
|
||||
@ -477,6 +506,12 @@ const NMDeviceBluetooth = new Lang.Class({
|
||||
Extends: NMConnectionDevice,
|
||||
category: NMConnectionCategory.WWAN,
|
||||
|
||||
_init: function(client, device, settings) {
|
||||
this.parent(client, device, settings);
|
||||
|
||||
this.item.menu.addMenuItem(createSettingsAction(_("Mobile Broadband Settings"), device));
|
||||
},
|
||||
|
||||
_autoConnect: function() {
|
||||
// FIXME: DUN devices are configured like modems, so
|
||||
// We need to spawn the mobile wizard
|
||||
@ -524,6 +559,8 @@ const NMWirelessDialogItem = new Lang.Class({
|
||||
this.actor.grab_key_focus();
|
||||
}));
|
||||
|
||||
this.actor.connect('key-press-event', Lang.bind(this, this._onKeyPressEvent));
|
||||
|
||||
this._content = new St.BoxLayout({ style_class: 'nm-dialog-item-box' });
|
||||
this.actor.set_child(this._content);
|
||||
|
||||
@ -547,22 +584,38 @@ const NMWirelessDialogItem = new Lang.Class({
|
||||
|
||||
this._signalIcon = new St.Icon({ style_class: 'nm-dialog-icon' });
|
||||
this._icons.add_actor(this._signalIcon);
|
||||
|
||||
this._sync();
|
||||
},
|
||||
|
||||
_sync: function() {
|
||||
this._signalIcon.icon_name = this._getSignalIcon();
|
||||
},
|
||||
|
||||
updateBestAP: function(ap) {
|
||||
this._ap = ap;
|
||||
this._signalIcon.icon_name = this._getIcon();
|
||||
this._sync();
|
||||
},
|
||||
|
||||
setActive: function(isActive) {
|
||||
this._selectedIcon.opacity = isActive ? 255 : 0;
|
||||
},
|
||||
|
||||
_getIcon: function() {
|
||||
_getSignalIcon: function() {
|
||||
if (this._ap.mode == NM80211Mode.ADHOC)
|
||||
return 'network-workgroup-symbolic';
|
||||
else
|
||||
return 'network-wireless-signal-' + signalToIcon(this._ap.strength) + '-symbolic';
|
||||
},
|
||||
|
||||
_onKeyPressEvent: function(actor, event) {
|
||||
let symbol = event.get_key_symbol();
|
||||
if (symbol == Clutter.KEY_space || symbol == Clutter.KEY_Return
|
||||
|| symbol == Clutter.KEY_KP_Enter) {
|
||||
this.emit('connect');
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
});
|
||||
Signals.addSignalMethods(NMWirelessDialogItem.prototype);
|
||||
@ -931,6 +984,9 @@ const NMWirelessDialog = new Lang.Class({
|
||||
Util.ensureActorVisibleInScrollView(this._scrollView, network.item.actor);
|
||||
this._selectNetwork(network);
|
||||
}));
|
||||
network.item.connect('connect', Lang.bind(this, function() {
|
||||
this._connect();
|
||||
}));
|
||||
},
|
||||
});
|
||||
|
||||
@ -952,9 +1008,10 @@ const NMDeviceWireless = new Lang.Class({
|
||||
this._toggleItem.connect('activate', Lang.bind(this, this._toggleWifi));
|
||||
this.item.menu.addMenuItem(this._toggleItem);
|
||||
|
||||
this.item.menu.addSettingsAction(_("Network Settings"), 'gnome-network-panel.desktop');
|
||||
this.item.menu.addMenuItem(createSettingsAction(_("Wi-Fi Settings"), device));
|
||||
|
||||
this._wirelessEnabledChangedId = this._device.connect('notify::wireless-enabled', Lang.bind(this, this._sync));
|
||||
this._wirelessEnabledChangedId = this._client.connect('notify::wireless-enabled', Lang.bind(this, this._sync));
|
||||
this._wirelessHwEnabledChangedId = this._client.connect('notify::wireless-hardware-enabled', Lang.bind(this, this._sync));
|
||||
this._activeApChangedId = this._device.connect('notify::active-access-point', Lang.bind(this, this._activeApChanged));
|
||||
this._stateChangedId = this._device.connect('state-changed', Lang.bind(this, this._deviceStateChanged));
|
||||
|
||||
@ -974,6 +1031,14 @@ const NMDeviceWireless = new Lang.Class({
|
||||
this._activeAccessPoint.disconnect(this._strengthChangedId);
|
||||
this._strengthChangedId = 0;
|
||||
}
|
||||
if (this._wirelessEnabledChangedId) {
|
||||
this._client.disconnect(this._wirelessEnabledChangedId);
|
||||
this._wirelessEnabledChangedId = 0;
|
||||
}
|
||||
if (this._wirelessHwEnabledChangedId) {
|
||||
this._client.disconnect(this._wirelessHwEnabledChangedId);
|
||||
this._wirelessHwEnabledChangedId = 0;
|
||||
}
|
||||
|
||||
this.item.destroy();
|
||||
},
|
||||
@ -1032,6 +1097,7 @@ const NMDeviceWireless = new Lang.Class({
|
||||
|
||||
_sync: function() {
|
||||
this._toggleItem.label.text = this._client.wireless_enabled ? _("Turn Off") : _("Turn On");
|
||||
this._toggleItem.actor.visible = this._client.wireless_hardware_enabled;
|
||||
|
||||
this.item.status.text = this._getStatus();
|
||||
this.item.icon.icon_name = this._getMenuIcon();
|
||||
@ -1045,10 +1111,17 @@ const NMDeviceWireless = new Lang.Class({
|
||||
|
||||
_getStatus: function() {
|
||||
let ap = this._device.active_access_point;
|
||||
if (!ap)
|
||||
return _("Off"); // XXX -- interpret actual status
|
||||
|
||||
return ssidToLabel(ap.get_ssid());
|
||||
if (ap)
|
||||
return ssidToLabel(ap.get_ssid());
|
||||
else if (!this._client.wireless_hardware_enabled)
|
||||
return _("Hardware Disabled");
|
||||
else if (!this._client.wireless_enabled)
|
||||
return _("Off");
|
||||
else if (this._device.state == NetworkManager.DeviceState.DISCONNECTED)
|
||||
return _("Not Connected");
|
||||
else
|
||||
return '';
|
||||
},
|
||||
|
||||
_getMenuIcon: function() {
|
||||
@ -1059,7 +1132,8 @@ const NMDeviceWireless = new Lang.Class({
|
||||
},
|
||||
|
||||
getIndicatorIcon: function() {
|
||||
if (this._device.active_connection.state == NetworkManager.ActiveConnectionState.ACTIVATING)
|
||||
if (this._device.state >= NetworkManager.DeviceState.PREPARE &&
|
||||
this._device.state < NetworkManager.DeviceState.ACTIVATED)
|
||||
return 'network-wireless-acquiring-symbolic';
|
||||
|
||||
let ap = this._device.active_access_point;
|
||||
@ -1117,6 +1191,7 @@ const NMVPNConnectionItem = new Lang.Class({
|
||||
this.emit('activation-failed', reason);
|
||||
}
|
||||
|
||||
this.emit('icon-changed');
|
||||
this.parent();
|
||||
},
|
||||
|
||||
@ -1287,6 +1362,7 @@ const NMApplet = new Lang.Class({
|
||||
this._client.connect('notify::networking-enabled', Lang.bind(this, this._syncNMState));
|
||||
this._client.connect('notify::state', Lang.bind(this, this._syncNMState));
|
||||
this._client.connect('notify::primary-connection', Lang.bind(this, this._syncMainConnection));
|
||||
this._client.connect('notify::activating-connection', Lang.bind(this, this._syncMainConnection));
|
||||
this._client.connect('notify::active-connections', Lang.bind(this, this._syncVPNConnections));
|
||||
this._client.connect('device-added', Lang.bind(this, this._deviceAdded));
|
||||
this._client.connect('device-removed', Lang.bind(this, this._deviceRemoved));
|
||||
@ -1305,7 +1381,7 @@ const NMApplet = new Lang.Class({
|
||||
if (!this._source) {
|
||||
this._source = new MessageTray.Source(_("Network Manager"),
|
||||
'network-transmit-receive');
|
||||
this._source.policy = new NotificationDaemon.NotificationApplicationPolicy('gnome-network-panel');
|
||||
this._source.policy = new MessageTray.NotificationApplicationPolicy('gnome-network-panel');
|
||||
|
||||
this._source.connect('destroy', Lang.bind(this, function() {
|
||||
this._source = null;
|
||||
@ -1417,28 +1493,18 @@ const NMApplet = new Lang.Class({
|
||||
devices.splice(pos, 1);
|
||||
},
|
||||
|
||||
_ensureActiveConnectionProps: function(a) {
|
||||
if (!a._connection) {
|
||||
a._connection = this._settings.get_connection_by_path(a.connection);
|
||||
|
||||
// This list is guaranteed to have only one device in it.
|
||||
let device = a.get_devices()[0]._delegate;
|
||||
a._primaryDevice = device;
|
||||
}
|
||||
},
|
||||
|
||||
_getMainConnection: function() {
|
||||
let connection;
|
||||
|
||||
connection = this._client.get_primary_connection();
|
||||
if (connection) {
|
||||
this._ensureActiveConnectionProps(connection);
|
||||
ensureActiveConnectionProps(connection, this._settings);
|
||||
return connection;
|
||||
}
|
||||
|
||||
connection = this._client.get_activating_connection();
|
||||
if (connection) {
|
||||
this._ensureActiveConnectionProps(connection);
|
||||
ensureActiveConnectionProps(connection, this._settings);
|
||||
return connection;
|
||||
}
|
||||
|
||||
@ -1474,7 +1540,7 @@ const NMApplet = new Lang.Class({
|
||||
return (a instanceof NMClient.VPNConnection);
|
||||
});
|
||||
vpnConnections.forEach(Lang.bind(this, function(a) {
|
||||
this._ensureActiveConnectionProps(a);
|
||||
ensureActiveConnectionProps(a, this._settings);
|
||||
}));
|
||||
this._vpnSection.setActiveConnections(vpnConnections);
|
||||
|
||||
@ -1577,6 +1643,7 @@ const NMApplet = new Lang.Class({
|
||||
_updateIcon: function() {
|
||||
if (!this._client.networking_enabled || !this._mainConnection) {
|
||||
this._primaryIndicator.icon_name = 'network-offline-symbolic';
|
||||
this._primaryIndicator.visible = true;
|
||||
} else {
|
||||
let dev = this._mainConnection._primaryDevice;
|
||||
this._primaryIndicator.visible = (dev != null);
|
||||
|
@ -86,38 +86,30 @@ const Indicator = new Lang.Class({
|
||||
return _("Estimating…");
|
||||
},
|
||||
|
||||
_syncStatusLabel: function() {
|
||||
this._proxy.GetPrimaryDeviceRemote(Lang.bind(this, function(result, error) {
|
||||
if (error) {
|
||||
this._item.actor.hide();
|
||||
return;
|
||||
}
|
||||
_sync: function() {
|
||||
function isBattery(result) {
|
||||
if (!result)
|
||||
return false;
|
||||
|
||||
let [device] = result;
|
||||
let [device_id, device_type] = device;
|
||||
if (device_type == UPower.DeviceKind.BATTERY) {
|
||||
let [, deviceType] = device;
|
||||
return (deviceType == UPower.DeviceKind.BATTERY);
|
||||
}
|
||||
|
||||
this._proxy.GetPrimaryDeviceRemote(Lang.bind(this, function(result, error) {
|
||||
if (isBattery(result)) {
|
||||
let [device] = result;
|
||||
let [,, icon] = device;
|
||||
let gicon = Gio.icon_new_for_string(icon);
|
||||
this._indicator.gicon = gicon;
|
||||
this._item.icon.gicon = gicon;
|
||||
this._item.status.text = this._statusForDevice(device);
|
||||
this._item.actor.show();
|
||||
} else {
|
||||
// If there's no battery, then we use the power icon.
|
||||
this._indicator.icon_name = 'system-shutdown-symbolic';
|
||||
this._item.actor.hide();
|
||||
}
|
||||
}));
|
||||
},
|
||||
|
||||
_syncIcon: function() {
|
||||
let icon = this._proxy.Icon;
|
||||
if (icon) {
|
||||
let gicon = Gio.icon_new_for_string(icon);
|
||||
this._indicator.gicon = gicon;
|
||||
this._item.icon.gicon = gicon;
|
||||
} else {
|
||||
// If there's no battery, then we use the power icon.
|
||||
this._indicator.icon_name = 'system-shutdown-symbolic';
|
||||
}
|
||||
},
|
||||
|
||||
_sync: function() {
|
||||
this._syncIcon();
|
||||
this._syncStatusLabel();
|
||||
}
|
||||
});
|
||||
|
@ -372,7 +372,11 @@ const Indicator = new Lang.Class({
|
||||
Main.overview.hide();
|
||||
if (Main.screenShield)
|
||||
Main.screenShield.lock(false);
|
||||
Gdm.goto_login_session_sync(null);
|
||||
|
||||
Clutter.threads_add_repaint_func_full(Clutter.RepaintFlags.POST_PAINT, function() {
|
||||
Gdm.goto_login_session_sync(null);
|
||||
return false;
|
||||
});
|
||||
},
|
||||
|
||||
_onQuitSessionActivate: function() {
|
||||
|
@ -132,6 +132,10 @@ const WandaSearchProvider = new Lang.Class({
|
||||
}]);
|
||||
},
|
||||
|
||||
filterResults: function(results) {
|
||||
return results;
|
||||
},
|
||||
|
||||
getInitialResultSet: function(terms) {
|
||||
if (terms.join(' ') == MAGIC_FISH_KEY) {
|
||||
this.searchSystem.setResults(this, [ FISH_NAME ]);
|
||||
|
@ -20,8 +20,6 @@ const FOCUS_ANIMATION_TIME = 0.15;
|
||||
|
||||
const WINDOW_DND_SIZE = 256;
|
||||
|
||||
const SCROLL_SCALE_AMOUNT = 100 / 5;
|
||||
|
||||
const WINDOW_CLONE_MAXIMUM_SCALE = 0.7;
|
||||
|
||||
const LIGHTBOX_FADE_TIME = 0.1;
|
||||
@ -345,19 +343,6 @@ const WindowOverlay = new Lang.Class({
|
||||
this._animateVisible();
|
||||
},
|
||||
|
||||
fadeIn: function() {
|
||||
if (!this._hidden)
|
||||
return;
|
||||
|
||||
this.show();
|
||||
this.title.opacity = 0;
|
||||
this._parentActor.raise_top();
|
||||
Tweener.addTween(this.title,
|
||||
{ opacity: 255,
|
||||
time: CLOSE_BUTTON_FADE_TIME,
|
||||
transition: 'easeOutQuad' });
|
||||
},
|
||||
|
||||
chromeHeights: function () {
|
||||
return [Math.max(this.borderSize, this.closeButton.height - this.closeButton._overlap),
|
||||
this.title.height + this.title._spacing];
|
||||
@ -374,7 +359,6 @@ const WindowOverlay = new Lang.Class({
|
||||
let border = this.border;
|
||||
|
||||
Tweener.removeTweens(button);
|
||||
Tweener.removeTweens(title);
|
||||
Tweener.removeTweens(border);
|
||||
|
||||
let [cloneX, cloneY, cloneWidth, cloneHeight] = this._windowClone.slot;
|
||||
@ -1144,7 +1128,7 @@ const Workspace = new Lang.Class({
|
||||
clone.actor.set_scale(scale, scale);
|
||||
clone.actor.set_opacity(255);
|
||||
clone.overlay.relayout(false);
|
||||
this._showWindowOverlay(clone, overlay, isOnCurrentWorkspace);
|
||||
this._showWindowOverlay(clone, overlay);
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -1174,23 +1158,19 @@ const Workspace = new Lang.Class({
|
||||
time: Overview.ANIMATION_TIME,
|
||||
transition: 'easeOutQuad',
|
||||
onComplete: Lang.bind(this, function() {
|
||||
this._showWindowOverlay(clone, overlay, true);
|
||||
this._showWindowOverlay(clone, overlay);
|
||||
})
|
||||
});
|
||||
|
||||
clone.overlay.relayout(true);
|
||||
},
|
||||
|
||||
_showWindowOverlay: function(clone, overlay, fade) {
|
||||
_showWindowOverlay: function(clone, overlay) {
|
||||
if (clone.inDrag)
|
||||
return;
|
||||
|
||||
if (overlay) {
|
||||
if (fade)
|
||||
overlay.fadeIn();
|
||||
else
|
||||
if (overlay && overlay._hidden)
|
||||
overlay.show();
|
||||
}
|
||||
},
|
||||
|
||||
_delayedWindowRepositioning: function() {
|
||||
|
@ -536,20 +536,6 @@ const ThumbnailsBox = new Lang.Class({
|
||||
this.actor.connect('allocate', Lang.bind(this, this._allocate));
|
||||
this.actor._delegate = this;
|
||||
|
||||
// When we animate the scale, we don't animate the requested size of the thumbnails, rather
|
||||
// we ask for our final size and then animate within that size. This slightly simplifies the
|
||||
// interaction with the main workspace windows (instead of constantly reallocating them
|
||||
// to a new size, they get a new size once, then use the standard window animation code
|
||||
// allocate the windows to their new positions), however it causes problems for drawing
|
||||
// the background and border wrapped around the thumbnail as we animate - we can't just pack
|
||||
// the container into a box and set style properties on the box since that box would wrap
|
||||
// around the final size not the animating size. So instead we fake the background with
|
||||
// an actor underneath the content and adjust the allocation of our children to leave space
|
||||
// for the border and padding of the background actor.
|
||||
this._background = new St.Bin({ style_class: 'workspace-thumbnails-background' });
|
||||
|
||||
this.actor.add_actor(this._background);
|
||||
|
||||
let indicator = new St.Bin({ style_class: 'workspace-thumbnail-indicator' });
|
||||
|
||||
// We don't want the indicator to affect drag-and-drop
|
||||
@ -1042,9 +1028,6 @@ const ThumbnailsBox = new Lang.Class({
|
||||
},
|
||||
|
||||
_getPreferredHeight: function(actor, forWidth, alloc) {
|
||||
// See comment about this._background in _init()
|
||||
let themeNode = this._background.get_theme_node();
|
||||
|
||||
// Note that for getPreferredWidth/Height we cheat a bit and skip propagating
|
||||
// the size request to our children because we know how big they are and know
|
||||
// that the actors aren't depending on the virtual functions being called.
|
||||
@ -1052,24 +1035,21 @@ const ThumbnailsBox = new Lang.Class({
|
||||
if (this._thumbnails.length == 0)
|
||||
return;
|
||||
|
||||
let spacing = this.actor.get_theme_node().get_length('spacing');
|
||||
let themeNode = this.actor.get_theme_node();
|
||||
|
||||
let spacing = themeNode.get_length('spacing');
|
||||
let nWorkspaces = global.screen.n_workspaces;
|
||||
let totalSpacing = (nWorkspaces - 1) * spacing;
|
||||
|
||||
[alloc.min_size, alloc.natural_size] =
|
||||
themeNode.adjust_preferred_height(totalSpacing,
|
||||
totalSpacing + nWorkspaces * this._porthole.height * MAX_THUMBNAIL_SCALE);
|
||||
alloc.min_size = totalSpacing;
|
||||
alloc.natural_size = totalSpacing + nWorkspaces * this._porthole.height * MAX_THUMBNAIL_SCALE;
|
||||
},
|
||||
|
||||
_getPreferredWidth: function(actor, forHeight, alloc) {
|
||||
// See comment about this._background in _init()
|
||||
let themeNode = this._background.get_theme_node();
|
||||
|
||||
if (this._thumbnails.length == 0)
|
||||
return;
|
||||
|
||||
// We don't animate our preferred width, which is always reported according
|
||||
// to the actual number of current workspaces, we just animate within that
|
||||
let themeNode = this.actor.get_theme_node();
|
||||
|
||||
let spacing = this.actor.get_theme_node().get_length('spacing');
|
||||
let nWorkspaces = global.screen.n_workspaces;
|
||||
@ -1081,28 +1061,26 @@ const ThumbnailsBox = new Lang.Class({
|
||||
scale = Math.min(scale, MAX_THUMBNAIL_SCALE);
|
||||
|
||||
let width = Math.round(this._porthole.width * scale);
|
||||
[alloc.min_size, alloc.natural_size] =
|
||||
themeNode.adjust_preferred_width(width, width);
|
||||
alloc.min_size = width;
|
||||
alloc.natural_size = width;
|
||||
},
|
||||
|
||||
_allocate: function(actor, box, flags) {
|
||||
let rtl = (Clutter.get_default_text_direction () == Clutter.TextDirection.RTL);
|
||||
|
||||
// See comment about this._background in _init()
|
||||
let themeNode = this._background.get_theme_node();
|
||||
let contentBox = themeNode.get_content_box(box);
|
||||
|
||||
if (this._thumbnails.length == 0) // not visible
|
||||
return;
|
||||
|
||||
let themeNode = this.actor.get_theme_node();
|
||||
|
||||
let portholeWidth = this._porthole.width;
|
||||
let portholeHeight = this._porthole.height;
|
||||
let spacing = this.actor.get_theme_node().get_length('spacing');
|
||||
let spacing = themeNode.get_length('spacing');
|
||||
|
||||
// Compute the scale we'll need once everything is updated
|
||||
let nWorkspaces = global.screen.n_workspaces;
|
||||
let totalSpacing = (nWorkspaces - 1) * spacing;
|
||||
let avail = (contentBox.y2 - contentBox.y1) - totalSpacing;
|
||||
let avail = (box.y2 - box.y1) - totalSpacing;
|
||||
|
||||
let newScale = (avail / nWorkspaces) / portholeHeight;
|
||||
newScale = Math.min(newScale, MAX_THUMBNAIL_SCALE);
|
||||
@ -1131,21 +1109,6 @@ const ThumbnailsBox = new Lang.Class({
|
||||
else
|
||||
slideOffset = thumbnailWidth + themeNode.get_padding(St.Side.RIGHT);
|
||||
|
||||
let childBox = new Clutter.ActorBox();
|
||||
|
||||
// The background is horizontally restricted to correspond to the current thumbnail size
|
||||
// but otherwise covers the entire allocation
|
||||
if (rtl) {
|
||||
childBox.x1 = box.x1;
|
||||
childBox.x2 = box.x2 - ((contentBox.x2 - contentBox.x1) - thumbnailWidth);
|
||||
} else {
|
||||
childBox.x1 = box.x1 + ((contentBox.x2 - contentBox.x1) - thumbnailWidth);
|
||||
childBox.x2 = box.x2;
|
||||
}
|
||||
childBox.y1 = box.y1;
|
||||
childBox.y2 = box.y2;
|
||||
this._background.allocate(childBox, flags);
|
||||
|
||||
let indicatorY1 = this._indicatorY;
|
||||
let indicatorY2;
|
||||
// when not animating, the workspace position overrides this._indicatorY
|
||||
@ -1157,7 +1120,7 @@ const ThumbnailsBox = new Lang.Class({
|
||||
let indicatorLeftFullBorder = indicatorThemeNode.get_padding(St.Side.LEFT) + indicatorThemeNode.get_border_width(St.Side.LEFT);
|
||||
let indicatorRightFullBorder = indicatorThemeNode.get_padding(St.Side.RIGHT) + indicatorThemeNode.get_border_width(St.Side.RIGHT);
|
||||
|
||||
let y = contentBox.y1;
|
||||
let y = box.y1;
|
||||
|
||||
if (this._dropPlaceholderPos == -1) {
|
||||
Meta.later_add(Meta.LaterType.BEFORE_REDRAW, Lang.bind(this, function() {
|
||||
@ -1165,6 +1128,8 @@ const ThumbnailsBox = new Lang.Class({
|
||||
}));
|
||||
}
|
||||
|
||||
let childBox = new Clutter.ActorBox();
|
||||
|
||||
for (let i = 0; i < this._thumbnails.length; i++) {
|
||||
let thumbnail = this._thumbnails[i];
|
||||
|
||||
@ -1173,10 +1138,10 @@ const ThumbnailsBox = new Lang.Class({
|
||||
|
||||
let x1, x2;
|
||||
if (rtl) {
|
||||
x1 = contentBox.x1 + slideOffset * thumbnail.slidePosition;
|
||||
x1 = box.x1 + slideOffset * thumbnail.slidePosition;
|
||||
x2 = x1 + thumbnailWidth;
|
||||
} else {
|
||||
x1 = contentBox.x2 - thumbnailWidth + slideOffset * thumbnail.slidePosition;
|
||||
x1 = box.x2 - thumbnailWidth + slideOffset * thumbnail.slidePosition;
|
||||
x2 = x1 + thumbnailWidth;
|
||||
}
|
||||
|
||||
@ -1223,11 +1188,11 @@ const ThumbnailsBox = new Lang.Class({
|
||||
}
|
||||
|
||||
if (rtl) {
|
||||
childBox.x1 = contentBox.x1;
|
||||
childBox.x2 = contentBox.x1 + thumbnailWidth;
|
||||
childBox.x1 = box.x1;
|
||||
childBox.x2 = box.x1 + thumbnailWidth;
|
||||
} else {
|
||||
childBox.x1 = contentBox.x2 - thumbnailWidth;
|
||||
childBox.x2 = contentBox.x2;
|
||||
childBox.x1 = box.x2 - thumbnailWidth;
|
||||
childBox.x2 = box.x2;
|
||||
}
|
||||
childBox.x1 -= indicatorLeftFullBorder;
|
||||
childBox.x2 += indicatorRightFullBorder;
|
||||
|
@ -62,7 +62,6 @@ const WorkspacesView = new Lang.Class({
|
||||
this._animating = false; // tweening
|
||||
this._scrolling = false; // swipe-scrolling
|
||||
this._animatingScroll = false; // programatically updating the adjustment
|
||||
this._zoomOut = false; // zoom to a larger area
|
||||
this._inDrag = false; // dragging a window
|
||||
|
||||
this._settings = new Gio.Settings({ schema: OVERRIDE_SCHEMA });
|
||||
@ -168,14 +167,6 @@ const WorkspacesView = new Lang.Class({
|
||||
this._workspaces[i].setActualGeometry(geom);
|
||||
},
|
||||
|
||||
_lookupWorkspaceForMetaWindow: function (metaWindow) {
|
||||
for (let i = 0; i < this._workspaces.length; i++) {
|
||||
if (this._workspaces[i].containsMetaWindow(metaWindow))
|
||||
return this._workspaces[i];
|
||||
}
|
||||
return null;
|
||||
},
|
||||
|
||||
getActiveWorkspace: function() {
|
||||
let active = global.screen.get_active_workspace_index();
|
||||
return this._workspaces[active];
|
||||
@ -433,10 +424,6 @@ const WorkspacesView = new Lang.Class({
|
||||
this._workspaces[i].actor.y += dy;
|
||||
}
|
||||
},
|
||||
|
||||
_getWorkspaceIndexToRemove: function() {
|
||||
return global.screen.get_active_workspace_index();
|
||||
}
|
||||
});
|
||||
Signals.addSignalMethods(WorkspacesView.prototype);
|
||||
|
||||
|
1828
po/ca@valencia.po
1828
po/ca@valencia.po
File diff suppressed because it is too large
Load Diff
196
po/da.po
196
po/da.po
@ -17,8 +17,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-09-14 15:55+0200\n"
|
||||
"PO-Revision-Date: 2013-09-14 10:23+0100\n"
|
||||
"POT-Creation-Date: 2013-10-01 19:10+0200\n"
|
||||
"PO-Revision-Date: 2013-10-01 19:06+0200\n"
|
||||
"Last-Translator: Kris Thomsen <mail@kristhomsen.dk>\n"
|
||||
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
|
||||
"Language: da\n"
|
||||
@ -274,6 +274,12 @@ msgstr "Arbejdsområder er håndteret dynamisk"
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Arbejdsområder kun på den primære skærm"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr ""
|
||||
"Forsink fokusændringer i musetilstand indtil pegeren holder op med at bevæge "
|
||||
"sig"
|
||||
|
||||
#: ../js/extensionPrefs/main.js:125
|
||||
#, c-format
|
||||
msgid "There was an error loading the preferences dialog for %s:"
|
||||
@ -288,10 +294,10 @@ msgid "Select an extension to configure using the combobox above."
|
||||
msgstr ""
|
||||
"Vælg en udvidelse at konfigurere ved hjælp af kombinationsboksen ovenfor."
|
||||
|
||||
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:132
|
||||
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:136
|
||||
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351
|
||||
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
|
||||
#: ../js/ui/status/bluetooth.js:221 ../js/ui/status/network.js:686
|
||||
#: ../js/ui/status/bluetooth.js:222 ../js/ui/status/network.js:692
|
||||
msgid "Cancel"
|
||||
msgstr "Annullér"
|
||||
|
||||
@ -330,8 +336,8 @@ msgstr "(f.eks. bruger 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:627 ../js/ui/components/networkAgent.js:255
|
||||
#: ../js/ui/components/networkAgent.js:273
|
||||
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:259
|
||||
#: ../js/ui/components/networkAgent.js:277
|
||||
msgid "Username: "
|
||||
msgstr "Brugernavn: "
|
||||
|
||||
@ -367,27 +373,27 @@ msgstr "Kunne ikke fortolke kommando:"
|
||||
msgid "Execution of '%s' failed:"
|
||||
msgstr "Kørsel af \"%s\" mislykkedes:"
|
||||
|
||||
#: ../js/ui/appDisplay.js:598
|
||||
#: ../js/ui/appDisplay.js:596
|
||||
msgid "Frequently used applications will appear here"
|
||||
msgstr "Ofte brugte programmer vil blive vist her"
|
||||
|
||||
#: ../js/ui/appDisplay.js:714
|
||||
#: ../js/ui/appDisplay.js:712
|
||||
msgid "Frequent"
|
||||
msgstr "Ofte"
|
||||
|
||||
#: ../js/ui/appDisplay.js:721
|
||||
#: ../js/ui/appDisplay.js:719
|
||||
msgid "All"
|
||||
msgstr "Alle"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1516
|
||||
#: ../js/ui/appDisplay.js:1514
|
||||
msgid "New Window"
|
||||
msgstr "Nyt vindue"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1519 ../js/ui/dash.js:284
|
||||
#: ../js/ui/appDisplay.js:1517 ../js/ui/dash.js:284
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Fjern fra favoritter"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1520
|
||||
#: ../js/ui/appDisplay.js:1518
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Føj til favoritter"
|
||||
|
||||
@ -401,7 +407,8 @@ msgstr "%s er blevet føjet til dine favoritter."
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "%s er blevet fjernet fra dine favoritter."
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/status/system.js:325
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:808
|
||||
#: ../js/ui/status/system.js:325
|
||||
msgid "Settings"
|
||||
msgstr "Indstillinger"
|
||||
|
||||
@ -587,50 +594,50 @@ msgstr "Åbn med %s"
|
||||
msgid "Eject"
|
||||
msgstr "Skub ud"
|
||||
|
||||
#: ../js/ui/components/keyring.js:88 ../js/ui/components/polkitAgent.js:280
|
||||
#: ../js/ui/components/keyring.js:91 ../js/ui/components/polkitAgent.js:280
|
||||
msgid "Password:"
|
||||
msgstr "Adgangskode:"
|
||||
|
||||
#: ../js/ui/components/keyring.js:107
|
||||
#: ../js/ui/components/keyring.js:110
|
||||
msgid "Type again:"
|
||||
msgstr "Indtast igen:"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:127 ../js/ui/status/network.js:112
|
||||
#: ../js/ui/status/network.js:275 ../js/ui/status/network.js:689
|
||||
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:112
|
||||
#: ../js/ui/status/network.js:275 ../js/ui/status/network.js:695
|
||||
msgid "Connect"
|
||||
msgstr "Forbind"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: ../js/ui/components/networkAgent.js:218
|
||||
#: ../js/ui/components/networkAgent.js:230
|
||||
#: ../js/ui/components/networkAgent.js:257
|
||||
#: ../js/ui/components/networkAgent.js:277
|
||||
#: ../js/ui/components/networkAgent.js:287
|
||||
#: ../js/ui/components/networkAgent.js:222
|
||||
#: ../js/ui/components/networkAgent.js:234
|
||||
#: ../js/ui/components/networkAgent.js:261
|
||||
#: ../js/ui/components/networkAgent.js:281
|
||||
#: ../js/ui/components/networkAgent.js:291
|
||||
msgid "Password: "
|
||||
msgstr "Adgangskode: "
|
||||
|
||||
#. static WEP
|
||||
#: ../js/ui/components/networkAgent.js:223
|
||||
#: ../js/ui/components/networkAgent.js:227
|
||||
msgid "Key: "
|
||||
msgstr "Nøgle: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:261
|
||||
#: ../js/ui/components/networkAgent.js:265
|
||||
msgid "Identity: "
|
||||
msgstr "Identitet: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:263
|
||||
#: ../js/ui/components/networkAgent.js:267
|
||||
msgid "Private key password: "
|
||||
msgstr "Privatnøgle-adgangskode: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:275
|
||||
#: ../js/ui/components/networkAgent.js:279
|
||||
msgid "Service: "
|
||||
msgstr "Tjeneste: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:304
|
||||
#: ../js/ui/components/networkAgent.js:308
|
||||
msgid "Authentication required by wireless network"
|
||||
msgstr "Godkendelse påkrævet af trådløst netværk"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:305
|
||||
#: ../js/ui/components/networkAgent.js:309
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
@ -639,35 +646,35 @@ msgstr ""
|
||||
"Adgangskoder eller krypteringsnøgler er påkrævet for at få adgang til det "
|
||||
"trådløse netværk \"%s\"."
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:309
|
||||
#: ../js/ui/components/networkAgent.js:313
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "Trådet 802.1X-godkendelse"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:311
|
||||
#: ../js/ui/components/networkAgent.js:315
|
||||
msgid "Network name: "
|
||||
msgstr "Netværksnavn: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:316
|
||||
#: ../js/ui/components/networkAgent.js:320
|
||||
msgid "DSL authentication"
|
||||
msgstr "DSL-godkendelse"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:323
|
||||
#: ../js/ui/components/networkAgent.js:327
|
||||
msgid "PIN code required"
|
||||
msgstr "PIN-kode påkrævet"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:324
|
||||
#: ../js/ui/components/networkAgent.js:328
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "PIN-kode er nødvendig for den mobile bredbåndsenhed"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:325
|
||||
#: ../js/ui/components/networkAgent.js:329
|
||||
msgid "PIN: "
|
||||
msgstr "PIN: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:331
|
||||
#: ../js/ui/components/networkAgent.js:335
|
||||
msgid "Mobile broadband network password"
|
||||
msgstr "Adgangskode til mobilt bredbåndsnetværk"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:332
|
||||
#: ../js/ui/components/networkAgent.js:336
|
||||
#, c-format
|
||||
msgid "A password is required to connect to '%s'."
|
||||
msgstr "En adgangskode er påkrævet for at forbinde til \"%s\"."
|
||||
@ -1155,11 +1162,11 @@ msgstr "Menu for statusfelt"
|
||||
msgid "No Messages"
|
||||
msgstr "Ingen beskeder"
|
||||
|
||||
#: ../js/ui/messageTray.js:1812
|
||||
#: ../js/ui/messageTray.js:1813
|
||||
msgid "Message Tray"
|
||||
msgstr "Besked-statusfelt"
|
||||
|
||||
#: ../js/ui/messageTray.js:2787
|
||||
#: ../js/ui/messageTray.js:2788
|
||||
msgid "System Information"
|
||||
msgstr "Systeminformation"
|
||||
|
||||
@ -1201,11 +1208,7 @@ msgstr "Afslut"
|
||||
msgid "Activities"
|
||||
msgstr "Aktiviteter"
|
||||
|
||||
#: ../js/ui/panel.js:807
|
||||
msgid "Settings Menu"
|
||||
msgstr "Menu for indstillinger"
|
||||
|
||||
#: ../js/ui/panel.js:903
|
||||
#: ../js/ui/panel.js:904
|
||||
msgid "Top Bar"
|
||||
msgstr "Toppanel"
|
||||
|
||||
@ -1262,11 +1265,11 @@ msgstr "Kunne ikke låse"
|
||||
msgid "Lock was blocked by an application"
|
||||
msgstr "Lås blev blokeret af et program"
|
||||
|
||||
#: ../js/ui/searchDisplay.js:447
|
||||
#: ../js/ui/searchDisplay.js:448
|
||||
msgid "Searching…"
|
||||
msgstr "Søger…"
|
||||
|
||||
#: ../js/ui/searchDisplay.js:491
|
||||
#: ../js/ui/searchDisplay.js:492
|
||||
msgid "No results."
|
||||
msgstr "Ingen resultater."
|
||||
|
||||
@ -1340,14 +1343,14 @@ msgstr "Stor tekst"
|
||||
|
||||
#. 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:28 ../js/ui/status/bluetooth.js:62
|
||||
#: ../js/ui/status/bluetooth.js:99 ../js/ui/status/bluetooth.js:127
|
||||
#: ../js/ui/status/bluetooth.js:163 ../js/ui/status/bluetooth.js:194
|
||||
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:63
|
||||
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
|
||||
#: ../js/ui/status/bluetooth.js:164 ../js/ui/status/bluetooth.js:195
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:30 ../js/ui/status/network.js:112
|
||||
#: ../js/ui/status/network.js:1034 ../js/ui/status/rfkill.js:46
|
||||
#: ../js/ui/status/network.js:1040 ../js/ui/status/rfkill.js:46
|
||||
msgid "Turn Off"
|
||||
msgstr "Sluk"
|
||||
|
||||
@ -1355,56 +1358,56 @@ msgstr "Sluk"
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Indstillinger for Bluetooth"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:57
|
||||
#: ../js/ui/status/bluetooth.js:58
|
||||
#, c-format
|
||||
msgid "%d Connected Device"
|
||||
msgid_plural "%d Connected Devices"
|
||||
msgstr[0] "%d forbundet enhed"
|
||||
msgstr[1] "%d forbundne enheder"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
|
||||
#: ../js/ui/status/bluetooth.js:101 ../js/ui/status/bluetooth.js:129
|
||||
#, c-format
|
||||
msgid "Authorization request from %s"
|
||||
msgstr "Godkendelsesforespørgsel fra %s"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:106 ../js/ui/status/bluetooth.js:171
|
||||
#: ../js/ui/status/bluetooth.js:202
|
||||
#: ../js/ui/status/bluetooth.js:107 ../js/ui/status/bluetooth.js:172
|
||||
#: ../js/ui/status/bluetooth.js:203
|
||||
#, c-format
|
||||
msgid "Device %s wants to pair with this computer"
|
||||
msgstr "Enheden %s ønsker at blive parret med denne computer"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:108
|
||||
#: ../js/ui/status/bluetooth.js:109
|
||||
msgid "Allow"
|
||||
msgstr "Tillad"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:109
|
||||
#: ../js/ui/status/bluetooth.js:110
|
||||
msgid "Deny"
|
||||
msgstr "Nægt"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:134
|
||||
#: ../js/ui/status/bluetooth.js:135
|
||||
#, c-format
|
||||
msgid "Device %s wants access to the service '%s'"
|
||||
msgstr "Enheden %s ønsker adgang til tjenesten \"%s\""
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:136
|
||||
#: ../js/ui/status/bluetooth.js:137
|
||||
msgid "Always grant access"
|
||||
msgstr "Giv altid adgang"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:137
|
||||
#: ../js/ui/status/bluetooth.js:138
|
||||
msgid "Grant this time only"
|
||||
msgstr "Giv kun lov denne gang"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:138
|
||||
#: ../js/ui/status/bluetooth.js:139
|
||||
msgid "Reject"
|
||||
msgstr "Afvis"
|
||||
|
||||
#. Translators: argument is the device short name
|
||||
#: ../js/ui/status/bluetooth.js:165
|
||||
#: ../js/ui/status/bluetooth.js:166
|
||||
#, c-format
|
||||
msgid "Pairing confirmation for %s"
|
||||
msgstr "Bekræftelse af parring for %s"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:172
|
||||
#: ../js/ui/status/bluetooth.js:173
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Please confirm whether the Passkey '%06d' matches the one on the device."
|
||||
@ -1413,24 +1416,24 @@ msgstr ""
|
||||
"enheden."
|
||||
|
||||
#. Translators: this is the verb, not the noun
|
||||
#: ../js/ui/status/bluetooth.js:175
|
||||
#: ../js/ui/status/bluetooth.js:176
|
||||
msgid "Matches"
|
||||
msgstr "Stemmer"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:176
|
||||
#: ../js/ui/status/bluetooth.js:177
|
||||
msgid "Does not match"
|
||||
msgstr "Stemmer ikke"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:195
|
||||
#: ../js/ui/status/bluetooth.js:196
|
||||
#, c-format
|
||||
msgid "Pairing request for %s"
|
||||
msgstr "Forespørgsel om parring for %s"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:203
|
||||
#: ../js/ui/status/bluetooth.js:204
|
||||
msgid "Please enter the PIN mentioned on the device."
|
||||
msgstr "Indtast PIN-koden nævnt på enheden."
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:220
|
||||
#: ../js/ui/status/bluetooth.js:221
|
||||
msgid "OK"
|
||||
msgstr "O.k."
|
||||
|
||||
@ -1446,11 +1449,11 @@ msgstr "Vis tastaturlayout"
|
||||
msgid "<unknown>"
|
||||
msgstr "<ukendt>"
|
||||
|
||||
#: ../js/ui/status/network.js:203 ../js/ui/status/network.js:1049
|
||||
#: ../js/ui/status/network.js:203 ../js/ui/status/network.js:1055
|
||||
msgid "Off"
|
||||
msgstr "Slukket"
|
||||
|
||||
#: ../js/ui/status/network.js:276 ../js/ui/status/network.js:955
|
||||
#: ../js/ui/status/network.js:276 ../js/ui/status/network.js:961
|
||||
#: ../js/ui/status/rfkill.js:49
|
||||
msgid "Network Settings"
|
||||
msgstr "Indstillinger for netværk"
|
||||
@ -1465,12 +1468,12 @@ msgstr "ikke håndteret"
|
||||
msgid "disconnecting..."
|
||||
msgstr "frakobler..."
|
||||
|
||||
#: ../js/ui/status/network.js:372 ../js/ui/status/network.js:1100
|
||||
#: ../js/ui/status/network.js:372 ../js/ui/status/network.js:1106
|
||||
msgid "connecting..."
|
||||
msgstr "forbinder..."
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password
|
||||
#: ../js/ui/status/network.js:375 ../js/ui/status/network.js:1103
|
||||
#: ../js/ui/status/network.js:375 ../js/ui/status/network.js:1109
|
||||
msgid "authentication required"
|
||||
msgstr "godkendelse påkrævet"
|
||||
|
||||
@ -1486,43 +1489,43 @@ msgstr "firmware mangler"
|
||||
msgid "unavailable"
|
||||
msgstr "utilgængelig"
|
||||
|
||||
#: ../js/ui/status/network.js:389 ../js/ui/status/network.js:1105
|
||||
#: ../js/ui/status/network.js:389 ../js/ui/status/network.js:1111
|
||||
msgid "connection failed"
|
||||
msgstr "forbindelse mislykkedes"
|
||||
|
||||
#: ../js/ui/status/network.js:654
|
||||
#: ../js/ui/status/network.js:660
|
||||
msgid "Wi-Fi Networks"
|
||||
msgstr "Trådløse netværk"
|
||||
|
||||
#: ../js/ui/status/network.js:656
|
||||
#: ../js/ui/status/network.js:662
|
||||
msgid "Select a network"
|
||||
msgstr "Vælg et netværk"
|
||||
|
||||
#: ../js/ui/status/network.js:680
|
||||
#: ../js/ui/status/network.js:686
|
||||
msgid "No Networks"
|
||||
msgstr "Ingen netværk"
|
||||
|
||||
#: ../js/ui/status/network.js:949
|
||||
#: ../js/ui/status/network.js:955
|
||||
msgid "Select Network"
|
||||
msgstr "Vælg netværk"
|
||||
|
||||
#: ../js/ui/status/network.js:1034
|
||||
#: ../js/ui/status/network.js:1040
|
||||
msgid "Turn On"
|
||||
msgstr "Tænd"
|
||||
|
||||
#: ../js/ui/status/network.js:1167
|
||||
#: ../js/ui/status/network.js:1174
|
||||
msgid "VPN"
|
||||
msgstr "VPN"
|
||||
|
||||
#: ../js/ui/status/network.js:1306
|
||||
#: ../js/ui/status/network.js:1314
|
||||
msgid "Network Manager"
|
||||
msgstr "Netværkshåndtering"
|
||||
|
||||
#: ../js/ui/status/network.js:1345
|
||||
#: ../js/ui/status/network.js:1353
|
||||
msgid "Connection failed"
|
||||
msgstr "Forbindelse mislykkedes"
|
||||
|
||||
#: ../js/ui/status/network.js:1346
|
||||
#: ../js/ui/status/network.js:1354
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Aktivering af netværksforbindelse mislykkedes"
|
||||
|
||||
@ -1547,15 +1550,15 @@ msgstr "Udregner…"
|
||||
|
||||
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
|
||||
#: ../js/ui/status/power.js:77
|
||||
#, c-format
|
||||
#, fuzzy, c-format
|
||||
msgid "%d\\u2236%02d Remaining (%d%%)"
|
||||
msgstr "%d\\u2236%02d tilbage (%d%%)"
|
||||
msgstr "%d∶%02d tilbage (%d%%)"
|
||||
|
||||
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
|
||||
#: ../js/ui/status/power.js:82
|
||||
#, c-format
|
||||
#, fuzzy, c-format
|
||||
msgid "%d\\u2236%02d Until Full (%d%%)"
|
||||
msgstr "%d\\u2236%02d indtil fuld (%d%%)"
|
||||
msgstr "%d∶%02d indtil fuld (%d%%)"
|
||||
|
||||
#. The menu only appears when airplane mode is on, so just
|
||||
#. statically build it as if it was on, rather than dynamically
|
||||
@ -1716,6 +1719,31 @@ msgstr "Adgangskode må ikke være tom"
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "Godkendelsesdialogen blev afvist af brugeren"
|
||||
|
||||
#~ msgctxt "event list time"
|
||||
#~ msgid "%H∶%M"
|
||||
#~ msgstr "%H∶%M"
|
||||
|
||||
#~ msgctxt "event list time"
|
||||
#~ msgid "%l∶%M %p"
|
||||
#~ msgstr "%l∶%M %p"
|
||||
|
||||
# Dette her er kode for at skrive måned før år jvf. kommentar for samme streng i gtk+:
|
||||
#
|
||||
# Translate to calendar:YM if you want years to be displayed
|
||||
# before months; otherwise translate to calendar:MY.
|
||||
# Do *not* translate it to anything else, if it
|
||||
# it isn't calendar:YM or calendar:MY it will not work.
|
||||
#
|
||||
# Note that the ordering described here is logical order, which is
|
||||
# further influenced by BIDI ordering. Thus, if you have a default
|
||||
# text direction of RTL and specify "calendar:YM", then the year
|
||||
# will appear to the right of the month.
|
||||
#~ msgid "calendar:MY"
|
||||
#~ msgstr "calendar:MY"
|
||||
|
||||
#~ msgid "Settings Menu"
|
||||
#~ msgstr "Menu for indstillinger"
|
||||
|
||||
#~ msgid "Screenshots"
|
||||
#~ msgstr "Skærmbilleder"
|
||||
|
||||
|
142
po/de.po
142
po/de.po
@ -18,18 +18,17 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2013-09-12 17:36+0000\n"
|
||||
"PO-Revision-Date: 2013-09-13 19:29+0100\n"
|
||||
"Last-Translator: Benjamin Steinwender <b@stbe.at>\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-09-25 15:24+0200\n"
|
||||
"PO-Revision-Date: 2013-09-25 15:25+0100\n"
|
||||
"Last-Translator: Christian Kirbach <christian.kirbach@gmail.com>\n"
|
||||
"Language-Team: Deutsch <gnome-de@gnome.org>\n"
|
||||
"Language: de_DE\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 1.5.7\n"
|
||||
"X-Generator: Poedit 1.5.4\n"
|
||||
|
||||
#: ../data/50-gnome-shell-system.xml.in.h:1
|
||||
msgid "System"
|
||||
@ -282,6 +281,11 @@ msgstr "Arbeitsflächen dynamisch verwalten"
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Arbeitsflächen nur auf dem primären Bildschirm"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr ""
|
||||
"Fokuswechsel im Mausmodus verzögern, bis sich der Zeiger nicht mehr bewegt."
|
||||
|
||||
#: ../js/extensionPrefs/main.js:125
|
||||
#, c-format
|
||||
msgid "There was an error loading the preferences dialog for %s:"
|
||||
@ -295,10 +299,10 @@ msgstr "Erweiterung"
|
||||
msgid "Select an extension to configure using the combobox above."
|
||||
msgstr "Wählen Sie oben eine Erweiterung aus, die Sie konfigurieren wollen."
|
||||
|
||||
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:132
|
||||
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:136
|
||||
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351
|
||||
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
|
||||
#: ../js/ui/status/bluetooth.js:221 ../js/ui/status/network.js:686
|
||||
#: ../js/ui/status/bluetooth.js:222 ../js/ui/status/network.js:686
|
||||
msgid "Cancel"
|
||||
msgstr "Abbrechen"
|
||||
|
||||
@ -337,8 +341,8 @@ msgstr "(z.B. Benutzer oder %s)"
|
||||
#. TTLS and PEAP are actually much more complicated, but this complication
|
||||
#. is not visible here since we only care about phase2 authentication
|
||||
#. (and don't even care of which one)
|
||||
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:255
|
||||
#: ../js/ui/components/networkAgent.js:273
|
||||
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:259
|
||||
#: ../js/ui/components/networkAgent.js:277
|
||||
msgid "Username: "
|
||||
msgstr "Benutzername:"
|
||||
|
||||
@ -374,27 +378,27 @@ msgstr "Befehl konnte nicht verarbeitet werden:"
|
||||
msgid "Execution of '%s' failed:"
|
||||
msgstr "Ausführung von »%s« ist gescheitert:"
|
||||
|
||||
#: ../js/ui/appDisplay.js:573
|
||||
#: ../js/ui/appDisplay.js:596
|
||||
msgid "Frequently used applications will appear here"
|
||||
msgstr "Häufig genutzte Anwendungen werden hier erscheinen"
|
||||
|
||||
#: ../js/ui/appDisplay.js:689
|
||||
#: ../js/ui/appDisplay.js:712
|
||||
msgid "Frequent"
|
||||
msgstr "Häufig"
|
||||
|
||||
#: ../js/ui/appDisplay.js:696
|
||||
#: ../js/ui/appDisplay.js:719
|
||||
msgid "All"
|
||||
msgstr "Alle"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1491
|
||||
#: ../js/ui/appDisplay.js:1514
|
||||
msgid "New Window"
|
||||
msgstr "Neues Fenster"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1494 ../js/ui/dash.js:284
|
||||
#: ../js/ui/appDisplay.js:1517 ../js/ui/dash.js:284
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Aus Favoriten entfernen"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1495
|
||||
#: ../js/ui/appDisplay.js:1518
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Zu Favoriten hinzufügen"
|
||||
|
||||
@ -408,7 +412,8 @@ msgstr "%s wurde zu Ihren Favoriten hinzugefügt"
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "%s wurde aus Ihren Favoriten entfernt"
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/status/system.js:325
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:808
|
||||
#: ../js/ui/status/system.js:325
|
||||
msgid "Settings"
|
||||
msgstr "Einstellungen"
|
||||
|
||||
@ -597,50 +602,50 @@ msgstr "Öffnen mit %s"
|
||||
msgid "Eject"
|
||||
msgstr "Auswerfen"
|
||||
|
||||
#: ../js/ui/components/keyring.js:88 ../js/ui/components/polkitAgent.js:280
|
||||
#: ../js/ui/components/keyring.js:91 ../js/ui/components/polkitAgent.js:280
|
||||
msgid "Password:"
|
||||
msgstr "Passwort:"
|
||||
|
||||
#: ../js/ui/components/keyring.js:107
|
||||
#: ../js/ui/components/keyring.js:110
|
||||
msgid "Type again:"
|
||||
msgstr "Erneut eingeben:"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:127 ../js/ui/status/network.js:112
|
||||
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:112
|
||||
#: ../js/ui/status/network.js:275 ../js/ui/status/network.js:689
|
||||
msgid "Connect"
|
||||
msgstr "Verbinden"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: ../js/ui/components/networkAgent.js:218
|
||||
#: ../js/ui/components/networkAgent.js:230
|
||||
#: ../js/ui/components/networkAgent.js:257
|
||||
#: ../js/ui/components/networkAgent.js:277
|
||||
#: ../js/ui/components/networkAgent.js:287
|
||||
#: ../js/ui/components/networkAgent.js:222
|
||||
#: ../js/ui/components/networkAgent.js:234
|
||||
#: ../js/ui/components/networkAgent.js:261
|
||||
#: ../js/ui/components/networkAgent.js:281
|
||||
#: ../js/ui/components/networkAgent.js:291
|
||||
msgid "Password: "
|
||||
msgstr "Passwort:"
|
||||
|
||||
#. static WEP
|
||||
#: ../js/ui/components/networkAgent.js:223
|
||||
#: ../js/ui/components/networkAgent.js:227
|
||||
msgid "Key: "
|
||||
msgstr "Schlüssel:"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:261
|
||||
#: ../js/ui/components/networkAgent.js:265
|
||||
msgid "Identity: "
|
||||
msgstr "Identität:"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:263
|
||||
#: ../js/ui/components/networkAgent.js:267
|
||||
msgid "Private key password: "
|
||||
msgstr "Passwort für geheimen Schlüssel:"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:275
|
||||
#: ../js/ui/components/networkAgent.js:279
|
||||
msgid "Service: "
|
||||
msgstr "Dienst:"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:304
|
||||
#: ../js/ui/components/networkAgent.js:308
|
||||
msgid "Authentication required by wireless network"
|
||||
msgstr "Legitimierung für Funknetzwerk wird benötigt"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:305
|
||||
#: ../js/ui/components/networkAgent.js:309
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
@ -649,35 +654,35 @@ msgstr ""
|
||||
"Passwörter oder Schlüssel sind erforderlich, um auf das Funknetzwerk »%s« "
|
||||
"zuzugreifen."
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:309
|
||||
#: ../js/ui/components/networkAgent.js:313
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "Kabelgebundene 802.1X-Legitimierung"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:311
|
||||
#: ../js/ui/components/networkAgent.js:315
|
||||
msgid "Network name: "
|
||||
msgstr "Netzwerkname:"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:316
|
||||
#: ../js/ui/components/networkAgent.js:320
|
||||
msgid "DSL authentication"
|
||||
msgstr "DSL-Legitimierung"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:323
|
||||
#: ../js/ui/components/networkAgent.js:327
|
||||
msgid "PIN code required"
|
||||
msgstr "PIN-Code ist erforderlich"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:324
|
||||
#: ../js/ui/components/networkAgent.js:328
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "Für das mobile Breitbandgerät wird ein PIN-Code benötigt."
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:325
|
||||
#: ../js/ui/components/networkAgent.js:329
|
||||
msgid "PIN: "
|
||||
msgstr "PIN: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:331
|
||||
#: ../js/ui/components/networkAgent.js:335
|
||||
msgid "Mobile broadband network password"
|
||||
msgstr "Passwort der mobilen Breitbandverbindung"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:332
|
||||
#: ../js/ui/components/networkAgent.js:336
|
||||
#, c-format
|
||||
msgid "A password is required to connect to '%s'."
|
||||
msgstr "Es wird ein Passwort benötigt, um sich mit »%s« zu verbinden."
|
||||
@ -1169,11 +1174,11 @@ msgstr "Benachrichtigungsfeldmenü"
|
||||
msgid "No Messages"
|
||||
msgstr "Keine Nachrichten"
|
||||
|
||||
#: ../js/ui/messageTray.js:1812
|
||||
#: ../js/ui/messageTray.js:1813
|
||||
msgid "Message Tray"
|
||||
msgstr "Benachrichtigungsfeld"
|
||||
|
||||
#: ../js/ui/messageTray.js:2787
|
||||
#: ../js/ui/messageTray.js:2788
|
||||
msgid "System Information"
|
||||
msgstr "Systeminformationen"
|
||||
|
||||
@ -1215,11 +1220,7 @@ msgstr "Beenden"
|
||||
msgid "Activities"
|
||||
msgstr "Aktivitäten"
|
||||
|
||||
#: ../js/ui/panel.js:807
|
||||
msgid "Settings Menu"
|
||||
msgstr "Einstellungsmenü"
|
||||
|
||||
#: ../js/ui/panel.js:903
|
||||
#: ../js/ui/panel.js:904
|
||||
msgid "Top Bar"
|
||||
msgstr "Oberes Panel"
|
||||
|
||||
@ -1357,9 +1358,9 @@ msgstr "Große Schrift"
|
||||
|
||||
#. 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:28 ../js/ui/status/bluetooth.js:62
|
||||
#: ../js/ui/status/bluetooth.js:99 ../js/ui/status/bluetooth.js:127
|
||||
#: ../js/ui/status/bluetooth.js:163 ../js/ui/status/bluetooth.js:194
|
||||
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:63
|
||||
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
|
||||
#: ../js/ui/status/bluetooth.js:164 ../js/ui/status/bluetooth.js:195
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
@ -1372,56 +1373,56 @@ msgstr "Ausschalten"
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Bluetooth-Einstellungen"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:57
|
||||
#: ../js/ui/status/bluetooth.js:58
|
||||
#, c-format
|
||||
msgid "%d Connected Device"
|
||||
msgid_plural "%d Connected Devices"
|
||||
msgstr[0] "%d Verbundes Gerät"
|
||||
msgstr[1] "%d Verbundene Geräte"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
|
||||
#: ../js/ui/status/bluetooth.js:101 ../js/ui/status/bluetooth.js:129
|
||||
#, c-format
|
||||
msgid "Authorization request from %s"
|
||||
msgstr "Legitimierungsanfrage von %s"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:106 ../js/ui/status/bluetooth.js:171
|
||||
#: ../js/ui/status/bluetooth.js:202
|
||||
#: ../js/ui/status/bluetooth.js:107 ../js/ui/status/bluetooth.js:172
|
||||
#: ../js/ui/status/bluetooth.js:203
|
||||
#, c-format
|
||||
msgid "Device %s wants to pair with this computer"
|
||||
msgstr "Gerät »%s« möchte mit diesem Rechner gekoppelt werden"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:108
|
||||
#: ../js/ui/status/bluetooth.js:109
|
||||
msgid "Allow"
|
||||
msgstr "Erlauben"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:109
|
||||
#: ../js/ui/status/bluetooth.js:110
|
||||
msgid "Deny"
|
||||
msgstr "Verweigern"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:134
|
||||
#: ../js/ui/status/bluetooth.js:135
|
||||
#, c-format
|
||||
msgid "Device %s wants access to the service '%s'"
|
||||
msgstr "Gerät »%s« bittet um Zugriff auf den Dienst »%s«"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:136
|
||||
#: ../js/ui/status/bluetooth.js:137
|
||||
msgid "Always grant access"
|
||||
msgstr "Immer Zugriff gewähren"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:137
|
||||
#: ../js/ui/status/bluetooth.js:138
|
||||
msgid "Grant this time only"
|
||||
msgstr "Nur dieses Mal gewähren"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:138
|
||||
#: ../js/ui/status/bluetooth.js:139
|
||||
msgid "Reject"
|
||||
msgstr "Abweisen"
|
||||
|
||||
#. Translators: argument is the device short name
|
||||
#: ../js/ui/status/bluetooth.js:165
|
||||
#: ../js/ui/status/bluetooth.js:166
|
||||
#, c-format
|
||||
msgid "Pairing confirmation for %s"
|
||||
msgstr "Koppelungsbestätigung für %s"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:172
|
||||
#: ../js/ui/status/bluetooth.js:173
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Please confirm whether the Passkey '%06d' matches the one on the device."
|
||||
@ -1429,24 +1430,24 @@ msgstr ""
|
||||
"Bitte bestätigen Sie, ob die PIN »%06d« mit der des Gerätes übereinstimmt."
|
||||
|
||||
#. Translators: this is the verb, not the noun
|
||||
#: ../js/ui/status/bluetooth.js:175
|
||||
#: ../js/ui/status/bluetooth.js:176
|
||||
msgid "Matches"
|
||||
msgstr "Stimmt überein"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:176
|
||||
#: ../js/ui/status/bluetooth.js:177
|
||||
msgid "Does not match"
|
||||
msgstr "Stimmt nicht überein"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:195
|
||||
#: ../js/ui/status/bluetooth.js:196
|
||||
#, c-format
|
||||
msgid "Pairing request for %s"
|
||||
msgstr "Koppelungsanfrage für %s"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:203
|
||||
#: ../js/ui/status/bluetooth.js:204
|
||||
msgid "Please enter the PIN mentioned on the device."
|
||||
msgstr "Bitte geben Sie die auf dem Gerät angezeigte PIN ein."
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:220
|
||||
#: ../js/ui/status/bluetooth.js:221
|
||||
msgid "OK"
|
||||
msgstr "OK"
|
||||
|
||||
@ -1530,15 +1531,15 @@ msgstr "Einschalten"
|
||||
msgid "VPN"
|
||||
msgstr "VPN"
|
||||
|
||||
#: ../js/ui/status/network.js:1306
|
||||
#: ../js/ui/status/network.js:1307
|
||||
msgid "Network Manager"
|
||||
msgstr "Netzwerk-Verwaltung"
|
||||
|
||||
#: ../js/ui/status/network.js:1345
|
||||
#: ../js/ui/status/network.js:1346
|
||||
msgid "Connection failed"
|
||||
msgstr "Verbindung gescheitert"
|
||||
|
||||
#: ../js/ui/status/network.js:1346
|
||||
#: ../js/ui/status/network.js:1347
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Aktivierung der Netzwerkverbindung ist gescheitert"
|
||||
|
||||
@ -1734,6 +1735,9 @@ msgstr "Das Passwort darf nicht leer sein"
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "Der Dialog zur Legitimierung wurde vom Benutzer geschlossen"
|
||||
|
||||
#~ msgid "Settings Menu"
|
||||
#~ msgstr "Einstellungsmenü"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Internally used to store the last IM presence explicitly set by the user. "
|
||||
#~ "The value here is from the TpConnectionPresenceType enumeration."
|
||||
|
247
po/et.po
247
po/et.po
@ -13,8 +13,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: 2013-09-11 19:26+0000\n"
|
||||
"PO-Revision-Date: 2013-09-11 22:32+0300\n"
|
||||
"POT-Creation-Date: 2013-09-30 11:41+0000\n"
|
||||
"PO-Revision-Date: 2013-10-01 16:40+0300\n"
|
||||
"Last-Translator: Mattias Põldaru <mahfiaz@gmail.com>\n"
|
||||
"Language-Team: Estonian <>\n"
|
||||
"Language: et\n"
|
||||
@ -54,6 +54,9 @@ msgstr "GNOME Shelli laienduste eelistused"
|
||||
msgid "Configure GNOME Shell Extensions"
|
||||
msgstr "GNOME Shelli laienduste seadistamine"
|
||||
|
||||
msgid "GNOME Shell (wayland compositor)"
|
||||
msgstr "GNOME Shell (waylandi komposiitor)"
|
||||
|
||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
|
||||
msgstr ""
|
||||
"Arendajate ja testijate jaoks sisemiste tööriistade lubamine Alt-F2 alt"
|
||||
@ -212,12 +215,8 @@ msgstr "Tööalasid hallatakse dünaamiliselt"
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Tööalad peamisel monitoril"
|
||||
|
||||
#, c-format
|
||||
msgid "There was an error loading the preferences dialog for %s:"
|
||||
msgstr "%s jaoks eelistuste dialoogi laadimisel esines viga:"
|
||||
|
||||
msgid "Extension"
|
||||
msgstr "Laiendus"
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr "Hiire all asuv aken saab fookuse alles hiire peatumisel"
|
||||
|
||||
msgid "Select an extension to configure using the combobox above."
|
||||
msgstr "Vali seadistatav laiendus kasutades ülemist valikukasti."
|
||||
@ -238,21 +237,12 @@ msgstr "Logi sisse"
|
||||
msgid "Choose Session"
|
||||
msgstr "Seansi valimine"
|
||||
|
||||
#. 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.
|
||||
msgid "Not listed?"
|
||||
msgstr "Pole loendis?"
|
||||
|
||||
#. Translators: this message is shown below the username entry field
|
||||
#. to clue the user in on how to login to the local network realm
|
||||
#, c-format
|
||||
msgid "(e.g., user or %s)"
|
||||
msgstr "(nt 'user' või %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)
|
||||
msgid "Username: "
|
||||
msgstr "Kasutajanimi: "
|
||||
|
||||
@ -262,23 +252,15 @@ msgstr "Sisselogimisaken"
|
||||
msgid "Authentication error"
|
||||
msgstr "Viga autentimisel"
|
||||
|
||||
#. 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
|
||||
msgid "(or swipe finger)"
|
||||
msgstr "(või libista näpp üle lugeja)"
|
||||
|
||||
msgid "Command not found"
|
||||
msgstr "Käsku ei leitud"
|
||||
|
||||
#. Replace "Error invoking GLib.shell_parse_argv: " with
|
||||
#. something nicer
|
||||
msgid "Could not parse command:"
|
||||
msgstr "Käsku pole võimalik analüüsida:"
|
||||
|
||||
#, c-format
|
||||
msgid "Execution of '%s' failed:"
|
||||
msgstr "'%s' käivitamine nurjus:"
|
||||
|
||||
@ -286,7 +268,7 @@ msgid "Frequently used applications will appear here"
|
||||
msgstr "Siia ilmuvad tihti kasutatud rakendused"
|
||||
|
||||
msgid "Frequent"
|
||||
msgstr "Sage"
|
||||
msgstr "Tihti"
|
||||
|
||||
msgid "All"
|
||||
msgstr "Kõik"
|
||||
@ -300,11 +282,9 @@ msgstr "Eemalda lemmikutest"
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Lisa lemmikutesse"
|
||||
|
||||
#, c-format
|
||||
msgid "%s has been added to your favorites."
|
||||
msgstr "%s lisati lemmikutesse."
|
||||
|
||||
#, c-format
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "%s eemaldati lemmikutest."
|
||||
|
||||
@ -316,59 +296,59 @@ msgstr "Muuda tausta…"
|
||||
|
||||
#. Translators: Shown in calendar event list for all day events
|
||||
#. * Keep it short, best if you can use less then 10 characters
|
||||
#.
|
||||
#. */
|
||||
msgctxt "event list time"
|
||||
msgid "All Day"
|
||||
msgstr "Kogu päev"
|
||||
|
||||
#. Translators: Shown in calendar event list, if 24h format,
|
||||
#. \u2236 is a ratio character, similar to :
|
||||
#. \u2236 is a ratio character, similar to : */
|
||||
msgctxt "event list time"
|
||||
msgid "%H\\u2236%M"
|
||||
msgstr "%H\\u2236%M"
|
||||
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
|
||||
#. a thin space */
|
||||
msgctxt "event list time"
|
||||
msgid "%l\\u2236%M\\u2009%p"
|
||||
msgstr "%l\\u2236%M\\u2009%p"
|
||||
msgid "%l∶%M %p"
|
||||
msgstr "%l∶%M %p"
|
||||
|
||||
#. 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".
|
||||
#.
|
||||
#. */
|
||||
msgctxt "grid sunday"
|
||||
msgid "S"
|
||||
msgstr "P"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Monday
|
||||
#. Translators: Calendar grid abbreviation for Monday */
|
||||
msgctxt "grid monday"
|
||||
msgid "M"
|
||||
msgstr "E"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Tuesday
|
||||
#. Translators: Calendar grid abbreviation for Tuesday */
|
||||
msgctxt "grid tuesday"
|
||||
msgid "T"
|
||||
msgstr "T"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Wednesday
|
||||
#. Translators: Calendar grid abbreviation for Wednesday */
|
||||
msgctxt "grid wednesday"
|
||||
msgid "W"
|
||||
msgstr "K"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Thursday
|
||||
#. Translators: Calendar grid abbreviation for Thursday */
|
||||
msgctxt "grid thursday"
|
||||
msgid "T"
|
||||
msgstr "N"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Friday
|
||||
#. Translators: Calendar grid abbreviation for Friday */
|
||||
msgctxt "grid friday"
|
||||
msgid "F"
|
||||
msgstr "R"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Saturday
|
||||
#. Translators: Calendar grid abbreviation for Saturday */
|
||||
msgctxt "grid saturday"
|
||||
msgid "S"
|
||||
msgstr "L"
|
||||
@ -378,57 +358,60 @@ msgstr "L"
|
||||
#. * NOTE: These list abbreviations are normally not shown together
|
||||
#. * so they need to be unique (e.g. Tuesday and Thursday cannot
|
||||
#. * both be 'T').
|
||||
#.
|
||||
#. */
|
||||
msgctxt "list sunday"
|
||||
msgid "Su"
|
||||
msgstr "P"
|
||||
|
||||
#. Translators: Event list abbreviation for Monday
|
||||
#. Translators: Event list abbreviation for Monday */
|
||||
msgctxt "list monday"
|
||||
msgid "M"
|
||||
msgstr "E"
|
||||
|
||||
#. Translators: Event list abbreviation for Tuesday
|
||||
#. Translators: Event list abbreviation for Tuesday */
|
||||
msgctxt "list tuesday"
|
||||
msgid "T"
|
||||
msgstr "T"
|
||||
|
||||
#. Translators: Event list abbreviation for Wednesday
|
||||
#. Translators: Event list abbreviation for Wednesday */
|
||||
msgctxt "list wednesday"
|
||||
msgid "W"
|
||||
msgstr "K"
|
||||
|
||||
#. Translators: Event list abbreviation for Thursday
|
||||
#. Translators: Event list abbreviation for Thursday */
|
||||
msgctxt "list thursday"
|
||||
msgid "Th"
|
||||
msgstr "N"
|
||||
|
||||
#. Translators: Event list abbreviation for Friday
|
||||
#. Translators: Event list abbreviation for Friday */
|
||||
msgctxt "list friday"
|
||||
msgid "F"
|
||||
msgstr "R"
|
||||
|
||||
#. Translators: Event list abbreviation for Saturday
|
||||
#. Translators: Event list abbreviation for Saturday */
|
||||
msgctxt "list saturday"
|
||||
msgid "S"
|
||||
msgstr "L"
|
||||
|
||||
msgid "calendar:MY"
|
||||
msgstr "Minu"
|
||||
|
||||
msgid "Previous month"
|
||||
msgstr "Eelmine kuu"
|
||||
|
||||
msgid "Next month"
|
||||
msgstr "Järgmine kuu"
|
||||
|
||||
#. Translators: Text to show if there are no events
|
||||
#. Translators: Text to show if there are no events */
|
||||
msgid "Nothing Scheduled"
|
||||
msgstr "Ühtegi sündmust pole plaanitud"
|
||||
|
||||
#. Translators: Shown on calendar heading when selected day occurs on current year
|
||||
#. Translators: Shown on calendar heading when selected day occurs on current year */
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, %d. %B"
|
||||
|
||||
#. Translators: Shown on calendar heading when selected day occurs on different year
|
||||
#. Translators: Shown on calendar heading when selected day occurs on different year */
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%A, %d. %B %Y"
|
||||
@ -454,7 +437,6 @@ msgstr "Väline ketas eemaldati"
|
||||
msgid "Removable Devices"
|
||||
msgstr "Eemaldatavad seadmed"
|
||||
|
||||
#, c-format
|
||||
msgid "Open with %s"
|
||||
msgstr "Ava programmiga %s"
|
||||
|
||||
@ -470,11 +452,9 @@ msgstr "Sisesta uuesti:"
|
||||
msgid "Connect"
|
||||
msgstr "Ühendu"
|
||||
|
||||
#. Cisco LEAP
|
||||
msgid "Password: "
|
||||
msgstr "Parool: "
|
||||
|
||||
#. static WEP
|
||||
msgid "Key: "
|
||||
msgstr "Võti: "
|
||||
|
||||
@ -490,7 +470,6 @@ msgstr "Teenus: "
|
||||
msgid "Authentication required by wireless network"
|
||||
msgstr "Juhtmeta võrgu jaoks on vajalik autentimine"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
"'%s'."
|
||||
@ -518,7 +497,6 @@ msgstr "PIN: "
|
||||
msgid "Mobile broadband network password"
|
||||
msgstr "Mobiiliühenduse võrgu parool"
|
||||
|
||||
#, c-format
|
||||
msgid "A password is required to connect to '%s'."
|
||||
msgstr "'%s' ühenduse loomiseks on vaja parooli."
|
||||
|
||||
@ -534,20 +512,16 @@ msgstr "Autendi"
|
||||
#. 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. */
|
||||
msgid "Sorry, that didn't work. Please try again."
|
||||
msgstr "Kahjuks see ei sobinud. Palun proovi uuesti."
|
||||
|
||||
#. FIXME: We don't have a 'chat room' icon (bgo #653737) use
|
||||
#. system-users for now as Empathy does.
|
||||
msgid "Invitation"
|
||||
msgstr "Kutse"
|
||||
|
||||
#. We got the TpContact
|
||||
msgid "Call"
|
||||
msgstr "Helista"
|
||||
|
||||
#. We got the TpContact
|
||||
msgid "File Transfer"
|
||||
msgstr "Failiülekanne"
|
||||
|
||||
@ -560,42 +534,35 @@ msgstr "Heli peale"
|
||||
msgid "Mute"
|
||||
msgstr "Heli maha"
|
||||
|
||||
#. Translators: this is the word "Yesterday" followed by a time string. i.e. "Yesterday, 14:30"
|
||||
#, no-c-format
|
||||
#. Translators: this is the word "Yesterday" followed by a time string. i.e. "Yesterday, 14:30"*/
|
||||
msgid "<b>Yesterday</b>, <b>%H:%M</b>"
|
||||
msgstr "<b>Eile</b> <b>%H:%M</b>"
|
||||
|
||||
#. Translators: this is the week day name followed by a time string. i.e. "Monday, 14:30
|
||||
#, no-c-format
|
||||
#. Translators: this is the week day name followed by a time string. i.e. "Monday, 14:30*/
|
||||
msgid "<b>%A</b>, <b>%H:%M</b>"
|
||||
msgstr "<b>%A</b>, <b>%H:%M</b>"
|
||||
|
||||
#. Translators: this is the month name and day number followed by a time string. i.e. "May 25, 14:30"
|
||||
#, no-c-format
|
||||
#. Translators: this is the month name and day number followed by a time string. i.e. "May 25, 14:30"*/
|
||||
msgid "<b>%B</b> <b>%d</b>, <b>%H:%M</b>"
|
||||
msgstr "<b>%d. %B</b>, <b>%H:%M</b>"
|
||||
|
||||
#. Translators: this is the month name, day number, year number followed by a time string. i.e. "May 25 2012, 14:30"
|
||||
#, no-c-format
|
||||
#. Translators: this is the month name, day number, year number followed by a time string. i.e. "May 25 2012, 14:30"*/
|
||||
msgid "<b>%B</b> <b>%d</b> <b>%Y</b>, <b>%H:%M</b> "
|
||||
msgstr "<b>%d. %B %Y</b>, <b>%H:%M</b>"
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#, c-format
|
||||
#. IM name. */
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "%s nimi on nüüd %s"
|
||||
|
||||
#. translators: argument is a room name like
|
||||
#. * room@jabber.org for example.
|
||||
#, c-format
|
||||
#. * room@jabber.org for example. */
|
||||
msgid "Invitation to %s"
|
||||
msgstr "Kutse: %s"
|
||||
|
||||
#. translators: first argument is the name of a contact and the second
|
||||
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
|
||||
#. * for example.
|
||||
#, c-format
|
||||
#. * for example. */
|
||||
msgid "%s is inviting you to join %s"
|
||||
msgstr "%s kutsub sind liituma: %s"
|
||||
|
||||
@ -605,17 +572,15 @@ msgstr "Keeldu"
|
||||
msgid "Accept"
|
||||
msgstr "Nõustu"
|
||||
|
||||
#. translators: argument is a contact name like Alice for example.
|
||||
#, c-format
|
||||
#. translators: argument is a contact name like Alice for example. */
|
||||
msgid "Video call from %s"
|
||||
msgstr "%s tahab alustada videokõnet"
|
||||
|
||||
#. translators: argument is a contact name like Alice for example.
|
||||
#, c-format
|
||||
#. translators: argument is a contact name like Alice for example. */
|
||||
msgid "Call from %s"
|
||||
msgstr "%s helistab"
|
||||
|
||||
#. translators: this is a button label (verb), not a noun
|
||||
#. translators: this is a button label (verb), not a noun */
|
||||
msgid "Answer"
|
||||
msgstr "Vasta"
|
||||
|
||||
@ -623,13 +588,11 @@ msgstr "Vasta"
|
||||
#. * the contact's alias and the second one is the
|
||||
#. * file name. The string will be something
|
||||
#. * like: "Alice is sending you test.ogg"
|
||||
#.
|
||||
#, c-format
|
||||
#. */
|
||||
msgid "%s is sending you %s"
|
||||
msgstr "%s saadab sulle %s"
|
||||
|
||||
#. To translators: The parameter is the contact's alias
|
||||
#, c-format
|
||||
#. To translators: The parameter is the contact's alias */
|
||||
msgid "%s would like permission to see when you are online"
|
||||
msgstr "%s palub sinu luba, et näha, kui sa oled võrgus"
|
||||
|
||||
@ -713,8 +676,7 @@ msgid "Internal error"
|
||||
msgstr "Sisemine viga"
|
||||
|
||||
#. translators: argument is the account name, like
|
||||
#. * name@jabber.org for example.
|
||||
#, c-format
|
||||
#. * name@jabber.org for example. */
|
||||
msgid "Unable to connect to %s"
|
||||
msgstr "Pole võimalik ühenduda võrguga %s"
|
||||
|
||||
@ -730,8 +692,6 @@ msgstr "Aknad"
|
||||
msgid "Show Applications"
|
||||
msgstr "Rakenduste kuvamine"
|
||||
|
||||
#. Translators: this is the name of the dock/favorites area on
|
||||
#. the left of the overview
|
||||
msgid "Dash"
|
||||
msgstr "Dokk"
|
||||
|
||||
@ -746,11 +706,10 @@ msgstr "Kuupäeva ja kella sätted"
|
||||
|
||||
#. 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").
|
||||
#.
|
||||
#. */
|
||||
msgid "%A %B %e, %Y"
|
||||
msgstr "%A, %d. %B %Y"
|
||||
|
||||
#, c-format
|
||||
msgctxt "title"
|
||||
msgid "Log Out %s"
|
||||
msgstr "%s väljalogimine"
|
||||
@ -759,13 +718,11 @@ msgctxt "title"
|
||||
msgid "Log Out"
|
||||
msgstr "Väljalogimine"
|
||||
|
||||
#, c-format
|
||||
msgid "%s will be logged out automatically in %d second."
|
||||
msgid_plural "%s will be logged out automatically in %d seconds."
|
||||
msgstr[0] "%s logitakse %d sekundi pärast automaatselt välja."
|
||||
msgstr[1] "%s logitakse %d sekundi pärast automaatselt välja."
|
||||
|
||||
#, c-format
|
||||
msgid "You will be logged out automatically in %d second."
|
||||
msgid_plural "You will be logged out automatically in %d seconds."
|
||||
msgstr[0] "Sind logitakse %d sekundi pärast automaatselt välja."
|
||||
@ -779,7 +736,6 @@ msgctxt "title"
|
||||
msgid "Power Off"
|
||||
msgstr "Väljalülitamine"
|
||||
|
||||
#, c-format
|
||||
msgid "The system will power off automatically in %d second."
|
||||
msgid_plural "The system will power off automatically in %d seconds."
|
||||
msgstr[0] "%d sekundi pärast lülitub süsteem automaatselt välja."
|
||||
@ -797,7 +753,6 @@ msgctxt "title"
|
||||
msgid "Restart"
|
||||
msgstr "Taaskäivitamine"
|
||||
|
||||
#, c-format
|
||||
msgid "The system will restart automatically in %d second."
|
||||
msgid_plural "The system will restart automatically in %d seconds."
|
||||
msgstr[0] "Süsteem taaskäivitub automaatselt %d sekundi pärast."
|
||||
@ -807,7 +762,6 @@ msgctxt "title"
|
||||
msgid "Restart & Install Updates"
|
||||
msgstr "Taaskäivitamine ja uuenduste paigaldamine"
|
||||
|
||||
#, c-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."
|
||||
@ -824,20 +778,17 @@ msgstr "Mõned rakendused on tegevuses või on neis salvestamata asju."
|
||||
msgid "Other users are logged in."
|
||||
msgstr "Teised kasutajad on sisse logitud."
|
||||
|
||||
#. Translators: Remote here refers to a remote session, like a ssh login
|
||||
#, c-format
|
||||
#. Translators: Remote here refers to a remote session, like a ssh login */
|
||||
msgid "%s (remote)"
|
||||
msgstr "%s (kaugühendus)"
|
||||
|
||||
#. Translators: Console here refers to a tty like a VT console
|
||||
#, c-format
|
||||
#. Translators: Console here refers to a tty like a VT console */
|
||||
msgid "%s (console)"
|
||||
msgstr "%s (konsool)"
|
||||
|
||||
msgid "Install"
|
||||
msgstr "Paigalda"
|
||||
|
||||
#, c-format
|
||||
msgid "Download and install '%s' from extensions.gnome.org?"
|
||||
msgstr "Kas laadida alla ja paigaldada '%s' aadressilt extensions.gnome.org?"
|
||||
|
||||
@ -847,8 +798,7 @@ msgstr "Klaviatuur"
|
||||
msgid "No extensions installed"
|
||||
msgstr "Ühtegi laiendust pole paigaldatud"
|
||||
|
||||
#. Translators: argument is an extension UUID.
|
||||
#, c-format
|
||||
#. Translators: argument is an extension UUID. */
|
||||
msgid "%s has not emitted any errors."
|
||||
msgstr "%s ei ole väljastanud ühtegi veateadet."
|
||||
|
||||
@ -909,7 +859,6 @@ msgctxt "program"
|
||||
msgid "Unknown"
|
||||
msgstr "Tundmatu"
|
||||
|
||||
#, c-format
|
||||
msgid "%d new message"
|
||||
msgid_plural "%d new messages"
|
||||
msgstr[0] "%d uus sõnum"
|
||||
@ -924,7 +873,7 @@ msgstr "Ülevaade"
|
||||
#. Translators: this is the text displayed
|
||||
#. in the search entry when no search is
|
||||
#. active; it should not exceed ~30
|
||||
#. characters.
|
||||
#. characters. */
|
||||
msgid "Type to search…"
|
||||
msgstr "Otsing…"
|
||||
|
||||
@ -932,21 +881,13 @@ msgid "Quit"
|
||||
msgstr "Sulge"
|
||||
|
||||
#. 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". */
|
||||
msgid "Activities"
|
||||
msgstr "Tegevused"
|
||||
|
||||
msgid "Settings Menu"
|
||||
msgstr "Sätete menüü"
|
||||
|
||||
msgid "Top Bar"
|
||||
msgstr "Ülemine riba"
|
||||
|
||||
#. 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.
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-intl"
|
||||
|
||||
@ -957,11 +898,10 @@ msgid "Close"
|
||||
msgstr "Sulge"
|
||||
|
||||
#. Translators: This is a time format for a date in
|
||||
#. long format
|
||||
#. long format */
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, %d. %B"
|
||||
|
||||
#, c-format
|
||||
msgid "%d new notification"
|
||||
msgid_plural "%d new notifications"
|
||||
msgstr[0] "%d uus märguanne"
|
||||
@ -973,13 +913,6 @@ msgstr "Lukusta"
|
||||
msgid "GNOME needs to lock the screen"
|
||||
msgstr "GNOME peab ekraani lukustama"
|
||||
|
||||
#. 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
|
||||
msgid "Unable to lock"
|
||||
msgstr "Pole võimalik lukustada"
|
||||
|
||||
@ -1043,8 +976,6 @@ msgstr "Kõrgkontrastne"
|
||||
msgid "Large Text"
|
||||
msgstr "Suur tekst"
|
||||
|
||||
#. The Bluetooth menu only appears when Bluetooth is in use,
|
||||
#. so just statically build it with a "Turn Off" menu item.
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
@ -1054,17 +985,14 @@ msgstr "Lülita välja"
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Bluetoothi sätted"
|
||||
|
||||
#, c-format
|
||||
msgid "%d Connected Device"
|
||||
msgid_plural "%d Connected Devices"
|
||||
msgstr[0] "%d ühendatud seade"
|
||||
msgstr[1] "%d ühendatud seadet"
|
||||
|
||||
#, c-format
|
||||
msgid "Authorization request from %s"
|
||||
msgstr "Autoriseerimise päring seadmelt %s"
|
||||
|
||||
#, c-format
|
||||
msgid "Device %s wants to pair with this computer"
|
||||
msgstr "Seade '%s' tahab selle arvutiga paarduda"
|
||||
|
||||
@ -1074,7 +1002,6 @@ msgstr "Luba"
|
||||
msgid "Deny"
|
||||
msgstr "Keela"
|
||||
|
||||
#, c-format
|
||||
msgid "Device %s wants access to the service '%s'"
|
||||
msgstr "Seade %s soovib ligipääsu teenusele '%s'"
|
||||
|
||||
@ -1087,24 +1014,21 @@ msgstr "Luba ainult seekord"
|
||||
msgid "Reject"
|
||||
msgstr "Lükka tagasi"
|
||||
|
||||
#. Translators: argument is the device short name
|
||||
#, c-format
|
||||
#. Translators: argument is the device short name */
|
||||
msgid "Pairing confirmation for %s"
|
||||
msgstr "Paardumise kinnitus seadmele %s"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Please confirm whether the Passkey '%06d' matches the one on the device."
|
||||
msgstr "Palun kontrolli, kas parool '%06d' kattub seadme parooliga."
|
||||
|
||||
#. Translators: this is the verb, not the noun
|
||||
#. Translators: this is the verb, not the noun */
|
||||
msgid "Matches"
|
||||
msgstr "Kattub"
|
||||
|
||||
msgid "Does not match"
|
||||
msgstr "Ei kattu"
|
||||
|
||||
#, c-format
|
||||
msgid "Pairing request for %s"
|
||||
msgstr "Seadmega %s paardumise päring"
|
||||
|
||||
@ -1117,9 +1041,6 @@ msgstr "Olgu"
|
||||
msgid "Brightness"
|
||||
msgstr "Heledus"
|
||||
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "Klaviatuuripaigutuse kuvamine"
|
||||
|
||||
msgid "<unknown>"
|
||||
msgstr "<tundmatu>"
|
||||
|
||||
@ -1130,7 +1051,7 @@ msgid "Network Settings"
|
||||
msgstr "Võrgusätted"
|
||||
|
||||
#. 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) */
|
||||
msgid "unmanaged"
|
||||
msgstr "pole hallatud"
|
||||
|
||||
@ -1140,17 +1061,17 @@ msgstr "ühenduse katkestamine..."
|
||||
msgid "connecting..."
|
||||
msgstr "ühendumine..."
|
||||
|
||||
#. 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 */
|
||||
msgid "authentication required"
|
||||
msgstr "vajalik on autentimine"
|
||||
|
||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||
#. module, which is missing
|
||||
#. module, which is missing */
|
||||
msgid "firmware missing"
|
||||
msgstr "püsivara puudub"
|
||||
|
||||
#. 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 */
|
||||
msgid "unavailable"
|
||||
msgstr "pole saadaval"
|
||||
|
||||
@ -1193,25 +1114,15 @@ msgstr "Toitesätted..."
|
||||
msgid "Fully Charged"
|
||||
msgstr "Täiesti täis"
|
||||
|
||||
#. 0 is reported when UPower does not have enough data
|
||||
#. to estimate battery life
|
||||
#. state is one of PENDING_CHARGING, PENDING_DISCHARGING
|
||||
msgid "Estimating…"
|
||||
msgstr "Andmete kogumine…"
|
||||
|
||||
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
|
||||
#, c-format
|
||||
msgid "%d\\u2236%02d Remaining (%d%%)"
|
||||
msgstr "%d\\u2236%02d jäänud (%d%%)"
|
||||
msgid "%d∶%02d Remaining (%d%%)"
|
||||
msgstr "%d∶%02d jäänud (%d%%)"
|
||||
|
||||
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
|
||||
#, c-format
|
||||
msgid "%d\\u2236%02d Until Full (%d%%)"
|
||||
msgstr "%d\\u2236%02d täitumiseni (%d%%)"
|
||||
msgid "%d∶%02d Until Full (%d%%)"
|
||||
msgstr "%d∶%02d täitumiseni (%d%%)"
|
||||
|
||||
#. The menu only appears when airplane mode is on, so just
|
||||
#. statically build it as if it was on, rather than dynamically
|
||||
#. changing the menu contents.
|
||||
msgid "Airplane Mode"
|
||||
msgstr "Lennukirežiim"
|
||||
|
||||
@ -1254,7 +1165,6 @@ msgstr "Rakendused"
|
||||
msgid "Search"
|
||||
msgstr "Otsing"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Sorry, no wisdom for you today:\n"
|
||||
"%s"
|
||||
@ -1262,11 +1172,9 @@ msgstr ""
|
||||
"Vabandust, tänaseks tarkuseteri pole:\n"
|
||||
"%s"
|
||||
|
||||
#, c-format
|
||||
msgid "%s the Oracle says"
|
||||
msgstr "Oraakel %s ütleb"
|
||||
|
||||
#, c-format
|
||||
msgid "'%s' is ready"
|
||||
msgstr "'%s' on valmis"
|
||||
|
||||
@ -1275,14 +1183,13 @@ msgstr "Kas tahad säilitada need kuvasätted?"
|
||||
|
||||
#. Translators: this and the following message should be limited in lenght,
|
||||
#. to avoid ellipsizing the labels.
|
||||
#.
|
||||
#. */
|
||||
msgid "Revert Settings"
|
||||
msgstr "Taasta sätted"
|
||||
|
||||
msgid "Keep Changes"
|
||||
msgstr "Säilita muudatused"
|
||||
|
||||
#, c-format
|
||||
msgid "Settings changes will revert in %d second"
|
||||
msgid_plural "Settings changes will revert in %d seconds"
|
||||
msgstr[0] "Sätete muudatused ennistatakse %d sekundi pärast"
|
||||
@ -1335,6 +1242,26 @@ msgstr "Parool ei saa olla tühi"
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "Kasutaja katkestas autentimisdialoogi"
|
||||
|
||||
#~ msgid "There was an error loading the preferences dialog for %s:"
|
||||
#~ msgstr "%s jaoks eelistuste dialoogi laadimisel esines viga:"
|
||||
|
||||
#~ msgid "Extension"
|
||||
#~ msgstr "Laiendus"
|
||||
|
||||
#~ msgctxt "event list time"
|
||||
#~ msgid "%H\\u2236%M"
|
||||
#~ msgstr "%H\\u2236%M"
|
||||
|
||||
#~ msgctxt "event list time"
|
||||
#~ msgid "%l\\u2236%M\\u2009%p"
|
||||
#~ msgstr "%l\\u2236%M\\u2009%p"
|
||||
|
||||
#~ msgid "Show Keyboard Layout"
|
||||
#~ msgstr "Klaviatuuripaigutuse kuvamine"
|
||||
|
||||
#~ msgid "Settings Menu"
|
||||
#~ msgstr "Sätete menüü"
|
||||
|
||||
#~ msgid "Screenshots"
|
||||
#~ msgstr "Ekraanipildid"
|
||||
|
||||
|
132
po/fr.po
132
po/fr.po
@ -18,8 +18,8 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell master fr\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2013-09-13 20:04+0000\n"
|
||||
"PO-Revision-Date: 2013-09-14 19:08+0200\n"
|
||||
"POT-Creation-Date: 2013-09-23 13:35+0000\n"
|
||||
"PO-Revision-Date: 2013-09-23 15:47+0200\n"
|
||||
"Last-Translator: Mathieu Stumpf <psychoslave@culture-libre.org>\n"
|
||||
"Language-Team: français <gnomefr@traduc.org>\n"
|
||||
"Language: \n"
|
||||
@ -284,6 +284,10 @@ msgstr "Les espaces de travail sont gérés dynamiquement"
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Les espaces de travail sont uniquement sur l'écran principal"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr "Retarder les changements de focus en mode souris jusqu'à ce que le pointeur arrête de bouger"
|
||||
|
||||
#: ../js/extensionPrefs/main.js:125
|
||||
#, c-format
|
||||
msgid "There was an error loading the preferences dialog for %s:"
|
||||
@ -301,10 +305,10 @@ msgstr ""
|
||||
"Sélectionnez une extension à configurer en utilisant la boîte combinée ci-"
|
||||
"dessus."
|
||||
|
||||
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:132
|
||||
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:136
|
||||
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351
|
||||
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
|
||||
#: ../js/ui/status/bluetooth.js:221 ../js/ui/status/network.js:686
|
||||
#: ../js/ui/status/bluetooth.js:222 ../js/ui/status/network.js:686
|
||||
msgid "Cancel"
|
||||
msgstr "Annuler"
|
||||
|
||||
@ -343,8 +347,8 @@ msgstr "(par ex. utilisateur ou %s)"
|
||||
#. TTLS and PEAP are actually much more complicated, but this complication
|
||||
#. is not visible here since we only care about phase2 authentication
|
||||
#. (and don't even care of which one)
|
||||
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:255
|
||||
#: ../js/ui/components/networkAgent.js:273
|
||||
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:259
|
||||
#: ../js/ui/components/networkAgent.js:277
|
||||
msgid "Username: "
|
||||
msgstr "Nom d'utilisateur : "
|
||||
|
||||
@ -380,27 +384,27 @@ msgstr "Impossible d'analyser la commande :"
|
||||
msgid "Execution of '%s' failed:"
|
||||
msgstr "Exécution de « %s » impossible :"
|
||||
|
||||
#: ../js/ui/appDisplay.js:598
|
||||
#: ../js/ui/appDisplay.js:596
|
||||
msgid "Frequently used applications will appear here"
|
||||
msgstr "Les applications fréquemment utilisées apparaîtront ici"
|
||||
|
||||
#: ../js/ui/appDisplay.js:714
|
||||
#: ../js/ui/appDisplay.js:712
|
||||
msgid "Frequent"
|
||||
msgstr "Fréquemment utilisées"
|
||||
|
||||
#: ../js/ui/appDisplay.js:721
|
||||
#: ../js/ui/appDisplay.js:719
|
||||
msgid "All"
|
||||
msgstr "Toutes"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1516
|
||||
#: ../js/ui/appDisplay.js:1514
|
||||
msgid "New Window"
|
||||
msgstr "Nouvelle fenêtre"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1519 ../js/ui/dash.js:284
|
||||
#: ../js/ui/appDisplay.js:1517 ../js/ui/dash.js:284
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Enlever des favoris"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1520
|
||||
#: ../js/ui/appDisplay.js:1518
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Ajouter aux favoris"
|
||||
|
||||
@ -414,7 +418,8 @@ msgstr "%s a été ajouté à vos favoris."
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "%s a été supprimé de vos favoris."
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/status/system.js:325
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:807
|
||||
#: ../js/ui/status/system.js:325
|
||||
msgid "Settings"
|
||||
msgstr "Paramètres"
|
||||
|
||||
@ -621,50 +626,50 @@ msgstr "Ouvrir avec %s"
|
||||
msgid "Eject"
|
||||
msgstr "Éjecter"
|
||||
|
||||
#: ../js/ui/components/keyring.js:88 ../js/ui/components/polkitAgent.js:280
|
||||
#: ../js/ui/components/keyring.js:91 ../js/ui/components/polkitAgent.js:280
|
||||
msgid "Password:"
|
||||
msgstr "Mot de passe :"
|
||||
|
||||
#: ../js/ui/components/keyring.js:107
|
||||
#: ../js/ui/components/keyring.js:110
|
||||
msgid "Type again:"
|
||||
msgstr "Saisissez à nouveau :"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:127 ../js/ui/status/network.js:112
|
||||
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:112
|
||||
#: ../js/ui/status/network.js:275 ../js/ui/status/network.js:689
|
||||
msgid "Connect"
|
||||
msgstr "Se connecter"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: ../js/ui/components/networkAgent.js:218
|
||||
#: ../js/ui/components/networkAgent.js:230
|
||||
#: ../js/ui/components/networkAgent.js:257
|
||||
#: ../js/ui/components/networkAgent.js:277
|
||||
#: ../js/ui/components/networkAgent.js:287
|
||||
#: ../js/ui/components/networkAgent.js:222
|
||||
#: ../js/ui/components/networkAgent.js:234
|
||||
#: ../js/ui/components/networkAgent.js:261
|
||||
#: ../js/ui/components/networkAgent.js:281
|
||||
#: ../js/ui/components/networkAgent.js:291
|
||||
msgid "Password: "
|
||||
msgstr "Mot de passe : "
|
||||
|
||||
#. static WEP
|
||||
#: ../js/ui/components/networkAgent.js:223
|
||||
#: ../js/ui/components/networkAgent.js:227
|
||||
msgid "Key: "
|
||||
msgstr "Clé : "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:261
|
||||
#: ../js/ui/components/networkAgent.js:265
|
||||
msgid "Identity: "
|
||||
msgstr "Identité : "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:263
|
||||
#: ../js/ui/components/networkAgent.js:267
|
||||
msgid "Private key password: "
|
||||
msgstr "Mot de passe de la clé privée : "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:275
|
||||
#: ../js/ui/components/networkAgent.js:279
|
||||
msgid "Service: "
|
||||
msgstr "Service : "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:304
|
||||
#: ../js/ui/components/networkAgent.js:308
|
||||
msgid "Authentication required by wireless network"
|
||||
msgstr "L'authentification est requise par le réseau sans fil"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:305
|
||||
#: ../js/ui/components/networkAgent.js:309
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
@ -673,35 +678,35 @@ msgstr ""
|
||||
"Il faut un mot de passe ou une clé de chiffrement pour accéder au réseau "
|
||||
"sans fil « %s »"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:309
|
||||
#: ../js/ui/components/networkAgent.js:313
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "Authentification filaire 802.1X"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:311
|
||||
#: ../js/ui/components/networkAgent.js:315
|
||||
msgid "Network name: "
|
||||
msgstr "Nom du réseau : "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:316
|
||||
#: ../js/ui/components/networkAgent.js:320
|
||||
msgid "DSL authentication"
|
||||
msgstr "Authentification DSL"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:323
|
||||
#: ../js/ui/components/networkAgent.js:327
|
||||
msgid "PIN code required"
|
||||
msgstr "Code PIN requis"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:324
|
||||
#: ../js/ui/components/networkAgent.js:328
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "Un code PIN est nécessaire pour les téléphones mobiles à large bande"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:325
|
||||
#: ../js/ui/components/networkAgent.js:329
|
||||
msgid "PIN: "
|
||||
msgstr "PIN : "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:331
|
||||
#: ../js/ui/components/networkAgent.js:335
|
||||
msgid "Mobile broadband network password"
|
||||
msgstr "Mot de passe du téléphone mobile à large bande"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:332
|
||||
#: ../js/ui/components/networkAgent.js:336
|
||||
#, c-format
|
||||
msgid "A password is required to connect to '%s'."
|
||||
msgstr "Un mot de passe est requis pour se connecter à « %s »."
|
||||
@ -1194,11 +1199,11 @@ msgstr "Menu du tiroir de messagerie"
|
||||
msgid "No Messages"
|
||||
msgstr "Aucun message"
|
||||
|
||||
#: ../js/ui/messageTray.js:1812
|
||||
#: ../js/ui/messageTray.js:1813
|
||||
msgid "Message Tray"
|
||||
msgstr "Tiroir de messagerie"
|
||||
|
||||
#: ../js/ui/messageTray.js:2787
|
||||
#: ../js/ui/messageTray.js:2788
|
||||
msgid "System Information"
|
||||
msgstr "Informations du système"
|
||||
|
||||
@ -1240,10 +1245,6 @@ msgstr "Quitter"
|
||||
msgid "Activities"
|
||||
msgstr "Activités"
|
||||
|
||||
#: ../js/ui/panel.js:807
|
||||
msgid "Settings Menu"
|
||||
msgstr "Menu des paramètres"
|
||||
|
||||
#: ../js/ui/panel.js:903
|
||||
msgid "Top Bar"
|
||||
msgstr "Barre supérieure"
|
||||
@ -1379,9 +1380,9 @@ msgstr "Grand texte"
|
||||
|
||||
#. 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:28 ../js/ui/status/bluetooth.js:62
|
||||
#: ../js/ui/status/bluetooth.js:99 ../js/ui/status/bluetooth.js:127
|
||||
#: ../js/ui/status/bluetooth.js:163 ../js/ui/status/bluetooth.js:194
|
||||
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:63
|
||||
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
|
||||
#: ../js/ui/status/bluetooth.js:164 ../js/ui/status/bluetooth.js:195
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
@ -1394,56 +1395,56 @@ msgstr "Éteindre"
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Paramètres Bluetooth"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:57
|
||||
#: ../js/ui/status/bluetooth.js:58
|
||||
#, c-format
|
||||
msgid "%d Connected Device"
|
||||
msgid_plural "%d Connected Devices"
|
||||
msgstr[0] "%d périphérique connecté"
|
||||
msgstr[1] "%d périphériques connectés"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
|
||||
#: ../js/ui/status/bluetooth.js:101 ../js/ui/status/bluetooth.js:129
|
||||
#, c-format
|
||||
msgid "Authorization request from %s"
|
||||
msgstr "Demande d'autorisation de « %s »"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:106 ../js/ui/status/bluetooth.js:171
|
||||
#: ../js/ui/status/bluetooth.js:202
|
||||
#: ../js/ui/status/bluetooth.js:107 ../js/ui/status/bluetooth.js:172
|
||||
#: ../js/ui/status/bluetooth.js:203
|
||||
#, c-format
|
||||
msgid "Device %s wants to pair with this computer"
|
||||
msgstr "Le périphérique « %s » souhaite se connecter à cet ordinateur"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:108
|
||||
#: ../js/ui/status/bluetooth.js:109
|
||||
msgid "Allow"
|
||||
msgstr "Autoriser"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:109
|
||||
#: ../js/ui/status/bluetooth.js:110
|
||||
msgid "Deny"
|
||||
msgstr "Refuser"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:134
|
||||
#: ../js/ui/status/bluetooth.js:135
|
||||
#, c-format
|
||||
msgid "Device %s wants access to the service '%s'"
|
||||
msgstr "Le périphérique %s souhaite accéder au service « %s »"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:136
|
||||
#: ../js/ui/status/bluetooth.js:137
|
||||
msgid "Always grant access"
|
||||
msgstr "Toujours accorder l'accès"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:137
|
||||
#: ../js/ui/status/bluetooth.js:138
|
||||
msgid "Grant this time only"
|
||||
msgstr "Accorder l'accès cette fois uniquement"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:138
|
||||
#: ../js/ui/status/bluetooth.js:139
|
||||
msgid "Reject"
|
||||
msgstr "Refuser"
|
||||
|
||||
#. Translators: argument is the device short name
|
||||
#: ../js/ui/status/bluetooth.js:165
|
||||
#: ../js/ui/status/bluetooth.js:166
|
||||
#, c-format
|
||||
msgid "Pairing confirmation for %s"
|
||||
msgstr "Confirmation de la demande de liaison pour « %s »"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:172
|
||||
#: ../js/ui/status/bluetooth.js:173
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Please confirm whether the Passkey '%06d' matches the one on the device."
|
||||
@ -1452,26 +1453,26 @@ msgstr ""
|
||||
"du périphérique."
|
||||
|
||||
#. Translators: this is the verb, not the noun
|
||||
#: ../js/ui/status/bluetooth.js:175
|
||||
#: ../js/ui/status/bluetooth.js:176
|
||||
msgid "Matches"
|
||||
msgstr "Correspond"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:176
|
||||
#: ../js/ui/status/bluetooth.js:177
|
||||
msgid "Does not match"
|
||||
msgstr "Ne correspond pas"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:195
|
||||
#: ../js/ui/status/bluetooth.js:196
|
||||
#, c-format
|
||||
msgid "Pairing request for %s"
|
||||
msgstr "Demande de liaison pour « %s »"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:203
|
||||
#: ../js/ui/status/bluetooth.js:204
|
||||
msgid "Please enter the PIN mentioned on the device."
|
||||
msgstr ""
|
||||
"Veuillez saisir le numéro d'identification personnel (PIN) mentionné sur le "
|
||||
"périphérique."
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:220
|
||||
#: ../js/ui/status/bluetooth.js:221
|
||||
msgid "OK"
|
||||
msgstr "Valider"
|
||||
|
||||
@ -1555,15 +1556,15 @@ msgstr "Activer"
|
||||
msgid "VPN"
|
||||
msgstr "VPN"
|
||||
|
||||
#: ../js/ui/status/network.js:1306
|
||||
#: ../js/ui/status/network.js:1307
|
||||
msgid "Network Manager"
|
||||
msgstr "Gestionnaire de réseau"
|
||||
|
||||
#: ../js/ui/status/network.js:1345
|
||||
#: ../js/ui/status/network.js:1346
|
||||
msgid "Connection failed"
|
||||
msgstr "Échec de connexion"
|
||||
|
||||
#: ../js/ui/status/network.js:1346
|
||||
#: ../js/ui/status/network.js:1347
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "L'activation de la connexion réseau a échoué"
|
||||
|
||||
@ -1758,6 +1759,9 @@ msgstr "Le mot de passe ne peut pas être vide"
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "La fenêtre d'authentification a été écartée par l'utilisateur"
|
||||
|
||||
#~ msgid "Settings Menu"
|
||||
#~ msgstr "Menu des paramètres"
|
||||
|
||||
#~ msgid "Screenshots"
|
||||
#~ msgstr "Captures d'écran"
|
||||
|
||||
|
285
po/he.po
285
po/he.po
@ -9,21 +9,21 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-09-16 21:39+0300\n"
|
||||
"PO-Revision-Date: 2013-09-16 21:54+0300\n"
|
||||
"POT-Creation-Date: 2013-10-11 01:13+0300\n"
|
||||
"PO-Revision-Date: 2013-10-11 01:14+0300\n"
|
||||
"Last-Translator: Yosef Or Boczko <yoseforb@gmail.com>\n"
|
||||
"Language-Team: עברית <>\n"
|
||||
"Language: he\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n>2||n==0) ? 1 :2\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
"X-Generator: Gtranslator 2.91.6\n"
|
||||
|
||||
#: ../data/50-gnome-shell-system.xml.in.h:1
|
||||
msgid "System"
|
||||
msgstr "מערכת "
|
||||
msgstr "מערכת"
|
||||
|
||||
#: ../data/50-gnome-shell-system.xml.in.h:2
|
||||
msgid "Show the message tray"
|
||||
@ -262,14 +262,18 @@ msgstr "Workspaces are managed dynamically"
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Workspaces only on primary monitor"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
|
||||
#: ../js/extensionPrefs/main.js:189
|
||||
msgid "Select an extension to configure using the combobox above."
|
||||
msgstr "יש לבחור את ההרחבה להגדרה באמצעות תיבת הבחירה המשולבת שלהלן."
|
||||
|
||||
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:132
|
||||
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:136
|
||||
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351
|
||||
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
|
||||
#: ../js/ui/status/bluetooth.js:221 ../js/ui/status/network.js:686
|
||||
#: ../js/ui/status/bluetooth.js:222 ../js/ui/status/network.js:728
|
||||
msgid "Cancel"
|
||||
msgstr "ביטול"
|
||||
|
||||
@ -300,8 +304,8 @@ msgstr "לא רשום?"
|
||||
msgid "(e.g., user or %s)"
|
||||
msgstr "(משתמש או %s לדוגמה)"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:255
|
||||
#: ../js/ui/components/networkAgent.js:273
|
||||
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:259
|
||||
#: ../js/ui/components/networkAgent.js:277
|
||||
msgid "Username: "
|
||||
msgstr "שם משתמש:"
|
||||
|
||||
@ -317,15 +321,15 @@ msgstr "שגיאת אימות"
|
||||
msgid "(or swipe finger)"
|
||||
msgstr "(או להעביר אצבע)"
|
||||
|
||||
#: ../js/misc/util.js:98
|
||||
#: ../js/misc/util.js:115
|
||||
msgid "Command not found"
|
||||
msgstr "הפקודה לא נמצאה"
|
||||
|
||||
#: ../js/misc/util.js:131
|
||||
#: ../js/misc/util.js:148
|
||||
msgid "Could not parse command:"
|
||||
msgstr "לא ניתן לפענח את הפקודה:"
|
||||
|
||||
#: ../js/misc/util.js:139
|
||||
#: ../js/misc/util.js:156
|
||||
#, javascript-format
|
||||
msgid "Execution of '%s' failed:"
|
||||
msgstr "ההרצה של '%s' נכשלה:"
|
||||
@ -364,7 +368,7 @@ msgstr "%s נוסף למועדפים שלך."
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "%s הוסר מהמועדפים שלך."
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:807
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:808
|
||||
#: ../js/ui/status/system.js:325
|
||||
msgid "Settings"
|
||||
msgstr "הגדרות"
|
||||
@ -555,83 +559,83 @@ msgstr "פתיחה באמצעות %s"
|
||||
msgid "Eject"
|
||||
msgstr "שליפה"
|
||||
|
||||
#: ../js/ui/components/keyring.js:88 ../js/ui/components/polkitAgent.js:280
|
||||
#: ../js/ui/components/keyring.js:89 ../js/ui/components/polkitAgent.js:280
|
||||
msgid "Password:"
|
||||
msgstr "ססמה:"
|
||||
|
||||
#: ../js/ui/components/keyring.js:107
|
||||
#: ../js/ui/components/keyring.js:108
|
||||
msgid "Type again:"
|
||||
msgstr "נא להקליד שוב:"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:127 ../js/ui/status/network.js:112
|
||||
#: ../js/ui/status/network.js:275 ../js/ui/status/network.js:689
|
||||
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:133
|
||||
#: ../js/ui/status/network.js:296 ../js/ui/status/network.js:731
|
||||
msgid "Connect"
|
||||
msgstr "התחברות"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:218
|
||||
#: ../js/ui/components/networkAgent.js:230
|
||||
#: ../js/ui/components/networkAgent.js:257
|
||||
#: ../js/ui/components/networkAgent.js:277
|
||||
#: ../js/ui/components/networkAgent.js:287
|
||||
#: ../js/ui/components/networkAgent.js:222
|
||||
#: ../js/ui/components/networkAgent.js:234
|
||||
#: ../js/ui/components/networkAgent.js:261
|
||||
#: ../js/ui/components/networkAgent.js:281
|
||||
#: ../js/ui/components/networkAgent.js:291
|
||||
msgid "Password: "
|
||||
msgstr "ססמה:"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:223
|
||||
#: ../js/ui/components/networkAgent.js:227
|
||||
msgid "Key: "
|
||||
msgstr "מפתח:"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:261
|
||||
#: ../js/ui/components/networkAgent.js:265
|
||||
msgid "Identity: "
|
||||
msgstr "זהות:"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:263
|
||||
#: ../js/ui/components/networkAgent.js:267
|
||||
msgid "Private key password: "
|
||||
msgstr "ססמת מפתח פרטי:"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:275
|
||||
#: ../js/ui/components/networkAgent.js:279
|
||||
msgid "Service: "
|
||||
msgstr "שירות:"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:304
|
||||
#: ../js/ui/components/networkAgent.js:308
|
||||
msgid "Authentication required by wireless network"
|
||||
msgstr "הרשת האלחוטית דורשת אימות"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:305
|
||||
#: ../js/ui/components/networkAgent.js:309
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
"'%s'."
|
||||
msgstr "ססמאות או מפתחות הצפנה נדרשים כדי לגשת לרשת האלחוטית '%s'."
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:309
|
||||
#: ../js/ui/components/networkAgent.js:313
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "אימות Wired 802.1X"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:311
|
||||
#: ../js/ui/components/networkAgent.js:315
|
||||
msgid "Network name: "
|
||||
msgstr "שם הרשת:"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:316
|
||||
#: ../js/ui/components/networkAgent.js:320
|
||||
msgid "DSL authentication"
|
||||
msgstr "אימות DSL"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:323
|
||||
#: ../js/ui/components/networkAgent.js:327
|
||||
msgid "PIN code required"
|
||||
msgstr "נדרש קוד PIN"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:324
|
||||
#: ../js/ui/components/networkAgent.js:328
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "נדרש קוד PIN עבור התקן החיבור האלחוטי בפס רחב"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:325
|
||||
#: ../js/ui/components/networkAgent.js:329
|
||||
msgid "PIN: "
|
||||
msgstr "PIN: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:331
|
||||
#: ../js/ui/components/networkAgent.js:335
|
||||
msgid "Mobile broadband network password"
|
||||
msgstr "ססמת רשת הפס הרחב הניידת"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:332
|
||||
#: ../js/ui/components/networkAgent.js:336
|
||||
#, javascript-format
|
||||
msgid "A password is required to connect to '%s'."
|
||||
msgstr "נדרשת ססמה כדי להתחבר אל '%s'."
|
||||
@ -931,17 +935,15 @@ msgstr "יציאה"
|
||||
#, 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] "המשתמש %s ייצא אוטומטית בעוד שנייה."
|
||||
msgstr[0] "המשתמש %s ייצא אוטומטית בעוד %d שנייה."
|
||||
msgstr[1] "המשתמש %s ייצא אוטומטית בעוד %d שניות."
|
||||
msgstr[2] "המשתמש %s ייצא אוטומטית בעוד 2 שניות."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:70
|
||||
#, 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] "אתה תצא אוטומטית בעוד שנייה."
|
||||
msgstr[0] "אתה תצא אוטומטית בעוד %d שנייה."
|
||||
msgstr[1] "אתה תצא אוטומטית בעוד %d שניות."
|
||||
msgstr[2] "המערכת תוציא אותך אוטומטית בעוד 2 שניות."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:75
|
||||
msgctxt "button"
|
||||
@ -957,9 +959,8 @@ msgstr "כיבוי"
|
||||
#, 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] "המערכת תכבה אוטומטית בעוד שנייה."
|
||||
msgstr[0] "המערכת תכבה אוטומטית בעוד %d שנייה."
|
||||
msgstr[1] "המערכת תכבה אוטומטית בעוד %d שניות."
|
||||
msgstr[2] "המערכת תכבה אוטומטית בעוד 2 שניות."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:88 ../js/ui/endSessionDialog.js:104
|
||||
msgctxt "button"
|
||||
@ -980,9 +981,8 @@ msgstr "הפעלה מחדש"
|
||||
#, javascript-format
|
||||
msgid "The system will restart automatically in %d second."
|
||||
msgid_plural "The system will restart automatically in %d seconds."
|
||||
msgstr[0] "המערכת תופעל מחדש בעוד שנייה."
|
||||
msgstr[0] "המערכת תופעל מחדש בעוד %d שנייה."
|
||||
msgstr[1] "המערכת תופעל מחדש בעוד %d שניות."
|
||||
msgstr[2] "המערכת תופעל מחדש בעוד 2 שניות."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:112
|
||||
msgctxt "title"
|
||||
@ -994,9 +994,8 @@ msgstr "הפעלה מחדש והתקנת עדכונים"
|
||||
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] "המערכת תופעל מחדש ותתקין עדכונים בעוד שנייה."
|
||||
msgstr[0] "המערכת תופעל מחדש ותתקין עדכונים בעוד %d שנייה."
|
||||
msgstr[1] "המערכת תופעל מחדש ותקין עדכונים בעוד %d שניות."
|
||||
msgstr[2] "המערכת תופעל מחדש ותתקין עדכונים בעוד 2 שניות."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:119
|
||||
msgctxt "button"
|
||||
@ -1058,9 +1057,12 @@ msgstr "הצגת השגיאות"
|
||||
msgid "Enabled"
|
||||
msgstr "פעיל"
|
||||
|
||||
#. Translators: this is for a network device that cannot be activated
|
||||
#. because it's disabled by rfkill (airplane mode) */
|
||||
#. translators:
|
||||
#. * The device has been disabled
|
||||
#: ../js/ui/lookingGlass.js:765 ../src/gvc/gvc-mixer-control.c:1830
|
||||
#: ../js/ui/lookingGlass.js:765 ../js/ui/status/network.js:473
|
||||
#: ../src/gvc/gvc-mixer-control.c:1830
|
||||
msgid "Disabled"
|
||||
msgstr "מנוטרל"
|
||||
|
||||
@ -1092,27 +1094,31 @@ msgstr "פתיחה"
|
||||
msgid "Remove"
|
||||
msgstr "הסרה"
|
||||
|
||||
#: ../js/ui/messageTray.js:1513
|
||||
#: ../js/ui/messageTray.js:1530
|
||||
msgid "Notifications"
|
||||
msgstr "התרעות"
|
||||
|
||||
#: ../js/ui/messageTray.js:1537
|
||||
msgid "Clear Messages"
|
||||
msgstr "פינוי ההודעות"
|
||||
|
||||
#: ../js/ui/messageTray.js:1540
|
||||
#: ../js/ui/messageTray.js:1564
|
||||
msgid "Notification Settings"
|
||||
msgstr "הגדרות התרעה"
|
||||
|
||||
#: ../js/ui/messageTray.js:1559
|
||||
#: ../js/ui/messageTray.js:1617
|
||||
msgid "Tray Menu"
|
||||
msgstr "תפריט מגש"
|
||||
|
||||
#: ../js/ui/messageTray.js:1775
|
||||
#: ../js/ui/messageTray.js:1833
|
||||
msgid "No Messages"
|
||||
msgstr "אין הודעות"
|
||||
|
||||
#: ../js/ui/messageTray.js:1812
|
||||
#: ../js/ui/messageTray.js:1871
|
||||
msgid "Message Tray"
|
||||
msgstr "אזור דיווח ההודעות"
|
||||
|
||||
#: ../js/ui/messageTray.js:2787
|
||||
#: ../js/ui/messageTray.js:2846
|
||||
msgid "System Information"
|
||||
msgstr "פרטי המערכת"
|
||||
|
||||
@ -1121,13 +1127,13 @@ msgctxt "program"
|
||||
msgid "Unknown"
|
||||
msgstr "לא ידוע"
|
||||
|
||||
# javascript-format
|
||||
#: ../js/ui/overviewControls.js:491 ../js/ui/screenShield.js:152
|
||||
#, javascript-format
|
||||
msgid "%d new message"
|
||||
msgid_plural "%d new messages"
|
||||
msgstr[0] "הודעה חדשה אחת"
|
||||
msgstr[0] "%d הודעה חדשה"
|
||||
msgstr[1] "%d הודעות חדשות"
|
||||
msgstr[2] "2 הודעות חדשות"
|
||||
|
||||
#: ../js/ui/overview.js:82
|
||||
msgid "Undo"
|
||||
@ -1155,7 +1161,7 @@ msgstr "יציאה"
|
||||
msgid "Activities"
|
||||
msgstr "פעילויות"
|
||||
|
||||
#: ../js/ui/panel.js:903
|
||||
#: ../js/ui/panel.js:904
|
||||
msgid "Top Bar"
|
||||
msgstr "הסרגל העליון"
|
||||
|
||||
@ -1177,13 +1183,13 @@ msgstr "סגירה"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, ה־%d ב%B"
|
||||
|
||||
# javascript-format
|
||||
#: ../js/ui/screenShield.js:154
|
||||
#, javascript-format
|
||||
msgid "%d new notification"
|
||||
msgid_plural "%d new notifications"
|
||||
msgstr[0] "התרעה חדשה אחת"
|
||||
msgstr[0] "%d התרעה חדשה"
|
||||
msgstr[1] "%d התרעות חדשות"
|
||||
msgstr[2] "2 התרעות חדשות"
|
||||
|
||||
#: ../js/ui/screenShield.js:477 ../js/ui/status/system.js:333
|
||||
msgid "Lock"
|
||||
@ -1201,11 +1207,11 @@ msgstr "לא ניתן לנעול"
|
||||
msgid "Lock was blocked by an application"
|
||||
msgstr "הנעילה נחסמה ע״י היישום"
|
||||
|
||||
#: ../js/ui/searchDisplay.js:447
|
||||
#: ../js/ui/searchDisplay.js:448
|
||||
msgid "Searching…"
|
||||
msgstr "בחיפוש…"
|
||||
|
||||
#: ../js/ui/searchDisplay.js:491
|
||||
#: ../js/ui/searchDisplay.js:492
|
||||
msgid "No results."
|
||||
msgstr "אין תוצאות."
|
||||
|
||||
@ -1277,14 +1283,14 @@ msgstr "ניגודיות גבוהה"
|
||||
msgid "Large Text"
|
||||
msgstr "טקסט גדול"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:62
|
||||
#: ../js/ui/status/bluetooth.js:99 ../js/ui/status/bluetooth.js:127
|
||||
#: ../js/ui/status/bluetooth.js:163 ../js/ui/status/bluetooth.js:194
|
||||
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:63
|
||||
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
|
||||
#: ../js/ui/status/bluetooth.js:164 ../js/ui/status/bluetooth.js:195
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:30 ../js/ui/status/network.js:112
|
||||
#: ../js/ui/status/network.js:1034 ../js/ui/status/rfkill.js:46
|
||||
#: ../js/ui/status/bluetooth.js:30 ../js/ui/status/network.js:133
|
||||
#: ../js/ui/status/network.js:1085 ../js/ui/status/rfkill.js:46
|
||||
msgid "Turn Off"
|
||||
msgstr "כיבוי"
|
||||
|
||||
@ -1292,81 +1298,81 @@ msgstr "כיבוי"
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "הגדרות Bluetooth"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:57
|
||||
# javascript-format
|
||||
#: ../js/ui/status/bluetooth.js:58
|
||||
#, javascript-format
|
||||
msgid "%d Connected Device"
|
||||
msgid_plural "%d Connected Devices"
|
||||
msgstr[0] "התקן אחד מחובר"
|
||||
msgstr[0] "%d התקן מחובר"
|
||||
msgstr[1] "%d התקנים מחוברים"
|
||||
msgstr[2] "2 התקנים מחוברים"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
|
||||
#: ../js/ui/status/bluetooth.js:101 ../js/ui/status/bluetooth.js:129
|
||||
#, javascript-format
|
||||
msgid "Authorization request from %s"
|
||||
msgstr "בקשת אישור מאת %s"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:106 ../js/ui/status/bluetooth.js:171
|
||||
#: ../js/ui/status/bluetooth.js:202
|
||||
#: ../js/ui/status/bluetooth.js:107 ../js/ui/status/bluetooth.js:172
|
||||
#: ../js/ui/status/bluetooth.js:203
|
||||
#, javascript-format
|
||||
msgid "Device %s wants to pair with this computer"
|
||||
msgstr "ההתקן %s מעוניין בצימוד עם מחשב זה"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:108
|
||||
#: ../js/ui/status/bluetooth.js:109
|
||||
msgid "Allow"
|
||||
msgstr "לאפשר"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:109
|
||||
#: ../js/ui/status/bluetooth.js:110
|
||||
msgid "Deny"
|
||||
msgstr "לדחות"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:134
|
||||
#: ../js/ui/status/bluetooth.js:135
|
||||
#, javascript-format
|
||||
msgid "Device %s wants access to the service '%s'"
|
||||
msgstr "ההתקן %s מעוניין לגשת אל השירות '%s'"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:136
|
||||
#: ../js/ui/status/bluetooth.js:137
|
||||
msgid "Always grant access"
|
||||
msgstr "תמיד להעניק גישה"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:137
|
||||
#: ../js/ui/status/bluetooth.js:138
|
||||
msgid "Grant this time only"
|
||||
msgstr "הענקת גישה הפעם בלבד"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:138
|
||||
#: ../js/ui/status/bluetooth.js:139
|
||||
msgid "Reject"
|
||||
msgstr "סירוב"
|
||||
|
||||
#. Translators: argument is the device short name */
|
||||
#: ../js/ui/status/bluetooth.js:165
|
||||
#: ../js/ui/status/bluetooth.js:166
|
||||
#, javascript-format
|
||||
msgid "Pairing confirmation for %s"
|
||||
msgstr "אישור צימוד עבור %s"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:172
|
||||
#: ../js/ui/status/bluetooth.js:173
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"Please confirm whether the Passkey '%06d' matches the one on the device."
|
||||
msgstr "נא לאשר האם מילת הצופן '%06d' תואמת את זו שמופיעה בהתקן."
|
||||
|
||||
#. Translators: this is the verb, not the noun */
|
||||
#: ../js/ui/status/bluetooth.js:175
|
||||
#: ../js/ui/status/bluetooth.js:176
|
||||
msgid "Matches"
|
||||
msgstr "התאמות"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:176
|
||||
#: ../js/ui/status/bluetooth.js:177
|
||||
msgid "Does not match"
|
||||
msgstr "אינו תואם"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:195
|
||||
#: ../js/ui/status/bluetooth.js:196
|
||||
#, javascript-format
|
||||
msgid "Pairing request for %s"
|
||||
msgstr "בקשת צימוד עבור %s"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:203
|
||||
#: ../js/ui/status/bluetooth.js:204
|
||||
msgid "Please enter the PIN mentioned on the device."
|
||||
msgstr "נא להזין את קוד ה־PIN המוזכר בהתקן."
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:220
|
||||
#: ../js/ui/status/bluetooth.js:221
|
||||
msgid "OK"
|
||||
msgstr "אישור"
|
||||
|
||||
@ -1378,83 +1384,95 @@ msgstr "בהירות"
|
||||
msgid "<unknown>"
|
||||
msgstr "<לא ידוע>"
|
||||
|
||||
#: ../js/ui/status/network.js:203 ../js/ui/status/network.js:1049
|
||||
#: ../js/ui/status/network.js:223 ../js/ui/status/network.js:380
|
||||
#: ../js/ui/status/network.js:1106
|
||||
msgid "Off"
|
||||
msgstr "כבוימנותק"
|
||||
|
||||
#: ../js/ui/status/network.js:276 ../js/ui/status/network.js:955
|
||||
#: ../js/ui/status/rfkill.js:49
|
||||
msgid "Network Settings"
|
||||
msgstr "הגדרות הרשת"
|
||||
|
||||
#. Translators: this is for network devices that are physically present but are not
|
||||
#. under NetworkManager's control (and thus cannot be used in the menu) */
|
||||
#: ../js/ui/status/network.js:364
|
||||
#: ../js/ui/status/network.js:386
|
||||
msgid "unmanaged"
|
||||
msgstr "לא מנוהל"
|
||||
|
||||
#: ../js/ui/status/network.js:366
|
||||
#: ../js/ui/status/network.js:388
|
||||
msgid "disconnecting..."
|
||||
msgstr "בהליכי ניתוק..."
|
||||
|
||||
#: ../js/ui/status/network.js:372 ../js/ui/status/network.js:1100
|
||||
#: ../js/ui/status/network.js:394 ../js/ui/status/network.js:1160
|
||||
msgid "connecting..."
|
||||
msgstr "בהתחברות..."
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password */
|
||||
#: ../js/ui/status/network.js:375 ../js/ui/status/network.js:1103
|
||||
#: ../js/ui/status/network.js:397 ../js/ui/status/network.js:1163
|
||||
msgid "authentication required"
|
||||
msgstr "נדרש אימות"
|
||||
|
||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||
#. module, which is missing */
|
||||
#: ../js/ui/status/network.js:383
|
||||
#: ../js/ui/status/network.js:405
|
||||
msgid "firmware missing"
|
||||
msgstr "הקושחה חסרה"
|
||||
|
||||
#. Translators: this is for a network device that cannot be activated (for example it
|
||||
#. is disabled by rfkill, or it has no coverage */
|
||||
#: ../js/ui/status/network.js:387
|
||||
#: ../js/ui/status/network.js:409
|
||||
msgid "unavailable"
|
||||
msgstr "לא זמין"
|
||||
|
||||
#: ../js/ui/status/network.js:389 ../js/ui/status/network.js:1105
|
||||
#: ../js/ui/status/network.js:411 ../js/ui/status/network.js:1165
|
||||
msgid "connection failed"
|
||||
msgstr "החיבור נכשל"
|
||||
|
||||
#: ../js/ui/status/network.js:654
|
||||
#: ../js/ui/status/network.js:427 ../js/ui/status/network.js:513
|
||||
msgid "Mobile Broadband Settings"
|
||||
msgstr "הגדרות פס־רחב נייד"
|
||||
|
||||
#: ../js/ui/status/network.js:469 ../js/ui/status/network.js:1104
|
||||
msgid "Hardware Disabled"
|
||||
msgstr "מנוטרל חומרתית"
|
||||
|
||||
#: ../js/ui/status/network.js:696
|
||||
msgid "Wi-Fi Networks"
|
||||
msgstr "רשתות אלחוטיות"
|
||||
|
||||
#: ../js/ui/status/network.js:656
|
||||
#: ../js/ui/status/network.js:698
|
||||
msgid "Select a network"
|
||||
msgstr "בחירת רשת"
|
||||
|
||||
#: ../js/ui/status/network.js:680
|
||||
#: ../js/ui/status/network.js:722
|
||||
msgid "No Networks"
|
||||
msgstr "אין רשתות"
|
||||
|
||||
#: ../js/ui/status/network.js:949
|
||||
#: ../js/ui/status/network.js:991
|
||||
msgid "Select Network"
|
||||
msgstr "בחירת רשת"
|
||||
|
||||
#: ../js/ui/status/network.js:1034
|
||||
#: ../js/ui/status/network.js:997
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "הגדרות רשת אלחוטית"
|
||||
|
||||
#: ../js/ui/status/network.js:1085
|
||||
msgid "Turn On"
|
||||
msgstr "הפעלה"
|
||||
|
||||
#: ../js/ui/status/network.js:1167
|
||||
#: ../js/ui/status/network.js:1108
|
||||
msgid "Not Connected"
|
||||
msgstr "לא מחובר"
|
||||
|
||||
#: ../js/ui/status/network.js:1228
|
||||
msgid "VPN"
|
||||
msgstr "VPN"
|
||||
|
||||
#: ../js/ui/status/network.js:1306
|
||||
#: ../js/ui/status/network.js:1368
|
||||
msgid "Network Manager"
|
||||
msgstr "מנהל הרשתות"
|
||||
|
||||
#: ../js/ui/status/network.js:1345
|
||||
#: ../js/ui/status/network.js:1407
|
||||
msgid "Connection failed"
|
||||
msgstr "ההתחברות נכשל"
|
||||
|
||||
#: ../js/ui/status/network.js:1346
|
||||
#: ../js/ui/status/network.js:1408
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "הפעלת חיבור הרשת נכשלה"
|
||||
|
||||
@ -1477,12 +1495,12 @@ msgstr "מתבצע שערוך…"
|
||||
#: ../js/ui/status/power.js:77
|
||||
#, javascript-format
|
||||
msgid "%d∶%02d Remaining (%d%%)"
|
||||
msgstr "%d\\u2236%d נותרו (%d%%)"
|
||||
msgstr "%d\\u2236%02d נותרו (%d%%)"
|
||||
|
||||
#: ../js/ui/status/power.js:82
|
||||
#, javascript-format
|
||||
msgid "%d∶%02d Until Full (%d%%)"
|
||||
msgstr "%d\\u2236%d עד לטעינה מלאה (%d%%)"
|
||||
msgstr "%d\\u2236%02d עד לטעינה מלאה (%d%%)"
|
||||
|
||||
#: ../js/ui/status/rfkill.js:43
|
||||
msgid "Airplane Mode"
|
||||
@ -1492,6 +1510,10 @@ msgstr "מצב טיסה"
|
||||
msgid "On"
|
||||
msgstr "פועל"
|
||||
|
||||
#: ../js/ui/status/rfkill.js:49
|
||||
msgid "Network Settings"
|
||||
msgstr "הגדרות הרשת"
|
||||
|
||||
#: ../js/ui/status/system.js:305
|
||||
msgid "Switch User"
|
||||
msgstr "החלפת משתמש"
|
||||
@ -1574,13 +1596,13 @@ msgstr "שחזור הגדרות"
|
||||
msgid "Keep Changes"
|
||||
msgstr "שמירת שינויים"
|
||||
|
||||
# javascript-format
|
||||
#: ../js/ui/windowManager.js:97
|
||||
#, javascript-format
|
||||
msgid "Settings changes will revert in %d second"
|
||||
msgid_plural "Settings changes will revert in %d seconds"
|
||||
msgstr[0] "שינויי הגדרות ישוחזרו בעוד שנייה"
|
||||
msgstr[0] "שינויי הגדרות ישוחזרו בעוד %d שנייה"
|
||||
msgstr[1] "שינויי הגדרות ישוחזרו בעוד %d שניות"
|
||||
msgstr[2] "שינויי הגדרות ישוחזרו בעוד 2 שניות"
|
||||
|
||||
#: ../src/calendar-server/evolution-calendar.desktop.in.in.h:1
|
||||
msgid "Evolution Calendar"
|
||||
@ -1594,7 +1616,6 @@ msgid "%u Output"
|
||||
msgid_plural "%u Outputs"
|
||||
msgstr[0] "פלט אחד"
|
||||
msgstr[1] "%u פלטים"
|
||||
msgstr[2] "2 פלטים"
|
||||
|
||||
#. translators:
|
||||
#. * The number of sound inputs on a particular device
|
||||
@ -1604,7 +1625,6 @@ msgid "%u Input"
|
||||
msgid_plural "%u Inputs"
|
||||
msgstr[0] "קלט אחד"
|
||||
msgstr[1] "%u קלטים"
|
||||
msgstr[2] "2 קלטים"
|
||||
|
||||
#: ../src/gvc/gvc-mixer-control.c:2373
|
||||
msgid "System Sounds"
|
||||
@ -1643,6 +1663,23 @@ msgstr "הססמה לא יכולה להישאר ריקה"
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "המשתמש בחר להתעלם מתיבת דו־שיח האימות"
|
||||
|
||||
#~ msgid "There was an error loading the preferences dialog for %s:"
|
||||
#~ msgstr "אירעה שגיאה בעת טעינת דו־שיח ההעדפות עבור %s:"
|
||||
|
||||
#~ msgid "Extension"
|
||||
#~ msgstr "הרחבה"
|
||||
|
||||
#~ msgctxt "event list time"
|
||||
#~ msgid "%H\\u2236%M"
|
||||
#~ msgstr "%H\\u2236%M"
|
||||
|
||||
#~ msgctxt "event list time"
|
||||
#~ msgid "%l\\u2236%M\\u2009%p"
|
||||
#~ msgstr "%l\\u2236%M\\u2009%p"
|
||||
|
||||
#~ msgid "Show Keyboard Layout"
|
||||
#~ msgstr "הצגת פריסת המקלדת"
|
||||
|
||||
#~ msgid "Screenshots"
|
||||
#~ msgstr "צילומי מסך"
|
||||
|
||||
@ -1719,12 +1756,6 @@ msgstr "המשתמש בחר להתעלם מתיבת דו־שיח האימות"
|
||||
#~ "the current date, and use this extension. It should be changed when "
|
||||
#~ "recording to a different container format."
|
||||
|
||||
#~ msgid "There was an error loading the preferences dialog for %s:"
|
||||
#~ msgstr "אירעה שגיאה בעת טעינת דו־שיח ההעדפות עבור %s:"
|
||||
|
||||
#~ msgid "Extension"
|
||||
#~ msgstr "הרחבה"
|
||||
|
||||
#~ msgid "Session"
|
||||
#~ msgstr "הפעלה"
|
||||
|
||||
@ -1734,14 +1765,6 @@ msgstr "המשתמש בחר להתעלם מתיבת דו־שיח האימות"
|
||||
#~ msgid "Restart"
|
||||
#~ msgstr "הפעלה מחדש"
|
||||
|
||||
#~ msgctxt "event list time"
|
||||
#~ msgid "%H\\u2236%M"
|
||||
#~ msgstr "%H\\u2236%M"
|
||||
|
||||
#~ msgctxt "event list time"
|
||||
#~ msgid "%l\\u2236%M\\u2009%p"
|
||||
#~ msgstr "%l\\u2236%M\\u2009%p"
|
||||
|
||||
#~ msgid "Screencast from %d %t"
|
||||
#~ msgstr "צילום מסך מהקובץ %d %t"
|
||||
|
||||
@ -1763,9 +1786,6 @@ msgstr "המשתמש בחר להתעלם מתיבת דו־שיח האימות"
|
||||
#~ msgid "Restarting the system."
|
||||
#~ msgstr "המערכת מופעלת מחדש"
|
||||
|
||||
#~ msgid "Show Keyboard Layout"
|
||||
#~ msgstr "הצגת פריסת המקלדת"
|
||||
|
||||
#~ msgid "Volume, network, battery"
|
||||
#~ msgstr "עצמת שמע, רשת, סוללה"
|
||||
|
||||
@ -1798,9 +1818,6 @@ msgstr "המשתמש בחר להתעלם מתיבת דו־שיח האימות"
|
||||
#~ msgid "Set Up a New Device…"
|
||||
#~ msgstr "הגדרת התקן חדש…"
|
||||
|
||||
#~ msgid "hardware disabled"
|
||||
#~ msgstr "מנוטרל חומרתית"
|
||||
|
||||
#~ msgid "Connection"
|
||||
#~ msgstr "חיבור"
|
||||
|
||||
@ -1834,9 +1851,6 @@ msgstr "המשתמש בחר להתעלם מתיבת דו־שיח האימות"
|
||||
#~ msgid "Auto Ethernet"
|
||||
#~ msgstr "אתרנט אוטומטי"
|
||||
|
||||
#~ msgid "Mobile broadband"
|
||||
#~ msgstr "פס־רחב נייד"
|
||||
|
||||
#~ msgid "Auto broadband"
|
||||
#~ msgstr "פס רחב אוטומטי"
|
||||
|
||||
@ -1938,9 +1952,6 @@ msgstr "המשתמש בחר להתעלם מתיבת דו־שיח האימות"
|
||||
#~ msgid "Idle"
|
||||
#~ msgstr "בהמתנה"
|
||||
|
||||
#~ msgid "Notifications"
|
||||
#~ msgstr "התרעות"
|
||||
|
||||
#~ msgid "Your chat status will be set to busy"
|
||||
#~ msgstr "מצב הצ׳אט שלך יוגדר ל'עסוק'"
|
||||
|
||||
|
167
po/ja.po
167
po/ja.po
@ -13,8 +13,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2013-09-06 21:55+0000\n"
|
||||
"PO-Revision-Date: 2013-09-07 22:28+0900\n"
|
||||
"POT-Creation-Date: 2013-09-23 13:35+0000\n"
|
||||
"PO-Revision-Date: 2013-09-23 23:30+0900\n"
|
||||
"Last-Translator: Jiro Matsuzawa <jmatsuzawa@gnome.org>\n"
|
||||
"Language-Team: Japanese <gnome-translation@gnome.gr.jp>\n"
|
||||
"Language: ja\n"
|
||||
@ -52,6 +52,7 @@ msgid "GNOME Shell"
|
||||
msgstr "GNOME Shell"
|
||||
|
||||
#: ../data/gnome-shell.desktop.in.in.h:2
|
||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
|
||||
msgid "Window management and application launching"
|
||||
msgstr "ウィンドウ管理とアプリケーションの起動"
|
||||
|
||||
@ -64,6 +65,10 @@ msgstr "GNOME Shell 拡張機能設定"
|
||||
msgid "Configure GNOME Shell Extensions"
|
||||
msgstr "GNOME Shell 拡張機能の設定を行います"
|
||||
|
||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
|
||||
msgid "GNOME Shell (wayland compositor)"
|
||||
msgstr "GNOME Shell (Wayland コンポジター)"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
|
||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
|
||||
msgstr "Alt-F2 から開発・テスト用の内部ツールを利用可能にする"
|
||||
@ -212,6 +217,10 @@ msgstr "ワークスペースを動的に管理する"
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "プライマリモニターのみワークスペースを切り替える"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr "マウスモードにおけるフォーカス遷移をポインターが停止するまで遅延させる"
|
||||
|
||||
#: ../js/extensionPrefs/main.js:125
|
||||
#, c-format
|
||||
msgid "There was an error loading the preferences dialog for %s:"
|
||||
@ -225,10 +234,10 @@ msgstr "拡張機能"
|
||||
msgid "Select an extension to configure using the combobox above."
|
||||
msgstr "設定する拡張機能を上部のコンボボックスから選択してください。"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:132
|
||||
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:136
|
||||
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351
|
||||
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
|
||||
#: ../js/ui/status/bluetooth.js:221 ../js/ui/status/network.js:686
|
||||
#: ../js/ui/status/bluetooth.js:222 ../js/ui/status/network.js:686
|
||||
msgid "Cancel"
|
||||
msgstr "キャンセル"
|
||||
|
||||
@ -267,8 +276,8 @@ msgstr "(たとえば、user あるいは %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:627 ../js/ui/components/networkAgent.js:255
|
||||
#: ../js/ui/components/networkAgent.js:273
|
||||
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:259
|
||||
#: ../js/ui/components/networkAgent.js:277
|
||||
msgid "Username: "
|
||||
msgstr "ユーザー名: "
|
||||
|
||||
@ -289,42 +298,42 @@ msgstr "認証エラー"
|
||||
msgid "(or swipe finger)"
|
||||
msgstr "(あるいは指でスワイプする)"
|
||||
|
||||
#: ../js/misc/util.js:97
|
||||
#: ../js/misc/util.js:98
|
||||
msgid "Command not found"
|
||||
msgstr "コマンドが見つかりません"
|
||||
|
||||
#. Replace "Error invoking GLib.shell_parse_argv: " with
|
||||
#. something nicer
|
||||
#: ../js/misc/util.js:130
|
||||
#: ../js/misc/util.js:131
|
||||
msgid "Could not parse command:"
|
||||
msgstr "次のコマンドは解析できません:"
|
||||
|
||||
#: ../js/misc/util.js:138
|
||||
#: ../js/misc/util.js:139
|
||||
#, c-format
|
||||
msgid "Execution of '%s' failed:"
|
||||
msgstr "'%s'の実行に失敗しました:"
|
||||
|
||||
#: ../js/ui/appDisplay.js:573
|
||||
#: ../js/ui/appDisplay.js:596
|
||||
msgid "Frequently used applications will appear here"
|
||||
msgstr "よく使うアプリケーションがここに表示されます"
|
||||
|
||||
#: ../js/ui/appDisplay.js:689
|
||||
#: ../js/ui/appDisplay.js:712
|
||||
msgid "Frequent"
|
||||
msgstr "常用"
|
||||
|
||||
#: ../js/ui/appDisplay.js:696
|
||||
#: ../js/ui/appDisplay.js:719
|
||||
msgid "All"
|
||||
msgstr "すべて"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1491
|
||||
#: ../js/ui/appDisplay.js:1514
|
||||
msgid "New Window"
|
||||
msgstr "新しいウィンドウで開く"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1494 ../js/ui/dash.js:284
|
||||
#: ../js/ui/appDisplay.js:1517 ../js/ui/dash.js:284
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "お気に入りから削除"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1495
|
||||
#: ../js/ui/appDisplay.js:1518
|
||||
msgid "Add to Favorites"
|
||||
msgstr "お気に入りに追加"
|
||||
|
||||
@ -338,7 +347,8 @@ msgstr "%s をお気に入りに追加しました。"
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "%s をお気に入りから削除しました。"
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/status/system.js:325
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:807
|
||||
#: ../js/ui/status/system.js:325
|
||||
msgid "Settings"
|
||||
msgstr "設定"
|
||||
|
||||
@ -524,83 +534,83 @@ msgstr "%s で開く"
|
||||
msgid "Eject"
|
||||
msgstr "取り出し"
|
||||
|
||||
#: ../js/ui/components/keyring.js:88 ../js/ui/components/polkitAgent.js:280
|
||||
#: ../js/ui/components/keyring.js:91 ../js/ui/components/polkitAgent.js:280
|
||||
msgid "Password:"
|
||||
msgstr "パスワード:"
|
||||
|
||||
#: ../js/ui/components/keyring.js:107
|
||||
#: ../js/ui/components/keyring.js:110
|
||||
msgid "Type again:"
|
||||
msgstr "再入力:"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:127 ../js/ui/status/network.js:112
|
||||
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:112
|
||||
#: ../js/ui/status/network.js:275 ../js/ui/status/network.js:689
|
||||
msgid "Connect"
|
||||
msgstr "接続"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: ../js/ui/components/networkAgent.js:218
|
||||
#: ../js/ui/components/networkAgent.js:230
|
||||
#: ../js/ui/components/networkAgent.js:257
|
||||
#: ../js/ui/components/networkAgent.js:277
|
||||
#: ../js/ui/components/networkAgent.js:287
|
||||
#: ../js/ui/components/networkAgent.js:222
|
||||
#: ../js/ui/components/networkAgent.js:234
|
||||
#: ../js/ui/components/networkAgent.js:261
|
||||
#: ../js/ui/components/networkAgent.js:281
|
||||
#: ../js/ui/components/networkAgent.js:291
|
||||
msgid "Password: "
|
||||
msgstr "パスワード: "
|
||||
|
||||
#. static WEP
|
||||
#: ../js/ui/components/networkAgent.js:223
|
||||
#: ../js/ui/components/networkAgent.js:227
|
||||
msgid "Key: "
|
||||
msgstr "キー: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:261
|
||||
#: ../js/ui/components/networkAgent.js:265
|
||||
msgid "Identity: "
|
||||
msgstr "識別子: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:263
|
||||
#: ../js/ui/components/networkAgent.js:267
|
||||
msgid "Private key password: "
|
||||
msgstr "プライベートキーパスワード: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:275
|
||||
#: ../js/ui/components/networkAgent.js:279
|
||||
msgid "Service: "
|
||||
msgstr "サービス: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:304
|
||||
#: ../js/ui/components/networkAgent.js:308
|
||||
msgid "Authentication required by wireless network"
|
||||
msgstr "無線ネットワークでは認証が要求されます"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:305
|
||||
#: ../js/ui/components/networkAgent.js:309
|
||||
#, c-format
|
||||
msgid "Passwords or encryption keys are required to access the wireless network '%s'."
|
||||
msgstr "無線ネットワーク '%s' にアクセスするにはパスワードか、または暗号化キーが必要です。"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:309
|
||||
#: ../js/ui/components/networkAgent.js:313
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "有線 802.1X の認証"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:311
|
||||
#: ../js/ui/components/networkAgent.js:315
|
||||
msgid "Network name: "
|
||||
msgstr "ネットワーク名: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:316
|
||||
#: ../js/ui/components/networkAgent.js:320
|
||||
msgid "DSL authentication"
|
||||
msgstr "DSL 認証"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:323
|
||||
#: ../js/ui/components/networkAgent.js:327
|
||||
msgid "PIN code required"
|
||||
msgstr "PIN コードが必要です"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:324
|
||||
#: ../js/ui/components/networkAgent.js:328
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "モバイルブロードバンドデバイスには PIN コードが必要です"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:325
|
||||
#: ../js/ui/components/networkAgent.js:329
|
||||
msgid "PIN: "
|
||||
msgstr "PIN 番号: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:331
|
||||
#: ../js/ui/components/networkAgent.js:335
|
||||
msgid "Mobile broadband network password"
|
||||
msgstr "モバイルブロードバンドネットワークのパスワード"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:332
|
||||
#: ../js/ui/components/networkAgent.js:336
|
||||
#, c-format
|
||||
msgid "A password is required to connect to '%s'."
|
||||
msgstr "'%s' への接続にパスワードが必要です。"
|
||||
@ -856,7 +866,7 @@ msgstr "アカウントを表示"
|
||||
msgid "Unknown reason"
|
||||
msgstr "原因不明"
|
||||
|
||||
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:96
|
||||
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:100
|
||||
msgid "Windows"
|
||||
msgstr "ウィンドウ"
|
||||
|
||||
@ -994,7 +1004,7 @@ msgstr "インストール"
|
||||
msgid "Download and install '%s' from extensions.gnome.org?"
|
||||
msgstr "extensions.gnome.org から '%s' をダウンロードしてインストールしますか?"
|
||||
|
||||
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:334
|
||||
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:333
|
||||
msgid "Keyboard"
|
||||
msgstr "キーボード"
|
||||
|
||||
@ -1070,11 +1080,11 @@ msgstr "トレイメニュー"
|
||||
msgid "No Messages"
|
||||
msgstr "メッセージなし"
|
||||
|
||||
#: ../js/ui/messageTray.js:1812
|
||||
#: ../js/ui/messageTray.js:1813
|
||||
msgid "Message Tray"
|
||||
msgstr "メッセージトレイ"
|
||||
|
||||
#: ../js/ui/messageTray.js:2787
|
||||
#: ../js/ui/messageTray.js:2788
|
||||
msgid "System Information"
|
||||
msgstr "システム情報"
|
||||
|
||||
@ -1105,21 +1115,17 @@ msgstr "アクティビティ画面"
|
||||
msgid "Type to search…"
|
||||
msgstr "検索ワードを入力…"
|
||||
|
||||
#: ../js/ui/panel.js:516
|
||||
#: ../js/ui/panel.js:518
|
||||
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:568
|
||||
#: ../js/ui/panel.js:570
|
||||
msgid "Activities"
|
||||
msgstr "アクティビティ"
|
||||
|
||||
#: ../js/ui/panel.js:805
|
||||
msgid "Settings Menu"
|
||||
msgstr "設定メニュー"
|
||||
|
||||
#: ../js/ui/panel.js:901
|
||||
#: ../js/ui/panel.js:903
|
||||
msgid "Top Bar"
|
||||
msgstr "トップバー"
|
||||
|
||||
@ -1128,7 +1134,7 @@ msgstr "トップバー"
|
||||
#. "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:226
|
||||
#: ../js/ui/popupMenu.js:233
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-us"
|
||||
|
||||
@ -1156,7 +1162,7 @@ msgstr[0] "%d 件の新しい通知"
|
||||
msgid "Lock"
|
||||
msgstr "ロック"
|
||||
|
||||
#: ../js/ui/screenShield.js:703
|
||||
#: ../js/ui/screenShield.js:704
|
||||
msgid "GNOME needs to lock the screen"
|
||||
msgstr "画面をロックする必要があります"
|
||||
|
||||
@ -1167,11 +1173,11 @@ msgstr "画面をロックする必要があります"
|
||||
#.
|
||||
#. XXX: another option is to kick the user into the gdm login
|
||||
#. screen, where we're not affected by grabs
|
||||
#: ../js/ui/screenShield.js:830 ../js/ui/screenShield.js:1296
|
||||
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
|
||||
msgid "Unable to lock"
|
||||
msgstr "ロックできません"
|
||||
|
||||
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
|
||||
#: ../js/ui/screenShield.js:832 ../js/ui/screenShield.js:1298
|
||||
msgid "Lock was blocked by an application"
|
||||
msgstr "アプリケーションによってロックがブロックされました"
|
||||
|
||||
@ -1253,9 +1259,9 @@ msgstr "大きな文字"
|
||||
|
||||
#. 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:28 ../js/ui/status/bluetooth.js:62
|
||||
#: ../js/ui/status/bluetooth.js:99 ../js/ui/status/bluetooth.js:127
|
||||
#: ../js/ui/status/bluetooth.js:163 ../js/ui/status/bluetooth.js:194
|
||||
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:63
|
||||
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
|
||||
#: ../js/ui/status/bluetooth.js:164 ../js/ui/status/bluetooth.js:195
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
@ -1268,78 +1274,78 @@ msgstr "オフにする"
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Bluetooth の設定"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:57
|
||||
#: ../js/ui/status/bluetooth.js:58
|
||||
#, c-format
|
||||
msgid "%d Connected Device"
|
||||
msgid_plural "%d Connected Devices"
|
||||
msgstr[0] "接続デバイス: %d台"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
|
||||
#: ../js/ui/status/bluetooth.js:101 ../js/ui/status/bluetooth.js:129
|
||||
#, c-format
|
||||
msgid "Authorization request from %s"
|
||||
msgstr "%s からアクセス許可の要求"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:106 ../js/ui/status/bluetooth.js:171
|
||||
#: ../js/ui/status/bluetooth.js:202
|
||||
#: ../js/ui/status/bluetooth.js:107 ../js/ui/status/bluetooth.js:172
|
||||
#: ../js/ui/status/bluetooth.js:203
|
||||
#, c-format
|
||||
msgid "Device %s wants to pair with this computer"
|
||||
msgstr "デバイス %s がこのコンピューターとのペアリングを要求しています"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:108
|
||||
#: ../js/ui/status/bluetooth.js:109
|
||||
msgid "Allow"
|
||||
msgstr "許可"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:109
|
||||
#: ../js/ui/status/bluetooth.js:110
|
||||
msgid "Deny"
|
||||
msgstr "拒否"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:134
|
||||
#: ../js/ui/status/bluetooth.js:135
|
||||
#, c-format
|
||||
msgid "Device %s wants access to the service '%s'"
|
||||
msgstr "デバイス '%s' が サービス '%s' へのアクセスを要求しています"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:136
|
||||
#: ../js/ui/status/bluetooth.js:137
|
||||
msgid "Always grant access"
|
||||
msgstr "許可"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:137
|
||||
#: ../js/ui/status/bluetooth.js:138
|
||||
msgid "Grant this time only"
|
||||
msgstr "今回のみ許可"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:138
|
||||
#: ../js/ui/status/bluetooth.js:139
|
||||
msgid "Reject"
|
||||
msgstr "拒否"
|
||||
|
||||
#. Translators: argument is the device short name
|
||||
#: ../js/ui/status/bluetooth.js:165
|
||||
#: ../js/ui/status/bluetooth.js:166
|
||||
#, c-format
|
||||
msgid "Pairing confirmation for %s"
|
||||
msgstr "%s からペアリングの確認"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:172
|
||||
#: ../js/ui/status/bluetooth.js:173
|
||||
#, c-format
|
||||
msgid "Please confirm whether the Passkey '%06d' matches the one on the device."
|
||||
msgstr "'%06d' がデバイスのパスキーと一致しているか確認してください。"
|
||||
|
||||
#. Translators: this is the verb, not the noun
|
||||
#: ../js/ui/status/bluetooth.js:175
|
||||
#: ../js/ui/status/bluetooth.js:176
|
||||
msgid "Matches"
|
||||
msgstr "一致"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:176
|
||||
#: ../js/ui/status/bluetooth.js:177
|
||||
msgid "Does not match"
|
||||
msgstr "不一致"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:195
|
||||
#: ../js/ui/status/bluetooth.js:196
|
||||
#, c-format
|
||||
msgid "Pairing request for %s"
|
||||
msgstr "%s からペアリングの要求"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:203
|
||||
#: ../js/ui/status/bluetooth.js:204
|
||||
msgid "Please enter the PIN mentioned on the device."
|
||||
msgstr "デバイスの PIN コードを入力してください。"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:220
|
||||
#: ../js/ui/status/bluetooth.js:221
|
||||
msgid "OK"
|
||||
msgstr "OK"
|
||||
|
||||
@ -1347,7 +1353,7 @@ msgstr "OK"
|
||||
msgid "Brightness"
|
||||
msgstr "明るさ"
|
||||
|
||||
#: ../js/ui/status/keyboard.js:404
|
||||
#: ../js/ui/status/keyboard.js:403
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "キーボードレイアウトの表示"
|
||||
|
||||
@ -1423,15 +1429,15 @@ msgstr "オンにする"
|
||||
msgid "VPN"
|
||||
msgstr "VPN"
|
||||
|
||||
#: ../js/ui/status/network.js:1306
|
||||
#: ../js/ui/status/network.js:1307
|
||||
msgid "Network Manager"
|
||||
msgstr "ネットワークマネージャー"
|
||||
|
||||
#: ../js/ui/status/network.js:1345
|
||||
#: ../js/ui/status/network.js:1346
|
||||
msgid "Connection failed"
|
||||
msgstr "接続失敗"
|
||||
|
||||
#: ../js/ui/status/network.js:1346
|
||||
#: ../js/ui/status/network.js:1347
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "ネットワーク接続を有効にできません"
|
||||
|
||||
@ -1517,11 +1523,11 @@ msgstr "他のユーザーでログイン"
|
||||
msgid "Unlock Window"
|
||||
msgstr "ロック解除"
|
||||
|
||||
#: ../js/ui/viewSelector.js:100
|
||||
#: ../js/ui/viewSelector.js:104
|
||||
msgid "Applications"
|
||||
msgstr "アプリケーション"
|
||||
|
||||
#: ../js/ui/viewSelector.js:104
|
||||
#: ../js/ui/viewSelector.js:108
|
||||
msgid "Search"
|
||||
msgstr "検索"
|
||||
|
||||
@ -1622,6 +1628,9 @@ msgstr "パスワードを空白にすることはできません。"
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "認証ダイアログはユーザーに拒否されました"
|
||||
|
||||
#~ msgid "Settings Menu"
|
||||
#~ msgstr "設定メニュー"
|
||||
|
||||
#~ msgid "Internally used to store the last IM presence explicitly set by the user. The value here is from the TpConnectionPresenceType enumeration."
|
||||
#~ msgstr "ユーザーにより明示的に設定された最新の IM プレゼンスを保存するのに内部的に使用されます。ここは TpConnectionPresenceType 列挙型の値になります。"
|
||||
|
||||
|
122
po/kk.po
122
po/kk.po
@ -8,8 +8,8 @@ msgstr ""
|
||||
"Project-Id-Version: master\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2013-09-14 18:10+0000\n"
|
||||
"PO-Revision-Date: 2013-09-15 13:44+0600\n"
|
||||
"POT-Creation-Date: 2013-09-23 13:35+0000\n"
|
||||
"PO-Revision-Date: 2013-09-24 06:33+0600\n"
|
||||
"Last-Translator: Baurzhan Muftakhidinov <baurthefirst@gmail.com>\n"
|
||||
"Language-Team: Kazakh <kk_KZ@googlegroups.com>\n"
|
||||
"Language: kk\n"
|
||||
@ -267,6 +267,10 @@ msgstr "Жұмыс орындары динамикалы түрде басқар
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Жұмыс орындар тек біріншілік мониторда"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr "Тышқан режиміндегі фокусты ауыстыру курсор тоқтағанша дейін кідірту"
|
||||
|
||||
#: ../js/extensionPrefs/main.js:125
|
||||
#, c-format
|
||||
msgid "There was an error loading the preferences dialog for %s:"
|
||||
@ -280,10 +284,10 @@ msgstr "Кеңейту"
|
||||
msgid "Select an extension to configure using the combobox above."
|
||||
msgstr "Жоғарыдағы ашылмалы тізімнен баптау үшін кеңейтуді таңдаңыз."
|
||||
|
||||
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:132
|
||||
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:136
|
||||
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351
|
||||
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
|
||||
#: ../js/ui/status/bluetooth.js:221 ../js/ui/status/network.js:686
|
||||
#: ../js/ui/status/bluetooth.js:222 ../js/ui/status/network.js:686
|
||||
msgid "Cancel"
|
||||
msgstr "Бас тарту"
|
||||
|
||||
@ -322,8 +326,8 @@ msgstr "(мыс., пайдаланушы не %s)"
|
||||
#. TTLS and PEAP are actually much more complicated, but this complication
|
||||
#. is not visible here since we only care about phase2 authentication
|
||||
#. (and don't even care of which one)
|
||||
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:255
|
||||
#: ../js/ui/components/networkAgent.js:273
|
||||
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:259
|
||||
#: ../js/ui/components/networkAgent.js:277
|
||||
msgid "Username: "
|
||||
msgstr "Пайдаланушы аты:"
|
||||
|
||||
@ -359,27 +363,27 @@ msgstr "Команданы талдау мүмкін емес:"
|
||||
msgid "Execution of '%s' failed:"
|
||||
msgstr "'%s' жөнелту сәтсіз:"
|
||||
|
||||
#: ../js/ui/appDisplay.js:598
|
||||
#: ../js/ui/appDisplay.js:596
|
||||
msgid "Frequently used applications will appear here"
|
||||
msgstr "Жиі қолданылатын қолданбалар осында көрінеді"
|
||||
|
||||
#: ../js/ui/appDisplay.js:714
|
||||
#: ../js/ui/appDisplay.js:712
|
||||
msgid "Frequent"
|
||||
msgstr "Жиі"
|
||||
|
||||
#: ../js/ui/appDisplay.js:721
|
||||
#: ../js/ui/appDisplay.js:719
|
||||
msgid "All"
|
||||
msgstr "Барлық"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1516
|
||||
#: ../js/ui/appDisplay.js:1514
|
||||
msgid "New Window"
|
||||
msgstr "Жаңа терезе"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1519 ../js/ui/dash.js:284
|
||||
#: ../js/ui/appDisplay.js:1517 ../js/ui/dash.js:284
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Таңдамалылардан өшіру"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1520
|
||||
#: ../js/ui/appDisplay.js:1518
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Таңдамалыларға қосу"
|
||||
|
||||
@ -580,85 +584,85 @@ msgstr "%s көмегімен ашу"
|
||||
msgid "Eject"
|
||||
msgstr "Шығару"
|
||||
|
||||
#: ../js/ui/components/keyring.js:88 ../js/ui/components/polkitAgent.js:280
|
||||
#: ../js/ui/components/keyring.js:91 ../js/ui/components/polkitAgent.js:280
|
||||
msgid "Password:"
|
||||
msgstr "Пароль:"
|
||||
|
||||
#: ../js/ui/components/keyring.js:107
|
||||
#: ../js/ui/components/keyring.js:110
|
||||
msgid "Type again:"
|
||||
msgstr "Қайтадан енгізіңіз:"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:127 ../js/ui/status/network.js:112
|
||||
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:112
|
||||
#: ../js/ui/status/network.js:275 ../js/ui/status/network.js:689
|
||||
msgid "Connect"
|
||||
msgstr "Байланысу"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: ../js/ui/components/networkAgent.js:218
|
||||
#: ../js/ui/components/networkAgent.js:230
|
||||
#: ../js/ui/components/networkAgent.js:257
|
||||
#: ../js/ui/components/networkAgent.js:277
|
||||
#: ../js/ui/components/networkAgent.js:287
|
||||
#: ../js/ui/components/networkAgent.js:222
|
||||
#: ../js/ui/components/networkAgent.js:234
|
||||
#: ../js/ui/components/networkAgent.js:261
|
||||
#: ../js/ui/components/networkAgent.js:281
|
||||
#: ../js/ui/components/networkAgent.js:291
|
||||
msgid "Password: "
|
||||
msgstr "Пароль:"
|
||||
|
||||
#. static WEP
|
||||
#: ../js/ui/components/networkAgent.js:223
|
||||
#: ../js/ui/components/networkAgent.js:227
|
||||
msgid "Key: "
|
||||
msgstr "Кілт:"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:261
|
||||
#: ../js/ui/components/networkAgent.js:265
|
||||
msgid "Identity: "
|
||||
msgstr "Анықтағыш:"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:263
|
||||
#: ../js/ui/components/networkAgent.js:267
|
||||
msgid "Private key password: "
|
||||
msgstr "Жеке кілт паролі:"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:275
|
||||
#: ../js/ui/components/networkAgent.js:279
|
||||
msgid "Service: "
|
||||
msgstr "Қызмет:"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:304
|
||||
#: ../js/ui/components/networkAgent.js:308
|
||||
msgid "Authentication required by wireless network"
|
||||
msgstr "Сымсыз желісі аутентификацияны талап етеді"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:305
|
||||
#: ../js/ui/components/networkAgent.js:309
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
"'%s'."
|
||||
msgstr "'%s' сымсыз желісіне қатынау үшін парольдер не шифрлеу кілттері керек."
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:309
|
||||
#: ../js/ui/components/networkAgent.js:313
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "Сымды 802.1X аутентификациясы"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:311
|
||||
#: ../js/ui/components/networkAgent.js:315
|
||||
msgid "Network name: "
|
||||
msgstr "Желі аты:"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:316
|
||||
#: ../js/ui/components/networkAgent.js:320
|
||||
msgid "DSL authentication"
|
||||
msgstr "DSL аутентификациясы"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:323
|
||||
#: ../js/ui/components/networkAgent.js:327
|
||||
msgid "PIN code required"
|
||||
msgstr "PIN коды керек"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:324
|
||||
#: ../js/ui/components/networkAgent.js:328
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "Сымсыз кеңжолақты құрылғы үшін PIN коды керек"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:325
|
||||
#: ../js/ui/components/networkAgent.js:329
|
||||
msgid "PIN: "
|
||||
msgstr "PIN: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:331
|
||||
#: ../js/ui/components/networkAgent.js:335
|
||||
msgid "Mobile broadband network password"
|
||||
msgstr "Сымсыз кеңжолақты желісінің паролі"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:332
|
||||
#: ../js/ui/components/networkAgent.js:336
|
||||
#, c-format
|
||||
msgid "A password is required to connect to '%s'."
|
||||
msgstr "'%s' үшін байланысты орнату үшін пароль керек."
|
||||
@ -1139,11 +1143,11 @@ msgstr "Трей мәзірі"
|
||||
msgid "No Messages"
|
||||
msgstr "Хабарламалар жоқ"
|
||||
|
||||
#: ../js/ui/messageTray.js:1812
|
||||
#: ../js/ui/messageTray.js:1813
|
||||
msgid "Message Tray"
|
||||
msgstr "Жүйелік трей"
|
||||
|
||||
#: ../js/ui/messageTray.js:2787
|
||||
#: ../js/ui/messageTray.js:2788
|
||||
msgid "System Information"
|
||||
msgstr "Жүйелік ақпарат"
|
||||
|
||||
@ -1318,9 +1322,9 @@ msgstr "Үлкен мәтін"
|
||||
|
||||
#. 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:28 ../js/ui/status/bluetooth.js:62
|
||||
#: ../js/ui/status/bluetooth.js:99 ../js/ui/status/bluetooth.js:127
|
||||
#: ../js/ui/status/bluetooth.js:163 ../js/ui/status/bluetooth.js:194
|
||||
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:63
|
||||
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
|
||||
#: ../js/ui/status/bluetooth.js:164 ../js/ui/status/bluetooth.js:195
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
@ -1333,79 +1337,79 @@ msgstr "Сөндіру"
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Bluetooth баптаулары"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:57
|
||||
#: ../js/ui/status/bluetooth.js:58
|
||||
#, c-format
|
||||
msgid "%d Connected Device"
|
||||
msgid_plural "%d Connected Devices"
|
||||
msgstr[0] "%d байланысқан құрылғы"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
|
||||
#: ../js/ui/status/bluetooth.js:101 ../js/ui/status/bluetooth.js:129
|
||||
#, c-format
|
||||
msgid "Authorization request from %s"
|
||||
msgstr "%s жіберген авторизация сұранымы"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:106 ../js/ui/status/bluetooth.js:171
|
||||
#: ../js/ui/status/bluetooth.js:202
|
||||
#: ../js/ui/status/bluetooth.js:107 ../js/ui/status/bluetooth.js:172
|
||||
#: ../js/ui/status/bluetooth.js:203
|
||||
#, c-format
|
||||
msgid "Device %s wants to pair with this computer"
|
||||
msgstr "%s құрылғысы бұл компьютермен пар болғысы кеп тұр"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:108
|
||||
#: ../js/ui/status/bluetooth.js:109
|
||||
msgid "Allow"
|
||||
msgstr "Рұқсат ету"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:109
|
||||
#: ../js/ui/status/bluetooth.js:110
|
||||
msgid "Deny"
|
||||
msgstr "Тайдыру"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:134
|
||||
#: ../js/ui/status/bluetooth.js:135
|
||||
#, c-format
|
||||
msgid "Device %s wants access to the service '%s'"
|
||||
msgstr "%s құрылғысы '%s' қызметін қатынағысы кеп тұр"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:136
|
||||
#: ../js/ui/status/bluetooth.js:137
|
||||
msgid "Always grant access"
|
||||
msgstr "Әрқашан рұқсат ету"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:137
|
||||
#: ../js/ui/status/bluetooth.js:138
|
||||
msgid "Grant this time only"
|
||||
msgstr "Тек осы ретке рұқсат ету"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:138
|
||||
#: ../js/ui/status/bluetooth.js:139
|
||||
msgid "Reject"
|
||||
msgstr "Болдырмау"
|
||||
|
||||
#. Translators: argument is the device short name
|
||||
#: ../js/ui/status/bluetooth.js:165
|
||||
#: ../js/ui/status/bluetooth.js:166
|
||||
#, c-format
|
||||
msgid "Pairing confirmation for %s"
|
||||
msgstr "%s жіберген парлау растауы"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:172
|
||||
#: ../js/ui/status/bluetooth.js:173
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Please confirm whether the Passkey '%06d' matches the one on the device."
|
||||
msgstr "'%06d' кілт коды құрылғыдағы кодымен сәйкес келетінін растаңыз."
|
||||
|
||||
#. Translators: this is the verb, not the noun
|
||||
#: ../js/ui/status/bluetooth.js:175
|
||||
#: ../js/ui/status/bluetooth.js:176
|
||||
msgid "Matches"
|
||||
msgstr "Сәйкес"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:176
|
||||
#: ../js/ui/status/bluetooth.js:177
|
||||
msgid "Does not match"
|
||||
msgstr "Сәйкес емес"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:195
|
||||
#: ../js/ui/status/bluetooth.js:196
|
||||
#, c-format
|
||||
msgid "Pairing request for %s"
|
||||
msgstr "%s үшін парлау сұранымы"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:203
|
||||
#: ../js/ui/status/bluetooth.js:204
|
||||
msgid "Please enter the PIN mentioned on the device."
|
||||
msgstr "Құрылғыда көрсетілген PIN кодын енгізіңіз."
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:220
|
||||
#: ../js/ui/status/bluetooth.js:221
|
||||
msgid "OK"
|
||||
msgstr "ОК"
|
||||
|
||||
@ -1489,15 +1493,15 @@ msgstr "Іске қосу"
|
||||
msgid "VPN"
|
||||
msgstr "VPN"
|
||||
|
||||
#: ../js/ui/status/network.js:1306
|
||||
#: ../js/ui/status/network.js:1307
|
||||
msgid "Network Manager"
|
||||
msgstr "Желілер басқарушысы"
|
||||
|
||||
#: ../js/ui/status/network.js:1345
|
||||
#: ../js/ui/status/network.js:1346
|
||||
msgid "Connection failed"
|
||||
msgstr "Байланыс орнату сәтсіз"
|
||||
|
||||
#: ../js/ui/status/network.js:1346
|
||||
#: ../js/ui/status/network.js:1347
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Желілік байланысты белсендіру сәтсіз"
|
||||
|
||||
|
207
po/nb.po
207
po/nb.po
@ -8,8 +8,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell 3.9.x\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-09-08 11:22+0200\n"
|
||||
"PO-Revision-Date: 2013-09-08 11:23+0200\n"
|
||||
"POT-Creation-Date: 2013-10-03 20:38+0200\n"
|
||||
"PO-Revision-Date: 2013-09-24 19:38+0200\n"
|
||||
"Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
|
||||
"Language-Team: Norwegian bokmål <i18n-nb@lister.ping.uio.no>\n"
|
||||
"Language: \n"
|
||||
@ -47,6 +47,7 @@ msgid "GNOME Shell"
|
||||
msgstr "GNOME Shell"
|
||||
|
||||
#: ../data/gnome-shell.desktop.in.in.h:2
|
||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
|
||||
msgid "Window management and application launching"
|
||||
msgstr "Vindushåndtering og oppstart av programmer"
|
||||
|
||||
@ -59,6 +60,10 @@ msgstr "Brukervalg for GNOME Shell utvidelser"
|
||||
msgid "Configure GNOME Shell Extensions"
|
||||
msgstr "Konfigurer utvidelser for GNOME Shell"
|
||||
|
||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
|
||||
msgid "GNOME Shell (wayland compositor)"
|
||||
msgstr "GNOME Shell (wayland kompositør)"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
|
||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
|
||||
msgstr "Aktiver interne verktøy for utviklere og testere fra Alt-F2"
|
||||
@ -243,6 +248,10 @@ msgstr "Arbeidsområder håndteres dynamisk"
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Arbeidsområder vises kun på hovedskjerm"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr ""
|
||||
|
||||
#: ../js/extensionPrefs/main.js:125
|
||||
#, c-format
|
||||
msgid "There was an error loading the preferences dialog for %s:"
|
||||
@ -256,10 +265,10 @@ msgstr "Utvidelse"
|
||||
msgid "Select an extension to configure using the combobox above."
|
||||
msgstr "Velg en utvidelse som skal konfigureres med komboboksen over."
|
||||
|
||||
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:132
|
||||
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:136
|
||||
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351
|
||||
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
|
||||
#: ../js/ui/status/bluetooth.js:221 ../js/ui/status/network.js:686
|
||||
#: ../js/ui/status/bluetooth.js:222 ../js/ui/status/network.js:703
|
||||
msgid "Cancel"
|
||||
msgstr "Avbryt"
|
||||
|
||||
@ -298,8 +307,8 @@ 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:627 ../js/ui/components/networkAgent.js:255
|
||||
#: ../js/ui/components/networkAgent.js:273
|
||||
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:259
|
||||
#: ../js/ui/components/networkAgent.js:277
|
||||
msgid "Username: "
|
||||
msgstr "Brukernavn: "
|
||||
|
||||
@ -320,42 +329,42 @@ msgstr "Autentiseringsfeil"
|
||||
msgid "(or swipe finger)"
|
||||
msgstr "(eller dra finger)"
|
||||
|
||||
#: ../js/misc/util.js:97
|
||||
#: ../js/misc/util.js:98
|
||||
msgid "Command not found"
|
||||
msgstr "Kommando ikke funnet"
|
||||
|
||||
#. Replace "Error invoking GLib.shell_parse_argv: " with
|
||||
#. something nicer
|
||||
#: ../js/misc/util.js:130
|
||||
#: ../js/misc/util.js:131
|
||||
msgid "Could not parse command:"
|
||||
msgstr "Klarte ikke å lese kommando:"
|
||||
|
||||
#: ../js/misc/util.js:138
|
||||
#: ../js/misc/util.js:139
|
||||
#, c-format
|
||||
msgid "Execution of '%s' failed:"
|
||||
msgstr "Kjøring av «%s» feilet:"
|
||||
|
||||
#: ../js/ui/appDisplay.js:573
|
||||
#: ../js/ui/appDisplay.js:596
|
||||
msgid "Frequently used applications will appear here"
|
||||
msgstr "Ofte brukte programmer vil vises her"
|
||||
|
||||
#: ../js/ui/appDisplay.js:689
|
||||
#: ../js/ui/appDisplay.js:712
|
||||
msgid "Frequent"
|
||||
msgstr "Ofte"
|
||||
|
||||
#: ../js/ui/appDisplay.js:696
|
||||
#: ../js/ui/appDisplay.js:719
|
||||
msgid "All"
|
||||
msgstr "Alle"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1491
|
||||
#: ../js/ui/appDisplay.js:1514
|
||||
msgid "New Window"
|
||||
msgstr "Nytt vindu"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1494 ../js/ui/dash.js:284
|
||||
#: ../js/ui/appDisplay.js:1517 ../js/ui/dash.js:284
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Fjern fra favoritter"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1495
|
||||
#: ../js/ui/appDisplay.js:1518
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Legg til i favoritter"
|
||||
|
||||
@ -369,7 +378,8 @@ msgstr "%s ble lagt til i dine favoritter."
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "%s ble fjernet fra dine favoritter."
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/status/system.js:325
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:808
|
||||
#: ../js/ui/status/system.js:325
|
||||
msgid "Settings"
|
||||
msgstr "Innstillinger"
|
||||
|
||||
@ -555,50 +565,50 @@ msgstr "Åpne med %s"
|
||||
msgid "Eject"
|
||||
msgstr "Løs ut"
|
||||
|
||||
#: ../js/ui/components/keyring.js:88 ../js/ui/components/polkitAgent.js:280
|
||||
#: ../js/ui/components/keyring.js:91 ../js/ui/components/polkitAgent.js:280
|
||||
msgid "Password:"
|
||||
msgstr "Passord:"
|
||||
|
||||
#: ../js/ui/components/keyring.js:107
|
||||
#: ../js/ui/components/keyring.js:110
|
||||
msgid "Type again:"
|
||||
msgstr "Skriv på nytt:"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:127 ../js/ui/status/network.js:112
|
||||
#: ../js/ui/status/network.js:275 ../js/ui/status/network.js:689
|
||||
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:122
|
||||
#: ../js/ui/status/network.js:285 ../js/ui/status/network.js:706
|
||||
msgid "Connect"
|
||||
msgstr "Koble til"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: ../js/ui/components/networkAgent.js:218
|
||||
#: ../js/ui/components/networkAgent.js:230
|
||||
#: ../js/ui/components/networkAgent.js:257
|
||||
#: ../js/ui/components/networkAgent.js:277
|
||||
#: ../js/ui/components/networkAgent.js:287
|
||||
#: ../js/ui/components/networkAgent.js:222
|
||||
#: ../js/ui/components/networkAgent.js:234
|
||||
#: ../js/ui/components/networkAgent.js:261
|
||||
#: ../js/ui/components/networkAgent.js:281
|
||||
#: ../js/ui/components/networkAgent.js:291
|
||||
msgid "Password: "
|
||||
msgstr "Passord: "
|
||||
|
||||
#. static WEP
|
||||
#: ../js/ui/components/networkAgent.js:223
|
||||
#: ../js/ui/components/networkAgent.js:227
|
||||
msgid "Key: "
|
||||
msgstr "Nøkkel: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:261
|
||||
#: ../js/ui/components/networkAgent.js:265
|
||||
msgid "Identity: "
|
||||
msgstr "Identitet: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:263
|
||||
#: ../js/ui/components/networkAgent.js:267
|
||||
msgid "Private key password: "
|
||||
msgstr "Passord for privat nøkkel: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:275
|
||||
#: ../js/ui/components/networkAgent.js:279
|
||||
msgid "Service: "
|
||||
msgstr "Tjeneste: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:304
|
||||
#: ../js/ui/components/networkAgent.js:308
|
||||
msgid "Authentication required by wireless network"
|
||||
msgstr "Autentisering kreves av trådløst nettverk"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:305
|
||||
#: ../js/ui/components/networkAgent.js:309
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
@ -607,35 +617,35 @@ msgstr ""
|
||||
"Passord eller krypteringsnøkler kreves for å koble til trådløst nettverk "
|
||||
"«%s»."
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:309
|
||||
#: ../js/ui/components/networkAgent.js:313
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "802.1X autentisering for trådbundet nettverk"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:311
|
||||
#: ../js/ui/components/networkAgent.js:315
|
||||
msgid "Network name: "
|
||||
msgstr "Navn på nettverk: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:316
|
||||
#: ../js/ui/components/networkAgent.js:320
|
||||
msgid "DSL authentication"
|
||||
msgstr "DSL-autentisering"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:323
|
||||
#: ../js/ui/components/networkAgent.js:327
|
||||
msgid "PIN code required"
|
||||
msgstr "PIN-kode kreves"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:324
|
||||
#: ../js/ui/components/networkAgent.js:328
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "PIN-kode kreves for mobil bredbåndsenhet"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:325
|
||||
#: ../js/ui/components/networkAgent.js:329
|
||||
msgid "PIN: "
|
||||
msgstr "PIN: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:331
|
||||
#: ../js/ui/components/networkAgent.js:335
|
||||
msgid "Mobile broadband network password"
|
||||
msgstr "Nettverkspassord for mobilt bredbånd"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:332
|
||||
#: ../js/ui/components/networkAgent.js:336
|
||||
#, c-format
|
||||
msgid "A password is required to connect to '%s'."
|
||||
msgstr "Et passord kreves for å koble til «%s»."
|
||||
@ -899,7 +909,7 @@ msgstr "Vis konto"
|
||||
msgid "Unknown reason"
|
||||
msgstr "Ukjent årsak"
|
||||
|
||||
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:96
|
||||
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:100
|
||||
msgid "Windows"
|
||||
msgstr "Vinduer"
|
||||
|
||||
@ -1047,7 +1057,7 @@ msgstr "Installer"
|
||||
msgid "Download and install '%s' from extensions.gnome.org?"
|
||||
msgstr "Last ned og installer «%s» fra extensions.gnome.org?"
|
||||
|
||||
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:334
|
||||
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:333
|
||||
msgid "Keyboard"
|
||||
msgstr "Tastatur"
|
||||
|
||||
@ -1123,11 +1133,11 @@ msgstr "Meny for varslingsområde"
|
||||
msgid "No Messages"
|
||||
msgstr "Ingen meldinger"
|
||||
|
||||
#: ../js/ui/messageTray.js:1812
|
||||
#: ../js/ui/messageTray.js:1813
|
||||
msgid "Message Tray"
|
||||
msgstr "Meldingstrau"
|
||||
|
||||
#: ../js/ui/messageTray.js:2787
|
||||
#: ../js/ui/messageTray.js:2788
|
||||
msgid "System Information"
|
||||
msgstr "Systeminformasjon"
|
||||
|
||||
@ -1159,21 +1169,17 @@ msgstr "Oversikt"
|
||||
msgid "Type to search…"
|
||||
msgstr "Skriv for å søke …"
|
||||
|
||||
#: ../js/ui/panel.js:516
|
||||
#: ../js/ui/panel.js:518
|
||||
msgid "Quit"
|
||||
msgstr "Avslutt"
|
||||
|
||||
#. Translators: If there is no suitable word for "Activities"
|
||||
#. in your language, you can use the word for "Overview".
|
||||
#: ../js/ui/panel.js:568
|
||||
#: ../js/ui/panel.js:570
|
||||
msgid "Activities"
|
||||
msgstr "Aktiviteter"
|
||||
|
||||
#: ../js/ui/panel.js:805
|
||||
msgid "Settings Menu"
|
||||
msgstr "Meny for innstillinger"
|
||||
|
||||
#: ../js/ui/panel.js:901
|
||||
#: ../js/ui/panel.js:904
|
||||
msgid "Top Bar"
|
||||
msgstr "Topp-panel"
|
||||
|
||||
@ -1182,7 +1188,7 @@ msgstr "Topp-panel"
|
||||
#. "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:226
|
||||
#: ../js/ui/popupMenu.js:233
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-intl"
|
||||
|
||||
@ -1211,7 +1217,7 @@ msgstr[1] "%d nye varslinger"
|
||||
msgid "Lock"
|
||||
msgstr "Lås"
|
||||
|
||||
#: ../js/ui/screenShield.js:703
|
||||
#: ../js/ui/screenShield.js:704
|
||||
msgid "GNOME needs to lock the screen"
|
||||
msgstr "GNOME må låse skjermen"
|
||||
|
||||
@ -1222,19 +1228,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:830 ../js/ui/screenShield.js:1296
|
||||
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
|
||||
msgid "Unable to lock"
|
||||
msgstr "Kan ikke låse"
|
||||
|
||||
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
|
||||
#: ../js/ui/screenShield.js:832 ../js/ui/screenShield.js:1298
|
||||
msgid "Lock was blocked by an application"
|
||||
msgstr "Låsing ble stoppet av et program"
|
||||
|
||||
#: ../js/ui/searchDisplay.js:447
|
||||
#: ../js/ui/searchDisplay.js:448
|
||||
msgid "Searching…"
|
||||
msgstr "Søker …"
|
||||
|
||||
#: ../js/ui/searchDisplay.js:491
|
||||
#: ../js/ui/searchDisplay.js:492
|
||||
msgid "No results."
|
||||
msgstr "Ingen resultater."
|
||||
|
||||
@ -1308,14 +1314,14 @@ msgstr "Stor tekst"
|
||||
|
||||
#. 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:28 ../js/ui/status/bluetooth.js:62
|
||||
#: ../js/ui/status/bluetooth.js:99 ../js/ui/status/bluetooth.js:127
|
||||
#: ../js/ui/status/bluetooth.js:163 ../js/ui/status/bluetooth.js:194
|
||||
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:63
|
||||
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
|
||||
#: ../js/ui/status/bluetooth.js:164 ../js/ui/status/bluetooth.js:195
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:30 ../js/ui/status/network.js:112
|
||||
#: ../js/ui/status/network.js:1034 ../js/ui/status/rfkill.js:46
|
||||
#: ../js/ui/status/bluetooth.js:30 ../js/ui/status/network.js:122
|
||||
#: ../js/ui/status/network.js:1051 ../js/ui/status/rfkill.js:46
|
||||
msgid "Turn Off"
|
||||
msgstr "Slå av"
|
||||
|
||||
@ -1323,80 +1329,80 @@ msgstr "Slå av"
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Innstillinger for Bluetooth"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:57
|
||||
#: ../js/ui/status/bluetooth.js:58
|
||||
#, c-format
|
||||
msgid "%d Connected Device"
|
||||
msgid_plural "%d Connected Devices"
|
||||
msgstr[0] "%d tilkoblet enhet"
|
||||
msgstr[1] "%d tilkoblede enheter"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
|
||||
#: ../js/ui/status/bluetooth.js:101 ../js/ui/status/bluetooth.js:129
|
||||
#, c-format
|
||||
msgid "Authorization request from %s"
|
||||
msgstr "Forespørsel om autorisering fra %s"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:106 ../js/ui/status/bluetooth.js:171
|
||||
#: ../js/ui/status/bluetooth.js:202
|
||||
#: ../js/ui/status/bluetooth.js:107 ../js/ui/status/bluetooth.js:172
|
||||
#: ../js/ui/status/bluetooth.js:203
|
||||
#, c-format
|
||||
msgid "Device %s wants to pair with this computer"
|
||||
msgstr "Enhet %s vil koble seg sammen med denne datamaskinen"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:108
|
||||
#: ../js/ui/status/bluetooth.js:109
|
||||
msgid "Allow"
|
||||
msgstr "Tillat"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:109
|
||||
#: ../js/ui/status/bluetooth.js:110
|
||||
msgid "Deny"
|
||||
msgstr "Nekt"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:134
|
||||
#: ../js/ui/status/bluetooth.js:135
|
||||
#, c-format
|
||||
msgid "Device %s wants access to the service '%s'"
|
||||
msgstr "Enhet %s vil ha tilgang til tjenesten «%s»"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:136
|
||||
#: ../js/ui/status/bluetooth.js:137
|
||||
msgid "Always grant access"
|
||||
msgstr "Alltid gi tilgang"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:137
|
||||
#: ../js/ui/status/bluetooth.js:138
|
||||
msgid "Grant this time only"
|
||||
msgstr "Gi tilgang kun denne ene gangen"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:138
|
||||
#: ../js/ui/status/bluetooth.js:139
|
||||
msgid "Reject"
|
||||
msgstr "Avvis"
|
||||
|
||||
#. Translators: argument is the device short name
|
||||
#: ../js/ui/status/bluetooth.js:165
|
||||
#: ../js/ui/status/bluetooth.js:166
|
||||
#, c-format
|
||||
msgid "Pairing confirmation for %s"
|
||||
msgstr "Bekreftelse for tilkobling for %s"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:172
|
||||
#: ../js/ui/status/bluetooth.js:173
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Please confirm whether the Passkey '%06d' matches the one on the device."
|
||||
msgstr "Vennligst bekreft om passord «%06d» er lik den som brukes på enheten."
|
||||
|
||||
#. Translators: this is the verb, not the noun
|
||||
#: ../js/ui/status/bluetooth.js:175
|
||||
#: ../js/ui/status/bluetooth.js:176
|
||||
msgid "Matches"
|
||||
msgstr "Stemmer overens"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:176
|
||||
#: ../js/ui/status/bluetooth.js:177
|
||||
msgid "Does not match"
|
||||
msgstr "Stemmer ikke overens"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:195
|
||||
#: ../js/ui/status/bluetooth.js:196
|
||||
#, c-format
|
||||
msgid "Pairing request for %s"
|
||||
msgstr "Forespørsel om tilkobling for %s"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:203
|
||||
#: ../js/ui/status/bluetooth.js:204
|
||||
msgid "Please enter the PIN mentioned on the device."
|
||||
msgstr "Vennligst oppgi PIN som oppgitt på enheten."
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:220
|
||||
#: ../js/ui/status/bluetooth.js:221
|
||||
msgid "OK"
|
||||
msgstr "OK"
|
||||
|
||||
@ -1404,7 +1410,7 @@ msgstr "OK"
|
||||
msgid "Brightness"
|
||||
msgstr "Lysstyrke"
|
||||
|
||||
#: ../js/ui/status/keyboard.js:404
|
||||
#: ../js/ui/status/keyboard.js:403
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "Vis tastaturutforming"
|
||||
|
||||
@ -1412,83 +1418,83 @@ msgstr "Vis tastaturutforming"
|
||||
msgid "<unknown>"
|
||||
msgstr "<ukjent>"
|
||||
|
||||
#: ../js/ui/status/network.js:203 ../js/ui/status/network.js:1049
|
||||
#: ../js/ui/status/network.js:212 ../js/ui/status/network.js:1066
|
||||
msgid "Off"
|
||||
msgstr "Av"
|
||||
|
||||
#: ../js/ui/status/network.js:276 ../js/ui/status/network.js:955
|
||||
#: ../js/ui/status/network.js:286 ../js/ui/status/network.js:972
|
||||
#: ../js/ui/status/rfkill.js:49
|
||||
msgid "Network Settings"
|
||||
msgstr "Innstillinger for nettverk"
|
||||
|
||||
#. Translators: this is for network devices that are physically present but are not
|
||||
#. under NetworkManager's control (and thus cannot be used in the menu)
|
||||
#: ../js/ui/status/network.js:364
|
||||
#: ../js/ui/status/network.js:375
|
||||
msgid "unmanaged"
|
||||
msgstr "ikke håndtert"
|
||||
|
||||
#: ../js/ui/status/network.js:366
|
||||
#: ../js/ui/status/network.js:377
|
||||
msgid "disconnecting..."
|
||||
msgstr "kobler fra …"
|
||||
|
||||
#: ../js/ui/status/network.js:372 ../js/ui/status/network.js:1100
|
||||
#: ../js/ui/status/network.js:383 ../js/ui/status/network.js:1118
|
||||
msgid "connecting..."
|
||||
msgstr "kobler til …"
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password
|
||||
#: ../js/ui/status/network.js:375 ../js/ui/status/network.js:1103
|
||||
#: ../js/ui/status/network.js:386 ../js/ui/status/network.js:1121
|
||||
msgid "authentication required"
|
||||
msgstr "autentisering kreves"
|
||||
|
||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||
#. module, which is missing
|
||||
#: ../js/ui/status/network.js:383
|
||||
#: ../js/ui/status/network.js:394
|
||||
msgid "firmware missing"
|
||||
msgstr "fastvare mangler"
|
||||
|
||||
#. Translators: this is for a network device that cannot be activated (for example it
|
||||
#. is disabled by rfkill, or it has no coverage
|
||||
#: ../js/ui/status/network.js:387
|
||||
#: ../js/ui/status/network.js:398
|
||||
msgid "unavailable"
|
||||
msgstr "ikke tilgjengelig"
|
||||
|
||||
#: ../js/ui/status/network.js:389 ../js/ui/status/network.js:1105
|
||||
#: ../js/ui/status/network.js:400 ../js/ui/status/network.js:1123
|
||||
msgid "connection failed"
|
||||
msgstr "tilkobling feilet"
|
||||
|
||||
#: ../js/ui/status/network.js:654
|
||||
#: ../js/ui/status/network.js:671
|
||||
msgid "Wi-Fi Networks"
|
||||
msgstr "Wi-Fi nettverk"
|
||||
|
||||
#: ../js/ui/status/network.js:656
|
||||
#: ../js/ui/status/network.js:673
|
||||
msgid "Select a network"
|
||||
msgstr "Velg et nettverk"
|
||||
|
||||
#: ../js/ui/status/network.js:680
|
||||
#: ../js/ui/status/network.js:697
|
||||
msgid "No Networks"
|
||||
msgstr "Ingen nettverk"
|
||||
|
||||
#: ../js/ui/status/network.js:949
|
||||
#: ../js/ui/status/network.js:966
|
||||
msgid "Select Network"
|
||||
msgstr "Velg nettverk"
|
||||
|
||||
#: ../js/ui/status/network.js:1034
|
||||
#: ../js/ui/status/network.js:1051
|
||||
msgid "Turn On"
|
||||
msgstr "Slå på"
|
||||
|
||||
#: ../js/ui/status/network.js:1167
|
||||
#: ../js/ui/status/network.js:1186
|
||||
msgid "VPN"
|
||||
msgstr "VPN"
|
||||
|
||||
#: ../js/ui/status/network.js:1306
|
||||
#: ../js/ui/status/network.js:1326
|
||||
msgid "Network Manager"
|
||||
msgstr "Nettverkshåndtering"
|
||||
|
||||
#: ../js/ui/status/network.js:1345
|
||||
#: ../js/ui/status/network.js:1365
|
||||
msgid "Connection failed"
|
||||
msgstr "Tilkobling feilet"
|
||||
|
||||
#: ../js/ui/status/network.js:1346
|
||||
#: ../js/ui/status/network.js:1366
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Aktivering av nettverkstilkobling feilet"
|
||||
|
||||
@ -1574,11 +1580,11 @@ msgstr "Logg inn som en annen bruker"
|
||||
msgid "Unlock Window"
|
||||
msgstr "Lås opp vindu"
|
||||
|
||||
#: ../js/ui/viewSelector.js:100
|
||||
#: ../js/ui/viewSelector.js:104
|
||||
msgid "Applications"
|
||||
msgstr "Programmer"
|
||||
|
||||
#: ../js/ui/viewSelector.js:104
|
||||
#: ../js/ui/viewSelector.js:108
|
||||
msgid "Search"
|
||||
msgstr "Søk"
|
||||
|
||||
@ -1681,3 +1687,6 @@ msgstr "Passordet kan ikke være tomt"
|
||||
#: ../src/shell-polkit-authentication-agent.c:343
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "Autentiseringsdialogen ble lukket av brukeren"
|
||||
|
||||
#~ msgid "Settings Menu"
|
||||
#~ msgstr "Meny for innstillinger"
|
||||
|
509
po/pt_BR.po
509
po/pt_BR.po
File diff suppressed because it is too large
Load Diff
571
po/sr@latin.po
571
po/sr@latin.po
File diff suppressed because it is too large
Load Diff
293
po/uk.po
293
po/uk.po
@ -9,8 +9,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-09-04 18:06+0300\n"
|
||||
"PO-Revision-Date: 2013-09-04 18:44+0300\n"
|
||||
"POT-Creation-Date: 2013-10-11 14:58+0300\n"
|
||||
"PO-Revision-Date: 2013-10-11 15:01+0300\n"
|
||||
"Last-Translator: Daniel Korostil <ted.korostiled@gmail.com>\n"
|
||||
"Language-Team: linux.org.ua\n"
|
||||
"Language: uk\n"
|
||||
@ -51,6 +51,7 @@ msgid "GNOME Shell"
|
||||
msgstr "GNOME Shell"
|
||||
|
||||
#: ../data/gnome-shell.desktop.in.in.h:2
|
||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
|
||||
msgid "Window management and application launching"
|
||||
msgstr "Керування вікнами та запуск програм"
|
||||
|
||||
@ -62,6 +63,10 @@ msgstr "Параметри розширень GNOME Shell"
|
||||
msgid "Configure GNOME Shell Extensions"
|
||||
msgstr "Налаштувати розширення GNOME Shell"
|
||||
|
||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
|
||||
msgid "GNOME Shell (wayland compositor)"
|
||||
msgstr "Оболонка GNOME (поверх wayland)"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
|
||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
|
||||
msgstr ""
|
||||
@ -258,14 +263,18 @@ msgstr "Робочі простори організовуються динам
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Робочий простір лише на основному моніторі"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr "Затримувати зміни фокусу миші, поки вказівник не перестане рухатись"
|
||||
|
||||
#: ../js/extensionPrefs/main.js:189
|
||||
msgid "Select an extension to configure using the combobox above."
|
||||
msgstr "Вибрати розширення для налаштування через список вище."
|
||||
|
||||
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:132
|
||||
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:136
|
||||
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351
|
||||
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
|
||||
#: ../js/ui/status/bluetooth.js:221 ../js/ui/status/network.js:686
|
||||
#: ../js/ui/status/bluetooth.js:222 ../js/ui/status/network.js:728
|
||||
msgid "Cancel"
|
||||
msgstr "Скасувати"
|
||||
|
||||
@ -296,8 +305,8 @@ msgstr "Немає в переліку?"
|
||||
msgid "(e.g., user or %s)"
|
||||
msgstr "(наприклад, користувач або %s)"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:255
|
||||
#: ../js/ui/components/networkAgent.js:273
|
||||
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:259
|
||||
#: ../js/ui/components/networkAgent.js:277
|
||||
msgid "Username: "
|
||||
msgstr "Користувач:"
|
||||
|
||||
@ -313,40 +322,40 @@ msgstr "Помилка розпізнавання"
|
||||
msgid "(or swipe finger)"
|
||||
msgstr "(або проведіть пальцем)"
|
||||
|
||||
#: ../js/misc/util.js:97
|
||||
#: ../js/misc/util.js:115
|
||||
msgid "Command not found"
|
||||
msgstr "Команди не знайдено"
|
||||
|
||||
#: ../js/misc/util.js:130
|
||||
#: ../js/misc/util.js:148
|
||||
msgid "Could not parse command:"
|
||||
msgstr "Неможливо розібрати команду:"
|
||||
|
||||
#: ../js/misc/util.js:138
|
||||
#: ../js/misc/util.js:156
|
||||
#, javascript-format
|
||||
msgid "Execution of '%s' failed:"
|
||||
msgstr "Не вдалось виконати «%s»:"
|
||||
|
||||
#: ../js/ui/appDisplay.js:580
|
||||
#: ../js/ui/appDisplay.js:596
|
||||
msgid "Frequently used applications will appear here"
|
||||
msgstr "Часто використовувані програми будуть з'являтись тут"
|
||||
|
||||
#: ../js/ui/appDisplay.js:696
|
||||
#: ../js/ui/appDisplay.js:712
|
||||
msgid "Frequent"
|
||||
msgstr "Частовживане"
|
||||
|
||||
#: ../js/ui/appDisplay.js:703
|
||||
#: ../js/ui/appDisplay.js:719
|
||||
msgid "All"
|
||||
msgstr "Усе"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1490
|
||||
#: ../js/ui/appDisplay.js:1514
|
||||
msgid "New Window"
|
||||
msgstr "Нове вікно"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1493 ../js/ui/dash.js:284
|
||||
#: ../js/ui/appDisplay.js:1517 ../js/ui/dash.js:284
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Вилучити з улюбленого"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1494
|
||||
#: ../js/ui/appDisplay.js:1518
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Додати до улюбленого"
|
||||
|
||||
@ -360,7 +369,8 @@ msgstr "%s додано до улюбленого."
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "%s вилучено з улюбленого."
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/status/system.js:325
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:808
|
||||
#: ../js/ui/status/system.js:325
|
||||
msgid "Settings"
|
||||
msgstr "Параметри"
|
||||
|
||||
@ -550,83 +560,83 @@ msgstr "Відкрити через %s"
|
||||
msgid "Eject"
|
||||
msgstr "Витягнути"
|
||||
|
||||
#: ../js/ui/components/keyring.js:88 ../js/ui/components/polkitAgent.js:280
|
||||
#: ../js/ui/components/keyring.js:89 ../js/ui/components/polkitAgent.js:280
|
||||
msgid "Password:"
|
||||
msgstr "Пароль:"
|
||||
|
||||
#: ../js/ui/components/keyring.js:107
|
||||
#: ../js/ui/components/keyring.js:108
|
||||
msgid "Type again:"
|
||||
msgstr "Введіть знову:"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:127 ../js/ui/status/network.js:112
|
||||
#: ../js/ui/status/network.js:275 ../js/ui/status/network.js:689
|
||||
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:133
|
||||
#: ../js/ui/status/network.js:296 ../js/ui/status/network.js:731
|
||||
msgid "Connect"
|
||||
msgstr "З'єднатись"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:218
|
||||
#: ../js/ui/components/networkAgent.js:230
|
||||
#: ../js/ui/components/networkAgent.js:257
|
||||
#: ../js/ui/components/networkAgent.js:277
|
||||
#: ../js/ui/components/networkAgent.js:287
|
||||
#: ../js/ui/components/networkAgent.js:222
|
||||
#: ../js/ui/components/networkAgent.js:234
|
||||
#: ../js/ui/components/networkAgent.js:261
|
||||
#: ../js/ui/components/networkAgent.js:281
|
||||
#: ../js/ui/components/networkAgent.js:291
|
||||
msgid "Password: "
|
||||
msgstr "Пароль:"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:223
|
||||
#: ../js/ui/components/networkAgent.js:227
|
||||
msgid "Key: "
|
||||
msgstr "Ключ:"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:261
|
||||
#: ../js/ui/components/networkAgent.js:265
|
||||
msgid "Identity: "
|
||||
msgstr "Тотожність"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:263
|
||||
#: ../js/ui/components/networkAgent.js:267
|
||||
msgid "Private key password: "
|
||||
msgstr "Пароль закритого ключа:"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:275
|
||||
#: ../js/ui/components/networkAgent.js:279
|
||||
msgid "Service: "
|
||||
msgstr "Служба:"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:304
|
||||
#: ../js/ui/components/networkAgent.js:308
|
||||
msgid "Authentication required by wireless network"
|
||||
msgstr "Потрібна аутентифікація для радіомережі"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:305
|
||||
#: ../js/ui/components/networkAgent.js:309
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
"'%s'."
|
||||
msgstr "Потрібно паролі або зашифровані ключі для доступу до радіомережі «%s»."
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:309
|
||||
#: ../js/ui/components/networkAgent.js:313
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "Дротова аутентифікація 802.1X"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:311
|
||||
#: ../js/ui/components/networkAgent.js:315
|
||||
msgid "Network name: "
|
||||
msgstr "Назва мережні: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:316
|
||||
#: ../js/ui/components/networkAgent.js:320
|
||||
msgid "DSL authentication"
|
||||
msgstr "Аутентифікація DSL"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:323
|
||||
#: ../js/ui/components/networkAgent.js:327
|
||||
msgid "PIN code required"
|
||||
msgstr "Потрібен код PIN"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:324
|
||||
#: ../js/ui/components/networkAgent.js:328
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "Потрібен код PIN для мобільних широкосмугових пристроїв"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:325
|
||||
#: ../js/ui/components/networkAgent.js:329
|
||||
msgid "PIN: "
|
||||
msgstr "PIN: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:331
|
||||
#: ../js/ui/components/networkAgent.js:335
|
||||
msgid "Mobile broadband network password"
|
||||
msgstr "пароль до мобільної широкосмугової радіомережі"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:332
|
||||
#: ../js/ui/components/networkAgent.js:336
|
||||
#, javascript-format
|
||||
msgid "A password is required to connect to '%s'."
|
||||
msgstr "Пароль потрібен для з'єднання з «%s»."
|
||||
@ -882,7 +892,7 @@ msgstr "Переглянути обліковий запис"
|
||||
msgid "Unknown reason"
|
||||
msgstr "Невідома причина"
|
||||
|
||||
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:96
|
||||
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:100
|
||||
msgid "Windows"
|
||||
msgstr "Вікна"
|
||||
|
||||
@ -992,11 +1002,9 @@ 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] ""
|
||||
"Система автоматично перезапуститься та встановить оновлення через %d "
|
||||
"секунду."
|
||||
"Система автоматично перезапуститься та встановить оновлення через %d секунду."
|
||||
msgstr[1] ""
|
||||
"Система автоматично перезапуститься та встановить оновлення через %d "
|
||||
"секунди."
|
||||
"Система автоматично перезапуститься та встановить оновлення через %d секунди."
|
||||
msgstr[2] ""
|
||||
"Система автоматично перезапуститься та встановить оновлення через %d секунд."
|
||||
|
||||
@ -1060,9 +1068,12 @@ msgstr "Показати помилки"
|
||||
msgid "Enabled"
|
||||
msgstr "Увімкнено"
|
||||
|
||||
#. Translators: this is for a network device that cannot be activated
|
||||
#. because it's disabled by rfkill (airplane mode) */
|
||||
#. translators:
|
||||
#. * The device has been disabled
|
||||
#: ../js/ui/lookingGlass.js:765 ../src/gvc/gvc-mixer-control.c:1830
|
||||
#: ../js/ui/lookingGlass.js:765 ../js/ui/status/network.js:473
|
||||
#: ../src/gvc/gvc-mixer-control.c:1830
|
||||
msgid "Disabled"
|
||||
msgstr "Вимкнено"
|
||||
|
||||
@ -1094,27 +1105,31 @@ msgstr "Відкрити"
|
||||
msgid "Remove"
|
||||
msgstr "Вилучити"
|
||||
|
||||
#: ../js/ui/messageTray.js:1513
|
||||
#: ../js/ui/messageTray.js:1530
|
||||
msgid "Notifications"
|
||||
msgstr "Сповіщення"
|
||||
|
||||
#: ../js/ui/messageTray.js:1537
|
||||
msgid "Clear Messages"
|
||||
msgstr "Очистити повідомлення"
|
||||
|
||||
#: ../js/ui/messageTray.js:1540
|
||||
#: ../js/ui/messageTray.js:1564
|
||||
msgid "Notification Settings"
|
||||
msgstr "Параметри сповіщення"
|
||||
|
||||
#: ../js/ui/messageTray.js:1559
|
||||
#: ../js/ui/messageTray.js:1617
|
||||
msgid "Tray Menu"
|
||||
msgstr "Меню лотка"
|
||||
|
||||
#: ../js/ui/messageTray.js:1775
|
||||
#: ../js/ui/messageTray.js:1833
|
||||
msgid "No Messages"
|
||||
msgstr "Немає повідомлень"
|
||||
|
||||
#: ../js/ui/messageTray.js:1812
|
||||
#: ../js/ui/messageTray.js:1871
|
||||
msgid "Message Tray"
|
||||
msgstr "Лоток повідомлень"
|
||||
|
||||
#: ../js/ui/messageTray.js:2786
|
||||
#: ../js/ui/messageTray.js:2846
|
||||
msgid "System Information"
|
||||
msgstr "Інформація про систему"
|
||||
|
||||
@ -1147,25 +1162,21 @@ msgstr "Огляд"
|
||||
msgid "Type to search…"
|
||||
msgstr "Введіть для пошуку…"
|
||||
|
||||
#: ../js/ui/panel.js:516
|
||||
#: ../js/ui/panel.js:518
|
||||
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:568
|
||||
#: ../js/ui/panel.js:570
|
||||
msgid "Activities"
|
||||
msgstr "Діяльність"
|
||||
|
||||
#: ../js/ui/panel.js:805
|
||||
msgid "Settings Menu"
|
||||
msgstr "Меню параметрів"
|
||||
|
||||
#: ../js/ui/panel.js:901
|
||||
#: ../js/ui/panel.js:904
|
||||
msgid "Top Bar"
|
||||
msgstr "Верхня панель"
|
||||
|
||||
#: ../js/ui/popupMenu.js:226
|
||||
#: ../js/ui/popupMenu.js:233
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-intl"
|
||||
|
||||
@ -1195,23 +1206,23 @@ msgstr[2] "%d нових сповіщень"
|
||||
msgid "Lock"
|
||||
msgstr "Заблокувати"
|
||||
|
||||
#: ../js/ui/screenShield.js:703
|
||||
#: ../js/ui/screenShield.js:704
|
||||
msgid "GNOME needs to lock the screen"
|
||||
msgstr "GNOME потребує заблокувати екран"
|
||||
|
||||
#: ../js/ui/screenShield.js:830 ../js/ui/screenShield.js:1296
|
||||
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
|
||||
msgid "Unable to lock"
|
||||
msgstr "Неможливо заблокувати"
|
||||
|
||||
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
|
||||
#: ../js/ui/screenShield.js:832 ../js/ui/screenShield.js:1298
|
||||
msgid "Lock was blocked by an application"
|
||||
msgstr "Блокування заборонено програмою"
|
||||
|
||||
#: ../js/ui/searchDisplay.js:447
|
||||
#: ../js/ui/searchDisplay.js:448
|
||||
msgid "Searching…"
|
||||
msgstr "Пошуки…"
|
||||
|
||||
#: ../js/ui/searchDisplay.js:491
|
||||
#: ../js/ui/searchDisplay.js:492
|
||||
msgid "No results."
|
||||
msgstr "Безрезультатно."
|
||||
|
||||
@ -1283,14 +1294,14 @@ msgstr "Висока контрастність"
|
||||
msgid "Large Text"
|
||||
msgstr "Більший текст"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:62
|
||||
#: ../js/ui/status/bluetooth.js:99 ../js/ui/status/bluetooth.js:127
|
||||
#: ../js/ui/status/bluetooth.js:163 ../js/ui/status/bluetooth.js:194
|
||||
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:63
|
||||
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
|
||||
#: ../js/ui/status/bluetooth.js:164 ../js/ui/status/bluetooth.js:195
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:30 ../js/ui/status/network.js:112
|
||||
#: ../js/ui/status/network.js:1034 ../js/ui/status/rfkill.js:46
|
||||
#: ../js/ui/status/bluetooth.js:30 ../js/ui/status/network.js:133
|
||||
#: ../js/ui/status/network.js:1085 ../js/ui/status/rfkill.js:46
|
||||
msgid "Turn Off"
|
||||
msgstr "Вимкнути"
|
||||
|
||||
@ -1298,7 +1309,7 @@ msgstr "Вимкнути"
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Параметри Bluetooth"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:57
|
||||
#: ../js/ui/status/bluetooth.js:58
|
||||
#, javascript-format
|
||||
msgid "%d Connected Device"
|
||||
msgid_plural "%d Connected Devices"
|
||||
@ -1306,73 +1317,73 @@ msgstr[0] "Під'єднано %d пристрій"
|
||||
msgstr[1] "Під'єднано %d пристрої"
|
||||
msgstr[2] "Під'єднано %d пристроїв"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
|
||||
#: ../js/ui/status/bluetooth.js:101 ../js/ui/status/bluetooth.js:129
|
||||
#, javascript-format
|
||||
msgid "Authorization request from %s"
|
||||
msgstr "Запит про авторизацію від %s"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:106 ../js/ui/status/bluetooth.js:171
|
||||
#: ../js/ui/status/bluetooth.js:202
|
||||
#: ../js/ui/status/bluetooth.js:107 ../js/ui/status/bluetooth.js:172
|
||||
#: ../js/ui/status/bluetooth.js:203
|
||||
#, javascript-format
|
||||
msgid "Device %s wants to pair with this computer"
|
||||
msgstr "Пристрій %s потребує прив'язання до цього комп'ютера"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:108
|
||||
#: ../js/ui/status/bluetooth.js:109
|
||||
msgid "Allow"
|
||||
msgstr "Дозволити"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:109
|
||||
#: ../js/ui/status/bluetooth.js:110
|
||||
msgid "Deny"
|
||||
msgstr "Заборонити"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:134
|
||||
#: ../js/ui/status/bluetooth.js:135
|
||||
#, javascript-format
|
||||
msgid "Device %s wants access to the service '%s'"
|
||||
msgstr "Пристрій %s потребує доступ до служби «%s»"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:136
|
||||
#: ../js/ui/status/bluetooth.js:137
|
||||
msgid "Always grant access"
|
||||
msgstr "Завжди надавати доступ"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:137
|
||||
#: ../js/ui/status/bluetooth.js:138
|
||||
msgid "Grant this time only"
|
||||
msgstr "Надати лише цього разу"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:138
|
||||
#: ../js/ui/status/bluetooth.js:139
|
||||
msgid "Reject"
|
||||
msgstr "Відмовити"
|
||||
|
||||
#. Translators: argument is the device short name */
|
||||
#: ../js/ui/status/bluetooth.js:165
|
||||
#: ../js/ui/status/bluetooth.js:166
|
||||
#, javascript-format
|
||||
msgid "Pairing confirmation for %s"
|
||||
msgstr "Сполучення підтвердження для %s"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:172
|
||||
#: ../js/ui/status/bluetooth.js:173
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"Please confirm whether the Passkey '%06d' matches the one on the device."
|
||||
msgstr "Підвердьте, чи ключ «%06d» збігається з ключем на пристрої."
|
||||
|
||||
#. Translators: this is the verb, not the noun */
|
||||
#: ../js/ui/status/bluetooth.js:175
|
||||
#: ../js/ui/status/bluetooth.js:176
|
||||
msgid "Matches"
|
||||
msgstr "Збігається"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:176
|
||||
#: ../js/ui/status/bluetooth.js:177
|
||||
msgid "Does not match"
|
||||
msgstr "Не збігається"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:195
|
||||
#: ../js/ui/status/bluetooth.js:196
|
||||
#, javascript-format
|
||||
msgid "Pairing request for %s"
|
||||
msgstr "Запит на сполучення для %s"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:203
|
||||
#: ../js/ui/status/bluetooth.js:204
|
||||
msgid "Please enter the PIN mentioned on the device."
|
||||
msgstr "Будь ласка, введіть PIN, згаданий на пристрої."
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:220
|
||||
#: ../js/ui/status/bluetooth.js:221
|
||||
msgid "OK"
|
||||
msgstr "Гаразд"
|
||||
|
||||
@ -1384,83 +1395,95 @@ msgstr "Яскравість"
|
||||
msgid "<unknown>"
|
||||
msgstr "<невідомо>"
|
||||
|
||||
#: ../js/ui/status/network.js:203 ../js/ui/status/network.js:1049
|
||||
#: ../js/ui/status/network.js:223 ../js/ui/status/network.js:380
|
||||
#: ../js/ui/status/network.js:1106
|
||||
msgid "Off"
|
||||
msgstr "Вимкнено"
|
||||
|
||||
#: ../js/ui/status/network.js:276 ../js/ui/status/network.js:955
|
||||
#: ../js/ui/status/rfkill.js:49
|
||||
msgid "Network Settings"
|
||||
msgstr "Налаштування мережі"
|
||||
|
||||
#. Translators: this is for network devices that are physically present but are not
|
||||
#. under NetworkManager's control (and thus cannot be used in the menu) */
|
||||
#: ../js/ui/status/network.js:364
|
||||
#: ../js/ui/status/network.js:386
|
||||
msgid "unmanaged"
|
||||
msgstr "некерований"
|
||||
|
||||
#: ../js/ui/status/network.js:366
|
||||
#: ../js/ui/status/network.js:388
|
||||
msgid "disconnecting..."
|
||||
msgstr "від'єднання…"
|
||||
|
||||
#: ../js/ui/status/network.js:372 ../js/ui/status/network.js:1100
|
||||
#: ../js/ui/status/network.js:394 ../js/ui/status/network.js:1160
|
||||
msgid "connecting..."
|
||||
msgstr "з'єднання…"
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password */
|
||||
#: ../js/ui/status/network.js:375 ../js/ui/status/network.js:1103
|
||||
#: ../js/ui/status/network.js:397 ../js/ui/status/network.js:1163
|
||||
msgid "authentication required"
|
||||
msgstr "Потрібна аутентифікація"
|
||||
|
||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||
#. module, which is missing */
|
||||
#: ../js/ui/status/network.js:383
|
||||
#: ../js/ui/status/network.js:405
|
||||
msgid "firmware missing"
|
||||
msgstr "Бракує мікропрограми"
|
||||
|
||||
#. Translators: this is for a network device that cannot be activated (for example it
|
||||
#. is disabled by rfkill, or it has no coverage */
|
||||
#: ../js/ui/status/network.js:387
|
||||
#: ../js/ui/status/network.js:409
|
||||
msgid "unavailable"
|
||||
msgstr "недоступний"
|
||||
|
||||
#: ../js/ui/status/network.js:389 ../js/ui/status/network.js:1105
|
||||
#: ../js/ui/status/network.js:411 ../js/ui/status/network.js:1165
|
||||
msgid "connection failed"
|
||||
msgstr "не вдалось з'єднатись"
|
||||
|
||||
#: ../js/ui/status/network.js:654
|
||||
#: ../js/ui/status/network.js:427 ../js/ui/status/network.js:513
|
||||
msgid "Mobile Broadband Settings"
|
||||
msgstr "параметри мобільної радіомережі"
|
||||
|
||||
#: ../js/ui/status/network.js:469 ../js/ui/status/network.js:1104
|
||||
msgid "Hardware Disabled"
|
||||
msgstr "Пристрій вимкнено"
|
||||
|
||||
#: ../js/ui/status/network.js:696
|
||||
msgid "Wi-Fi Networks"
|
||||
msgstr "Мережі Wi-Fi"
|
||||
|
||||
#: ../js/ui/status/network.js:656
|
||||
#: ../js/ui/status/network.js:698
|
||||
msgid "Select a network"
|
||||
msgstr "Вибрати мережу"
|
||||
|
||||
#: ../js/ui/status/network.js:680
|
||||
#: ../js/ui/status/network.js:722
|
||||
msgid "No Networks"
|
||||
msgstr "Немає мереж"
|
||||
|
||||
#: ../js/ui/status/network.js:949
|
||||
#: ../js/ui/status/network.js:991
|
||||
msgid "Select Network"
|
||||
msgstr "Виберіть мережу"
|
||||
|
||||
#: ../js/ui/status/network.js:1034
|
||||
#: ../js/ui/status/network.js:997
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "Параметри Wi-Fi"
|
||||
|
||||
#: ../js/ui/status/network.js:1085
|
||||
msgid "Turn On"
|
||||
msgstr "Увімкнути"
|
||||
|
||||
#: ../js/ui/status/network.js:1167
|
||||
#: ../js/ui/status/network.js:1108
|
||||
msgid "Not Connected"
|
||||
msgstr "Роз'єднано"
|
||||
|
||||
#: ../js/ui/status/network.js:1228
|
||||
msgid "VPN"
|
||||
msgstr "VPN"
|
||||
|
||||
#: ../js/ui/status/network.js:1306
|
||||
#: ../js/ui/status/network.js:1368
|
||||
msgid "Network Manager"
|
||||
msgstr "Керування мережею"
|
||||
|
||||
#: ../js/ui/status/network.js:1345
|
||||
#: ../js/ui/status/network.js:1407
|
||||
msgid "Connection failed"
|
||||
msgstr "Не вдалось з'єднатись"
|
||||
|
||||
#: ../js/ui/status/network.js:1346
|
||||
#: ../js/ui/status/network.js:1408
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Не вдалось увімкнути мережеве з'єднання"
|
||||
|
||||
@ -1498,6 +1521,10 @@ msgstr "У літаку"
|
||||
msgid "On"
|
||||
msgstr "Увімкнено"
|
||||
|
||||
#: ../js/ui/status/rfkill.js:49
|
||||
msgid "Network Settings"
|
||||
msgstr "Налаштування мережі"
|
||||
|
||||
#: ../js/ui/status/system.js:305
|
||||
msgid "Switch User"
|
||||
msgstr "Змінити користувача"
|
||||
@ -1538,11 +1565,11 @@ msgstr "Увійти як інший користувач"
|
||||
msgid "Unlock Window"
|
||||
msgstr "Розблокувати вікно"
|
||||
|
||||
#: ../js/ui/viewSelector.js:100
|
||||
#: ../js/ui/viewSelector.js:104
|
||||
msgid "Applications"
|
||||
msgstr "Програми"
|
||||
|
||||
#: ../js/ui/viewSelector.js:104
|
||||
#: ../js/ui/viewSelector.js:108
|
||||
msgid "Search"
|
||||
msgstr "Пошук"
|
||||
|
||||
@ -1649,6 +1676,26 @@ msgstr "Пароль не може бути порожнім"
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "Вікно авторизації відхилено користувачем"
|
||||
|
||||
#~ msgid "There was an error loading the preferences dialog for %s:"
|
||||
#~ msgstr "Помилка завантаження вікна параметрів для %s:"
|
||||
|
||||
#~ msgid "Extension"
|
||||
#~ msgstr "Розширення"
|
||||
|
||||
#~ msgctxt "event list time"
|
||||
#~ msgid "%H\\u2236%M"
|
||||
#~ msgstr "%H\\u2236%M"
|
||||
|
||||
#~ msgctxt "event list time"
|
||||
#~ msgid "%l\\u2236%M\\u2009%p"
|
||||
#~ msgstr "%l\\u2236%M\\u2009%p"
|
||||
|
||||
#~ msgid "Show Keyboard Layout"
|
||||
#~ msgstr "Показати розкладку клавіатури"
|
||||
|
||||
#~ msgid "Settings Menu"
|
||||
#~ msgstr "Меню параметрів"
|
||||
|
||||
#~ msgid "Screenshots"
|
||||
#~ msgstr "Знімки"
|
||||
|
||||
@ -1742,12 +1789,6 @@ msgstr "Вікно авторизації відхилено користува
|
||||
#~ "на даті, та буде використовувати це розширення. Слід змінити це, коли "
|
||||
#~ "записуєте в різні формати контейнера. "
|
||||
|
||||
#~ msgid "There was an error loading the preferences dialog for %s:"
|
||||
#~ msgstr "Помилка завантаження вікна параметрів для %s:"
|
||||
|
||||
#~ msgid "Extension"
|
||||
#~ msgstr "Розширення"
|
||||
|
||||
#~ msgid "Session…"
|
||||
#~ msgstr "Сеанс…"
|
||||
|
||||
@ -1757,14 +1798,6 @@ msgstr "Вікно авторизації відхилено користува
|
||||
#~ msgid "Restart"
|
||||
#~ msgstr "Перезапустити"
|
||||
|
||||
#~ msgctxt "event list time"
|
||||
#~ msgid "%H\\u2236%M"
|
||||
#~ msgstr "%H\\u2236%M"
|
||||
|
||||
#~ msgctxt "event list time"
|
||||
#~ msgid "%l\\u2236%M\\u2009%p"
|
||||
#~ msgstr "%l\\u2236%M\\u2009%p"
|
||||
|
||||
#~ msgid "Screencast from %d %t"
|
||||
#~ msgstr "Трансляція з екрана від %d %t"
|
||||
|
||||
@ -1800,9 +1833,6 @@ msgstr "Вікно авторизації відхилено користува
|
||||
#~ msgid "Set Up a New Device…"
|
||||
#~ msgstr "Налаштувати новий пристрій…"
|
||||
|
||||
#~ msgid "hardware disabled"
|
||||
#~ msgstr "пристрій вимкнено"
|
||||
|
||||
#~ msgid "Connection"
|
||||
#~ msgstr "З'єднання"
|
||||
|
||||
@ -1818,9 +1848,6 @@ msgstr "Вікно авторизації відхилено користува
|
||||
#~ msgid "Sound Settings"
|
||||
#~ msgstr "Параметри звуку"
|
||||
|
||||
#~ msgid "Show Keyboard Layout"
|
||||
#~ msgstr "Показати розкладку клавіатури"
|
||||
|
||||
#~ msgid "Region & Language Settings"
|
||||
#~ msgstr "Параметри регіону та мови"
|
||||
|
||||
@ -1842,9 +1869,6 @@ msgstr "Вікно авторизації відхилено користува
|
||||
#~ msgid "Auto Ethernet"
|
||||
#~ msgstr "Автоматично Ethernet"
|
||||
|
||||
#~ msgid "Mobile broadband"
|
||||
#~ msgstr "Мобільна радіомережа"
|
||||
|
||||
#~ msgid "Auto broadband"
|
||||
#~ msgstr "Автоматично радіомережа"
|
||||
|
||||
@ -1946,9 +1970,6 @@ msgstr "Вікно авторизації відхилено користува
|
||||
#~ msgid "Idle"
|
||||
#~ msgstr "Бездіяльний"
|
||||
|
||||
#~ msgid "Notifications"
|
||||
#~ msgstr "Сповіщення"
|
||||
|
||||
#~ msgid "Your chat status will be set to busy"
|
||||
#~ msgstr "Ваш стан балачки буде змінено на «зайнятий»"
|
||||
|
||||
|
952
po/zh_HK.po
952
po/zh_HK.po
File diff suppressed because it is too large
Load Diff
952
po/zh_TW.po
952
po/zh_TW.po
File diff suppressed because it is too large
Load Diff
@ -618,6 +618,7 @@ _shell_app_system_notify_app_state_changed (ShellAppSystem *self,
|
||||
switch (state)
|
||||
{
|
||||
case SHELL_APP_STATE_RUNNING:
|
||||
case SHELL_APP_STATE_BUSY:
|
||||
g_hash_table_insert (self->priv->running_apps, g_object_ref (app), NULL);
|
||||
break;
|
||||
case SHELL_APP_STATE_STARTING:
|
||||
@ -759,9 +760,8 @@ shell_app_system_initial_search (ShellAppSystem *self,
|
||||
* @terms: (element-type utf8): List of terms, logical AND
|
||||
*
|
||||
* Search through a previous result set; for more information, see
|
||||
* js/ui/search.js. Note the value of @prefs must be
|
||||
* the same as passed to shell_app_system_initial_search(). Note that returned
|
||||
* strings are only valid until a return to the main loop.
|
||||
* js/ui/search.js. Note that returned strings are only valid until
|
||||
* a return to the main loop.
|
||||
*
|
||||
* Returns: (transfer container) (element-type ShellApp): List of application identifiers
|
||||
*/
|
||||
|
@ -653,6 +653,7 @@ shell_app_activate_full (ShellApp *app,
|
||||
case SHELL_APP_STATE_STARTING:
|
||||
break;
|
||||
case SHELL_APP_STATE_RUNNING:
|
||||
case SHELL_APP_STATE_BUSY:
|
||||
shell_app_activate_window (app, NULL, timestamp);
|
||||
break;
|
||||
}
|
||||
@ -960,10 +961,8 @@ application_properties_changed (GDBusConnection *connection,
|
||||
{
|
||||
ShellApp *app = user_data;
|
||||
GVariant *changed_properties;
|
||||
GVariantIter iter;
|
||||
gboolean busy = FALSE;
|
||||
const gchar *key, *interface_name_for_signal;
|
||||
GVariant *value;
|
||||
const gchar *interface_name_for_signal;
|
||||
|
||||
g_variant_get (parameters,
|
||||
"(&s@a{sv}as)",
|
||||
@ -974,19 +973,7 @@ application_properties_changed (GDBusConnection *connection,
|
||||
if (g_strcmp0 (interface_name_for_signal, "org.gtk.Application") != 0)
|
||||
return;
|
||||
|
||||
g_variant_iter_init (&iter, changed_properties);
|
||||
while (g_variant_iter_next (&iter, "{&sv}", &key, &value))
|
||||
{
|
||||
if (g_strcmp0 (key, "Busy") != 0)
|
||||
{
|
||||
g_variant_unref (value);
|
||||
continue;
|
||||
}
|
||||
|
||||
busy = g_variant_get_boolean (value);
|
||||
g_variant_unref (value);
|
||||
break;
|
||||
}
|
||||
g_variant_lookup (changed_properties, "Busy", "b", &busy);
|
||||
|
||||
if (busy)
|
||||
shell_app_state_transition (app, SHELL_APP_STATE_BUSY);
|
||||
|
@ -470,12 +470,12 @@ shell_global_class_init (ShellGlobalClass *klass)
|
||||
G_PARAM_READABLE));
|
||||
}
|
||||
|
||||
/**•
|
||||
* _shell_global_init: (skip)•
|
||||
/*
|
||||
* _shell_global_init: (skip)
|
||||
* @first_property_name: the name of the first property
|
||||
* @...: the value of the first property, followed optionally by more
|
||||
* name/value pairs, followed by %NULL
|
||||
*•
|
||||
*
|
||||
* Initializes the shell global singleton with the construction-time
|
||||
* properties.
|
||||
*
|
||||
@ -1779,6 +1779,8 @@ shell_global_set_runtime_state (ShellGlobal *global,
|
||||
NULL, FALSE, G_FILE_CREATE_REPLACE_DESTINATION,
|
||||
NULL, NULL, NULL);
|
||||
}
|
||||
|
||||
g_object_unref (path);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1790,7 +1792,7 @@ shell_global_set_runtime_state (ShellGlobal *global,
|
||||
* The shell maintains "runtime" state which does not persist across
|
||||
* logout or reboot.
|
||||
*
|
||||
* Returns: The value of a serialized property, or %NULL if none stored
|
||||
* Returns: (transfer floating): The value of a serialized property, or %NULL if none stored
|
||||
*/
|
||||
GVariant *
|
||||
shell_global_get_runtime_state (ShellGlobal *global,
|
||||
@ -1817,10 +1819,13 @@ shell_global_get_runtime_state (ShellGlobal *global,
|
||||
else
|
||||
{
|
||||
GBytes *bytes = g_mapped_file_get_bytes (mfile);
|
||||
res = g_variant_new_from_bytes ((GVariantType*)property_type, bytes, TRUE);
|
||||
res = g_variant_new_from_bytes (G_VARIANT_TYPE (property_type), bytes, TRUE);
|
||||
g_bytes_unref (bytes);
|
||||
g_mapped_file_unref (mfile);
|
||||
}
|
||||
|
||||
g_object_unref (path);
|
||||
g_free (pathstr);
|
||||
|
||||
return res;
|
||||
}
|
||||
|
@ -11,6 +11,6 @@ gboolean shell_js_add_extension_importer (const char *target_object_script,
|
||||
const char *directory,
|
||||
GError **error);
|
||||
|
||||
G_BEGIN_DECLS
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __SHELL_JS_H__ */
|
||||
|
@ -771,6 +771,6 @@ shell_keyring_prompt_cancel (ShellKeyringPrompt *self)
|
||||
self->async_result = NULL;
|
||||
self->mode = PROMPTING_NONE;
|
||||
|
||||
g_simple_async_result_complete (res);
|
||||
g_simple_async_result_complete_in_idle (res);
|
||||
g_object_unref (res);
|
||||
}
|
||||
|
@ -259,6 +259,7 @@ st_adjustment_class_init (StAdjustmentClass *klass)
|
||||
G_PARAM_CONSTRUCT));
|
||||
/**
|
||||
* StAdjustment::changed:
|
||||
* @self: the #StAdjustment
|
||||
*
|
||||
* Emitted when any of the adjustment values have changed
|
||||
*/
|
||||
|
@ -795,6 +795,8 @@ st_entry_class_init (StEntryClass *klass)
|
||||
/* signals */
|
||||
/**
|
||||
* StEntry::primary-icon-clicked:
|
||||
* @self: the #StEntry
|
||||
*
|
||||
*
|
||||
* Emitted when the primary icon is clicked
|
||||
*/
|
||||
@ -807,6 +809,7 @@ st_entry_class_init (StEntryClass *klass)
|
||||
G_TYPE_NONE, 0);
|
||||
/**
|
||||
* StEntry::secondary-icon-clicked:
|
||||
* @self: the #StEntry
|
||||
*
|
||||
* Emitted when the secondary icon is clicked
|
||||
*/
|
||||
|
@ -142,11 +142,13 @@ st_scroll_view_fade_paint_target (ClutterOffscreenEffect *effect)
|
||||
|
||||
st_adjustment_get_values (self->vadjustment, &value, &lower, &upper, NULL, NULL, &page_size);
|
||||
value = (value - lower) / (upper - page_size - lower);
|
||||
clutter_shader_effect_set_uniform (shader, "fade_edges_v", G_TYPE_INT, 1, self->fade_edges ? value >= 0.0 : value > 0.0);
|
||||
clutter_shader_effect_set_uniform (shader, "fade_edges_top", G_TYPE_INT, 1, self->fade_edges ? value >= 0.0 : value > 0.0);
|
||||
clutter_shader_effect_set_uniform (shader, "fade_edges_bottom", G_TYPE_INT, 1, self->fade_edges ? value <= 1.0 : value < 1.0);
|
||||
|
||||
st_adjustment_get_values (self->hadjustment, &value, &lower, &upper, NULL, NULL, &page_size);
|
||||
value = (value - lower) / (upper - page_size - lower);
|
||||
clutter_shader_effect_set_uniform (shader, "fade_edges_h", G_TYPE_INT, 1, self->fade_edges ? value >= 0.0 : value > 0.0);
|
||||
clutter_shader_effect_set_uniform (shader, "fade_edges_left", G_TYPE_INT, 1, self->fade_edges ? value >= 0.0 : value > 0.0);
|
||||
clutter_shader_effect_set_uniform (shader, "fade_edges_right", G_TYPE_INT, 1, self->fade_edges ? value <= 1.0 : value < 1.0);
|
||||
|
||||
clutter_shader_effect_set_uniform (shader, "vfade_offset", G_TYPE_FLOAT, 1, self->vfade_offset);
|
||||
clutter_shader_effect_set_uniform (shader, "hfade_offset", G_TYPE_FLOAT, 1, self->hfade_offset);
|
||||
|
@ -22,8 +22,10 @@ uniform float height;
|
||||
uniform float width;
|
||||
uniform float vfade_offset;
|
||||
uniform float hfade_offset;
|
||||
uniform bool fade_edges_h;
|
||||
uniform bool fade_edges_v;
|
||||
uniform bool fade_edges_top;
|
||||
uniform bool fade_edges_right;
|
||||
uniform bool fade_edges_bottom;
|
||||
uniform bool fade_edges_left;
|
||||
|
||||
uniform vec2 fade_area_topleft;
|
||||
uniform vec2 fade_area_bottomright;
|
||||
@ -44,10 +46,10 @@ void main ()
|
||||
float ratio = 1.0;
|
||||
float fade_bottom_start = fade_area_bottomright[1] - vfade_offset;
|
||||
float fade_right_start = fade_area_bottomright[0] - hfade_offset;
|
||||
bool fade_top = y < vfade_offset && fade_edges_v;
|
||||
bool fade_bottom = y > fade_bottom_start && fade_edges_v;
|
||||
bool fade_left = x < hfade_offset && fade_edges_h;
|
||||
bool fade_right = x > fade_right_start && fade_edges_h;
|
||||
bool fade_top = y < vfade_offset && fade_edges_top;
|
||||
bool fade_bottom = y > fade_bottom_start && fade_edges_bottom;
|
||||
bool fade_left = x < hfade_offset && fade_edges_left;
|
||||
bool fade_right = x > fade_right_start && fade_edges_right;
|
||||
|
||||
float vfade_scale = height / vfade_offset;
|
||||
if (fade_top) {
|
||||
|
Reference in New Issue
Block a user