Compare commits
50 Commits
goa-client
...
gnome-3-0
Author | SHA1 | Date | |
---|---|---|---|
![]() |
eb695d6c3d | ||
![]() |
810f35c498 | ||
![]() |
78dae21171 | ||
![]() |
257c852908 | ||
![]() |
e6b218ed0f | ||
![]() |
6c1793b247 | ||
![]() |
26df2dfc14 | ||
![]() |
38829f7405 | ||
![]() |
485d773fdf | ||
![]() |
1826108cb5 | ||
![]() |
71801841e9 | ||
![]() |
9e8dbe76a9 | ||
![]() |
2420fd343b | ||
![]() |
bbd049b073 | ||
![]() |
6bdd3f6cf6 | ||
![]() |
e9d518fc3b | ||
![]() |
73f7991264 | ||
![]() |
976f26cb26 | ||
![]() |
1278e31b65 | ||
![]() |
92f27a3c00 | ||
![]() |
28667a686d | ||
![]() |
783683a12c | ||
![]() |
fc70446050 | ||
![]() |
70ab08aefd | ||
![]() |
ca6308ae64 | ||
![]() |
4dcbb84f06 | ||
![]() |
f4e6f7074e | ||
![]() |
0d92f2b0c5 | ||
![]() |
2afb4cc124 | ||
![]() |
762b0e45e0 | ||
![]() |
a7acd3b535 | ||
![]() |
ccc4b20e83 | ||
![]() |
8dd45bea1c | ||
![]() |
0c80f8cec4 | ||
![]() |
27508864bf | ||
![]() |
117be3b14d | ||
![]() |
4bc2f9b5e6 | ||
![]() |
ba5c45deaf | ||
![]() |
941246a4f0 | ||
![]() |
7feef56656 | ||
![]() |
9a2a07f32a | ||
![]() |
af9594c902 | ||
![]() |
569008b084 | ||
![]() |
0e086563bc | ||
![]() |
91d4a832ad | ||
![]() |
832ce362f0 | ||
![]() |
aa04e453b8 | ||
![]() |
b0a75aed95 | ||
![]() |
dba97f36c0 | ||
![]() |
2560b37819 |
37
NEWS
@@ -1,3 +1,40 @@
|
||||
3.0.2
|
||||
=====
|
||||
* Network Menu [Dan Williams
|
||||
- Fix connecting to WPA2 Enterprise access points
|
||||
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=648171
|
||||
- Show the mobile broadband wizard when selecting 3G network
|
||||
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=649318
|
||||
- Miscellaneous bug fixes
|
||||
648648, 650124
|
||||
* Fix duplicate icons in the application browser [Owen]
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=648739
|
||||
* Make clicking anywhere on the volume icon slider work [Giovanni]
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=646660
|
||||
* Fix a case where activating and clicking the hot corner
|
||||
at the same time could result in immediately leaving the
|
||||
overview [Rui]
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=649427
|
||||
* Fix a case where applications became misordered in Alt-Tab [Jasper]
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=643302
|
||||
* Fix a bug where messages you send could show up in
|
||||
notifications as if someone else sent them [Jonny]
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=650219
|
||||
* Memory leak fixes [Colin, Maxim]
|
||||
642652, 649508, 649497
|
||||
* Miscellaneous minor bug fixes [Adel, Christopher, Jasper]
|
||||
649596,648765, 648983, 649632
|
||||
|
||||
Contributors:
|
||||
Christopher Aillon, Giovanni Campagna, Maxim Ermilov,
|
||||
Adel Gadllah, Jonny Lamb, Rui Matos, Jasper St. Pierre,
|
||||
Owen Taylor, Colin Walters, Dan Williams
|
||||
|
||||
Translations:
|
||||
Arash Mousavi [fa], Seán de Búrca [ga], Timo Jyrinki [fi],
|
||||
Sigurd Gartmann [nb], Daniel Nylander [se], Peter Mráz [sl],
|
||||
Abduxukur Abdurixit [ug], Nguyễn Thái Ngọc Duy [vi]
|
||||
|
||||
3.0.1
|
||||
=====
|
||||
|
||||
|
@@ -1,5 +1,5 @@
|
||||
AC_PREREQ(2.63)
|
||||
AC_INIT([gnome-shell],[3.0.1],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
|
||||
AC_INIT([gnome-shell],[3.0.2],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
|
||||
|
||||
AC_CONFIG_HEADERS([config.h])
|
||||
AC_CONFIG_SRCDIR([src/shell-global.c])
|
||||
@@ -116,10 +116,11 @@ AC_CHECK_FUNCS(JS_NewGlobalObject sn_startup_sequence_get_application_id XFixesC
|
||||
CFLAGS=$saved_CFLAGS
|
||||
LIBS=$saved_LIBS
|
||||
|
||||
PKG_CHECK_MODULES(ST, clutter-1.0 gtk+-3.0 libcroco-0.6 >= 0.6.2 gnome-desktop-3.0 >= 2.90.0 x11)
|
||||
PKG_CHECK_MODULES(ST, clutter-1.0 gtk+-3.0 libcroco-0.6 gnome-desktop-3.0 >= 2.90.0 x11)
|
||||
PKG_CHECK_MODULES(GDMUSER, dbus-glib-1 gtk+-3.0)
|
||||
PKG_CHECK_MODULES(TRAY, gtk+-3.0)
|
||||
PKG_CHECK_MODULES(GVC, libpulse libpulse-mainloop-glib gobject-2.0)
|
||||
PKG_CHECK_MODULES(JS_TEST, clutter-x11-1.0 gjs-1.0 gobject-introspection-1.0 gtk+-3.0)
|
||||
PKG_CHECK_MODULES(DESKTOP_SCHEMAS, gsettings-desktop-schemas >= 0.1.7)
|
||||
|
||||
AC_MSG_CHECKING([for bluetooth support])
|
||||
|
@@ -30,14 +30,26 @@ dist_theme_DATA = \
|
||||
theme/filter-selected-ltr.svg \
|
||||
theme/filter-selected-rtl.svg \
|
||||
theme/gnome-shell.css \
|
||||
theme/mosaic-view-active.svg \
|
||||
theme/mosaic-view.svg \
|
||||
theme/move-window-on-new.svg \
|
||||
theme/panel-border.svg \
|
||||
theme/panel-button-border.svg \
|
||||
theme/panel-button-highlight-narrow.svg \
|
||||
theme/panel-button-highlight-wide.svg \
|
||||
theme/process-working.svg \
|
||||
theme/running-indicator.svg \
|
||||
theme/scroll-button-down-hover.png \
|
||||
theme/scroll-button-down.png \
|
||||
theme/scroll-button-up-hover.png \
|
||||
theme/scroll-button-up.png \
|
||||
theme/scroll-hhandle.svg \
|
||||
theme/scroll-vhandle.svg \
|
||||
theme/section-more.svg \
|
||||
theme/section-more-open.svg \
|
||||
theme/separator-white.png \
|
||||
theme/single-view-active.svg \
|
||||
theme/single-view.svg \
|
||||
theme/source-button-border.svg \
|
||||
theme/toggle-off-us.svg \
|
||||
theme/toggle-off-intl.svg \
|
||||
|
@@ -1655,49 +1655,3 @@ StTooltip StLabel {
|
||||
.magnifier-zoom-region.full-screen {
|
||||
border-width: 0px;
|
||||
}
|
||||
|
||||
|
||||
/* goa message popup */
|
||||
|
||||
.goa-message-table {
|
||||
}
|
||||
|
||||
.goa-message-base {
|
||||
font-size: 9pt;
|
||||
}
|
||||
|
||||
.goa-message-from-header {
|
||||
color: #666666;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.goa-message-subject-header {
|
||||
color: #666666;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.goa-message-date-header {
|
||||
color: #666666;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.goa-message-from {
|
||||
font-weight: bold;
|
||||
min-width: 125px;
|
||||
}
|
||||
|
||||
.goa-message-hbox {
|
||||
spacing: 0.25em;
|
||||
min-width: 300px;
|
||||
}
|
||||
|
||||
.goa-message-subject {
|
||||
}
|
||||
|
||||
.goa-message-excerpt {
|
||||
color: rgba(153, 153, 153, 1.0);
|
||||
}
|
||||
|
||||
.goa-message-date {
|
||||
min-width: 80px;
|
||||
}
|
||||
|
113
data/theme/mosaic-view-active.svg
Normal file
@@ -0,0 +1,113 @@
|
||||
<?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="24"
|
||||
height="16"
|
||||
id="svg6503"
|
||||
version="1.1"
|
||||
inkscape:version="0.47pre4 r22446"
|
||||
sodipodi:docname="mosaic-view-active.svg">
|
||||
<defs
|
||||
id="defs6505">
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 16 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="32 : 16 : 1"
|
||||
inkscape:persp3d-origin="16 : 10.666667 : 1"
|
||||
id="perspective6511" />
|
||||
<inkscape:perspective
|
||||
id="perspective6494"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="11.197802"
|
||||
inkscape:cx="-15.97056"
|
||||
inkscape:cy="16"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
inkscape:grid-bbox="true"
|
||||
inkscape:document-units="px"
|
||||
inkscape:window-width="1680"
|
||||
inkscape:window-height="997"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="26"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata6508">
|
||||
<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,-16)">
|
||||
<g
|
||||
style="display:inline;fill:#cbcbcb;fill-opacity:1"
|
||||
transform="translate(-449.85476,-685.85869)"
|
||||
id="g5306">
|
||||
<rect
|
||||
style="fill:#cbcbcb;fill-opacity:1;stroke:#000000;stroke-width:0.99999970000000005;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0.44262299999999999;stroke-dasharray:none"
|
||||
id="rect5308"
|
||||
width="11"
|
||||
height="7"
|
||||
x="450.5"
|
||||
y="710.5"
|
||||
rx="0.99999958"
|
||||
ry="1" />
|
||||
<rect
|
||||
style="fill:#cbcbcb;fill-opacity:1;stroke:#000000;stroke-width:0.99999970000000005;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0.44262299999999999;stroke-dasharray:none;display:inline"
|
||||
id="rect5310"
|
||||
width="11"
|
||||
height="7"
|
||||
x="462.5"
|
||||
y="702.5"
|
||||
rx="0.99999958"
|
||||
ry="1" />
|
||||
<rect
|
||||
style="fill:#cbcbcb;fill-opacity:1;stroke:#000000;stroke-width:0.99999976000000002;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0.44262299999999999;stroke-dasharray:none;display:inline"
|
||||
id="rect5312"
|
||||
width="11"
|
||||
height="7"
|
||||
x="450.5"
|
||||
y="702.5"
|
||||
rx="0.99999958"
|
||||
ry="1" />
|
||||
<rect
|
||||
style="fill:#cbcbcb;fill-opacity:1;stroke:#000000;stroke-width:0.99999970000000005;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0.44262299999999999;stroke-dasharray:none;display:inline"
|
||||
id="rect5314"
|
||||
width="11"
|
||||
height="7"
|
||||
x="462.5"
|
||||
y="710.5"
|
||||
rx="0.99999958"
|
||||
ry="1" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 3.7 KiB |
113
data/theme/mosaic-view.svg
Normal file
@@ -0,0 +1,113 @@
|
||||
<?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="24"
|
||||
height="16"
|
||||
id="svg6503"
|
||||
version="1.1"
|
||||
inkscape:version="0.47pre4 r22446"
|
||||
sodipodi:docname="New document 19">
|
||||
<defs
|
||||
id="defs6505">
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 16 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="32 : 16 : 1"
|
||||
inkscape:persp3d-origin="16 : 10.666667 : 1"
|
||||
id="perspective6511" />
|
||||
<inkscape:perspective
|
||||
id="perspective6494"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="11.197802"
|
||||
inkscape:cx="16"
|
||||
inkscape:cy="16"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
inkscape:grid-bbox="true"
|
||||
inkscape:document-units="px"
|
||||
inkscape:window-width="1680"
|
||||
inkscape:window-height="997"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="26"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata6508">
|
||||
<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,-16)">
|
||||
<g
|
||||
style="display:inline"
|
||||
transform="translate(-449.85476,-685.85869)"
|
||||
id="g5306">
|
||||
<rect
|
||||
style="fill:#666666;fill-opacity:1;stroke:#000000;stroke-width:0.9999997;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0.442623;stroke-dasharray:none"
|
||||
id="rect5308"
|
||||
width="11"
|
||||
height="7"
|
||||
x="450.5"
|
||||
y="710.5"
|
||||
rx="0.99999958"
|
||||
ry="1" />
|
||||
<rect
|
||||
style="fill:#666666;fill-opacity:1;stroke:#000000;stroke-width:0.9999997;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0.442623;stroke-dasharray:none;display:inline"
|
||||
id="rect5310"
|
||||
width="11"
|
||||
height="7"
|
||||
x="462.5"
|
||||
y="702.5"
|
||||
rx="0.99999958"
|
||||
ry="1" />
|
||||
<rect
|
||||
style="fill:#666666;fill-opacity:1;stroke:#000000;stroke-width:0.99999976;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0.442623;stroke-dasharray:none;display:inline"
|
||||
id="rect5312"
|
||||
width="11"
|
||||
height="7"
|
||||
x="450.5"
|
||||
y="702.5"
|
||||
rx="0.99999958"
|
||||
ry="1" />
|
||||
<rect
|
||||
style="fill:#666666;fill-opacity:1;stroke:#000000;stroke-width:0.9999997;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0.442623;stroke-dasharray:none;display:inline"
|
||||
id="rect5314"
|
||||
width="11"
|
||||
height="7"
|
||||
x="462.5"
|
||||
y="710.5"
|
||||
rx="0.99999958"
|
||||
ry="1" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 3.6 KiB |
89
data/theme/move-window-on-new.svg
Normal file
@@ -0,0 +1,89 @@
|
||||
<?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="98"
|
||||
height="98"
|
||||
id="svg6375"
|
||||
version="1.1"
|
||||
inkscape:version="0.47 r22583"
|
||||
sodipodi:docname="add-workspace.svg">
|
||||
<defs
|
||||
id="defs6377">
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 16 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="32 : 16 : 1"
|
||||
inkscape:persp3d-origin="16 : 10.666667 : 1"
|
||||
id="perspective6383" />
|
||||
<inkscape:perspective
|
||||
id="perspective6366"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="3.9590209"
|
||||
inkscape:cx="56.650687"
|
||||
inkscape:cy="20.635343"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
inkscape:grid-bbox="true"
|
||||
inkscape:document-units="px"
|
||||
inkscape:window-width="1680"
|
||||
inkscape:window-height="997"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="26"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata6380">
|
||||
<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,66)">
|
||||
<g
|
||||
id="g2824"
|
||||
transform="matrix(11.568551,0,0,11.698271,-78.828159,-304.81518)">
|
||||
<path
|
||||
style="fill:none;stroke:#666666;stroke-width:1.99999952;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 11.07363,21.36834 0,6.43903"
|
||||
id="path5322" />
|
||||
<path
|
||||
style="fill:none;stroke:#666666;stroke-width:1.99999952;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
|
||||
d="m 14.29314,24.58786 -6.43902,0"
|
||||
id="path5324" />
|
||||
</g>
|
||||
<path
|
||||
style="fill:#000000;fill-opacity:0.98823529"
|
||||
d="m 48.239516,97.908047 c -0.41677,-0.05102 -1.269253,-0.222408 -1.894408,-0.380859 -4.088493,-1.036262 -7.520781,-4.753234 -8.330163,-9.021094 -0.154947,-0.817026 -0.257819,-6.68112 -0.257819,-14.696556 l 0,-13.337088 -13.829177,-0.08909 C 10.802042,60.298796 10.026884,60.268266 8.6851548,59.783022 3.6288503,57.954375 0.62673331,53.828648 0.62673331,48.708554 c 0,-5.625522 4.25936019,-10.425065 9.97721469,-11.242548 0.987903,-0.141242 7.368912,-0.254994 14.460646,-0.257791 l 12.692532,-0.005 0,-13.586668 c 0,-14.6441583 0.03287,-15.0698926 1.364686,-17.6753047 2.185477,-4.2754229 6.938193,-6.75739913 11.687647,-6.10355607 3.382776,0.46569661 6.737962,2.72496967 8.414081,5.66577137 1.480816,2.5981315 1.519067,3.0522448 1.519067,18.0333334 l 0,13.666424 12.692533,0.005 c 7.091733,0.0028 13.472742,0.116549 14.460646,0.257791 6.395303,0.914337 10.804785,6.623716 9.941157,12.871766 -0.698243,5.051565 -4.792685,9.104635 -9.941157,9.840713 -0.987904,0.141242 -7.368913,0.254995 -14.460646,0.257791 l -12.692533,0.005 0,13.801945 c 0,13.031417 -0.02798,13.895893 -0.501177,15.484801 -1.526902,5.127058 -6.919246,8.802262 -12.001914,8.18002 z"
|
||||
id="path2828"
|
||||
transform="translate(0,-66)" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 4.0 KiB |
BIN
data/theme/scroll-button-down-hover.png
Normal file
After Width: | Height: | Size: 225 B |
BIN
data/theme/scroll-button-down.png
Normal file
After Width: | Height: | Size: 225 B |
BIN
data/theme/scroll-button-up-hover.png
Normal file
After Width: | Height: | Size: 211 B |
BIN
data/theme/scroll-button-up.png
Normal file
After Width: | Height: | Size: 211 B |
87
data/theme/section-more-open.svg
Normal file
@@ -0,0 +1,87 @@
|
||||
<?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="5.8600588"
|
||||
height="9"
|
||||
id="svg3647"
|
||||
version="1.1"
|
||||
inkscape:version="0.47 r22583"
|
||||
sodipodi:docname="section-more.svg">
|
||||
<defs
|
||||
id="defs3649">
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||
id="perspective3655" />
|
||||
<inkscape:perspective
|
||||
id="perspective3603"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="82.777778"
|
||||
inkscape:cx="2.9300294"
|
||||
inkscape:cy="5.466443"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1680"
|
||||
inkscape:window-height="997"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="26"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata3652">
|
||||
<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
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-262.78425,-490.71933)">
|
||||
<path
|
||||
transform="matrix(0,-0.98149546,0.71467449,0,25.404986,578.15569)"
|
||||
d="M 88.830127,340 80.169873,340 84.5,332.5 88.830127,340 z"
|
||||
inkscape:randomized="0"
|
||||
inkscape:rounded="0"
|
||||
inkscape:flatsided="true"
|
||||
sodipodi:arg2="1.5707963"
|
||||
sodipodi:arg1="0.52359878"
|
||||
sodipodi:r2="2.5"
|
||||
sodipodi:r1="5"
|
||||
sodipodi:cy="337.5"
|
||||
sodipodi:cx="84.5"
|
||||
sodipodi:sides="3"
|
||||
id="path5497-5"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.59699643;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
|
||||
sodipodi:type="star" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.8 KiB |
87
data/theme/section-more.svg
Executable file
@@ -0,0 +1,87 @@
|
||||
<?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="5.8600588"
|
||||
height="9"
|
||||
id="svg3647"
|
||||
version="1.1"
|
||||
inkscape:version="0.46+devel"
|
||||
sodipodi:docname="New document 6">
|
||||
<defs
|
||||
id="defs3649">
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||
id="perspective3655" />
|
||||
<inkscape:perspective
|
||||
id="perspective3603"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.35"
|
||||
inkscape:cx="112.21575"
|
||||
inkscape:cy="-32.642856"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="609"
|
||||
inkscape:window-height="501"
|
||||
inkscape:window-x="164"
|
||||
inkscape:window-y="26"
|
||||
inkscape:window-maximized="0" />
|
||||
<metadata
|
||||
id="metadata3652">
|
||||
<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
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-262.78425,-490.71933)">
|
||||
<path
|
||||
transform="matrix(0,0.98149546,-0.71467449,0,506.02358,412.28296)"
|
||||
d="M 88.830127,340 80.169873,340 84.5,332.5 88.830127,340 z"
|
||||
inkscape:randomized="0"
|
||||
inkscape:rounded="0"
|
||||
inkscape:flatsided="true"
|
||||
sodipodi:arg2="1.5707963"
|
||||
sodipodi:arg1="0.52359878"
|
||||
sodipodi:r2="2.5"
|
||||
sodipodi:r1="5"
|
||||
sodipodi:cy="337.5"
|
||||
sodipodi:cx="84.5"
|
||||
sodipodi:sides="3"
|
||||
id="path5497-5"
|
||||
style="fill:#5f5f5f;fill-opacity:1;stroke:#5f5f5f;stroke-width:0.59699643;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
|
||||
sodipodi:type="star" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.8 KiB |
BIN
data/theme/separator-white.png
Normal file
After Width: | Height: | Size: 531 B |
81
data/theme/single-view-active.svg
Normal file
@@ -0,0 +1,81 @@
|
||||
<?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="24"
|
||||
height="16"
|
||||
id="svg6446"
|
||||
version="1.1"
|
||||
inkscape:version="0.47pre4 r22446"
|
||||
sodipodi:docname="single-view-active.svg">
|
||||
<defs
|
||||
id="defs6448">
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 16 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="32 : 16 : 1"
|
||||
inkscape:persp3d-origin="16 : 10.666667 : 1"
|
||||
id="perspective6454" />
|
||||
<inkscape:perspective
|
||||
id="perspective6441"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="11.197802"
|
||||
inkscape:cx="0.014720032"
|
||||
inkscape:cy="16"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
inkscape:grid-bbox="true"
|
||||
inkscape:document-units="px"
|
||||
inkscape:window-width="1680"
|
||||
inkscape:window-height="997"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="26"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata6451">
|
||||
<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,-17)">
|
||||
<rect
|
||||
ry="0.5"
|
||||
rx="0.49999979"
|
||||
y="17.483809"
|
||||
x="0.53483802"
|
||||
height="15"
|
||||
width="23"
|
||||
id="rect5304"
|
||||
style="fill:#cccccc;fill-opacity:1;stroke:#cccccc;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.4 KiB |
81
data/theme/single-view.svg
Normal file
@@ -0,0 +1,81 @@
|
||||
<?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="24"
|
||||
height="16"
|
||||
id="svg6446"
|
||||
version="1.1"
|
||||
inkscape:version="0.47pre4 r22446"
|
||||
sodipodi:docname="single-view.svg">
|
||||
<defs
|
||||
id="defs6448">
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 16 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="32 : 16 : 1"
|
||||
inkscape:persp3d-origin="16 : 10.666667 : 1"
|
||||
id="perspective6454" />
|
||||
<inkscape:perspective
|
||||
id="perspective6441"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="11.197802"
|
||||
inkscape:cx="0.014720032"
|
||||
inkscape:cy="16"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
inkscape:grid-bbox="true"
|
||||
inkscape:document-units="px"
|
||||
inkscape:window-width="1680"
|
||||
inkscape:window-height="997"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="26"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata6451">
|
||||
<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,-17)">
|
||||
<rect
|
||||
ry="0.5"
|
||||
rx="0.49999979"
|
||||
y="17.483809"
|
||||
x="0.53483802"
|
||||
height="15"
|
||||
width="23"
|
||||
id="rect5304"
|
||||
style="fill:#626262;fill-opacity:1;stroke:#cccccc;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.4 KiB |
@@ -26,7 +26,6 @@ nobase_dist_js_DATA = \
|
||||
ui/endSessionDialog.js \
|
||||
ui/environment.js \
|
||||
ui/extensionSystem.js \
|
||||
ui/goaClient.js \
|
||||
ui/iconGrid.js \
|
||||
ui/lightbox.js \
|
||||
ui/link.js \
|
||||
|
@@ -7,6 +7,9 @@ const Shell = imports.gi.Shell;
|
||||
|
||||
const Main = imports.ui.main;
|
||||
|
||||
const Gettext = imports.gettext.domain('gnome-shell');
|
||||
const _ = Gettext.gettext;
|
||||
|
||||
/* http://daringfireball.net/2010/07/improved_regex_for_matching_urls */
|
||||
const _urlRegexp = new RegExp('\\b(([a-z][\\w-]+:(/{1,3}|[a-z0-9%])|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,4}/)([^\\s()<>]+|\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\))+(\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\)|[^\\s`!()\\[\\]{};:\'\\".,<>?«»“”‘’]))', 'gi');
|
||||
|
||||
|
@@ -87,7 +87,7 @@ AltTabPopup.prototype = {
|
||||
let [childMinHeight, childNaturalHeight] = this._appSwitcher.actor.get_preferred_height(primary.width - hPadding);
|
||||
let [childMinWidth, childNaturalWidth] = this._appSwitcher.actor.get_preferred_width(childNaturalHeight);
|
||||
childBox.x1 = Math.max(primary.x + leftPadding, primary.x + Math.floor((primary.width - childNaturalWidth) / 2));
|
||||
childBox.x2 = Math.min(primary.x + primary.width - rightPadding, childBox.x1 + childNaturalWidth);
|
||||
childBox.x2 = Math.min(primary.x + primary.width - hPadding, childBox.x1 + childNaturalWidth);
|
||||
childBox.y1 = primary.y + Math.floor((primary.height - childNaturalHeight) / 2);
|
||||
childBox.y2 = childBox.y1 + childNaturalHeight;
|
||||
this._appSwitcher.actor.allocate(childBox, flags);
|
||||
@@ -145,12 +145,6 @@ AltTabPopup.prototype = {
|
||||
|
||||
this._appIcons = this._appSwitcher.icons;
|
||||
|
||||
// Need to force an allocation so we can figure out whether we
|
||||
// need to scroll when selecting
|
||||
this.actor.opacity = 0;
|
||||
this.actor.show();
|
||||
this.actor.get_allocation_box();
|
||||
|
||||
// Make the initial selection
|
||||
if (switch_group) {
|
||||
if (backward) {
|
||||
@@ -180,6 +174,8 @@ AltTabPopup.prototype = {
|
||||
return false;
|
||||
}
|
||||
|
||||
this.actor.opacity = 0;
|
||||
this.actor.show();
|
||||
Tweener.addTween(this.actor,
|
||||
{ opacity: 255,
|
||||
time: POPUP_FADE_TIME,
|
||||
@@ -587,7 +583,7 @@ SwitcherList.prototype = {
|
||||
this._rightArrow.opacity = this._rightGradient.opacity;
|
||||
},
|
||||
|
||||
addItem : function(item, label) {
|
||||
addItem : function(item) {
|
||||
let bbox = new St.Button({ style_class: 'item-box',
|
||||
reactive: true });
|
||||
|
||||
@@ -598,8 +594,6 @@ SwitcherList.prototype = {
|
||||
bbox.connect('clicked', Lang.bind(this, function() { this._onItemClicked(n); }));
|
||||
bbox.connect('enter-event', Lang.bind(this, function() { this._onItemEnter(n); }));
|
||||
|
||||
bbox.label_actor = label;
|
||||
|
||||
this._items.push(bbox);
|
||||
},
|
||||
|
||||
@@ -985,7 +979,7 @@ AppSwitcher.prototype = {
|
||||
|
||||
_addIcon : function(appIcon) {
|
||||
this.icons.push(appIcon);
|
||||
this.addItem(appIcon.actor, appIcon.label);
|
||||
this.addItem(appIcon.actor);
|
||||
|
||||
let n = this._arrows.length;
|
||||
let arrow = new St.DrawingArea({ style_class: 'switcher-arrow' });
|
||||
@@ -1055,12 +1049,9 @@ ThumbnailList.prototype = {
|
||||
this._labels.push(bin);
|
||||
bin.add_actor(name);
|
||||
box.add_actor(bin);
|
||||
|
||||
this.addItem(box, name);
|
||||
} else {
|
||||
this.addItem(box, null);
|
||||
}
|
||||
|
||||
this.addItem(box);
|
||||
}
|
||||
},
|
||||
|
||||
|
@@ -9,6 +9,8 @@ const Signals = imports.signals;
|
||||
const Meta = imports.gi.Meta;
|
||||
const St = imports.gi.St;
|
||||
const Mainloop = imports.mainloop;
|
||||
const Gettext = imports.gettext.domain('gnome-shell');
|
||||
const _ = Gettext.gettext;
|
||||
|
||||
const AppFavorites = imports.ui.appFavorites;
|
||||
const DND = imports.ui.dnd;
|
||||
@@ -432,8 +434,6 @@ AppWellIcon.prototype = {
|
||||
this.icon = new AppIcon(app, iconParams);
|
||||
this.actor.set_child(this.icon.actor);
|
||||
|
||||
this.actor.label_actor = this.icon.label;
|
||||
|
||||
this.actor.connect('button-press-event', Lang.bind(this, this._onButtonPress));
|
||||
this.actor.connect('clicked', Lang.bind(this, this._onClicked));
|
||||
this.actor.connect('popup-menu', Lang.bind(this, this._onKeyboardPopupMenu));
|
||||
|
@@ -3,6 +3,8 @@
|
||||
const Shell = imports.gi.Shell;
|
||||
const Lang = imports.lang;
|
||||
const Signals = imports.signals;
|
||||
const Gettext = imports.gettext.domain('gnome-shell');
|
||||
const _ = Gettext.gettext;
|
||||
|
||||
const Main = imports.ui.main;
|
||||
|
||||
|
@@ -8,6 +8,9 @@ const St = imports.gi.St;
|
||||
const Signals = imports.signals;
|
||||
const Pango = imports.gi.Pango;
|
||||
const Gettext_gtk30 = imports.gettext.domain('gtk30');
|
||||
const Gettext = imports.gettext.domain('gnome-shell');
|
||||
const _ = Gettext.gettext;
|
||||
const C_ = Gettext.pgettext;
|
||||
const Mainloop = imports.mainloop;
|
||||
const Shell = imports.gi.Shell;
|
||||
|
||||
|
@@ -323,6 +323,6 @@ CtrlAltTabSwitcher.prototype = {
|
||||
let text = new St.Label({ text: item.name });
|
||||
box.add(text, { x_fill: false });
|
||||
|
||||
this.addItem(box, text);
|
||||
this.addItem(box);
|
||||
}
|
||||
};
|
||||
|
@@ -6,6 +6,8 @@ const Lang = imports.lang;
|
||||
const Meta = imports.gi.Meta;
|
||||
const Shell = imports.gi.Shell;
|
||||
const St = imports.gi.St;
|
||||
const Gettext = imports.gettext.domain('gnome-shell');
|
||||
const _ = Gettext.gettext;
|
||||
|
||||
const AppDisplay = imports.ui.appDisplay;
|
||||
const AppFavorites = imports.ui.appFavorites;
|
||||
|
@@ -8,6 +8,8 @@ const Cairo = imports.cairo;
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const Shell = imports.gi.Shell;
|
||||
const St = imports.gi.St;
|
||||
const Gettext = imports.gettext.domain('gnome-shell');
|
||||
const _ = Gettext.gettext;
|
||||
|
||||
const Util = imports.misc.util;
|
||||
const Main = imports.ui.main;
|
||||
|
@@ -1,5 +1,8 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
|
||||
const Gettext = imports.gettext.domain('gnome-shell');
|
||||
const _ = Gettext.gettext;
|
||||
|
||||
const DocInfo = imports.misc.docInfo;
|
||||
const Params = imports.misc.params;
|
||||
const Search = imports.ui.search;
|
||||
|
@@ -22,6 +22,9 @@ const DBus = imports.dbus;
|
||||
const Lang = imports.lang;
|
||||
const Signals = imports.signals;
|
||||
|
||||
const Gettext = imports.gettext.domain('gnome-shell');
|
||||
const _ = Gettext.gettext;
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const Gdm = imports.gi.Gdm;
|
||||
const GLib = imports.gi.GLib;
|
||||
|
@@ -1,22 +1,14 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
|
||||
imports.gi.versions.Clutter = '1.0';
|
||||
imports.gi.versions.Gio = '2.0';
|
||||
imports.gi.versions.Gdk = '3.0';
|
||||
imports.gi.versions.GdkPixbuf = '2.0';
|
||||
imports.gi.versions.Gtk = '3.0';
|
||||
|
||||
const Clutter = imports.gi.Clutter;;
|
||||
const Gettext = imports.gettext;
|
||||
const GLib = imports.gi.GLib;
|
||||
const Gtk = imports.gi.Gtk;
|
||||
const Shell = imports.gi.Shell;
|
||||
const St = imports.gi.St;
|
||||
const Gettext_gtk30 = imports.gettext.domain('gtk30');
|
||||
|
||||
// We can't import shell JS modules yet, because they may have
|
||||
// variable initializations, etc, that depend on init() already having
|
||||
// been run.
|
||||
const Tweener = imports.ui.tweener;
|
||||
|
||||
const Format = imports.misc.format;
|
||||
|
||||
// "monkey patch" in some varargs ClutterContainer methods; we need
|
||||
// to do this per-container class since there is no representation
|
||||
@@ -69,20 +61,26 @@ function _blockMethod(method, replacement, reason) {
|
||||
}
|
||||
|
||||
function init() {
|
||||
// Add some bindings to the global JS namespace; (gjs keeps the web
|
||||
// browser convention of having that namespace be called 'window'.)
|
||||
window.global = Shell.Global.get();
|
||||
Tweener.init();
|
||||
String.prototype.format = Format.format;
|
||||
|
||||
window._ = Gettext.gettext;
|
||||
window.C_ = Gettext.pgettext;
|
||||
window.ngettext = Gettext.ngettext;
|
||||
// Work around https://bugzilla.mozilla.org/show_bug.cgi?id=508783
|
||||
Date.prototype.toLocaleFormat = function(format) {
|
||||
return Shell.util_format_date(format, this.getTime());
|
||||
};
|
||||
|
||||
// Set the default direction for St widgets (this needs to be done before any use of St)
|
||||
if (Gtk.Widget.get_default_direction() == Gtk.TextDirection.RTL) {
|
||||
if (Gettext_gtk30.gettext('default:LTR') == 'default:RTL') {
|
||||
St.Widget.set_default_direction(St.TextDirection.RTL);
|
||||
}
|
||||
|
||||
// Miscellaneous monkeypatching
|
||||
let slowdownEnv = GLib.getenv('GNOME_SHELL_SLOWDOWN_FACTOR');
|
||||
if (slowdownEnv) {
|
||||
let factor = parseFloat(slowdownEnv);
|
||||
if (!isNaN(factor) && factor > 0.0)
|
||||
St.set_slow_down_factor(factor);
|
||||
}
|
||||
|
||||
_patchContainerClass(St.BoxLayout);
|
||||
_patchContainerClass(St.Table);
|
||||
|
||||
@@ -90,14 +88,8 @@ function init() {
|
||||
return St.describe_actor(this);
|
||||
};
|
||||
|
||||
let origToString = Object.prototype.toString;
|
||||
Object.prototype.toString = function() {
|
||||
let base = origToString.call(this);
|
||||
if ('actor' in this && this.actor instanceof Clutter.Actor)
|
||||
return base.replace(/\]$/, ' delegate for ' + this.actor.toString().substring(1));
|
||||
else
|
||||
return base;
|
||||
};
|
||||
if (window.global === undefined) // test environment
|
||||
return;
|
||||
|
||||
_blockMethod('Clutter.Event.get_state', 'Shell.get_event_state',
|
||||
'gjs\'s handling of Clutter.ModifierType is broken. See bug 597292.');
|
||||
@@ -109,23 +101,4 @@ function init() {
|
||||
// Shell.Global.prototype itself is read-only.
|
||||
global.set_property_mutable('imports.gi.Shell.Global.prototype', 'set_property_mutable', true);
|
||||
Shell.Global.prototype.set_property_mutable = undefined;
|
||||
|
||||
// Work around https://bugzilla.mozilla.org/show_bug.cgi?id=508783
|
||||
Date.prototype.toLocaleFormat = function(format) {
|
||||
return Shell.util_format_date(format, this.getTime());
|
||||
};
|
||||
|
||||
let slowdownEnv = GLib.getenv('GNOME_SHELL_SLOWDOWN_FACTOR');
|
||||
if (slowdownEnv) {
|
||||
let factor = parseFloat(slowdownEnv);
|
||||
if (!isNaN(factor) && factor > 0.0)
|
||||
St.set_slow_down_factor(factor);
|
||||
}
|
||||
|
||||
// OK, now things are initialized enough that we can import shell JS
|
||||
const Format = imports.misc.format;
|
||||
const Tweener = imports.ui.tweener;
|
||||
|
||||
Tweener.init();
|
||||
String.prototype.format = Format.format;
|
||||
}
|
||||
|
@@ -1,500 +0,0 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
|
||||
const GLib = imports.gi.GLib;
|
||||
const Gio = imports.gi.Gio;
|
||||
const Goa = imports.gi.Goa;
|
||||
const Lang = imports.lang;
|
||||
const Mainloop = imports.mainloop;
|
||||
const Shell = imports.gi.Shell;
|
||||
const Signals = imports.signals;
|
||||
const St = imports.gi.St;
|
||||
const Gettext = imports.gettext.domain('gnome-shell');
|
||||
const _ = Gettext.gettext;
|
||||
const C_ = Gettext.pgettext;
|
||||
const Gtk = imports.gi.Gtk;
|
||||
const Pango = imports.gi.Pango;
|
||||
|
||||
const History = imports.misc.history;
|
||||
const Main = imports.ui.main;
|
||||
const MessageTray = imports.ui.messageTray;
|
||||
|
||||
// ----------------------------------------------------------------------------------------------------
|
||||
|
||||
function Client() {
|
||||
this._init();
|
||||
}
|
||||
|
||||
Client.prototype = {
|
||||
_init : function() {
|
||||
this._client = null;
|
||||
|
||||
this._accountIdToMailMonitor = {}
|
||||
this._mailSource = null;
|
||||
|
||||
// TODO: need to call refreshAllMonitors() when network-connectivity changes
|
||||
|
||||
Goa.Client.new(null, /* cancellable */
|
||||
Lang.bind(this, this._onClientConstructed));
|
||||
},
|
||||
|
||||
_onClientConstructed : function(object, asyncRes) {
|
||||
this._client = object.new_finish(asyncRes);
|
||||
this._updateAccounts();
|
||||
this._client.connect('account-added', Lang.bind(this, this._updateAccounts));
|
||||
this._client.connect('account-removed', Lang.bind(this, this._updateAccounts));
|
||||
this._client.connect('account-changed', Lang.bind(this, this._updateAccounts));
|
||||
},
|
||||
|
||||
_updateAccounts : function () {
|
||||
|
||||
let objects = this._client.get_accounts();
|
||||
let mailIds = {};
|
||||
|
||||
// Add monitors for accounts that now exist
|
||||
for (let n = 0; n < objects.length; n++) {
|
||||
let object = objects[n];
|
||||
let id = object.account.id;
|
||||
|
||||
if (object.mail) {
|
||||
mailIds[id] = true;
|
||||
if (!(id in this._accountIdToMailMonitor)) {
|
||||
let monitor = new MailMonitor(this, object);
|
||||
this._accountIdToMailMonitor[id] = monitor;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Nuke monitors for accounts that are now non-existant
|
||||
let monitorsToRemove = []
|
||||
for (let existingMonitorId in this._accountIdToMailMonitor) {
|
||||
if (!(existingMonitorId in mailIds)) {
|
||||
monitorsToRemove.push(existingMonitorId);
|
||||
}
|
||||
}
|
||||
for (let n = 0; n < monitorsToRemove.length; n++) {
|
||||
let id = monitorsToRemove[n];
|
||||
let monitor = this._accountIdToMailMonitor[id];
|
||||
delete this._accountIdToMailMonitor[id]
|
||||
monitor.destroy();
|
||||
}
|
||||
},
|
||||
|
||||
_ensureMailSource: function() {
|
||||
if (!this._mailSource) {
|
||||
this._mailSource = new MailSource(this);
|
||||
this._mailSource.connect('destroy', Lang.bind(this,
|
||||
function () {
|
||||
this._mailSource = null;
|
||||
}));
|
||||
Main.messageTray.add(this._mailSource);
|
||||
}
|
||||
},
|
||||
|
||||
addPendingMessage: function(message) {
|
||||
this._ensureMailSource();
|
||||
this._mailSource.addMessage(message);
|
||||
},
|
||||
|
||||
refreshAllMonitors: function() {
|
||||
log('Refreshing all mail monitors');
|
||||
for (let id in this._accountIdToMailMonitor) {
|
||||
let monitor = this._accountIdToMailMonitor[id];
|
||||
monitor.refresh();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------------------------------
|
||||
|
||||
function Message(uid, from, subject, excerpt, uri, can_be_marked_as_spam, can_be_starred) {
|
||||
this._init(uid, from, subject, excerpt, uri, can_be_marked_as_spam, can_be_starred);
|
||||
}
|
||||
|
||||
Message.prototype = {
|
||||
_init: function(uid, from, subject, excerpt, uri, can_be_marked_as_spam, can_be_starred) {
|
||||
this.uid = uid;
|
||||
this.from = from;
|
||||
this.subject = subject;
|
||||
this.excerpt = excerpt;
|
||||
this.uri = uri;
|
||||
this.can_be_marked_as_spam = can_be_marked_as_spam;
|
||||
this.can_be_starred = can_be_starred;
|
||||
this.receivedAt = new Date();
|
||||
}
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------------------------------
|
||||
|
||||
function MailMonitor(client, accountObject) {
|
||||
this._init(client, accountObject);
|
||||
}
|
||||
|
||||
MailMonitor.prototype = {
|
||||
_init : function(client, accountObject) {
|
||||
this._client = client;
|
||||
this._accountObject = accountObject;
|
||||
this._account = this._accountObject.get_account();
|
||||
this._mail = this._accountObject.get_mail();
|
||||
|
||||
// Create the remote monitor object
|
||||
this._proxy = null;
|
||||
this._cancellable = new Gio.Cancellable();
|
||||
this._mail.call_create_monitor(this._cancellable, Lang.bind(this, this._onMonitorCreated));
|
||||
},
|
||||
|
||||
destroy : function() {
|
||||
this._cancellable.cancel();
|
||||
if (this._proxy) {
|
||||
// We don't really care if this fails or not
|
||||
this._proxy.call_close(null, Lang.bind(this, function() { }));
|
||||
this._proxy.disconnect(this._messageReceivedId);
|
||||
this._proxy = null;
|
||||
}
|
||||
},
|
||||
|
||||
refresh : function() {
|
||||
if (this._proxy) {
|
||||
// We don't really care if this fails or not
|
||||
log('Refreshing mail monitor for account ' + this._account.name);
|
||||
this._proxy.call_refresh(null, Lang.bind(this, function() { }));
|
||||
}
|
||||
},
|
||||
|
||||
_onMonitorCreated : function(mail, asyncRes) {
|
||||
// TODO: a (gboolean, object_path) tuple is returned here
|
||||
// See https://bugzilla.gnome.org/show_bug.cgi?id=649657
|
||||
let ret = mail.call_create_monitor_finish(asyncRes);
|
||||
let object_path = ret[1];
|
||||
Goa.MailMonitorProxy.new_for_bus(Gio.BusType.SESSION,
|
||||
Gio.DBusProxyFlags.NONE,
|
||||
'org.gnome.OnlineAccounts',
|
||||
object_path,
|
||||
null, /* cancellable */
|
||||
Lang.bind(this, this._onMonitorProxyConstructed));
|
||||
},
|
||||
|
||||
_onMonitorProxyConstructed : function(monitor, asyncRes) {
|
||||
this._proxy = monitor.new_for_bus_finish(asyncRes);
|
||||
|
||||
// Now listen for changes on the mail monitor proxy
|
||||
this._messageReceivedId = this._proxy.connect('message-received',
|
||||
Lang.bind(this, this._onMessageReceived));
|
||||
},
|
||||
|
||||
_onMessageReceived : function(monitor, uid, from, subject, excerpt, uri, can_be_marked_as_spam, can_be_starred) {
|
||||
let message = new Message(uid, from, subject, excerpt, uri, can_be_marked_as_spam, can_be_starred);
|
||||
if (!Main.messageTray.getBusy()) {
|
||||
let source = new Source(this._client, message);
|
||||
let notification = new Notification(source, this._client, this, message);
|
||||
// If the user is not marked as busy, present the notification to the user
|
||||
Main.messageTray.add(source);
|
||||
source.notify(notification);
|
||||
} else {
|
||||
// ... otherwise, if the user is busy, just add it to the MailSource's list
|
||||
// of pending messages
|
||||
this._client.addPendingMessage(message);
|
||||
}
|
||||
},
|
||||
|
||||
MessageAddStar: function (message) {
|
||||
this._proxy.call_add_star(message.uid,
|
||||
null, /* cancellable */
|
||||
Lang.bind(this,
|
||||
function(object, asyncRes) {
|
||||
this._proxy.call_add_star_finish(asyncRes);
|
||||
}));
|
||||
},
|
||||
|
||||
MessageMarkAsSpam: function (message) {
|
||||
this._proxy.call_mark_as_spam(message.uid,
|
||||
null, /* cancellable */
|
||||
Lang.bind(this,
|
||||
function(object, asyncRes) {
|
||||
this._proxy.call_add_star_finish(asyncRes);
|
||||
}));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------------------------------
|
||||
|
||||
function Source(client, message) {
|
||||
this._init(client, message);
|
||||
}
|
||||
|
||||
Source.prototype = {
|
||||
__proto__: MessageTray.Source.prototype,
|
||||
|
||||
_init : function(client, message) {
|
||||
this._client = client;
|
||||
this._message = message;
|
||||
|
||||
// Init super class and add ourselves to the message tray
|
||||
MessageTray.Source.prototype._init.call(this, 'Message from ' + _stripEmailAddress(this._message.from));
|
||||
this.setTransient(true);
|
||||
this.isChat = true;
|
||||
this._setSummaryIcon(this.createNotificationIcon());
|
||||
},
|
||||
|
||||
createNotificationIcon : function() {
|
||||
// TODO: use account icon
|
||||
let icon = new St.Icon({ icon_type: St.IconType.FULLCOLOR,
|
||||
icon_size: this.ICON_SIZE,
|
||||
icon_name: 'mail-send'});
|
||||
return icon;
|
||||
}
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------------------------------
|
||||
|
||||
function _stripEmailAddress(name_and_addr) {
|
||||
let bracketStartPos = name_and_addr.indexOf(' <');
|
||||
if (bracketStartPos == -1) {
|
||||
return name_and_addr;
|
||||
} else {
|
||||
return name_and_addr.slice(0, bracketStartPos);
|
||||
}
|
||||
}
|
||||
|
||||
function Notification(source, client, monitor, message) {
|
||||
this._init(source, client, monitor, message);
|
||||
}
|
||||
|
||||
Notification.prototype = {
|
||||
__proto__: MessageTray.Notification.prototype,
|
||||
|
||||
_init : function(source, client, monitor, message) {
|
||||
this._client = client;
|
||||
this._monitor = monitor
|
||||
this._message = message;
|
||||
this._ignore = false;
|
||||
this._alreadyExpanded = false;
|
||||
|
||||
this._strippedFrom = _stripEmailAddress(this._message.from);
|
||||
|
||||
let title = this._strippedFrom;
|
||||
let banner = this._message.subject + ' \u2014 ' + this._message.excerpt; // — U+2014 EM DASH
|
||||
|
||||
// Init super class
|
||||
MessageTray.Notification.prototype._init.call(this, source, title, banner);
|
||||
|
||||
// Change the contents once expanded
|
||||
this.connect('expanded', Lang.bind (this, this._onExpanded));
|
||||
|
||||
this.update(title, banner);
|
||||
this.setUrgency(MessageTray.Urgency.NORMAL);
|
||||
this.setTransient(true);
|
||||
|
||||
this.addButton('ignore', 'Ignore');
|
||||
if (message.can_be_starred)
|
||||
this.addButton('star', 'Star');
|
||||
if (message.can_be_marked_as_spam)
|
||||
this.addButton('spam', 'Junk');
|
||||
if (this._message.uri.length > 0) {
|
||||
this.addButton('open', 'Open');
|
||||
}
|
||||
this.connect('action-invoked', Lang.bind(this,
|
||||
function(notification, id) {
|
||||
if (id == 'ignore') {
|
||||
this._actionIgnore();
|
||||
} else if (id == 'star') {
|
||||
this._actionStar();
|
||||
} else if (id == 'spam') {
|
||||
this._actionSpam();
|
||||
} else if (id == 'open') {
|
||||
this._actionOpen();
|
||||
}
|
||||
}));
|
||||
this.connect('clicked', Lang.bind(this,
|
||||
function() {
|
||||
if (this._message.uri.length > 0) {
|
||||
this._actionOpen();
|
||||
}
|
||||
}));
|
||||
// Hmm, should be ::done-displaying instead?
|
||||
this.connect('destroy', Lang.bind(this, this._onDestroyed));
|
||||
},
|
||||
|
||||
_onExpanded : function() {
|
||||
if (this._alreadyExpanded)
|
||||
return;
|
||||
this._alreadyExpanded = true;
|
||||
let escapedExcerpt = GLib.markup_escape_text(this._message.excerpt, -1);
|
||||
let bannerMarkup = '<b>Subject:</b> ' + this._message.subject + '\n';
|
||||
// TODO: if available, insert other headers such as Cc
|
||||
bannerMarkup += '\n' + escapedExcerpt;
|
||||
this.update(this._strippedFrom, bannerMarkup, {bannerMarkup: true});
|
||||
},
|
||||
|
||||
_onDestroyed : function(reason) {
|
||||
// If not ignoring the message, push it onto the Mail source
|
||||
if (!this._ignore) {
|
||||
this._client.addPendingMessage(this._message);
|
||||
}
|
||||
},
|
||||
|
||||
_actionIgnore : function() {
|
||||
this._ignore = true;
|
||||
},
|
||||
|
||||
_actionStar : function() {
|
||||
this._ignore = true;
|
||||
this._monitor.MessageAddStar(this._message);
|
||||
},
|
||||
|
||||
_actionSpam : function() {
|
||||
this._ignore = true;
|
||||
this._monitor.MessageMarkAsSpam(this._message);
|
||||
},
|
||||
|
||||
_actionOpen : function() {
|
||||
this._ignore = true;
|
||||
Gio.app_info_launch_default_for_uri(this._message.uri,
|
||||
global.create_app_launch_context());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------------------------------
|
||||
|
||||
function _sameDay(dateA, dateB) {
|
||||
return (dateA.getDate() == dateB.getDate() &&
|
||||
dateA.getMonth() == dateB.getMonth() &&
|
||||
dateA.getYear() == dateB.getYear());
|
||||
}
|
||||
|
||||
function _sameYear(dateA, dateB) {
|
||||
return (dateA.getYear() == dateB.getYear());
|
||||
}
|
||||
|
||||
function _formatRelativeDate(date) {
|
||||
let ret = ''
|
||||
let now = new Date();
|
||||
if (_sameDay(date, now)) {
|
||||
ret = date.toLocaleFormat("%l:%M %p");
|
||||
} else {
|
||||
if (_sameYear(date, now)) {
|
||||
ret = date.toLocaleFormat("%B %e");
|
||||
} else {
|
||||
ret = date.toLocaleFormat("%B %e, %Y");
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
function _addMessageToTable(table, message) {
|
||||
let formattedExcerpt = message.excerpt.replace(/\r/g, '').replace(/\n/g, ' ');
|
||||
let formattedDate = _formatRelativeDate(message.receivedAt);
|
||||
|
||||
let fromLabel = new St.Label({ style_class: 'goa-message-base goa-message-from',
|
||||
text: _stripEmailAddress(message.from)});
|
||||
let hbox = new St.BoxLayout({ style_class: 'goa-message-hbox', vertical: false });
|
||||
let subjectLabel = new St.Label({ style_class: 'goa-message-base goa-message-subject',
|
||||
text: message.subject });
|
||||
let excerptLabel = new St.Label({ style_class: 'goa-message-base goa-message-excerpt',
|
||||
text: formattedExcerpt });
|
||||
let dateLabel = new St.Label({ style_class: 'goa-message-base goa-message-date',
|
||||
text: formattedDate });
|
||||
|
||||
excerptLabel.clutter_text.line_wrap = false;
|
||||
excerptLabel.clutter_text.ellipsize = Pango.EllipsizeMode.END;
|
||||
|
||||
hbox.add(subjectLabel, { x_fill: true,
|
||||
y_fill: false,
|
||||
x_align: St.Align.END,
|
||||
y_align: St.Align.START });
|
||||
hbox.add(excerptLabel, { x_fill: true,
|
||||
y_fill: false,
|
||||
x_align: St.Align.END,
|
||||
y_align: St.Align.START });
|
||||
|
||||
let n = table.get_row_count();
|
||||
table.add(fromLabel, { x_fill: true, x_expand: true, row: n, col: 0 });
|
||||
table.add(hbox, { row: n, col: 1 });
|
||||
table.add(dateLabel, { row: n, col: 2 });
|
||||
}
|
||||
|
||||
function MailSource(client) {
|
||||
this._init(client);
|
||||
}
|
||||
|
||||
MailSource.prototype = {
|
||||
__proto__: MessageTray.Source.prototype,
|
||||
|
||||
_init : function(client) {
|
||||
this._client = client;
|
||||
this._pendingMessages = [];
|
||||
|
||||
// Init super class and add ourselves to the message tray
|
||||
MessageTray.Source.prototype._init.call(this, 'Mail');
|
||||
|
||||
// Create the notification
|
||||
this._notification = new MessageTray.Notification(this)
|
||||
this._notification.setUrgency(MessageTray.Urgency.NORMAL);
|
||||
this._notification.setResident(true);
|
||||
this._updateNotification();
|
||||
this.pushNotification(this._notification);
|
||||
// Refresh all monitors everytime the "Mail" notification is displayed
|
||||
this._notification.connect('expanded', Lang.bind(this,
|
||||
function() {
|
||||
this._client.refreshAllMonitors();
|
||||
}));
|
||||
},
|
||||
|
||||
createNotificationIcon : function() {
|
||||
let numPending = this._pendingMessages.length;
|
||||
let baseIcon = new Gio.ThemedIcon({ name: 'mail-mark-unread'});
|
||||
let numerableIcon = new Gtk.NumerableIcon({ gicon: baseIcon });
|
||||
numerableIcon.set_count(numPending);
|
||||
let icon = new St.Icon({ icon_type: St.IconType.FULLCOLOR,
|
||||
icon_size: this.ICON_SIZE });
|
||||
icon.set_gicon(numerableIcon);
|
||||
return icon;
|
||||
},
|
||||
|
||||
_updateNotification: function() {
|
||||
if (!this._notification)
|
||||
return
|
||||
|
||||
let title = 'Mail';
|
||||
let banner = ''
|
||||
let table = new St.Table({ homogeneous: false,
|
||||
style_class: 'goa-message-table',
|
||||
reactive: true });
|
||||
|
||||
for (let n = 0; n < this._pendingMessages.length; n++)
|
||||
_addMessageToTable (table, this._pendingMessages[n]);
|
||||
|
||||
this._notification.update(title, banner, { clear: true,
|
||||
icon: this.createNotificationIcon() });
|
||||
this._notification.addActor(table);
|
||||
this._notification.addButton('close', 'Close');
|
||||
this._notification.addButton('ignore-all', 'Ignore All');
|
||||
this._notification.connect('action-invoked', Lang.bind(this,
|
||||
function(notification, id) {
|
||||
if (id == 'close') {
|
||||
// TODO: Can't find another way hide it
|
||||
notification._onClicked();
|
||||
} else if (id == 'ignore-all') {
|
||||
this.clearMessages();
|
||||
}
|
||||
}));
|
||||
},
|
||||
|
||||
addMessage: function(message) {
|
||||
this._pendingMessages.push(message);
|
||||
// Update notification
|
||||
this._updateNotification();
|
||||
// Update icon with latest pending count
|
||||
this._setSummaryIcon(this.createNotificationIcon());
|
||||
},
|
||||
|
||||
clearMessages: function() {
|
||||
let notification = this._notification;
|
||||
this._notification = null;
|
||||
if (notification)
|
||||
notification.destroy();
|
||||
this.destroy();
|
||||
},
|
||||
}
|
||||
|
@@ -42,10 +42,10 @@ BaseIcon.prototype = {
|
||||
box.add_actor(this._iconBin);
|
||||
|
||||
if (params.showLabel) {
|
||||
this.label = new St.Label({ text: label });
|
||||
box.add_actor(this.label);
|
||||
this._name = new St.Label({ text: label });
|
||||
box.add_actor(this._name);
|
||||
} else {
|
||||
this.label = null;
|
||||
this._name = null;
|
||||
}
|
||||
|
||||
if (params.createIcon)
|
||||
@@ -67,8 +67,8 @@ BaseIcon.prototype = {
|
||||
|
||||
let childBox = new Clutter.ActorBox();
|
||||
|
||||
if (this.label) {
|
||||
let [labelMinHeight, labelNatHeight] = this.label.get_preferred_height(-1);
|
||||
if (this._name) {
|
||||
let [labelMinHeight, labelNatHeight] = this._name.get_preferred_height(-1);
|
||||
preferredHeight += this._spacing + labelNatHeight;
|
||||
|
||||
let labelHeight = availHeight >= preferredHeight ? labelNatHeight
|
||||
@@ -79,7 +79,7 @@ BaseIcon.prototype = {
|
||||
childBox.x2 = availWidth;
|
||||
childBox.y1 = iconSize + this._spacing;
|
||||
childBox.y2 = childBox.y1 + labelHeight;
|
||||
this.label.allocate(childBox, flags);
|
||||
this._name.allocate(childBox, flags);
|
||||
}
|
||||
|
||||
childBox.x1 = Math.floor((availWidth - iconNatWidth) / 2);
|
||||
@@ -98,8 +98,8 @@ BaseIcon.prototype = {
|
||||
alloc.min_size = iconMinHeight;
|
||||
alloc.natural_size = iconNatHeight;
|
||||
|
||||
if (this.label) {
|
||||
let [labelMinHeight, labelNatHeight] = this.label.get_preferred_height(forWidth);
|
||||
if (this._name) {
|
||||
let [labelMinHeight, labelNatHeight] = this._name.get_preferred_height(forWidth);
|
||||
alloc.min_size += this._spacing + labelMinHeight;
|
||||
alloc.natural_size += this._spacing + labelNatHeight;
|
||||
}
|
||||
|
@@ -5,13 +5,14 @@ const Cogl = imports.gi.Cogl;
|
||||
const GConf = imports.gi.GConf;
|
||||
const GLib = imports.gi.GLib;
|
||||
const Gio = imports.gi.Gio;
|
||||
const Gtk = imports.gi.Gtk;
|
||||
const Pango = imports.gi.Pango;
|
||||
const St = imports.gi.St;
|
||||
const Shell = imports.gi.Shell;
|
||||
const Signals = imports.signals;
|
||||
const Lang = imports.lang;
|
||||
const Mainloop = imports.mainloop;
|
||||
const Gettext = imports.gettext.domain('gnome-shell');
|
||||
const _ = Gettext.gettext;
|
||||
|
||||
const History = imports.misc.history;
|
||||
const ExtensionSystem = imports.ui.extensionSystem;
|
||||
@@ -99,19 +100,12 @@ Notebook.prototype = {
|
||||
selectIndex: function(index) {
|
||||
if (index == this._selectedIndex)
|
||||
return;
|
||||
this._unselect();
|
||||
if (index < 0) {
|
||||
this._unselect();
|
||||
this.emit('selection', null);
|
||||
return;
|
||||
}
|
||||
|
||||
// Focus the new tab before unmapping the old one
|
||||
let tabData = this._tabs[index];
|
||||
if (!tabData.scrollView.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false))
|
||||
this.actor.grab_key_focus();
|
||||
|
||||
this._unselect();
|
||||
|
||||
tabData.labelBox.add_style_pseudo_class('selected');
|
||||
tabData.scrollView.show();
|
||||
this._selectedIndex = index;
|
||||
@@ -751,7 +745,12 @@ LookingGlass.prototype = {
|
||||
let label = new St.Label({ text: 'js>>> ' });
|
||||
entryArea.add(label);
|
||||
|
||||
this._entry = new St.Entry({ can_focus: true });
|
||||
this._entry = new St.Entry();
|
||||
/* unmapping the edit box will un-focus it, undo that */
|
||||
notebook.connect('selection', Lang.bind(this, function (nb, child) {
|
||||
if (child == this._evalBox)
|
||||
global.stage.set_key_focus(this._entry);
|
||||
}));
|
||||
entryArea.add(this._entry, { expand: true });
|
||||
|
||||
this._windowList = new WindowList();
|
||||
@@ -910,7 +909,6 @@ LookingGlass.prototype = {
|
||||
if (!Main.pushModal(this._entry))
|
||||
return;
|
||||
|
||||
this._notebook.selectIndex(0);
|
||||
this.actor.show();
|
||||
this.actor.lower(Main.chrome.actor);
|
||||
this._open = true;
|
||||
|
@@ -1,5 +1,11 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
|
||||
imports.gi.versions.Clutter = '1.0';
|
||||
imports.gi.versions.Gio = '2.0';
|
||||
imports.gi.versions.Gdk = '3.0';
|
||||
imports.gi.versions.GdkPixbuf = '2.0';
|
||||
imports.gi.versions.Gtk = '3.0';
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const DBus = imports.dbus;
|
||||
const Gdk = imports.gi.Gdk;
|
||||
@@ -11,6 +17,8 @@ const Mainloop = imports.mainloop;
|
||||
const Meta = imports.gi.Meta;
|
||||
const Shell = imports.gi.Shell;
|
||||
const St = imports.gi.St;
|
||||
const Gettext = imports.gettext.domain('gnome-shell');
|
||||
const _ = Gettext.gettext;
|
||||
|
||||
const Chrome = imports.ui.chrome;
|
||||
const CtrlAltTab = imports.ui.ctrlAltTab;
|
||||
@@ -29,7 +37,6 @@ const WindowAttentionHandler = imports.ui.windowAttentionHandler;
|
||||
const Scripting = imports.ui.scripting;
|
||||
const ShellDBus = imports.ui.shellDBus;
|
||||
const TelepathyClient = imports.ui.telepathyClient;
|
||||
const GoaClient = imports.ui.goaClient;
|
||||
const WindowManager = imports.ui.windowManager;
|
||||
const Magnifier = imports.ui.magnifier;
|
||||
const XdndHandler = imports.ui.xdndHandler;
|
||||
@@ -51,7 +58,6 @@ let messageTray = null;
|
||||
let notificationDaemon = null;
|
||||
let windowAttentionHandler = null;
|
||||
let telepathyClient = null;
|
||||
let goaClient = null;
|
||||
let ctrlAltTabManager = null;
|
||||
let recorder = null;
|
||||
let shellDBusService = null;
|
||||
@@ -69,7 +75,12 @@ let _cssStylesheet = null;
|
||||
let background = null;
|
||||
|
||||
function start() {
|
||||
// Monkey patch utility functions into the global proxy;
|
||||
// Add a binding for 'global' in the global JS namespace; (gjs
|
||||
// keeps the web browser convention of having that namespace be
|
||||
// called 'window'.)
|
||||
window.global = Shell.Global.get();
|
||||
|
||||
// Now monkey patch utility functions into the global proxy;
|
||||
// This is easier and faster than indirecting down into global
|
||||
// if we want to call back up into JS.
|
||||
global.logError = _logError;
|
||||
@@ -91,6 +102,8 @@ function start() {
|
||||
// not loading any events until the user presses the clock
|
||||
global.launch_calendar_server();
|
||||
|
||||
Environment.init();
|
||||
|
||||
// Ensure ShellWindowTracker and ShellAppUsage are initialized; this will
|
||||
// also initialize ShellAppSystem first. ShellAppSystem
|
||||
// needs to load all the .desktop files, and ShellWindowTracker
|
||||
@@ -141,7 +154,6 @@ function start() {
|
||||
notificationDaemon = new NotificationDaemon.NotificationDaemon();
|
||||
windowAttentionHandler = new WindowAttentionHandler.WindowAttentionHandler();
|
||||
telepathyClient = new TelepathyClient.Client();
|
||||
goaClient = new GoaClient.Client();
|
||||
|
||||
overview.init();
|
||||
statusIconDispatcher.start(messageTray.actor);
|
||||
|
@@ -20,6 +20,9 @@ const Params = imports.misc.params;
|
||||
const Tweener = imports.ui.tweener;
|
||||
const Util = imports.misc.util;
|
||||
|
||||
const Gettext = imports.gettext.domain('gnome-shell');
|
||||
const _ = Gettext.gettext;
|
||||
|
||||
const ANIMATION_TIME = 0.2;
|
||||
const NOTIFICATION_TIMEOUT = 4;
|
||||
const SUMMARY_TIMEOUT = 1;
|
||||
@@ -1301,10 +1304,6 @@ MessageTray.prototype = {
|
||||
|
||||
},
|
||||
|
||||
getBusy: function(source) {
|
||||
return this._busy;
|
||||
},
|
||||
|
||||
contains: function(source) {
|
||||
return this._getIndexOfSummaryItemForSource(source) >= 0;
|
||||
},
|
||||
|
@@ -10,6 +10,8 @@ const Pango = imports.gi.Pango;
|
||||
const St = imports.gi.St;
|
||||
const Shell = imports.gi.Shell;
|
||||
const Signals = imports.signals;
|
||||
const Gettext = imports.gettext.domain('gnome-shell');
|
||||
const _ = Gettext.gettext;
|
||||
|
||||
const Params = imports.misc.params;
|
||||
|
||||
|
@@ -7,6 +7,8 @@ const Lang = imports.lang;
|
||||
const Shell = imports.gi.Shell;
|
||||
const Mainloop = imports.mainloop;
|
||||
const St = imports.gi.St;
|
||||
const Gettext = imports.gettext.domain('gnome-shell');
|
||||
const _ = Gettext.gettext;
|
||||
|
||||
const Config = imports.misc.config;
|
||||
const Main = imports.ui.main;
|
||||
|
@@ -8,6 +8,8 @@ const Signals = imports.signals;
|
||||
const Lang = imports.lang;
|
||||
const St = imports.gi.St;
|
||||
const Shell = imports.gi.Shell;
|
||||
const Gettext = imports.gettext.domain('gnome-shell');
|
||||
const _ = Gettext.gettext;
|
||||
const Gdk = imports.gi.Gdk;
|
||||
|
||||
const AppDisplay = imports.ui.appDisplay;
|
||||
|
@@ -9,6 +9,8 @@ const Pango = imports.gi.Pango;
|
||||
const Shell = imports.gi.Shell;
|
||||
const St = imports.gi.St;
|
||||
const Signals = imports.signals;
|
||||
const Gettext = imports.gettext.domain('gnome-shell');
|
||||
const _ = Gettext.gettext;
|
||||
|
||||
const Config = imports.misc.config;
|
||||
const CtrlAltTab = imports.ui.ctrlAltTab;
|
||||
@@ -774,7 +776,7 @@ HotCorner.prototype = {
|
||||
_onCornerClicked : function() {
|
||||
if (!Main.overview.animationInProgress)
|
||||
this.maybeToggleOverviewOnClick();
|
||||
return false;
|
||||
return true;
|
||||
},
|
||||
|
||||
_onCornerLeft : function(actor, event) {
|
||||
@@ -815,8 +817,6 @@ Panel.prototype = {
|
||||
reactive: true });
|
||||
this.actor._delegate = this;
|
||||
|
||||
this._statusArea = {};
|
||||
|
||||
Main.overview.connect('shown', Lang.bind(this, function () {
|
||||
this.actor.add_style_class_name('in-overview');
|
||||
}));
|
||||
@@ -913,7 +913,6 @@ Panel.prototype = {
|
||||
style_class: 'panel-button',
|
||||
reactive: true,
|
||||
can_focus: true });
|
||||
this._activities = this.button;
|
||||
this.button.set_child(label);
|
||||
this.button._delegate = this.button;
|
||||
this.button._xdndTimeOut = 0;
|
||||
@@ -942,10 +941,10 @@ Panel.prototype = {
|
||||
|
||||
this._hotCorner = null;
|
||||
|
||||
this._appMenu = new AppMenuButton();
|
||||
this._leftBox.add(this._appMenu.actor);
|
||||
let appMenuButton = new AppMenuButton();
|
||||
this._leftBox.add(appMenuButton.actor);
|
||||
|
||||
this._menus.addMenu(this._appMenu.menu);
|
||||
this._menus.addMenu(appMenuButton.menu);
|
||||
|
||||
/* center */
|
||||
this._dateMenu = new DateMenu.DateMenuButton();
|
||||
@@ -964,12 +963,12 @@ Panel.prototype = {
|
||||
this._rightBox.add(this._trayBox);
|
||||
this._rightBox.add(this._statusBox);
|
||||
|
||||
this._userMenu = new StatusMenu.StatusMenuButton();
|
||||
this._userMenu.actor.name = 'panelStatus';
|
||||
this._rightBox.add(this._userMenu.actor);
|
||||
this._statusmenu = new StatusMenu.StatusMenuButton();
|
||||
this._statusmenu.actor.name = 'panelStatus';
|
||||
this._rightBox.add(this._statusmenu.actor);
|
||||
|
||||
// Synchronize the buttons pseudo classes with its corner
|
||||
this._userMenu.actor.connect('style-changed', Lang.bind(this,
|
||||
this._statusmenu.actor.connect('style-changed', Lang.bind(this,
|
||||
function(actor) {
|
||||
let rtl = actor.get_direction() == St.TextDirection.RTL;
|
||||
let corner = rtl ? this._leftCorner : this._rightCorner;
|
||||
@@ -1052,13 +1051,11 @@ Panel.prototype = {
|
||||
let indicator = new constructor();
|
||||
this._statusBox.add(indicator.actor);
|
||||
this._menus.addMenu(indicator.menu);
|
||||
|
||||
this._statusArea[role] = indicator;
|
||||
}
|
||||
|
||||
// PopupMenuManager depends on menus being added in order for
|
||||
// keyboard navigation
|
||||
this._menus.addMenu(this._userMenu.menu);
|
||||
this._menus.addMenu(this._statusmenu.menu);
|
||||
},
|
||||
|
||||
startupAnimation: function() {
|
||||
|
@@ -7,6 +7,8 @@ const Lang = imports.lang;
|
||||
const Mainloop = imports.mainloop;
|
||||
const Signals = imports.signals;
|
||||
const St = imports.gi.St;
|
||||
const Gettext = imports.gettext.domain('gnome-shell');
|
||||
const _ = Gettext.gettext;
|
||||
|
||||
const DND = imports.ui.dnd;
|
||||
const Main = imports.ui.main;
|
||||
|
@@ -22,6 +22,8 @@
|
||||
|
||||
const Lang = imports.lang;
|
||||
const Signals = imports.signals;
|
||||
const Gettext = imports.gettext.domain('gnome-shell');
|
||||
const _ = Gettext.gettext;
|
||||
const Shell = imports.gi.Shell;
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const St = imports.gi.St;
|
||||
|
@@ -13,6 +13,9 @@ const Main = imports.ui.main;
|
||||
const Params = imports.misc.params;
|
||||
const Tweener = imports.ui.tweener;
|
||||
|
||||
const Gettext = imports.gettext.domain('gnome-shell');
|
||||
const _ = Gettext.gettext;
|
||||
|
||||
const SLIDER_SCROLL_STEP = 0.05; /* Slider scrolling step in % */
|
||||
|
||||
function PopupBaseMenuItem(params) {
|
||||
|
@@ -8,6 +8,8 @@ const Meta = imports.gi.Meta;
|
||||
const St = imports.gi.St;
|
||||
const Shell = imports.gi.Shell;
|
||||
const Signals = imports.signals;
|
||||
const Gettext = imports.gettext.domain('gnome-shell');
|
||||
const _ = Gettext.gettext;
|
||||
|
||||
const FileUtils = imports.misc.fileUtils;
|
||||
const Main = imports.ui.main;
|
||||
|
@@ -7,6 +7,9 @@ const Signals = imports.signals;
|
||||
const Shell = imports.gi.Shell;
|
||||
const Util = imports.misc.util;
|
||||
|
||||
const Gettext = imports.gettext.domain('gnome-shell');
|
||||
const _ = Gettext.gettext;
|
||||
|
||||
const FileUtils = imports.misc.fileUtils;
|
||||
const Main = imports.ui.main;
|
||||
|
||||
@@ -273,7 +276,7 @@ OpenSearchSystem.prototype = {
|
||||
_addProvider: function(fileName) {
|
||||
let path = global.datadir + '/search_providers/' + fileName;
|
||||
let source = Shell.get_file_contents_utf8_sync(path);
|
||||
let [success, name, url, langs, icon_uri] = Shell.parse_search_provider(source);
|
||||
let [success, name, url, langs, icon_uri] = global.parse_search_provider(source);
|
||||
let provider ={ name: name,
|
||||
url: url,
|
||||
id: this._providers.length,
|
||||
|
@@ -2,6 +2,8 @@
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const Lang = imports.lang;
|
||||
const Gettext = imports.gettext.domain('gnome-shell');
|
||||
const _ = Gettext.gettext;
|
||||
const Gtk = imports.gi.Gtk;
|
||||
const Meta = imports.gi.Meta;
|
||||
const St = imports.gi.St;
|
||||
@@ -37,7 +39,6 @@ SearchResult.prototype = {
|
||||
let icon = new IconGrid.BaseIcon(this.metaInfo['name'],
|
||||
{ createIcon: this.metaInfo['createIcon'] });
|
||||
content.set_child(icon.actor);
|
||||
this.actor.label_actor = icon.label;
|
||||
}
|
||||
this._content = content;
|
||||
this.actor.set_child(content);
|
||||
@@ -258,7 +259,6 @@ SearchResults.prototype = {
|
||||
let title = new St.Label({ text: provider.name,
|
||||
style_class: 'dash-search-button-label' });
|
||||
|
||||
button.label_actor = title;
|
||||
bin.set_child(title);
|
||||
button.set_child(bin);
|
||||
provider.actor = button;
|
||||
|
@@ -14,6 +14,9 @@ const PanelMenu = imports.ui.panelMenu;
|
||||
const PopupMenu = imports.ui.popupMenu;
|
||||
const Util = imports.misc.util;
|
||||
|
||||
const Gettext = imports.gettext.domain('gnome-shell');
|
||||
const _ = Gettext.gettext;
|
||||
|
||||
const A11Y_SCHEMA = 'org.gnome.desktop.a11y.keyboard';
|
||||
const KEY_STICKY_KEYS_ENABLED = 'stickykeys-enable';
|
||||
const KEY_BOUNCE_KEYS_ENABLED = 'bouncekeys-enable';
|
||||
|
@@ -16,6 +16,9 @@ const MessageTray = imports.ui.messageTray;
|
||||
const PanelMenu = imports.ui.panelMenu;
|
||||
const PopupMenu = imports.ui.popupMenu;
|
||||
|
||||
const Gettext = imports.gettext.domain('gnome-shell');
|
||||
const _ = Gettext.gettext;
|
||||
|
||||
const ConnectionState = {
|
||||
DISCONNECTED: 0,
|
||||
CONNECTED: 1,
|
||||
@@ -64,7 +67,7 @@ Indicator.prototype = {
|
||||
|
||||
this._fullMenuItems = [new PopupMenu.PopupSeparatorMenuItem(),
|
||||
new PopupMenu.PopupMenuItem(_("Send Files to Device...")),
|
||||
new PopupMenu.PopupMenuItem(_("Set up a New Device...")),
|
||||
new PopupMenu.PopupMenuItem(_("Setup a New Device...")),
|
||||
new PopupMenu.PopupSeparatorMenuItem()];
|
||||
this._hasDevices = false;
|
||||
this._deviceSep = this._fullMenuItems[0]; // hidden if no device exists
|
||||
@@ -124,6 +127,13 @@ Indicator.prototype = {
|
||||
}
|
||||
},
|
||||
|
||||
_deviceCompare: function(d1, d2) {
|
||||
return d1.device_path == d2.device_path &&
|
||||
d1.bdaddr == d2.bdaddr &&
|
||||
d1.can_connect == d2.can_connect &&
|
||||
d1.capabilities == d2.capabilities;
|
||||
},
|
||||
|
||||
_updateDevices: function() {
|
||||
let devices = this._applet.get_devices();
|
||||
|
||||
@@ -132,8 +142,12 @@ Indicator.prototype = {
|
||||
let item = this._deviceItems[i];
|
||||
let destroy = true;
|
||||
for (let j = 0; j < devices.length; j++) {
|
||||
if (item._device.device_path == devices[j].device_path) {
|
||||
this._updateDeviceItem(item, devices[j]);
|
||||
// we need to deep compare because BluetoothSimpleDevice is a boxed type
|
||||
// (but we take advantage of that, because _skip will disappear the next
|
||||
// time get_devices() is called)
|
||||
if (this._deviceCompare(item._device, devices[j])) {
|
||||
item.label.text = devices[j].alias;
|
||||
devices[j]._skip = true;
|
||||
destroy = false;
|
||||
break;
|
||||
}
|
||||
@@ -148,7 +162,7 @@ Indicator.prototype = {
|
||||
this._hasDevices = newlist.length > 0;
|
||||
for (let i = 0; i < devices.length; i++) {
|
||||
let d = devices[i];
|
||||
if (d._item)
|
||||
if (d._skip)
|
||||
continue;
|
||||
let item = this._createDeviceItem(d);
|
||||
if (item) {
|
||||
@@ -163,55 +177,17 @@ Indicator.prototype = {
|
||||
this._deviceSep.actor.hide();
|
||||
},
|
||||
|
||||
_updateDeviceItem: function(item, device) {
|
||||
if (!device.can_connect && device.capabilities == GnomeBluetoothApplet.Capabilities.NONE) {
|
||||
item.destroy();
|
||||
return;
|
||||
}
|
||||
|
||||
let prevDevice = item._device;
|
||||
let prevCapabilities = prevDevice.capabilities;
|
||||
let prevCanConnect = prevDevice.can_connect;
|
||||
|
||||
// adopt the new device object
|
||||
item._device = device;
|
||||
device._item = item;
|
||||
|
||||
// update properties
|
||||
item.label.text = device.alias;
|
||||
|
||||
if (prevCapabilities != device.capabilities ||
|
||||
prevCanConnect != device.can_connect) {
|
||||
// need to rebuild the submenu
|
||||
item.menu.removeAll();
|
||||
this._buildDeviceSubMenu(item, device);
|
||||
}
|
||||
|
||||
// update connected property
|
||||
if (device.can_connect)
|
||||
item._connectedMenuitem.setToggleState(device.connected);
|
||||
},
|
||||
|
||||
_createDeviceItem: function(device) {
|
||||
if (!device.can_connect && device.capabilities == GnomeBluetoothApplet.Capabilities.NONE)
|
||||
return null;
|
||||
let item = new PopupMenu.PopupSubMenuMenuItem(device.alias);
|
||||
|
||||
// adopt the device object, and add a back link
|
||||
item._device = device;
|
||||
device._item = item;
|
||||
|
||||
this._buildDeviceSubMenu(item, device);
|
||||
|
||||
return item;
|
||||
},
|
||||
|
||||
_buildDeviceSubMenu: function(item, device) {
|
||||
if (device.can_connect) {
|
||||
item._connected = device.connected;
|
||||
item._connectedMenuitem = new PopupMenu.PopupSwitchMenuItem(_("Connection"), device.connected);
|
||||
let menuitem = new PopupMenu.PopupSwitchMenuItem(_("Connection"), device.connected);
|
||||
|
||||
item._connectedMenuitem.connect('toggled', Lang.bind(this, function() {
|
||||
menuitem.connect('toggled', Lang.bind(this, function() {
|
||||
if (item._connected > ConnectionState.CONNECTED) {
|
||||
// operation already in progress, revert
|
||||
menuitem.setToggleState(menuitem.state);
|
||||
@@ -241,7 +217,7 @@ Indicator.prototype = {
|
||||
}
|
||||
}));
|
||||
|
||||
item.menu.addMenuItem(item._connectedMenuitem);
|
||||
item.menu.addMenuItem(menuitem);
|
||||
}
|
||||
|
||||
if (device.capabilities & GnomeBluetoothApplet.Capabilities.OBEX_PUSH) {
|
||||
@@ -287,6 +263,8 @@ Indicator.prototype = {
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return item;
|
||||
},
|
||||
|
||||
_updateFullMenu: function() {
|
||||
|
@@ -13,6 +13,9 @@ const PopupMenu = imports.ui.popupMenu;
|
||||
const PanelMenu = imports.ui.panelMenu;
|
||||
const Util = imports.misc.util;
|
||||
|
||||
const Gettext = imports.gettext.domain('gnome-shell');
|
||||
const _ = Gettext.gettext;
|
||||
|
||||
function LayoutMenuItem() {
|
||||
this._init.apply(this, arguments);
|
||||
}
|
||||
|
@@ -18,6 +18,9 @@ const MessageTray = imports.ui.messageTray;
|
||||
const ModemManager = imports.misc.modemManager;
|
||||
const Util = imports.misc.util;
|
||||
|
||||
const Gettext = imports.gettext.domain('gnome-shell');
|
||||
const _ = Gettext.gettext;
|
||||
|
||||
const NMConnectionCategory = {
|
||||
INVALID: 'invalid',
|
||||
WIRED: 'wired',
|
||||
@@ -41,10 +44,6 @@ const NM80211Mode = NetworkManager['80211Mode'];
|
||||
const NM80211ApFlags = NetworkManager['80211ApFlags'];
|
||||
const NM80211ApSecurityFlags = NetworkManager['80211ApSecurityFlags'];
|
||||
|
||||
// number of wireless networks that should be visible
|
||||
// (the remaining are placed into More...)
|
||||
const NUM_VISIBLE_NETWORKS = 5;
|
||||
|
||||
const NMAppletHelperInterface = {
|
||||
name: 'org.gnome.network_manager_applet',
|
||||
methods: [
|
||||
@@ -838,7 +837,7 @@ NMDeviceModem.prototype = {
|
||||
},
|
||||
|
||||
get connected() {
|
||||
return this._enabled && this.device.state == NetworkManager.DeviceState.CONNECTED;
|
||||
return this._enabled && this.device.state == NetworkManager.DeviceState.ACTIVATED;
|
||||
},
|
||||
|
||||
destroy: function() {
|
||||
@@ -1027,7 +1026,6 @@ NMDeviceWireless.prototype = {
|
||||
item: null,
|
||||
accessPoints: [ ap ]
|
||||
};
|
||||
obj.ssidText = NetworkManager.utils_ssid_to_utf8(obj.ssid);
|
||||
this._networks.push(obj);
|
||||
}
|
||||
|
||||
@@ -1040,14 +1038,6 @@ NMDeviceWireless.prototype = {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (this.device.active_access_point) {
|
||||
this._activeNetwork = this._networks[this._findNetwork(this.device.active_access_point)];
|
||||
} else {
|
||||
this._activeNetwork = null;
|
||||
}
|
||||
this._networks.sort(this._networkSortFunction);
|
||||
|
||||
this._apChangedId = device.connect('notify::active-access-point', Lang.bind(this, this._activeApChanged));
|
||||
this._apAddedId = device.connect('access-point-added', Lang.bind(this, this._accessPointAdded));
|
||||
this._apRemovedId = device.connect('access-point-removed', Lang.bind(this, this._accessPointRemoved));
|
||||
|
||||
@@ -1055,13 +1045,8 @@ NMDeviceWireless.prototype = {
|
||||
},
|
||||
|
||||
destroy: function() {
|
||||
if (this._apChangedId) {
|
||||
// see above for this HACK
|
||||
GObject.Object.prototype.disconnect.call(this.device, this._apChangedId);
|
||||
this._apChangedId = 0;
|
||||
}
|
||||
|
||||
if (this._apAddedId) {
|
||||
// see above for this HACK
|
||||
GObject.Object.prototype.disconnect.call(this.device, this._apAddedId);
|
||||
this._apAddedId = 0;
|
||||
}
|
||||
@@ -1127,19 +1112,6 @@ NMDeviceWireless.prototype = {
|
||||
}
|
||||
},
|
||||
|
||||
_activeApChanged: function() {
|
||||
this._activeNetwork = null;
|
||||
|
||||
let activeAp = this.device.active_access_point;
|
||||
|
||||
if (activeAp) {
|
||||
let pos = this._findNetwork(activeAp);
|
||||
this._activeNetwork = this._networks[pos];
|
||||
}
|
||||
|
||||
// we don't refresh the view here, setActiveConnection will
|
||||
},
|
||||
|
||||
_getApSecurityType: function(accessPoint) {
|
||||
if (accessPoint._secType)
|
||||
return accessPoint._secType;
|
||||
@@ -1171,32 +1143,6 @@ NMDeviceWireless.prototype = {
|
||||
return type;
|
||||
},
|
||||
|
||||
_networkSortFunction: function(one, two) {
|
||||
let oneHasConnection = one.connections.length != 0;
|
||||
let twoHasConnection = two.connections.length != 0;
|
||||
|
||||
// place known connections first
|
||||
// (-1 = good order, 1 = wrong order)
|
||||
if (oneHasConnection && !twoHasConnection)
|
||||
return -1;
|
||||
else if (!oneHasConnection && twoHasConnection)
|
||||
return 1;
|
||||
|
||||
let oneHasSecurity = one.security != NMAccessPointSecurity.NONE;
|
||||
let twoHasSecurity = two.security != NMAccessPointSecurity.NONE;
|
||||
|
||||
// place secure connections first
|
||||
// (we treat WEP/WPA/WPA2 the same as there is no way to
|
||||
// take them apart from the UI)
|
||||
if (oneHasSecurity && !twoHasSecurity)
|
||||
return -1;
|
||||
else if (!oneHasSecurity && twoHasSecurity)
|
||||
return 1;
|
||||
|
||||
// sort alphabetically
|
||||
return GLib.utf8_collate(one.ssidText, two.ssidText);
|
||||
},
|
||||
|
||||
_networkCompare: function(network, accessPoint) {
|
||||
if (!ssidCompare(network.ssid, accessPoint.get_ssid()))
|
||||
return false;
|
||||
@@ -1219,8 +1165,6 @@ NMDeviceWireless.prototype = {
|
||||
_accessPointAdded: function(device, accessPoint) {
|
||||
let pos = this._findNetwork(accessPoint);
|
||||
let apObj;
|
||||
let needsupdate = false;
|
||||
|
||||
if (pos != -1) {
|
||||
apObj = this._networks[pos];
|
||||
if (apObj.accessPoints.indexOf(accessPoint) != -1) {
|
||||
@@ -1229,8 +1173,6 @@ NMDeviceWireless.prototype = {
|
||||
}
|
||||
|
||||
apObj.accessPoints.push(accessPoint);
|
||||
if (apObj.item)
|
||||
apObj.item.updateAccessPoints(apObj.accessPoints);
|
||||
} else {
|
||||
apObj = { ssid: accessPoint.get_ssid(),
|
||||
mode: accessPoint.mode,
|
||||
@@ -1239,8 +1181,7 @@ NMDeviceWireless.prototype = {
|
||||
item: null,
|
||||
accessPoints: [ accessPoint ]
|
||||
};
|
||||
apObj.ssidText = NetworkManager.utils_ssid_to_utf8(apObj.ssid);
|
||||
needsupdate = true;
|
||||
this._networks.push(apObj);
|
||||
}
|
||||
|
||||
// check if this enables new connections for this group
|
||||
@@ -1249,44 +1190,12 @@ NMDeviceWireless.prototype = {
|
||||
if (accessPoint.connection_valid(connection) &&
|
||||
apObj.connections.indexOf(connection) == -1) {
|
||||
apObj.connections.push(connection);
|
||||
|
||||
// this potentially changes the order
|
||||
needsupdate = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (needsupdate) {
|
||||
if (apObj.item)
|
||||
apObj.item.destroy();
|
||||
|
||||
if (pos != -1)
|
||||
this._networks.splice(pos, 1);
|
||||
|
||||
if (this._networks.length == 0) {
|
||||
// only network in the list
|
||||
this._networks.push(apObj);
|
||||
this._clearSection();
|
||||
this._createSection();
|
||||
return;
|
||||
}
|
||||
|
||||
// skip networks that should appear earlier
|
||||
let menuPos = 0;
|
||||
for (pos = 0;
|
||||
pos < this._networks.length &&
|
||||
this._networkSortFunction(this._networks[pos], apObj) < 0; ++pos) {
|
||||
if (this._networks[pos] != this._activeNetwork)
|
||||
menuPos++;
|
||||
}
|
||||
|
||||
// (re-)add the network
|
||||
this._networks.splice(pos, 0, apObj);
|
||||
|
||||
if (this._shouldShowConnectionList()) {
|
||||
menuPos += (this._activeConnectionItem ? 1 : 0);
|
||||
this._createNetworkItem(apObj, menuPos);
|
||||
}
|
||||
}
|
||||
// update everything
|
||||
this._clearSection();
|
||||
this._createSection();
|
||||
},
|
||||
|
||||
_accessPointRemoved: function(device, accessPoint) {
|
||||
@@ -1364,12 +1273,6 @@ NMDeviceWireless.prototype = {
|
||||
// remove the connection from the access point group
|
||||
connections.splice(k);
|
||||
anyauto = connections.length == 0;
|
||||
|
||||
if (anyauto) {
|
||||
// this potentially changes the sorting order
|
||||
forceupdate = true;
|
||||
break;
|
||||
}
|
||||
if (apObj.item) {
|
||||
if (apObj.item instanceof PopupMenu.PopupSubMenuMenuItem) {
|
||||
let items = apObj.item.menu.getMenuItems();
|
||||
@@ -1395,7 +1298,6 @@ NMDeviceWireless.prototype = {
|
||||
}
|
||||
|
||||
if (forceupdate || anyauto) {
|
||||
this._networks.sort(this._networkSortFunction);
|
||||
this._clearSection();
|
||||
this._createSection();
|
||||
}
|
||||
@@ -1411,24 +1313,42 @@ NMDeviceWireless.prototype = {
|
||||
this._connections.push(obj);
|
||||
|
||||
// find an appropriate access point
|
||||
let forceupdate = false;
|
||||
let any = false, forceupdate = false;
|
||||
for (let i = 0; i < this._networks.length; i++) {
|
||||
let apObj = this._networks[i];
|
||||
|
||||
// Check if connection is valid for any of these access points
|
||||
let any = false;
|
||||
for (let k = 0; k < apObj.accessPoints.length; k++) {
|
||||
let ap = apObj.accessPoints[k];
|
||||
if (ap.connection_valid(connection)) {
|
||||
apObj.connections.push(connection);
|
||||
// this potentially changes the sorting order
|
||||
forceupdate = true;
|
||||
any = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (any && this._shouldShowConnectionList()) {
|
||||
// we need to show this connection
|
||||
if (apObj.item && apObj.item.menu) {
|
||||
// We're already showing the submenu for this access point
|
||||
apObj.item.menu.addMenuItem(this._createAPItem(connection, apObj, true));
|
||||
} else {
|
||||
if (apObj.item)
|
||||
apObj.item.destroy();
|
||||
if (apObj.connections.length == 1) {
|
||||
apObj.item = this._createAPItem(connection, apObj, false);
|
||||
this.section.addMenuItem(apObj.item);
|
||||
} else {
|
||||
apObj.item = null;
|
||||
// we need to force an update to create the submenu
|
||||
forceupdate = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (forceupdate) {
|
||||
this._networks.sort(this._networkSortFunction);
|
||||
this._clearSection();
|
||||
this._createSection();
|
||||
}
|
||||
@@ -1480,48 +1400,6 @@ NMDeviceWireless.prototype = {
|
||||
return connection;
|
||||
},
|
||||
|
||||
_createNetworkItem: function(apObj, position) {
|
||||
if(apObj.connections.length > 0) {
|
||||
if (apObj.connections.length == 1)
|
||||
apObj.item = this._createAPItem(apObj.connections[0], apObj, false);
|
||||
else {
|
||||
let title = apObj.ssidText;
|
||||
apObj.item = new PopupMenu.PopupSubMenuMenuItem(title);
|
||||
apObj.item._apObj = apObj;
|
||||
for (let i = 0; i < apObj.connections.length; i++)
|
||||
apObj.item.menu.addMenuItem(this._createAPItem(apObj.connections[i], apObj, true));
|
||||
}
|
||||
} else {
|
||||
apObj.item = new NMNetworkMenuItem(apObj.accessPoints);
|
||||
apObj.item._apObj = apObj;
|
||||
apObj.item.connect('activate', Lang.bind(this, function() {
|
||||
let accessPoints = sortAccessPoints(apObj.accessPoints);
|
||||
if ( (accessPoints[0]._secType == NMAccessPointSecurity.WPA2_ENT)
|
||||
|| (accessPoints[0]._secType == NMAccessPointSecurity.WPA_ENT)) {
|
||||
// 802.1x-enabled APs get handled by nm-applet for now...
|
||||
this._applet_proxy.ConnectTo8021xNetworkRemote(this.device.get_path(),
|
||||
accessPoints[0].dbus_path,
|
||||
Lang.bind(this, function(results, err) {
|
||||
if (err)
|
||||
log(err);
|
||||
}));
|
||||
} else {
|
||||
let connection = this._createAutomaticConnection(apObj);
|
||||
this._client.add_and_activate_connection(connection, this.device, accessPoints[0].dbus_path, null)
|
||||
}
|
||||
}));
|
||||
}
|
||||
if (position < NUM_VISIBLE_NETWORKS)
|
||||
this.section.addMenuItem(apObj.item);
|
||||
else {
|
||||
if (!this._overflowItem) {
|
||||
this._overflowItem = new PopupMenu.PopupSubMenuMenuItem(_("More..."));
|
||||
this.section.addMenuItem(this._overflowItem);
|
||||
}
|
||||
this._overflowItem.menu.addMenuItem(apObj.item, position - NUM_VISIBLE_NETWORKS);
|
||||
}
|
||||
},
|
||||
|
||||
_createSection: function() {
|
||||
if (!this._shouldShowConnectionList())
|
||||
return;
|
||||
@@ -1531,14 +1409,58 @@ NMDeviceWireless.prototype = {
|
||||
this.section.addMenuItem(this._activeConnectionItem);
|
||||
}
|
||||
|
||||
let activeOffset = this._activeConnectionItem ? 1 : 0;
|
||||
let activeAp = this.device.active_access_point;
|
||||
let activeApSsid = activeAp ? activeAp.get_ssid() : null;
|
||||
|
||||
// we want five access points in the menu, including the active one
|
||||
let numItems = this._activeConnection ? 4 : 5;
|
||||
|
||||
for(let j = 0; j < this._networks.length; j++) {
|
||||
let apObj = this._networks[j];
|
||||
if (apObj == this._activeNetwork)
|
||||
if(activeAp && ssidCompare(apObj.ssid, activeApSsid))
|
||||
continue;
|
||||
|
||||
this._createNetworkItem(apObj, j + activeOffset);
|
||||
let menuItem;
|
||||
if(apObj.connections.length > 0) {
|
||||
if (apObj.connections.length == 1)
|
||||
apObj.item = this._createAPItem(apObj.connections[0], apObj, false);
|
||||
else {
|
||||
let title = NetworkManager.utils_ssid_to_utf8(apObj.ssid) || _("<unknown>");
|
||||
apObj.item = new PopupMenu.PopupSubMenuMenuItem(title);
|
||||
apObj.item._apObj = apObj;
|
||||
for (let i = 0; i < apObj.connections.length; i++)
|
||||
apObj.item.menu.addMenuItem(this._createAPItem(apObj.connections[i], apObj, true));
|
||||
}
|
||||
} else {
|
||||
apObj.item = new NMNetworkMenuItem(apObj.accessPoints);
|
||||
apObj.item._apObj = apObj;
|
||||
apObj.item.connect('activate', Lang.bind(this, function() {
|
||||
let accessPoints = sortAccessPoints(apObj.accessPoints);
|
||||
if ( (accessPoints[0]._secType == NMAccessPointSecurity.WPA2_ENT)
|
||||
|| (accessPoints[0]._secType == NMAccessPointSecurity.WPA_ENT)) {
|
||||
// 802.1x-enabled APs get handled by nm-applet for now...
|
||||
this._applet_proxy.ConnectTo8021xNetworkRemote(this.device.get_path(),
|
||||
accessPoints[0].dbus_path,
|
||||
Lang.bind(this, function(results, err) {
|
||||
if (err)
|
||||
log(err);
|
||||
}));
|
||||
} else {
|
||||
let connection = this._createAutomaticConnection(apObj);
|
||||
this._client.add_and_activate_connection(connection, this.device, accessPoints[0].dbus_path, null)
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
if (j < numItems)
|
||||
this.section.addMenuItem(apObj.item);
|
||||
else {
|
||||
if (!this._overflowItem) {
|
||||
this._overflowItem = new PopupMenu.PopupSubMenuMenuItem(_("More..."));
|
||||
this.section.addMenuItem(this._overflowItem);
|
||||
}
|
||||
this._overflowItem.menu.addMenuItem(apObj.item);
|
||||
}
|
||||
}
|
||||
},
|
||||
};
|
||||
|
@@ -11,6 +11,9 @@ const PanelMenu = imports.ui.panelMenu;
|
||||
const PopupMenu = imports.ui.popupMenu;
|
||||
const Util = imports.misc.util;
|
||||
|
||||
const Gettext = imports.gettext.domain('gnome-shell');
|
||||
const _ = Gettext.gettext;
|
||||
|
||||
const BUS_NAME = 'org.gnome.PowerManager';
|
||||
const OBJECT_PATH = '/org/gnome/PowerManager';
|
||||
|
||||
@@ -112,15 +115,15 @@ Indicator.prototype = {
|
||||
let timestring;
|
||||
if (time > 60) {
|
||||
if (minutes == 0) {
|
||||
timestring = ngettext("%d hour remaining", "%d hours remaining", hours).format(hours);
|
||||
timestring = Gettext.ngettext("%d hour remaining", "%d hours remaining", hours).format(hours);
|
||||
} else {
|
||||
/* TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" */
|
||||
let template = _("%d %s %d %s remaining");
|
||||
|
||||
timestring = template.format (hours, ngettext("hour", "hours", hours), minutes, ngettext("minute", "minutes", minutes));
|
||||
timestring = template.format (hours, Gettext.ngettext("hour", "hours", hours), minutes, Gettext.ngettext("minute", "minutes", minutes));
|
||||
}
|
||||
} else
|
||||
timestring = ngettext("%d minute remaining", "%d minutes remaining", minutes).format(minutes);
|
||||
timestring = Gettext.ngettext("%d minute remaining", "%d minutes remaining", minutes).format(minutes);
|
||||
this._batteryItem.label.text = timestring;
|
||||
}
|
||||
this._primaryPercentage.text = Math.round(percentage) + '%';
|
||||
|
@@ -13,6 +13,9 @@ const PanelMenu = imports.ui.panelMenu;
|
||||
const PopupMenu = imports.ui.popupMenu;
|
||||
const Util = imports.misc.util;
|
||||
|
||||
const Gettext = imports.gettext.domain('gnome-shell');
|
||||
const _ = Gettext.gettext;
|
||||
|
||||
const VOLUME_ADJUSTMENT_STEP = 0.05; /* Volume adjustment step in % */
|
||||
|
||||
const VOLUME_NOTIFY_ID = 1;
|
||||
|
@@ -9,6 +9,8 @@ const Shell = imports.gi.Shell;
|
||||
const St = imports.gi.St;
|
||||
const Tp = imports.gi.TelepathyGLib;
|
||||
const UPowerGlib = imports.gi.UPowerGlib;
|
||||
const Gettext = imports.gettext.domain('gnome-shell');
|
||||
const _ = Gettext.gettext;
|
||||
|
||||
const GnomeSession = imports.misc.gnomeSession;
|
||||
const Main = imports.ui.main;
|
||||
|
@@ -9,6 +9,9 @@ const Signals = imports.signals;
|
||||
const St = imports.gi.St;
|
||||
const Tpl = imports.gi.TelepathyLogger;
|
||||
const Tp = imports.gi.TelepathyGLib;
|
||||
const Gettext = imports.gettext.domain('gnome-shell');
|
||||
const _ = Gettext.gettext;
|
||||
const C_ = Gettext.pgettext;
|
||||
|
||||
const History = imports.misc.history;
|
||||
const Main = imports.ui.main;
|
||||
@@ -77,9 +80,14 @@ Client.prototype = {
|
||||
// The second argument, recover, means _observeChannels will be run
|
||||
// for any existing channel as well.
|
||||
let dbus = Tp.DBusDaemon.dup();
|
||||
this._observer = Shell.TpClient.new(dbus);
|
||||
this._observer.set_observe_channels_func(
|
||||
Lang.bind(this, this._observeChannels));
|
||||
this._observer = Tp.SimpleObserver.new(dbus, true, 'GnomeShell', true,
|
||||
Lang.bind(this, this._observeChannels));
|
||||
|
||||
// We only care about single-user text-based chats
|
||||
let props = {};
|
||||
props[Tp.PROP_CHANNEL_CHANNEL_TYPE] = Tp.IFACE_CHANNEL_TYPE_TEXT;
|
||||
props[Tp.PROP_CHANNEL_TARGET_HANDLE_TYPE] = Tp.HandleType.CONTACT;
|
||||
this._observer.add_observer_filter(props);
|
||||
|
||||
try {
|
||||
this._observer.register();
|
||||
@@ -286,9 +294,6 @@ Source.prototype = {
|
||||
},
|
||||
|
||||
_messageReceived: function(channel, message) {
|
||||
if (message.get_message_type() == Tp.ChannelTextMessageType.DELIVERY_REPORT)
|
||||
return;
|
||||
|
||||
message = makeMessageFromTpMessage(message, NotificationDirection.RECEIVED);
|
||||
this._notification.appendMessage(message);
|
||||
this.notify();
|
||||
@@ -411,7 +416,11 @@ Notification.prototype = {
|
||||
styles.push('chat-action');
|
||||
}
|
||||
|
||||
this.update(this.source.title, messageBody, { customContent: true, bannerMarkup: true });
|
||||
if (message.direction == NotificationDirection.RECEIVED) {
|
||||
this.update(this.source.title, messageBody, { customContent: true,
|
||||
bannerMarkup: true });
|
||||
}
|
||||
|
||||
this._append(messageBody, styles, message.timestamp, noTimestamp);
|
||||
},
|
||||
|
||||
@@ -516,16 +525,18 @@ Notification.prototype = {
|
||||
},
|
||||
|
||||
appendAliasChange: function(oldAlias, newAlias) {
|
||||
oldAlias = GLib.markup_escape_text(oldAlias, -1);
|
||||
newAlias = GLib.markup_escape_text(newAlias, -1);
|
||||
// FIXME: uncomment this after 3.0 string freeze ends
|
||||
|
||||
/* Translators: this is the other person changing their old IM name to their new
|
||||
IM name. */
|
||||
let message = '<i>' + _("%s is now known as %s").format(oldAlias, newAlias) + '</i>';
|
||||
let label = this.addBody(message, true);
|
||||
label.add_style_class_name('chat-meta-message');
|
||||
this._history.unshift({ actor: label, time: (Date.now() / 1000), realMessage: false });
|
||||
this.update(newAlias, null, { customContent: true });
|
||||
// oldAlias = GLib.markup_escape_text(oldAlias, -1);
|
||||
// newAlias = GLib.markup_escape_text(newAlias, -1);
|
||||
|
||||
// /* Translators: this is the other person changing their old IM name to their new
|
||||
// IM name. */
|
||||
// let message = '<i>' + _("%s is now known as %s").format(oldAlias, newAlias) + '</i>';
|
||||
// let label = this.addBody(message, true);
|
||||
// label.add_style_class_name('chat-meta-message');
|
||||
// this._history.unshift({ actor: label, time: (Date.now() / 1000), realMessage: false });
|
||||
// this.update(newAlias, null, { customContent: true });
|
||||
},
|
||||
|
||||
_onEntryActivated: function() {
|
||||
|
@@ -8,6 +8,8 @@ const Signals = imports.signals;
|
||||
const Lang = imports.lang;
|
||||
const Shell = imports.gi.Shell;
|
||||
const St = imports.gi.St;
|
||||
const Gettext = imports.gettext.domain('gnome-shell');
|
||||
const _ = Gettext.gettext;
|
||||
|
||||
const Main = imports.ui.main;
|
||||
const Search = imports.ui.search;
|
||||
|
@@ -2,6 +2,8 @@
|
||||
|
||||
const Lang = imports.lang;
|
||||
const Shell = imports.gi.Shell;
|
||||
const Gettext = imports.gettext.domain('gnome-shell');
|
||||
const _ = Gettext.gettext;
|
||||
|
||||
const Main = imports.ui.main;
|
||||
const MessageTray = imports.ui.messageTray;
|
||||
|
@@ -397,8 +397,6 @@ WindowOverlay.prototype = {
|
||||
|
||||
show: function() {
|
||||
this._hidden = false;
|
||||
if (this._windowClone.actor.has_pointer)
|
||||
this.closeButton.show();
|
||||
this.title.show();
|
||||
},
|
||||
|
||||
|
@@ -7,6 +7,8 @@ const Meta = imports.gi.Meta;
|
||||
const Shell = imports.gi.Shell;
|
||||
const St = imports.gi.St;
|
||||
const Signals = imports.signals;
|
||||
const Gettext = imports.gettext.domain('gnome-shell');
|
||||
const _ = Gettext.gettext;
|
||||
|
||||
const DND = imports.ui.dnd;
|
||||
const Main = imports.ui.main;
|
||||
|
@@ -1,16 +1,16 @@
|
||||
af
|
||||
an
|
||||
ar
|
||||
ast
|
||||
bg
|
||||
bn
|
||||
bn_IN
|
||||
ca
|
||||
ca@valencia
|
||||
cs
|
||||
da
|
||||
de
|
||||
el
|
||||
en_GB
|
||||
eo
|
||||
es
|
||||
et
|
||||
eu
|
||||
@@ -34,6 +34,7 @@ mr
|
||||
nb
|
||||
nl
|
||||
nn
|
||||
oc
|
||||
pa
|
||||
pl
|
||||
pt
|
||||
@@ -46,6 +47,7 @@ sr
|
||||
sr@latin
|
||||
sv
|
||||
ta
|
||||
te
|
||||
th
|
||||
tr
|
||||
ug
|
||||
|
466
po/ca.po
@@ -2,21 +2,22 @@
|
||||
# Copyright (C) 2009 Siegfried-Angel Gevatter Pujals <rainct@ubuntu.com>
|
||||
# This file is distributed under the same license as the gnome-shell package.
|
||||
# Siegfried-Angel Gevatter Pujals <rainct@ubuntu.com>, 2009.
|
||||
# Gil Forcada <gilforcada@guifi.net>, 2010.
|
||||
# Gil Forcada <gilforcada@guifi.net>, 2010, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: HEAD\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-03-29 00:29+0200\n"
|
||||
"PO-Revision-Date: 2011-04-03 23:19+0200\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2014-02-21 20:26+0000\n"
|
||||
"PO-Revision-Date: 2014-02-21 22:53+0100\n"
|
||||
"Last-Translator: Gil Forcada <gilforcada@guifi.net>\n"
|
||||
"Language-Team: Catalan <tradgnome@softcatala.org>\n"
|
||||
"Language: ca\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"
|
||||
"Content-Transfer-Encoding: 8bits\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
|
||||
#: ../data/gnome-shell.desktop.in.in.h:1
|
||||
msgid "GNOME Shell"
|
||||
@@ -27,6 +28,12 @@ msgid "Window management and application launching"
|
||||
msgstr "Gestor de finestres i llançador d'aplicacions"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:1
|
||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
|
||||
msgstr ""
|
||||
"Habilita les eines internes en el diàleg de l'Alt+F2 que són útils per als "
|
||||
"desenvolupadors i provadors"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:2
|
||||
msgid ""
|
||||
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
|
||||
"dialog."
|
||||
@@ -34,21 +41,11 @@ msgstr ""
|
||||
"Permet l'accés a les eines de depuració i de seguiment internes a través del "
|
||||
"diàleg de l'Alt+F2."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:2
|
||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
|
||||
msgstr ""
|
||||
"Habilita les eines internes en el diàleg de l'Alt+F2 que són útils per als "
|
||||
"desenvolupadors i provadors"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:3
|
||||
msgid "File extension used for storing the screencast"
|
||||
msgstr "Extensió de fitxer per desar l'screencast"
|
||||
msgid "Uuids of extensions to disable"
|
||||
msgstr "Identificadors únics de les extensions a inhabilitar"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:4
|
||||
msgid "Framerate used for recording screencasts."
|
||||
msgstr "Imatges per segon per enregistrar els screencasts."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:5
|
||||
msgid ""
|
||||
"GNOME Shell extensions have a uuid property; this key lists extensions which "
|
||||
"should not be loaded."
|
||||
@@ -56,33 +53,90 @@ msgstr ""
|
||||
"Les extensions del GNOME Shell tenen un identificador universal. Aquesta "
|
||||
"clau conté una llista de les extensions que no s'han de carregar."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:5
|
||||
msgid "Whether to collect stats about applications usage"
|
||||
msgstr "Si s'han de recollir estadístiques d'ús de les aplicacions"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:6
|
||||
msgid "History for command (Alt-F2) dialog"
|
||||
msgstr "Historial de les ordres utilitzades en el diàleg de l'Alt+F2"
|
||||
msgid ""
|
||||
"The shell normally monitors active applications in order to present the most "
|
||||
"used ones (e.g. in launchers). While this data will be kept private, you may "
|
||||
"want to disable this for privacy reasons. Please note that doing so won't "
|
||||
"remove already saved data."
|
||||
msgstr ""
|
||||
"El GNOME Shell normalment fa un seguiment de les aplicacions actives per tal "
|
||||
"de mostrar les més utilitzades (per exemple en els llançadors). Tot i que "
|
||||
"les dades es mantindran en privat, podeu inhabilitar-ho per motius de "
|
||||
"privadesa. Tingueu en compte que si ho inhabiliteu no es suprimiran les "
|
||||
"dades ja recollides."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:7
|
||||
msgid "History for the looking glass dialog"
|
||||
msgstr "Historial del depurador del GNOME Shell"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:8
|
||||
msgid "If true, display date in the clock, in addition to time."
|
||||
msgstr ""
|
||||
"Si és «true» (cert) es mostra la data en el rellotge a més a més de l'hora."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:9
|
||||
msgid "If true, display seconds in time."
|
||||
msgstr "Si és «true» (cert) es mostren els segons."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:10
|
||||
msgid "If true, display the ISO week date in the calendar."
|
||||
msgstr "Si és «true» (cert) es mostra el número de la setmana en el calendari."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:11
|
||||
msgid "List of desktop file IDs for favorite applications"
|
||||
msgstr ""
|
||||
"Llista d'identificadors de fitxers d'escriptori de les aplicacions preferides"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:8
|
||||
msgid ""
|
||||
"The applications corresponding to these identifiers will be displayed in the "
|
||||
"favorites area."
|
||||
msgstr ""
|
||||
"Es mostraran, a l'àrea de preferits, les aplicacions que corresponguin a "
|
||||
"aquests identificadors."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:9
|
||||
msgid "disabled OpenSearch providers"
|
||||
msgstr "inhabilita els proveïdors d'OpenSearch"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:10
|
||||
msgid "History for command (Alt-F2) dialog"
|
||||
msgstr "Historial de les ordres utilitzades en el diàleg de l'Alt+F2"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:11
|
||||
msgid "History for the looking glass dialog"
|
||||
msgstr "Historial del depurador del GNOME Shell"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:12
|
||||
msgid "Show the week date in the calendar"
|
||||
msgstr "Mostra el número de la setmana en el calendari"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:13
|
||||
msgid "If true, display the ISO week date in the calendar."
|
||||
msgstr "Si és «true» (cert) es mostra el número de la setmana en el calendari."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:14
|
||||
msgid "Show time with seconds"
|
||||
msgstr "Mostra l'hora amb segons"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:15
|
||||
msgid "If true, display seconds in time."
|
||||
msgstr "Si és «true» (cert) es mostren els segons."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:16
|
||||
msgid "Show date in clock"
|
||||
msgstr "Mostra la data en el rellotge"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:17
|
||||
msgid "If true, display date in the clock, in addition to time."
|
||||
msgstr ""
|
||||
"Si és «true» (cert) es mostra la data en el rellotge a més a més de l'hora."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:18
|
||||
msgid "Framerate used for recording screencasts."
|
||||
msgstr "Imatges per segon per enregistrar els screencasts."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:19
|
||||
msgid ""
|
||||
"The framerate of the resulting screencast recordered by GNOME Shell's "
|
||||
"screencast recorder in frames-per-second."
|
||||
msgstr ""
|
||||
"Les imatges per segon, en fotogrames per segon, de l'screencast enregistrat "
|
||||
"per l'eina d'enregistrament del GNOME Shell."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:20
|
||||
msgid "The gstreamer pipeline used to encode the screencast"
|
||||
msgstr "El conducte GStreamer per enregistrar els screencasts"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:22
|
||||
#, no-c-format
|
||||
msgid ""
|
||||
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
|
||||
@@ -109,27 +163,11 @@ msgstr ""
|
||||
"variable per estimar el nombre de fils d'execució paral·lels òptims del "
|
||||
"sistema."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:14
|
||||
msgid "Show date in clock"
|
||||
msgstr "Mostra la data en el rellotge"
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:23
|
||||
msgid "File extension used for storing the screencast"
|
||||
msgstr "Extensió de fitxer per desar l'screencast"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:15
|
||||
msgid "Show the week date in the calendar"
|
||||
msgstr "Mostra el número de la setmana en el calendari"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:16
|
||||
msgid "Show time with seconds"
|
||||
msgstr "Mostra l'hora amb segons"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:17
|
||||
msgid ""
|
||||
"The applications corresponding to these identifiers will be displayed in the "
|
||||
"favorites area."
|
||||
msgstr ""
|
||||
"Es mostraran, a l'àrea de preferits, les aplicacions que corresponguin a "
|
||||
"aquests identificadors."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:18
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:24
|
||||
msgid ""
|
||||
"The filename for recorded screencasts will be a unique filename based on the "
|
||||
"current date, and use this extension. It should be changed when recording to "
|
||||
@@ -139,108 +177,69 @@ msgstr ""
|
||||
"basat en l'hora de realització i utilitzarà aquesta extensió. S'hauria de "
|
||||
"canviar si s'enregistra en un format diferent."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:19
|
||||
msgid ""
|
||||
"The framerate of the resulting screencast recordered by GNOME Shell's "
|
||||
"screencast recorder in frames-per-second."
|
||||
msgstr ""
|
||||
"Les imatges per segon, en fotogrames per segon, de l'screencast enregistrat "
|
||||
"per l'eina d'enregistrament del GNOME Shell."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:20
|
||||
msgid "The gstreamer pipeline used to encode the screencast"
|
||||
msgstr "El conducte GStreamer per enregistrar els screencasts"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:21
|
||||
msgid ""
|
||||
"The shell normally monitors active applications in order to present the most "
|
||||
"used ones (e.g. in launchers). While this data will be kept private, you may "
|
||||
"want to disable this for privacy reasons. Please note that doing so won't "
|
||||
"remove already saved data."
|
||||
msgstr ""
|
||||
"El GNOME Shell normalment fa un seguiment de les aplicacions actives per tal "
|
||||
"de mostrar les més utilitzades (per exemple en els llançadors). Tot i que "
|
||||
"les dades es mantindran en privat, podeu inhabilitar-ho per motius de "
|
||||
"privadesa. Tingueu en compte que si ho inhabiliteu no es suprimiran les "
|
||||
"dades ja recollides."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:22
|
||||
msgid "Uuids of extensions to disable"
|
||||
msgstr "Identificadors únics de les extensions a inhabilitar"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:23
|
||||
msgid "Whether to collect stats about applications usage"
|
||||
msgstr "Si s'han de recollir estadístiques d'ús de les aplicacions"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:24
|
||||
msgid "disabled OpenSearch providers"
|
||||
msgstr "inhabilita els proveïdors d'OpenSearch"
|
||||
|
||||
#: ../js/misc/util.js:71
|
||||
msgid "Command not found"
|
||||
msgstr "No s'ha trobat l'ordre"
|
||||
|
||||
#. Replace "Error invoking GLib.shell_parse_argv: " with
|
||||
#. something nicer
|
||||
#: ../js/misc/util.js:98
|
||||
msgid "Could not parse command:"
|
||||
msgstr "No s'ha pogut analitzar l'ordre:"
|
||||
|
||||
#: ../js/misc/util.js:106
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "Execution of '%s' failed:"
|
||||
msgstr "No s'ha pogut executar «%s»:"
|
||||
|
||||
#. Translators: Filter to display all applications
|
||||
#: ../js/ui/appDisplay.js:230
|
||||
#. Translators: Filter to display all applications */
|
||||
#: ../js/ui/appDisplay.js:260
|
||||
msgid "All"
|
||||
msgstr "Totes"
|
||||
|
||||
#: ../js/ui/appDisplay.js:328
|
||||
#: ../js/ui/appDisplay.js:359
|
||||
msgid "APPLICATIONS"
|
||||
msgstr "APLICACIONS"
|
||||
|
||||
#: ../js/ui/appDisplay.js:354
|
||||
#: ../js/ui/appDisplay.js:385
|
||||
msgid "SETTINGS"
|
||||
msgstr "CONFIGURACIÓ"
|
||||
|
||||
#: ../js/ui/appDisplay.js:625
|
||||
#: ../js/ui/appDisplay.js:656
|
||||
msgid "New Window"
|
||||
msgstr "Finestra nova"
|
||||
|
||||
#: ../js/ui/appDisplay.js:628
|
||||
#: ../js/ui/appDisplay.js:659
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Suprimeix dels preferits"
|
||||
|
||||
#: ../js/ui/appDisplay.js:629
|
||||
#: ../js/ui/appDisplay.js:660
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Afegeix als preferits"
|
||||
|
||||
#: ../js/ui/appFavorites.js:91
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "%s has been added to your favorites."
|
||||
msgstr "S'ha afegit %s als preferits."
|
||||
|
||||
#: ../js/ui/appFavorites.js:122
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "S'ha suprimit %s dels preferits."
|
||||
|
||||
#. Translators: Shown in calendar event list for all day events
|
||||
#. * Keep it short, best if you can use less then 10 characters
|
||||
#.
|
||||
#. */
|
||||
#: ../js/ui/calendar.js:66
|
||||
msgctxt "event list time"
|
||||
msgid "All Day"
|
||||
msgstr "Tot el dia"
|
||||
|
||||
#. Translators: Shown in calendar event list, if 24h format
|
||||
#. Translators: Shown in calendar event list, if 24h format */
|
||||
#: ../js/ui/calendar.js:71
|
||||
msgctxt "event list time"
|
||||
msgid "%H:%M"
|
||||
msgstr "%H:%M"
|
||||
|
||||
#. Transators: Shown in calendar event list, if 12h format
|
||||
#. Transators: Shown in calendar event list, if 12h format */
|
||||
#: ../js/ui/calendar.js:78
|
||||
msgctxt "event list time"
|
||||
msgid "%l:%M %p"
|
||||
@@ -250,43 +249,43 @@ msgstr "%l:%M %p"
|
||||
#. *
|
||||
#. * NOTE: These grid abbreviations are always shown together
|
||||
#. * and in order, e.g. "S M T W T F S".
|
||||
#.
|
||||
#. */
|
||||
#: ../js/ui/calendar.js:118
|
||||
msgctxt "grid sunday"
|
||||
msgid "S"
|
||||
msgstr "Dg"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Monday
|
||||
#. Translators: Calendar grid abbreviation for Monday */
|
||||
#: ../js/ui/calendar.js:120
|
||||
msgctxt "grid monday"
|
||||
msgid "M"
|
||||
msgstr "Dl"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Tuesday
|
||||
#. Translators: Calendar grid abbreviation for Tuesday */
|
||||
#: ../js/ui/calendar.js:122
|
||||
msgctxt "grid tuesday"
|
||||
msgid "T"
|
||||
msgstr "Dt"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Wednesday
|
||||
#. Translators: Calendar grid abbreviation for Wednesday */
|
||||
#: ../js/ui/calendar.js:124
|
||||
msgctxt "grid wednesday"
|
||||
msgid "W"
|
||||
msgstr "Dc"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Thursday
|
||||
#. Translators: Calendar grid abbreviation for Thursday */
|
||||
#: ../js/ui/calendar.js:126
|
||||
msgctxt "grid thursday"
|
||||
msgid "T"
|
||||
msgstr "Dj"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Friday
|
||||
#. Translators: Calendar grid abbreviation for Friday */
|
||||
#: ../js/ui/calendar.js:128
|
||||
msgctxt "grid friday"
|
||||
msgid "F"
|
||||
msgstr "Dv"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Saturday
|
||||
#. Translators: Calendar grid abbreviation for Saturday */
|
||||
#: ../js/ui/calendar.js:130
|
||||
msgctxt "grid saturday"
|
||||
msgid "S"
|
||||
@@ -297,61 +296,69 @@ msgstr "Ds"
|
||||
#. * NOTE: These list abbreviations are normally not shown together
|
||||
#. * so they need to be unique (e.g. Tuesday and Thursday cannot
|
||||
#. * both be 'T').
|
||||
#.
|
||||
#. */
|
||||
#: ../js/ui/calendar.js:143
|
||||
msgctxt "list sunday"
|
||||
msgid "Su"
|
||||
msgstr "Dg."
|
||||
|
||||
#. Translators: Event list abbreviation for Monday
|
||||
#. Translators: Event list abbreviation for Monday */
|
||||
#: ../js/ui/calendar.js:145
|
||||
msgctxt "list monday"
|
||||
msgid "M"
|
||||
msgstr "Dl."
|
||||
|
||||
#. Translators: Event list abbreviation for Tuesday
|
||||
#. Translators: Event list abbreviation for Tuesday */
|
||||
#: ../js/ui/calendar.js:147
|
||||
msgctxt "list tuesday"
|
||||
msgid "T"
|
||||
msgstr "Dt."
|
||||
|
||||
#. Translators: Event list abbreviation for Wednesday
|
||||
#. Translators: Event list abbreviation for Wednesday */
|
||||
#: ../js/ui/calendar.js:149
|
||||
msgctxt "list wednesday"
|
||||
msgid "W"
|
||||
msgstr "Dc."
|
||||
|
||||
#. Translators: Event list abbreviation for Thursday
|
||||
#. Translators: Event list abbreviation for Thursday */
|
||||
#: ../js/ui/calendar.js:151
|
||||
msgctxt "list thursday"
|
||||
msgid "Th"
|
||||
msgstr "Dj."
|
||||
|
||||
#. Translators: Event list abbreviation for Friday
|
||||
#. Translators: Event list abbreviation for Friday */
|
||||
#: ../js/ui/calendar.js:153
|
||||
msgctxt "list friday"
|
||||
msgid "F"
|
||||
msgstr "Dv."
|
||||
|
||||
#. Translators: Event list abbreviation for Saturday
|
||||
#. Translators: Event list abbreviation for Saturday */
|
||||
#: ../js/ui/calendar.js:155
|
||||
msgctxt "list saturday"
|
||||
msgid "S"
|
||||
msgstr "Ds."
|
||||
|
||||
#. Translators: Text to show if there are no events
|
||||
#: ../js/ui/calendar.js:375 ../js/ui/calendar.js:644
|
||||
msgid "calendar:week_start:0"
|
||||
msgstr "calendar:week_start:1"
|
||||
|
||||
#: ../js/ui/calendar.js:387
|
||||
msgid "calendar:MY"
|
||||
msgstr "calendar:MY"
|
||||
|
||||
#. Translators: Text to show if there are no events */
|
||||
#: ../js/ui/calendar.js:704
|
||||
msgid "Nothing Scheduled"
|
||||
msgstr "No hi ha res apuntat"
|
||||
|
||||
#. Translators: Shown on calendar heading when selected day occurs on current year
|
||||
#: ../js/ui/calendar.js:720
|
||||
#. Translators: Shown on calendar heading when selected day occurs on current year */
|
||||
#: ../js/ui/calendar.js:720 ../js/ui/telepathyClient.js:496
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A %d de %B"
|
||||
|
||||
#. Translators: Shown on calendar heading when selected day occurs on different year
|
||||
#: ../js/ui/calendar.js:723
|
||||
#. Translators: Shown on calendar heading when selected day occurs on different year */
|
||||
#: ../js/ui/calendar.js:723 ../js/ui/telepathyClient.js:499
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%A %d de %B de %Y"
|
||||
@@ -372,7 +379,7 @@ msgstr "Aquesta setmana"
|
||||
msgid "Next week"
|
||||
msgstr "La setmana que ve"
|
||||
|
||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1000
|
||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1037
|
||||
msgid "Remove"
|
||||
msgstr "Suprimeix"
|
||||
|
||||
@@ -385,7 +392,7 @@ msgid "Open Calendar"
|
||||
msgstr "Obre el calendari"
|
||||
|
||||
#. Translators: This is the time format with date used
|
||||
#. in 24-hour mode.
|
||||
#. in 24-hour mode. */
|
||||
#: ../js/ui/dateMenu.js:164
|
||||
msgid "%a %b %e, %R:%S"
|
||||
msgstr "%a %d de %b, %R:%S"
|
||||
@@ -395,7 +402,7 @@ msgid "%a %b %e, %R"
|
||||
msgstr "%a %d de %b, %R"
|
||||
|
||||
#. Translators: This is the time format without date used
|
||||
#. in 24-hour mode.
|
||||
#. in 24-hour mode. */
|
||||
#: ../js/ui/dateMenu.js:169
|
||||
msgid "%a %R:%S"
|
||||
msgstr "%a %R:%S"
|
||||
@@ -405,7 +412,7 @@ msgid "%a %R"
|
||||
msgstr "%a %R"
|
||||
|
||||
#. Translators: This is a time format with date used
|
||||
#. for AM/PM.
|
||||
#. for AM/PM. */
|
||||
#: ../js/ui/dateMenu.js:177
|
||||
msgid "%a %b %e, %l:%M:%S %p"
|
||||
msgstr "%a %d de %b, %l:%M:%S %p"
|
||||
@@ -415,7 +422,7 @@ msgid "%a %b %e, %l:%M %p"
|
||||
msgstr "%a %d de %b, %l:%M %p"
|
||||
|
||||
#. Translators: This is a time format without date used
|
||||
#. for AM/PM.
|
||||
#. for AM/PM. */
|
||||
#: ../js/ui/dateMenu.js:182
|
||||
msgid "%a %l:%M:%S %p"
|
||||
msgstr "%a %l:%M:%S %p"
|
||||
@@ -426,7 +433,7 @@ msgstr "%a %l:%M %p"
|
||||
|
||||
#. Translators: This is the date format to use when the calendar popup is
|
||||
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
|
||||
#.
|
||||
#. */
|
||||
#: ../js/ui/dateMenu.js:194
|
||||
msgid "%A %B %e, %Y"
|
||||
msgstr "%A %d de %B, %Y"
|
||||
@@ -436,7 +443,7 @@ msgid "RECENT ITEMS"
|
||||
msgstr "DOCUMENTS RECENTS"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:63
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "Log Out %s"
|
||||
msgstr "Surt %s"
|
||||
|
||||
@@ -449,12 +456,12 @@ msgid "Click Log Out to quit these applications and log out of the system."
|
||||
msgstr "Feu clic a «Surt» per tancar les aplicacions i sortir de la sessió."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:66
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "%s will be logged out automatically in %d seconds."
|
||||
msgstr "%s sortirà de la sessió automàticament d'aquí %d segons."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:67
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "You will be logged out automatically in %d seconds."
|
||||
msgstr "Sortireu automàticament d'aquí %d segons."
|
||||
|
||||
@@ -471,7 +478,7 @@ msgid "Click Power Off to quit these applications and power off the system."
|
||||
msgstr "Feu clic a «Apaga» per tancar les aplicacions i apagar l'ordinador."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:77
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "The system will power off automatically in %d seconds."
|
||||
msgstr "S'apagarà l'ordinador automàticament d'aquí %d segons."
|
||||
|
||||
@@ -490,7 +497,7 @@ msgstr ""
|
||||
"Feu clic a «Reinicia» per tancar les aplicacions i reiniciar l'ordinador."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:90
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "The system will restart automatically in %d seconds."
|
||||
msgstr "Es reiniciarà l'ordinador automàticament d'aquí %d segons."
|
||||
|
||||
@@ -498,7 +505,7 @@ msgstr "Es reiniciarà l'ordinador automàticament d'aquí %d segons."
|
||||
msgid "Restarting the system."
|
||||
msgstr "S'està reiniciant l'ordinador."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:415 ../js/ui/polkitAuthenticationAgent.js:172
|
||||
#: ../js/ui/endSessionDialog.js:413 ../js/ui/polkitAuthenticationAgent.js:172
|
||||
#: ../js/ui/status/bluetooth.js:466
|
||||
msgid "Cancel"
|
||||
msgstr "Cancel·la"
|
||||
@@ -533,11 +540,11 @@ msgstr "Visualitza el font"
|
||||
msgid "Web Page"
|
||||
msgstr "Pàgina web"
|
||||
|
||||
#: ../js/ui/messageTray.js:993
|
||||
#: ../js/ui/messageTray.js:1030
|
||||
msgid "Open"
|
||||
msgstr "Obre"
|
||||
|
||||
#: ../js/ui/messageTray.js:2151
|
||||
#: ../js/ui/messageTray.js:2194
|
||||
msgid "System Information"
|
||||
msgstr "Informació de l'ordinador"
|
||||
|
||||
@@ -553,30 +560,27 @@ msgstr "Finestres"
|
||||
msgid "Applications"
|
||||
msgstr "Aplicacions"
|
||||
|
||||
#. Translators: this is the name of the dock/favorites area on
|
||||
#. the left of the overview
|
||||
#: ../js/ui/overview.js:205
|
||||
msgid "Dash"
|
||||
msgstr "Quadre d'aplicacions"
|
||||
|
||||
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
||||
#: ../js/ui/panel.js:515
|
||||
#, c-format
|
||||
#: ../js/ui/panel.js:533
|
||||
#, javascript-format
|
||||
msgid "Quit %s"
|
||||
msgstr "Tanca %s"
|
||||
|
||||
#. Button on the left side of the panel.
|
||||
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
|
||||
#: ../js/ui/panel.js:893
|
||||
#. Button on the left side of the panel. */
|
||||
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". */
|
||||
#: ../js/ui/panel.js:911
|
||||
msgid "Activities"
|
||||
msgstr "Activitats"
|
||||
|
||||
#: ../js/ui/panel.js:994
|
||||
#: ../js/ui/panel.js:1012
|
||||
msgid "Top Bar"
|
||||
msgstr "Barra superior"
|
||||
|
||||
#: ../js/ui/placeDisplay.js:122
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "Failed to unmount '%s'"
|
||||
msgstr "No s'ha pogut desmuntar «%s»"
|
||||
|
||||
@@ -607,7 +611,7 @@ msgstr "Autentica"
|
||||
#. Translators: "that didn't work" refers to the fact that the
|
||||
#. * requested authentication was not gained; this can happen
|
||||
#. * because of an authentication error (like invalid password),
|
||||
#. * for instance.
|
||||
#. * for instance. */
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:264
|
||||
msgid "Sorry, that didn't work. Please try again."
|
||||
msgstr "No ha funcionat. Torneu-ho a provar."
|
||||
@@ -616,11 +620,6 @@ msgstr "No ha funcionat. Torneu-ho a provar."
|
||||
msgid "Password:"
|
||||
msgstr "Contrasenya:"
|
||||
|
||||
#. Translators: this MUST be either "toggle-switch-us"
|
||||
#. (for toggle switches containing the English words
|
||||
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
|
||||
#. switches containing "◯" and "|"). Other values will
|
||||
#. simply result in invisible toggle switches.
|
||||
#: ../js/ui/popupMenu.js:679
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-intl"
|
||||
@@ -629,11 +628,11 @@ msgstr "toggle-switch-intl"
|
||||
msgid "Please enter a command:"
|
||||
msgstr "Introduïu una ordre:"
|
||||
|
||||
#: ../js/ui/searchDisplay.js:310
|
||||
#: ../js/ui/searchDisplay.js:311
|
||||
msgid "Searching..."
|
||||
msgstr "S'està cercant..."
|
||||
|
||||
#: ../js/ui/searchDisplay.js:324
|
||||
#: ../js/ui/searchDisplay.js:325
|
||||
msgid "No matching results."
|
||||
msgstr "No s'ha trobat cap coincidència."
|
||||
|
||||
@@ -678,12 +677,6 @@ msgstr "Surt..."
|
||||
msgid "Zoom"
|
||||
msgstr "Amplia"
|
||||
|
||||
#. let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA,
|
||||
#. 'screen-reader-enabled');
|
||||
#. this.menu.addMenuItem(screenReader);
|
||||
#. let screenKeyboard = this._buildItem(_("Screen Keyboard"), APPLICATIONS_SCHEMA,
|
||||
#. 'screen-keyboard-enabled');
|
||||
#. this.menu.addMenuItem(screenKeyboard);
|
||||
#: ../js/ui/status/accessibility.js:77
|
||||
msgid "Visual Alerts"
|
||||
msgstr "Avisos visuals"
|
||||
@@ -755,7 +748,7 @@ msgid "Error browsing device"
|
||||
msgstr "S'ha produït un error en navegar pel dispositiu"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:239
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "The requested device cannot be browsed, error is '%s'"
|
||||
msgstr "No es pot navegar pel dispositiu degut a l'error «%s»"
|
||||
|
||||
@@ -772,12 +765,12 @@ msgid "Sound Settings"
|
||||
msgstr "Paràmetres de so"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:368
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "Authorization request from %s"
|
||||
msgstr "Hi ha una petició d'autorització des de %s"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:374
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "Device %s wants access to the service '%s'"
|
||||
msgstr "El dispositiu %s vol accedir al servei «%s»"
|
||||
|
||||
@@ -794,17 +787,17 @@ msgid "Reject"
|
||||
msgstr "Rebutja"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:408
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "Pairing confirmation for %s"
|
||||
msgstr "Confirmació d'aparellament per %s"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:448
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "Device %s wants to pair with this computer"
|
||||
msgstr "El dispositiu %s vol aparellar-se amb aquest ordinador"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:415
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "Please confirm whether the PIN '%s' matches the one on the device."
|
||||
msgstr "Confirmeu que el PIN «%s» coincideix amb el que hi ha al dispositiu."
|
||||
|
||||
@@ -817,7 +810,7 @@ msgid "Does not match"
|
||||
msgstr "No coincideix"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:441
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "Pairing request for %s"
|
||||
msgstr "Teniu una sol·licitud d'aparellament amb %s"
|
||||
|
||||
@@ -837,139 +830,139 @@ msgstr "Mostra la disposició del teclat..."
|
||||
msgid "Localization Settings"
|
||||
msgstr "Paràmetres de localització"
|
||||
|
||||
#: ../js/ui/status/network.js:104 ../js/ui/status/network.js:1454
|
||||
#: ../js/ui/status/network.js:122 ../js/ui/status/network.js:1428
|
||||
msgid "<unknown>"
|
||||
msgstr "<desconegut>"
|
||||
|
||||
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
||||
#: ../js/ui/status/network.js:311
|
||||
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch */
|
||||
#: ../js/ui/status/network.js:339
|
||||
msgid "disabled"
|
||||
msgstr "inhabilitada"
|
||||
|
||||
#: ../js/ui/status/network.js:494
|
||||
#: ../js/ui/status/network.js:538
|
||||
msgid "connecting..."
|
||||
msgstr "s'està connectant..."
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password
|
||||
#: ../js/ui/status/network.js:497
|
||||
#. Translators: this is for network connections that require some kind of key or password */
|
||||
#: ../js/ui/status/network.js:541
|
||||
msgid "authentication required"
|
||||
msgstr "cal autenticació"
|
||||
|
||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||
#. module, which is missing
|
||||
#: ../js/ui/status/network.js:507
|
||||
#. module, which is missing */
|
||||
#: ../js/ui/status/network.js:551
|
||||
msgid "firmware missing"
|
||||
msgstr "manca el microprogramari"
|
||||
|
||||
#. Translators: this is for wired network devices that are physically disconnected
|
||||
#: ../js/ui/status/network.js:514
|
||||
#. Translators: this is for wired network devices that are physically disconnected */
|
||||
#: ../js/ui/status/network.js:558
|
||||
msgid "cable unplugged"
|
||||
msgstr "s'ha desconnectat el cable"
|
||||
|
||||
#. 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:519
|
||||
#. is disabled by rfkill, or it has no coverage */
|
||||
#: ../js/ui/status/network.js:563
|
||||
msgid "unavailable"
|
||||
msgstr "no disponible"
|
||||
|
||||
#: ../js/ui/status/network.js:521
|
||||
#: ../js/ui/status/network.js:565
|
||||
msgid "connection failed"
|
||||
msgstr "ha fallat la connexió"
|
||||
|
||||
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
||||
#. and we cannot access its settings (including the name)
|
||||
#: ../js/ui/status/network.js:602 ../js/ui/status/network.js:1402
|
||||
#. and we cannot access its settings (including the name) */
|
||||
#: ../js/ui/status/network.js:646 ../js/ui/status/network.js:1376
|
||||
msgid "Connected (private)"
|
||||
msgstr "Connectat (privat)"
|
||||
|
||||
#: ../js/ui/status/network.js:683
|
||||
#: ../js/ui/status/network.js:731
|
||||
msgid "Auto Ethernet"
|
||||
msgstr "Ethernet automàtic"
|
||||
|
||||
#: ../js/ui/status/network.js:758
|
||||
#: ../js/ui/status/network.js:799
|
||||
msgid "Auto broadband"
|
||||
msgstr "Banda ampla automàtica"
|
||||
|
||||
#: ../js/ui/status/network.js:761
|
||||
#: ../js/ui/status/network.js:802
|
||||
msgid "Auto dial-up"
|
||||
msgstr "Marcatge directe automàtic"
|
||||
|
||||
#. TRANSLATORS: this the automatic wireless connection name (including the network name)
|
||||
#: ../js/ui/status/network.js:904 ../js/ui/status/network.js:1414
|
||||
#, c-format
|
||||
#. TRANSLATORS: this the automatic wireless connection name (including the network name) */
|
||||
#: ../js/ui/status/network.js:926 ../js/ui/status/network.js:1388
|
||||
#, javascript-format
|
||||
msgid "Auto %s"
|
||||
msgstr "%s automàtic"
|
||||
|
||||
#: ../js/ui/status/network.js:906
|
||||
#: ../js/ui/status/network.js:928
|
||||
msgid "Auto bluetooth"
|
||||
msgstr "Bluetooth automàtic"
|
||||
|
||||
#: ../js/ui/status/network.js:1416
|
||||
#: ../js/ui/status/network.js:1390
|
||||
msgid "Auto wireless"
|
||||
msgstr "Sense fil automàtic"
|
||||
|
||||
#: ../js/ui/status/network.js:1474
|
||||
#: ../js/ui/status/network.js:1459
|
||||
msgid "More..."
|
||||
msgstr "Més..."
|
||||
|
||||
#: ../js/ui/status/network.js:1497
|
||||
#: ../js/ui/status/network.js:1482
|
||||
msgid "Enable networking"
|
||||
msgstr "Habilita la xarxa"
|
||||
|
||||
#: ../js/ui/status/network.js:1509
|
||||
#: ../js/ui/status/network.js:1494
|
||||
msgid "Wired"
|
||||
msgstr "Amb fil"
|
||||
|
||||
#: ../js/ui/status/network.js:1520
|
||||
#: ../js/ui/status/network.js:1505
|
||||
msgid "Wireless"
|
||||
msgstr "Sense fil"
|
||||
|
||||
#: ../js/ui/status/network.js:1530
|
||||
#: ../js/ui/status/network.js:1515
|
||||
msgid "Mobile broadband"
|
||||
msgstr "Ampla de banda mòbil"
|
||||
|
||||
#: ../js/ui/status/network.js:1540
|
||||
#: ../js/ui/status/network.js:1525
|
||||
msgid "VPN Connections"
|
||||
msgstr "Connexions VPN"
|
||||
|
||||
#: ../js/ui/status/network.js:1549
|
||||
#: ../js/ui/status/network.js:1537
|
||||
msgid "Network Settings"
|
||||
msgstr "Paràmetres de xarxa"
|
||||
|
||||
#: ../js/ui/status/network.js:1844
|
||||
#, c-format
|
||||
#: ../js/ui/status/network.js:1831
|
||||
#, javascript-format
|
||||
msgid "You're now connected to mobile broadband connection '%s'"
|
||||
msgstr "Us acabeu de connectar amb la connexió de banda ampla mòbil «%s»"
|
||||
|
||||
#: ../js/ui/status/network.js:1848
|
||||
#, c-format
|
||||
#: ../js/ui/status/network.js:1835
|
||||
#, javascript-format
|
||||
msgid "You're now connected to wireless network '%s'"
|
||||
msgstr "Us acabeu de connectar a la xarxa sense fil «%s»"
|
||||
|
||||
#: ../js/ui/status/network.js:1852
|
||||
#, c-format
|
||||
#: ../js/ui/status/network.js:1839
|
||||
#, javascript-format
|
||||
msgid "You're now connected to wired network '%s'"
|
||||
msgstr "Us acabeu de connectar a la xarxa amb fil «%s»"
|
||||
|
||||
#: ../js/ui/status/network.js:1856
|
||||
#, c-format
|
||||
#: ../js/ui/status/network.js:1843
|
||||
#, javascript-format
|
||||
msgid "You're now connected to VPN network '%s'"
|
||||
msgstr "Us acabeu de connectar a la xarxa VPN «%s»"
|
||||
|
||||
#: ../js/ui/status/network.js:1861
|
||||
#, c-format
|
||||
#: ../js/ui/status/network.js:1848
|
||||
#, javascript-format
|
||||
msgid "You're now connected to '%s'"
|
||||
msgstr "Us acabeu de connectar a «%s»"
|
||||
|
||||
#: ../js/ui/status/network.js:1869
|
||||
#: ../js/ui/status/network.js:1856
|
||||
msgid "Connection established"
|
||||
msgstr "S'ha establert la connexió"
|
||||
|
||||
#: ../js/ui/status/network.js:1991
|
||||
#: ../js/ui/status/network.js:1982
|
||||
msgid "Networking is disabled"
|
||||
msgstr "S'ha inhabilitat la xarxa"
|
||||
|
||||
#: ../js/ui/status/network.js:2116
|
||||
#: ../js/ui/status/network.js:2107
|
||||
msgid "Network Manager"
|
||||
msgstr "Gestor de connexions de xarxa"
|
||||
|
||||
@@ -977,22 +970,20 @@ msgstr "Gestor de connexions de xarxa"
|
||||
msgid "Power Settings"
|
||||
msgstr "Paràmetres d'energia"
|
||||
|
||||
#. 0 is reported when UPower does not have enough data
|
||||
#. to estimate battery life
|
||||
#: ../js/ui/status/power.js:111
|
||||
msgid "Estimating..."
|
||||
msgstr "S'està estimant la durada..."
|
||||
|
||||
#: ../js/ui/status/power.js:118
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "%d hour remaining"
|
||||
msgid_plural "%d hours remaining"
|
||||
msgstr[0] "Queda %d hora"
|
||||
msgstr[1] "Queden %d hores"
|
||||
|
||||
#. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining"
|
||||
#. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" */
|
||||
#: ../js/ui/status/power.js:121
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "%d %s %d %s remaining"
|
||||
msgstr "Queden %d %s %d %s"
|
||||
|
||||
@@ -1009,7 +1000,7 @@ msgstr[0] "minut"
|
||||
msgstr[1] "minuts"
|
||||
|
||||
#: ../js/ui/status/power.js:126
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "%d minute remaining"
|
||||
msgid_plural "%d minutes remaining"
|
||||
msgstr[0] "Queda %d minut"
|
||||
@@ -1071,38 +1062,37 @@ msgstr "Volum"
|
||||
msgid "Microphone"
|
||||
msgstr "Micròfon"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:331
|
||||
#, c-format
|
||||
#: ../js/ui/telepathyClient.js:335
|
||||
#, javascript-format
|
||||
msgid "%s is online."
|
||||
msgstr "%s és en línia."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:336
|
||||
#, c-format
|
||||
#: ../js/ui/telepathyClient.js:340
|
||||
#, javascript-format
|
||||
msgid "%s is offline."
|
||||
msgstr "%s no hi és."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:339
|
||||
#, c-format
|
||||
#: ../js/ui/telepathyClient.js:343
|
||||
#, javascript-format
|
||||
msgid "%s is away."
|
||||
msgstr "%s és lluny."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:342
|
||||
#, c-format
|
||||
#: ../js/ui/telepathyClient.js:346
|
||||
#, javascript-format
|
||||
msgid "%s is busy."
|
||||
msgstr "%s està ocupat."
|
||||
|
||||
#. Translators: this is a time format string followed by a date.
|
||||
#. If applicable, replace %X with a strftime format valid for your
|
||||
#. locale, without seconds.
|
||||
#: ../js/ui/telepathyClient.js:473
|
||||
#, no-c-format
|
||||
#. locale, without seconds. */
|
||||
#: ../js/ui/telepathyClient.js:488
|
||||
msgid "Sent at %X on %A"
|
||||
msgstr "Enviat a les %X del %A"
|
||||
|
||||
#. Translators: this is the text displayed
|
||||
#. in the search entry when no search is
|
||||
#. active; it should not exceed ~30
|
||||
#. characters.
|
||||
#. characters. */
|
||||
#: ../js/ui/viewSelector.js:122
|
||||
msgid "Type to search..."
|
||||
msgstr "Teclegeu per cercar..."
|
||||
@@ -1112,12 +1102,12 @@ msgid "Search"
|
||||
msgstr "Cerca"
|
||||
|
||||
#: ../js/ui/windowAttentionHandler.js:42
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "%s has finished starting"
|
||||
msgstr "S'ha acabat d'iniciar %s"
|
||||
|
||||
#: ../js/ui/windowAttentionHandler.js:44
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "'%s' is ready"
|
||||
msgstr "«%s» ja està apunt"
|
||||
|
||||
@@ -1143,11 +1133,11 @@ msgstr[1] "%u entrades"
|
||||
msgid "System Sounds"
|
||||
msgstr "Sons del sistema"
|
||||
|
||||
#: ../src/main.c:446
|
||||
#: ../src/main.c:445
|
||||
msgid "Print version"
|
||||
msgstr "Mostra la versió"
|
||||
|
||||
#: ../src/shell-app.c:454
|
||||
#: ../src/shell-app.c:464
|
||||
#, c-format
|
||||
msgid "Failed to launch '%s'"
|
||||
msgstr "No s'ha pogut iniciar «%s»"
|
||||
|
280
po/da.po
@@ -14,8 +14,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-03-30 22:40+0200\n"
|
||||
"PO-Revision-Date: 2011-03-30 19:55+0000\n"
|
||||
"POT-Creation-Date: 2013-10-07 18:42+0200\n"
|
||||
"PO-Revision-Date: 2013-10-06 13:50+0200\n"
|
||||
"Last-Translator: Kris Thomsen <lakristho@gmail.com>\n"
|
||||
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
|
||||
"Language: da\n"
|
||||
@@ -33,6 +33,11 @@ msgid "Window management and application launching"
|
||||
msgstr "Vindueshåndtering og åbning af programmer"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:1
|
||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
|
||||
msgstr ""
|
||||
"Aktivér interne værktøjer, som er nyttige for udviklere og testere fra Alt-F2"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:2
|
||||
msgid ""
|
||||
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
|
||||
"dialog."
|
||||
@@ -40,20 +45,11 @@ msgstr ""
|
||||
"Tillad adgang til interne fejlsøgnings- og overvågningsværktøjer med brug af "
|
||||
"dialogen Alt-F2."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:2
|
||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
|
||||
msgstr ""
|
||||
"Aktivér interne værktøjer, som er nyttige for udviklere og testere fra Alt-F2"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:3
|
||||
msgid "File extension used for storing the screencast"
|
||||
msgstr "Filendelse til at gemme skærmoptagelser"
|
||||
msgid "Uuids of extensions to disable"
|
||||
msgstr "Uuid'er for udvidelser der deaktiveres"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:4
|
||||
msgid "Framerate used for recording screencasts."
|
||||
msgstr "Billedfrekvens brugt til skærmoptagelser."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:5
|
||||
msgid ""
|
||||
"GNOME Shell extensions have a uuid property; this key lists extensions which "
|
||||
"should not be loaded."
|
||||
@@ -61,31 +57,87 @@ msgstr ""
|
||||
"GNOME-skallens udvidelser har en uuid-indstilling; denne nøgle oplister "
|
||||
"udvidelser som ikke skal indlæses."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:5
|
||||
msgid "Whether to collect stats about applications usage"
|
||||
msgstr "Om der skal indsamles statistik om programmers brug"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:6
|
||||
msgid "History for command (Alt-F2) dialog"
|
||||
msgstr "Historik for kommandodialog (Alt-F2)"
|
||||
msgid ""
|
||||
"The shell normally monitors active applications in order to present the most "
|
||||
"used ones (e.g. in launchers). While this data will be kept private, you may "
|
||||
"want to disable this for privacy reasons. Please note that doing so won't "
|
||||
"remove already saved data."
|
||||
msgstr ""
|
||||
"Skallen overvåger normalt aktive programmer for at kunne vise de mest brugte "
|
||||
"(f.eks. i genveje). Selvom disse data er holdt private, vil du muligvis "
|
||||
"ønske at deaktivere dem af private grunde. Bemærk at selvom du gør dette, "
|
||||
"vil det ikke fjerne de allerede gemte data."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:7
|
||||
msgid "History for the looking glass dialog"
|
||||
msgstr "Historik for looking glass-dialogen"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:8
|
||||
msgid "If true, display date in the clock, in addition to time."
|
||||
msgstr "Hvis sand vises datoen i uret, som tillæg til tiden."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:9
|
||||
msgid "If true, display seconds in time."
|
||||
msgstr "Hvis sand vises sekunder i klokkeslæt."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:10
|
||||
msgid "If true, display the ISO week date in the calendar."
|
||||
msgstr "Hvis sand vises ISO-ugenummeret i kalenderen."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:11
|
||||
msgid "List of desktop file IDs for favorite applications"
|
||||
msgstr "Liste over skrivebordsfil-id'er til favoritprogrammer"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:8
|
||||
msgid ""
|
||||
"The applications corresponding to these identifiers will be displayed in the "
|
||||
"favorites area."
|
||||
msgstr ""
|
||||
"Programmerne som passer til disse identifikatorer vil blive vist i "
|
||||
"favoritområdet."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:9
|
||||
msgid "disabled OpenSearch providers"
|
||||
msgstr "deaktiverede OpenSearch-udbydere"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:10
|
||||
msgid "History for command (Alt-F2) dialog"
|
||||
msgstr "Historik for kommandodialog (Alt-F2)"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:11
|
||||
msgid "History for the looking glass dialog"
|
||||
msgstr "Historik for looking glass-dialogen"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:12
|
||||
msgid "Show the week date in the calendar"
|
||||
msgstr "Vis ugenummer i kalenderen"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:13
|
||||
msgid "If true, display the ISO week date in the calendar."
|
||||
msgstr "Hvis sand vises ISO-ugenummeret i kalenderen."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:14
|
||||
msgid "Show time with seconds"
|
||||
msgstr "Vis tid med sekunder"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:15
|
||||
msgid "If true, display seconds in time."
|
||||
msgstr "Hvis sand vises sekunder i klokkeslæt."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:16
|
||||
msgid "Show date in clock"
|
||||
msgstr "Vis dato i uret"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:17
|
||||
msgid "If true, display date in the clock, in addition to time."
|
||||
msgstr "Hvis sand vises datoen i uret, som tillæg til tiden."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:18
|
||||
msgid "Framerate used for recording screencasts."
|
||||
msgstr "Billedfrekvens brugt til skærmoptagelser."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:19
|
||||
msgid ""
|
||||
"The framerate of the resulting screencast recordered by GNOME Shell's "
|
||||
"screencast recorder in frames-per-second."
|
||||
msgstr ""
|
||||
"Billedfrekvensen på den endelige skærmoptagelse, optaget af GNOME-skallens "
|
||||
"skærmoptager i billeder-per-sekund."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:20
|
||||
msgid "The gstreamer pipeline used to encode the screencast"
|
||||
msgstr "Datakanalen for Gstreamer bruges til indkodning af skærmoptagelsen"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:22
|
||||
#, no-c-format
|
||||
msgid ""
|
||||
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
|
||||
@@ -110,27 +162,11 @@ msgstr ""
|
||||
"%T ! queue ! webmmux\" og optager i WEBM-formatet med VP8-codec'et. %T "
|
||||
"bruges som pladsholder for et gæt om det optimale trådantal på systemet."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:14
|
||||
msgid "Show date in clock"
|
||||
msgstr "Vis dato i uret"
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:23
|
||||
msgid "File extension used for storing the screencast"
|
||||
msgstr "Filendelse til at gemme skærmoptagelser"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:15
|
||||
msgid "Show the week date in the calendar"
|
||||
msgstr "Vis ugenummer i kalenderen"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:16
|
||||
msgid "Show time with seconds"
|
||||
msgstr "Vis tid med sekunder"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:17
|
||||
msgid ""
|
||||
"The applications corresponding to these identifiers will be displayed in the "
|
||||
"favorites area."
|
||||
msgstr ""
|
||||
"Programmerne som passer til disse identifikatorer vil blive vist i "
|
||||
"favoritområdet."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:18
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:24
|
||||
msgid ""
|
||||
"The filename for recorded screencasts will be a unique filename based on the "
|
||||
"current date, and use this extension. It should be changed when recording to "
|
||||
@@ -140,42 +176,6 @@ msgstr ""
|
||||
"og bruge denne endelse. Det skal ændres når der optages i et andet "
|
||||
"containerformat."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:19
|
||||
msgid ""
|
||||
"The framerate of the resulting screencast recordered by GNOME Shell's "
|
||||
"screencast recorder in frames-per-second."
|
||||
msgstr ""
|
||||
"Billedfrekvensen på den endelige skærmoptagelse, optaget af GNOME-skallens "
|
||||
"skærmoptager i billeder-per-sekund."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:20
|
||||
msgid "The gstreamer pipeline used to encode the screencast"
|
||||
msgstr "Datakanalen for Gstreamer bruges til indkodning af skærmoptagelsen"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:21
|
||||
msgid ""
|
||||
"The shell normally monitors active applications in order to present the most "
|
||||
"used ones (e.g. in launchers). While this data will be kept private, you may "
|
||||
"want to disable this for privacy reasons. Please note that doing so won't "
|
||||
"remove already saved data."
|
||||
msgstr ""
|
||||
"Skallen overvåger normalt aktive programmer for at kunne vise de mest brugte "
|
||||
"(f.eks. i genveje). Selvom disse data er holdt private, vil du muligvis "
|
||||
"ønske at deaktivere dem af private grunde. Bemærk at selvom du gør dette, "
|
||||
"vil det ikke fjerne de allerede gemte data."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:22
|
||||
msgid "Uuids of extensions to disable"
|
||||
msgstr "Uuid'er for udvidelser der deaktiveres"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:23
|
||||
msgid "Whether to collect stats about applications usage"
|
||||
msgstr "Om der skal indsamles statistik om programmers brug"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:24
|
||||
msgid "disabled OpenSearch providers"
|
||||
msgstr "deaktiverede OpenSearch-udbydere"
|
||||
|
||||
#: ../js/misc/util.js:71
|
||||
msgid "Command not found"
|
||||
msgstr "Kommando ikke fundet"
|
||||
@@ -192,27 +192,27 @@ msgid "Execution of '%s' failed:"
|
||||
msgstr "Kørsel af \"%s\" mislykkedes:"
|
||||
|
||||
#. Translators: Filter to display all applications
|
||||
#: ../js/ui/appDisplay.js:230
|
||||
#: ../js/ui/appDisplay.js:260
|
||||
msgid "All"
|
||||
msgstr "Alle"
|
||||
|
||||
#: ../js/ui/appDisplay.js:328
|
||||
#: ../js/ui/appDisplay.js:359
|
||||
msgid "APPLICATIONS"
|
||||
msgstr "PROGRAMMER"
|
||||
|
||||
#: ../js/ui/appDisplay.js:354
|
||||
#: ../js/ui/appDisplay.js:385
|
||||
msgid "SETTINGS"
|
||||
msgstr "INDSTILLINGER"
|
||||
|
||||
#: ../js/ui/appDisplay.js:625
|
||||
#: ../js/ui/appDisplay.js:656
|
||||
msgid "New Window"
|
||||
msgstr "Nyt vindue"
|
||||
|
||||
#: ../js/ui/appDisplay.js:628
|
||||
#: ../js/ui/appDisplay.js:659
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Fjern fra favoritter"
|
||||
|
||||
#: ../js/ui/appDisplay.js:629
|
||||
#: ../js/ui/appDisplay.js:660
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Føj til favoritter"
|
||||
|
||||
@@ -345,13 +345,13 @@ msgid "Nothing Scheduled"
|
||||
msgstr "Intet planlagt"
|
||||
|
||||
#. Translators: Shown on calendar heading when selected day occurs on current year
|
||||
#: ../js/ui/calendar.js:720 ../js/ui/telepathyClient.js:490
|
||||
#: ../js/ui/calendar.js:720 ../js/ui/telepathyClient.js:496
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, %d. %B"
|
||||
|
||||
#. Translators: Shown on calendar heading when selected day occurs on different year
|
||||
#: ../js/ui/calendar.js:723 ../js/ui/telepathyClient.js:493
|
||||
#: ../js/ui/calendar.js:723 ../js/ui/telepathyClient.js:499
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%A, %d. %B %Y"
|
||||
@@ -372,7 +372,7 @@ msgstr "Denne uge"
|
||||
msgid "Next week"
|
||||
msgstr "Næste uge"
|
||||
|
||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1007
|
||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1037
|
||||
msgid "Remove"
|
||||
msgstr "Fjern"
|
||||
|
||||
@@ -497,7 +497,7 @@ msgstr "Systemet vil genstarte automatisk om %d sekunder."
|
||||
msgid "Restarting the system."
|
||||
msgstr "Genstarter systemet."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:415 ../js/ui/polkitAuthenticationAgent.js:172
|
||||
#: ../js/ui/endSessionDialog.js:413 ../js/ui/polkitAuthenticationAgent.js:172
|
||||
#: ../js/ui/status/bluetooth.js:466
|
||||
msgid "Cancel"
|
||||
msgstr "Annullér"
|
||||
@@ -532,11 +532,11 @@ msgstr "Vis kilde"
|
||||
msgid "Web Page"
|
||||
msgstr "Webside"
|
||||
|
||||
#: ../js/ui/messageTray.js:1000
|
||||
#: ../js/ui/messageTray.js:1030
|
||||
msgid "Open"
|
||||
msgstr "Åbn"
|
||||
|
||||
#: ../js/ui/messageTray.js:2164
|
||||
#: ../js/ui/messageTray.js:2194
|
||||
msgid "System Information"
|
||||
msgstr "Systeminformation"
|
||||
|
||||
@@ -559,18 +559,18 @@ msgid "Dash"
|
||||
msgstr "Favoritområde"
|
||||
|
||||
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
||||
#: ../js/ui/panel.js:524
|
||||
#: ../js/ui/panel.js:533
|
||||
#, c-format
|
||||
msgid "Quit %s"
|
||||
msgstr "Afslut %s"
|
||||
|
||||
#. Button on the left side of the panel.
|
||||
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
|
||||
#: ../js/ui/panel.js:902
|
||||
#: ../js/ui/panel.js:911
|
||||
msgid "Activities"
|
||||
msgstr "Aktiviteter"
|
||||
|
||||
#: ../js/ui/panel.js:1003
|
||||
#: ../js/ui/panel.js:1012
|
||||
msgid "Top Bar"
|
||||
msgstr "Toppanel"
|
||||
|
||||
@@ -628,11 +628,11 @@ msgstr "toggle-switch-intl"
|
||||
msgid "Please enter a command:"
|
||||
msgstr "Indtast en kommando:"
|
||||
|
||||
#: ../js/ui/searchDisplay.js:310
|
||||
#: ../js/ui/searchDisplay.js:311
|
||||
msgid "Searching..."
|
||||
msgstr "Søger..."
|
||||
|
||||
#: ../js/ui/searchDisplay.js:324
|
||||
#: ../js/ui/searchDisplay.js:325
|
||||
msgid "No matching results."
|
||||
msgstr "Ingen resultater fundet."
|
||||
|
||||
@@ -836,139 +836,139 @@ msgstr "Vis tastaturlayout..."
|
||||
msgid "Localization Settings"
|
||||
msgstr "Indstillinger for sprog"
|
||||
|
||||
#: ../js/ui/status/network.js:104 ../js/ui/status/network.js:1454
|
||||
#: ../js/ui/status/network.js:122 ../js/ui/status/network.js:1428
|
||||
msgid "<unknown>"
|
||||
msgstr "<ukendt>"
|
||||
|
||||
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
||||
#: ../js/ui/status/network.js:311
|
||||
#: ../js/ui/status/network.js:339
|
||||
msgid "disabled"
|
||||
msgstr "deaktiveret"
|
||||
|
||||
#: ../js/ui/status/network.js:494
|
||||
#: ../js/ui/status/network.js:538
|
||||
msgid "connecting..."
|
||||
msgstr "forbinder..."
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password
|
||||
#: ../js/ui/status/network.js:497
|
||||
#: ../js/ui/status/network.js:541
|
||||
msgid "authentication required"
|
||||
msgstr "godkendelse påkrævet"
|
||||
|
||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||
#. module, which is missing
|
||||
#: ../js/ui/status/network.js:507
|
||||
#: ../js/ui/status/network.js:551
|
||||
msgid "firmware missing"
|
||||
msgstr "firmware mangler"
|
||||
|
||||
#. Translators: this is for wired network devices that are physically disconnected
|
||||
#: ../js/ui/status/network.js:514
|
||||
#: ../js/ui/status/network.js:558
|
||||
msgid "cable unplugged"
|
||||
msgstr "kabel er ikke sat i"
|
||||
|
||||
#. 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:519
|
||||
#: ../js/ui/status/network.js:563
|
||||
msgid "unavailable"
|
||||
msgstr "utilgængelig"
|
||||
|
||||
#: ../js/ui/status/network.js:521
|
||||
#: ../js/ui/status/network.js:565
|
||||
msgid "connection failed"
|
||||
msgstr "forbindelse mislykkedes"
|
||||
|
||||
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
||||
#. and we cannot access its settings (including the name)
|
||||
#: ../js/ui/status/network.js:602 ../js/ui/status/network.js:1402
|
||||
#: ../js/ui/status/network.js:646 ../js/ui/status/network.js:1376
|
||||
msgid "Connected (private)"
|
||||
msgstr "Forbundet (privat)"
|
||||
|
||||
#: ../js/ui/status/network.js:683
|
||||
#: ../js/ui/status/network.js:731
|
||||
msgid "Auto Ethernet"
|
||||
msgstr "Auto ethernet"
|
||||
|
||||
#: ../js/ui/status/network.js:758
|
||||
#: ../js/ui/status/network.js:799
|
||||
msgid "Auto broadband"
|
||||
msgstr "Auto bredbånd"
|
||||
|
||||
#: ../js/ui/status/network.js:761
|
||||
#: ../js/ui/status/network.js:802
|
||||
msgid "Auto dial-up"
|
||||
msgstr "Auto opringning"
|
||||
|
||||
#. TRANSLATORS: this the automatic wireless connection name (including the network name)
|
||||
#: ../js/ui/status/network.js:904 ../js/ui/status/network.js:1414
|
||||
#: ../js/ui/status/network.js:926 ../js/ui/status/network.js:1388
|
||||
#, c-format
|
||||
msgid "Auto %s"
|
||||
msgstr "Auto %s"
|
||||
|
||||
#: ../js/ui/status/network.js:906
|
||||
#: ../js/ui/status/network.js:928
|
||||
msgid "Auto bluetooth"
|
||||
msgstr "Auto bluetooth"
|
||||
|
||||
#: ../js/ui/status/network.js:1416
|
||||
#: ../js/ui/status/network.js:1390
|
||||
msgid "Auto wireless"
|
||||
msgstr "Auto trådløs"
|
||||
|
||||
#: ../js/ui/status/network.js:1474
|
||||
#: ../js/ui/status/network.js:1459
|
||||
msgid "More..."
|
||||
msgstr "Mere..."
|
||||
|
||||
#: ../js/ui/status/network.js:1497
|
||||
#: ../js/ui/status/network.js:1482
|
||||
msgid "Enable networking"
|
||||
msgstr "Aktivér netværk"
|
||||
|
||||
#: ../js/ui/status/network.js:1509
|
||||
#: ../js/ui/status/network.js:1494
|
||||
msgid "Wired"
|
||||
msgstr "Trådet"
|
||||
|
||||
#: ../js/ui/status/network.js:1520
|
||||
#: ../js/ui/status/network.js:1505
|
||||
msgid "Wireless"
|
||||
msgstr "Trådløs"
|
||||
|
||||
#: ../js/ui/status/network.js:1530
|
||||
#: ../js/ui/status/network.js:1515
|
||||
msgid "Mobile broadband"
|
||||
msgstr "Mobilt bredbånd"
|
||||
|
||||
#: ../js/ui/status/network.js:1540
|
||||
#: ../js/ui/status/network.js:1525
|
||||
msgid "VPN Connections"
|
||||
msgstr "VPN-forbindelser"
|
||||
|
||||
#: ../js/ui/status/network.js:1549
|
||||
#: ../js/ui/status/network.js:1537
|
||||
msgid "Network Settings"
|
||||
msgstr "Indstillinger for netværk"
|
||||
|
||||
#: ../js/ui/status/network.js:1844
|
||||
#: ../js/ui/status/network.js:1831
|
||||
#, c-format
|
||||
msgid "You're now connected to mobile broadband connection '%s'"
|
||||
msgstr "Du er nu forbundet til den mobile bredbåndsforbindelse \"%s\""
|
||||
|
||||
#: ../js/ui/status/network.js:1848
|
||||
#: ../js/ui/status/network.js:1835
|
||||
#, c-format
|
||||
msgid "You're now connected to wireless network '%s'"
|
||||
msgstr "Du er nu forbundet til det trådløse netværk \"%s\""
|
||||
|
||||
#: ../js/ui/status/network.js:1852
|
||||
#: ../js/ui/status/network.js:1839
|
||||
#, c-format
|
||||
msgid "You're now connected to wired network '%s'"
|
||||
msgstr "Du er nu forbundet til det trådede netværk \"%s\""
|
||||
|
||||
#: ../js/ui/status/network.js:1856
|
||||
#: ../js/ui/status/network.js:1843
|
||||
#, c-format
|
||||
msgid "You're now connected to VPN network '%s'"
|
||||
msgstr "Du er nu forbundet til VPN-netværket \"%s\""
|
||||
|
||||
#: ../js/ui/status/network.js:1861
|
||||
#: ../js/ui/status/network.js:1848
|
||||
#, c-format
|
||||
msgid "You're now connected to '%s'"
|
||||
msgstr "Du er nu forbundet til \"%s\""
|
||||
|
||||
#: ../js/ui/status/network.js:1869
|
||||
#: ../js/ui/status/network.js:1856
|
||||
msgid "Connection established"
|
||||
msgstr "Forbindelse oprettet"
|
||||
|
||||
#: ../js/ui/status/network.js:1991
|
||||
#: ../js/ui/status/network.js:1982
|
||||
msgid "Networking is disabled"
|
||||
msgstr "Netværk er deaktiveret"
|
||||
|
||||
#: ../js/ui/status/network.js:2116
|
||||
#: ../js/ui/status/network.js:2107
|
||||
msgid "Network Manager"
|
||||
msgstr "Netværkshåndtering"
|
||||
|
||||
@@ -1093,7 +1093,7 @@ msgstr "%s er optaget."
|
||||
#. Translators: this is a time format string followed by a date.
|
||||
#. If applicable, replace %X with a strftime format valid for your
|
||||
#. locale, without seconds.
|
||||
#: ../js/ui/telepathyClient.js:482
|
||||
#: ../js/ui/telepathyClient.js:488
|
||||
#, no-c-format
|
||||
msgid "Sent at %X on %A"
|
||||
msgstr "Sendt kl. %X i %As"
|
||||
@@ -1142,11 +1142,11 @@ msgstr[1] "%u inputs"
|
||||
msgid "System Sounds"
|
||||
msgstr "Systemlyde"
|
||||
|
||||
#: ../src/main.c:446
|
||||
#: ../src/main.c:445
|
||||
msgid "Print version"
|
||||
msgstr "Udskriv version"
|
||||
|
||||
#: ../src/shell-app.c:454
|
||||
#: ../src/shell-app.c:464
|
||||
#, c-format
|
||||
msgid "Failed to launch '%s'"
|
||||
msgstr "Kunne ikke køre \"%s\""
|
||||
@@ -1215,6 +1215,12 @@ msgstr "Filsystem"
|
||||
msgid "%1$s: %2$s"
|
||||
msgstr "%1$s: %2$s"
|
||||
|
||||
#~ msgid "calendar:week_start:0"
|
||||
#~ msgstr "calendar:week_start:1"
|
||||
|
||||
#~ msgid "calendar:MY"
|
||||
#~ msgstr "calendar:MY"
|
||||
|
||||
#~| msgid "Applications"
|
||||
#~ msgid "No such application"
|
||||
#~ msgstr "Intet sådant program"
|
||||
|
285
po/es.po
@@ -2,17 +2,17 @@
|
||||
# Copyright (C) 2009 gnome-shell's COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the gnome-shell package.
|
||||
# Benjamín Valero Espinosa <benjavalero@gmail.com>, 2011.
|
||||
# Jorge González <jorgegonz@svn.gnome.org>, 2009, 2010, 2011.
|
||||
# Daniel Mustieles <daniel.mustieles@gmail.com>, 2010, 2011.
|
||||
# Jorge González <jorgegonz@svn.gnome.org>, 2009, 2010, 2011.
|
||||
#
|
||||
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: 2011-04-28 21:32+0000\n"
|
||||
"PO-Revision-Date: 2011-04-29 11:09+0200\n"
|
||||
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
|
||||
"POT-Creation-Date: 2011-03-25 20:20+0000\n"
|
||||
"PO-Revision-Date: 2011-04-21 18:47+0200\n"
|
||||
"Last-Translator: Jorge González <jorgegonz@svn.gnome.org>\n"
|
||||
"Language-Team: Español <gnome-es-list@gnome.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -96,16 +96,16 @@ msgid ""
|
||||
"at the optimal thread count on the system."
|
||||
msgstr ""
|
||||
"Establece la tubería GStreamer usada para codificar grabaciones. Sigue la "
|
||||
"sintaxis usada para gst-launch. La tubería debería tener un sumidero («sink») "
|
||||
"de ensamblaje/sesensamblaje donde el vídeo que se está grabando se graba. "
|
||||
"Generalmente tendrá un origen de ensamblado/desensamblado; la salida de ese "
|
||||
"punto se escibirá en el archivo de salida. No obstante la tubería también "
|
||||
"puede tomar parte en su propia salida; esto se puede usar para enviar la "
|
||||
"salida a un servidor «icecast» a través de shout2send o similar. Cuando no "
|
||||
"está establecido o lo está a un valor vacío, se usará la tubería "
|
||||
"predeterminada. Actualmente es «videorate ! vp8enc quality=10 speed=2 threads="
|
||||
"%T ! queue ! webmmux» y greba en WEBM usando el códec VP8. Se usa %T como "
|
||||
"suposición para el número de hilos óptimos en el sistema."
|
||||
"sintaxis usada para gst-launch. La tubería debería tener un sumidero "
|
||||
"(«sink») de ensamblaje/sesensamblaje donde el vídeo que se está grabando se "
|
||||
"graba. Generalmente tendrá un origen de ensamblado/desensamblado; la salida "
|
||||
"de ese punto se escibirá en el archivo de salida. No obstante la tubería "
|
||||
"también puede tomar parte en su propia salida; esto se puede usar para "
|
||||
"enviar la salida a un servidor «icecast» a través de shout2send o similar. "
|
||||
"Cuando no está establecido o lo está a un valor vacío, se usará la tubería "
|
||||
"predeterminada. Actualmente es «videorate ! vp8enc quality=10 speed=2 "
|
||||
"threads=%T ! queue ! webmmux» y greba en WEBM usando el códec VP8. Se usa %T "
|
||||
"como suposición para el número de hilos óptimos en el sistema."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:14
|
||||
msgid "Show date in clock"
|
||||
@@ -190,27 +190,27 @@ msgid "Execution of '%s' failed:"
|
||||
msgstr "Falló la ejecución de «%s»:"
|
||||
|
||||
#. Translators: Filter to display all applications
|
||||
#: ../js/ui/appDisplay.js:260
|
||||
#: ../js/ui/appDisplay.js:230
|
||||
msgid "All"
|
||||
msgstr "Todas"
|
||||
|
||||
#: ../js/ui/appDisplay.js:359
|
||||
#: ../js/ui/appDisplay.js:328
|
||||
msgid "APPLICATIONS"
|
||||
msgstr "APLICACIONES"
|
||||
|
||||
#: ../js/ui/appDisplay.js:385
|
||||
#: ../js/ui/appDisplay.js:354
|
||||
msgid "SETTINGS"
|
||||
msgstr "CONFIGURACIÓN"
|
||||
|
||||
#: ../js/ui/appDisplay.js:658
|
||||
#: ../js/ui/appDisplay.js:625
|
||||
msgid "New Window"
|
||||
msgstr "Ventana nueva"
|
||||
|
||||
#: ../js/ui/appDisplay.js:661
|
||||
#: ../js/ui/appDisplay.js:628
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Quitar de los favoritos"
|
||||
|
||||
#: ../js/ui/appDisplay.js:662
|
||||
#: ../js/ui/appDisplay.js:629
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Añadir a los favoritos"
|
||||
|
||||
@@ -343,13 +343,13 @@ msgid "Nothing Scheduled"
|
||||
msgstr "Nada programado"
|
||||
|
||||
#. Translators: Shown on calendar heading when selected day occurs on current year
|
||||
#: ../js/ui/calendar.js:720 ../js/ui/telepathyClient.js:487
|
||||
#: ../js/ui/calendar.js:720
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, %d de %B"
|
||||
|
||||
#. Translators: Shown on calendar heading when selected day occurs on different year
|
||||
#: ../js/ui/calendar.js:723 ../js/ui/telepathyClient.js:490
|
||||
#: ../js/ui/calendar.js:723
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%A, %d de %B de %Y"
|
||||
@@ -370,7 +370,7 @@ msgstr "Esta semana"
|
||||
msgid "Next week"
|
||||
msgstr "La semana que viene"
|
||||
|
||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1037
|
||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:994
|
||||
msgid "Remove"
|
||||
msgstr "Quitar"
|
||||
|
||||
@@ -498,8 +498,8 @@ msgstr "El sistema se reiniciará automáticamente en %d segundos."
|
||||
msgid "Restarting the system."
|
||||
msgstr "Reiniciando el sistema."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:413 ../js/ui/polkitAuthenticationAgent.js:172
|
||||
#: ../js/ui/status/bluetooth.js:491
|
||||
#: ../js/ui/endSessionDialog.js:415 ../js/ui/polkitAuthenticationAgent.js:172
|
||||
#: ../js/ui/status/bluetooth.js:466
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
@@ -533,11 +533,11 @@ msgstr "Ver fuente"
|
||||
msgid "Web Page"
|
||||
msgstr "Página web"
|
||||
|
||||
#: ../js/ui/messageTray.js:1030
|
||||
#: ../js/ui/messageTray.js:987
|
||||
msgid "Open"
|
||||
msgstr "Abrir"
|
||||
|
||||
#: ../js/ui/messageTray.js:2194
|
||||
#: ../js/ui/messageTray.js:2145
|
||||
msgid "System Information"
|
||||
msgstr "Información del sistema"
|
||||
|
||||
@@ -560,18 +560,18 @@ msgid "Dash"
|
||||
msgstr "Tablero"
|
||||
|
||||
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
||||
#: ../js/ui/panel.js:533
|
||||
#: ../js/ui/panel.js:515
|
||||
#, c-format
|
||||
msgid "Quit %s"
|
||||
msgstr "Salir de %s"
|
||||
|
||||
#. Button on the left side of the panel.
|
||||
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
|
||||
#: ../js/ui/panel.js:913
|
||||
#: ../js/ui/panel.js:878
|
||||
msgid "Activities"
|
||||
msgstr "Actividades"
|
||||
|
||||
#: ../js/ui/panel.js:1015
|
||||
#: ../js/ui/panel.js:979
|
||||
msgid "Top Bar"
|
||||
msgstr "Barra superior"
|
||||
|
||||
@@ -604,15 +604,11 @@ msgstr "Administrador"
|
||||
msgid "Authenticate"
|
||||
msgstr "Autenticar"
|
||||
|
||||
#. 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.
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:264
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:260
|
||||
msgid "Sorry, that didn't work. Please try again."
|
||||
msgstr "Inténtelo de nuevo,"
|
||||
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:276
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:272
|
||||
msgid "Password:"
|
||||
msgstr "Contraseña:"
|
||||
|
||||
@@ -629,11 +625,11 @@ msgstr "toggle-switch-intl"
|
||||
msgid "Please enter a command:"
|
||||
msgstr "Introduzca un comando:"
|
||||
|
||||
#: ../js/ui/searchDisplay.js:313
|
||||
#: ../js/ui/searchDisplay.js:310
|
||||
msgid "Searching..."
|
||||
msgstr "Buscando…"
|
||||
|
||||
#: ../js/ui/searchDisplay.js:327
|
||||
#: ../js/ui/searchDisplay.js:324
|
||||
msgid "No matching results."
|
||||
msgstr "No se encontró ningún resultado coincidente."
|
||||
|
||||
@@ -716,9 +712,9 @@ msgstr "Contraste alto"
|
||||
msgid "Large Text"
|
||||
msgstr "Texto grande"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:264
|
||||
#: ../js/ui/status/bluetooth.js:358 ../js/ui/status/bluetooth.js:392
|
||||
#: ../js/ui/status/bluetooth.js:432 ../js/ui/status/bluetooth.js:465
|
||||
#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:237
|
||||
#: ../js/ui/status/bluetooth.js:333 ../js/ui/status/bluetooth.js:367
|
||||
#: ../js/ui/status/bluetooth.js:407 ../js/ui/status/bluetooth.js:440
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
@@ -731,102 +727,101 @@ msgid "Send Files to Device..."
|
||||
msgstr "Enviar archivos al dispositivo…"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:70
|
||||
#| msgid "Setup a New Device..."
|
||||
msgid "Set up a New Device..."
|
||||
msgid "Setup a New Device..."
|
||||
msgstr "Configurar un dispositivo nuevo…"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:95
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Configuración de Bluetooth"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:215
|
||||
#: ../js/ui/status/bluetooth.js:188
|
||||
msgid "Connection"
|
||||
msgstr "Conexión"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:251
|
||||
#: ../js/ui/status/bluetooth.js:224
|
||||
msgid "Send Files..."
|
||||
msgstr "Enviar archivos…"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:256
|
||||
#: ../js/ui/status/bluetooth.js:229
|
||||
msgid "Browse Files..."
|
||||
msgstr "Examinar archivos…"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:265
|
||||
#: ../js/ui/status/bluetooth.js:238
|
||||
msgid "Error browsing device"
|
||||
msgstr "Error al examinar el dispositivo"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:266
|
||||
#: ../js/ui/status/bluetooth.js:239
|
||||
#, c-format
|
||||
msgid "The requested device cannot be browsed, error is '%s'"
|
||||
msgstr "No se puede examinar el dispositivo solicitado, el error es «%s»"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:274
|
||||
#: ../js/ui/status/bluetooth.js:247
|
||||
msgid "Keyboard Settings"
|
||||
msgstr "Configuración del teclado"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:279
|
||||
#: ../js/ui/status/bluetooth.js:252
|
||||
msgid "Mouse Settings"
|
||||
msgstr "Ajustes del ratón…"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:286 ../js/ui/status/volume.js:66
|
||||
#: ../js/ui/status/bluetooth.js:259 ../js/ui/status/volume.js:66
|
||||
msgid "Sound Settings"
|
||||
msgstr "Configuración del sonido"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:393
|
||||
#: ../js/ui/status/bluetooth.js:368
|
||||
#, c-format
|
||||
msgid "Authorization request from %s"
|
||||
msgstr "Solicitud de autorización de %s"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:399
|
||||
#: ../js/ui/status/bluetooth.js:374
|
||||
#, c-format
|
||||
msgid "Device %s wants access to the service '%s'"
|
||||
msgstr "El dispositivo %s quiere acceder al servicio «%s»"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:401
|
||||
#: ../js/ui/status/bluetooth.js:376
|
||||
msgid "Always grant access"
|
||||
msgstr "Conceder acceso siempre"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:402
|
||||
#: ../js/ui/status/bluetooth.js:377
|
||||
msgid "Grant this time only"
|
||||
msgstr "Conceder sólo esta vez"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:403
|
||||
#: ../js/ui/status/bluetooth.js:378
|
||||
msgid "Reject"
|
||||
msgstr "Rechazar"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:433
|
||||
#: ../js/ui/status/bluetooth.js:408
|
||||
#, c-format
|
||||
msgid "Pairing confirmation for %s"
|
||||
msgstr "Confirmación de emparejamiento para «%s»"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:439 ../js/ui/status/bluetooth.js:473
|
||||
#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:448
|
||||
#, c-format
|
||||
msgid "Device %s wants to pair with this computer"
|
||||
msgstr "El dispositivo «%s» quiere emparejarse con este equipo"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:440
|
||||
#: ../js/ui/status/bluetooth.js:415
|
||||
#, c-format
|
||||
msgid "Please confirm whether the PIN '%s' matches the one on the device."
|
||||
msgstr "Confirme que el PIN mostrado en «%s» coincide con el del dispositivo."
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:442
|
||||
#: ../js/ui/status/bluetooth.js:417
|
||||
msgid "Matches"
|
||||
msgstr "Coincide"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:443
|
||||
#: ../js/ui/status/bluetooth.js:418
|
||||
msgid "Does not match"
|
||||
msgstr "No coincide"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:466
|
||||
#: ../js/ui/status/bluetooth.js:441
|
||||
#, c-format
|
||||
msgid "Pairing request for %s"
|
||||
msgstr "Solicitud de emparejamiento para «%s»"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:474
|
||||
#: ../js/ui/status/bluetooth.js:449
|
||||
msgid "Please enter the PIN mentioned on the device."
|
||||
msgstr "Introduzca el PIN mencionado en el dispositivo."
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:490
|
||||
#: ../js/ui/status/bluetooth.js:465
|
||||
msgid "OK"
|
||||
msgstr "Aceptar"
|
||||
|
||||
@@ -838,139 +833,139 @@ msgstr "Mostrar la distribución del teclado…"
|
||||
msgid "Localization Settings"
|
||||
msgstr "Configuración regional"
|
||||
|
||||
#: ../js/ui/status/network.js:113
|
||||
#: ../js/ui/status/network.js:102 ../js/ui/status/network.js:1437
|
||||
msgid "<unknown>"
|
||||
msgstr "<desconocido>"
|
||||
|
||||
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
||||
#: ../js/ui/status/network.js:330
|
||||
#: ../js/ui/status/network.js:295
|
||||
msgid "disabled"
|
||||
msgstr "desactivada"
|
||||
|
||||
#: ../js/ui/status/network.js:528
|
||||
#: ../js/ui/status/network.js:478
|
||||
msgid "connecting..."
|
||||
msgstr "conectando…"
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password
|
||||
#: ../js/ui/status/network.js:531
|
||||
#: ../js/ui/status/network.js:481
|
||||
msgid "authentication required"
|
||||
msgstr "se necesita autenticación"
|
||||
|
||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||
#. module, which is missing
|
||||
#: ../js/ui/status/network.js:541
|
||||
#: ../js/ui/status/network.js:491
|
||||
msgid "firmware missing"
|
||||
msgstr "falta el «firmware»"
|
||||
|
||||
#. Translators: this is for wired network devices that are physically disconnected
|
||||
#: ../js/ui/status/network.js:548
|
||||
#: ../js/ui/status/network.js:498
|
||||
msgid "cable unplugged"
|
||||
msgstr "cable desconectado"
|
||||
|
||||
#. 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:553
|
||||
#: ../js/ui/status/network.js:503
|
||||
msgid "unavailable"
|
||||
msgstr "no disponible"
|
||||
|
||||
#: ../js/ui/status/network.js:555
|
||||
#: ../js/ui/status/network.js:505
|
||||
msgid "connection failed"
|
||||
msgstr "falló la conexión"
|
||||
|
||||
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
||||
#. and we cannot access its settings (including the name)
|
||||
#: ../js/ui/status/network.js:635 ../js/ui/status/network.js:1532
|
||||
#: ../js/ui/status/network.js:585 ../js/ui/status/network.js:1385
|
||||
msgid "Connected (private)"
|
||||
msgstr "Conectada (privada)"
|
||||
|
||||
#: ../js/ui/status/network.js:720
|
||||
#: ../js/ui/status/network.js:666
|
||||
msgid "Auto Ethernet"
|
||||
msgstr "Ethernet automática"
|
||||
|
||||
#: ../js/ui/status/network.js:795
|
||||
#: ../js/ui/status/network.js:741
|
||||
msgid "Auto broadband"
|
||||
msgstr "Banda ancha automática"
|
||||
|
||||
#: ../js/ui/status/network.js:798
|
||||
#: ../js/ui/status/network.js:744
|
||||
msgid "Auto dial-up"
|
||||
msgstr "Marcado automático"
|
||||
|
||||
#. TRANSLATORS: this the automatic wireless connection name (including the network name)
|
||||
#: ../js/ui/status/network.js:944 ../js/ui/status/network.js:1544
|
||||
#: ../js/ui/status/network.js:887 ../js/ui/status/network.js:1397
|
||||
#, c-format
|
||||
msgid "Auto %s"
|
||||
msgstr "%s automática"
|
||||
|
||||
#: ../js/ui/status/network.js:946
|
||||
#: ../js/ui/status/network.js:889
|
||||
msgid "Auto bluetooth"
|
||||
msgstr "Bluetooth automático"
|
||||
|
||||
#: ../js/ui/status/network.js:1546
|
||||
#: ../js/ui/status/network.js:1399
|
||||
msgid "Auto wireless"
|
||||
msgstr "Inalámbrica automática"
|
||||
|
||||
#: ../js/ui/status/network.js:1583
|
||||
#: ../js/ui/status/network.js:1457
|
||||
msgid "More..."
|
||||
msgstr "Más…"
|
||||
|
||||
#: ../js/ui/status/network.js:1625
|
||||
#: ../js/ui/status/network.js:1480
|
||||
msgid "Enable networking"
|
||||
msgstr "Activar red"
|
||||
|
||||
#: ../js/ui/status/network.js:1637
|
||||
#: ../js/ui/status/network.js:1492
|
||||
msgid "Wired"
|
||||
msgstr "Cableada"
|
||||
|
||||
#: ../js/ui/status/network.js:1648
|
||||
#: ../js/ui/status/network.js:1503
|
||||
msgid "Wireless"
|
||||
msgstr "Inalámbrica"
|
||||
|
||||
#: ../js/ui/status/network.js:1658
|
||||
#: ../js/ui/status/network.js:1513
|
||||
msgid "Mobile broadband"
|
||||
msgstr "Banda ancha móvil"
|
||||
|
||||
#: ../js/ui/status/network.js:1668
|
||||
#: ../js/ui/status/network.js:1523
|
||||
msgid "VPN Connections"
|
||||
msgstr "Conexiones VPN"
|
||||
|
||||
#: ../js/ui/status/network.js:1680
|
||||
#: ../js/ui/status/network.js:1532
|
||||
msgid "Network Settings"
|
||||
msgstr "Configuración de la red"
|
||||
|
||||
#: ../js/ui/status/network.js:1974
|
||||
#: ../js/ui/status/network.js:1827
|
||||
#, c-format
|
||||
msgid "You're now connected to mobile broadband connection '%s'"
|
||||
msgstr "Ahora está conectado a la red de banda ancha móvil «%s»"
|
||||
|
||||
#: ../js/ui/status/network.js:1978
|
||||
#: ../js/ui/status/network.js:1831
|
||||
#, c-format
|
||||
msgid "You're now connected to wireless network '%s'"
|
||||
msgstr "Ahora está conectado a la red inalámbrica «%s»"
|
||||
|
||||
#: ../js/ui/status/network.js:1982
|
||||
#: ../js/ui/status/network.js:1835
|
||||
#, c-format
|
||||
msgid "You're now connected to wired network '%s'"
|
||||
msgstr "Ahora está conectado a la red cableada «%s»"
|
||||
|
||||
#: ../js/ui/status/network.js:1986
|
||||
#: ../js/ui/status/network.js:1839
|
||||
#, c-format
|
||||
msgid "You're now connected to VPN network '%s'"
|
||||
msgstr "Ahora está conectado a la VPN «%s»"
|
||||
|
||||
#: ../js/ui/status/network.js:1991
|
||||
#: ../js/ui/status/network.js:1844
|
||||
#, c-format
|
||||
msgid "You're now connected to '%s'"
|
||||
msgstr "Ahora está conectado a «%s»"
|
||||
|
||||
#: ../js/ui/status/network.js:1999
|
||||
#: ../js/ui/status/network.js:1852
|
||||
msgid "Connection established"
|
||||
msgstr "Conexión establecida"
|
||||
|
||||
#: ../js/ui/status/network.js:2125
|
||||
#: ../js/ui/status/network.js:1974
|
||||
msgid "Networking is disabled"
|
||||
msgstr "La red está desactivada"
|
||||
|
||||
#: ../js/ui/status/network.js:2250
|
||||
#: ../js/ui/status/network.js:2099
|
||||
msgid "Network Manager"
|
||||
msgstr "Gestor de la red"
|
||||
|
||||
@@ -1072,22 +1067,22 @@ msgstr "Volumen"
|
||||
msgid "Microphone"
|
||||
msgstr "Micrófono"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:330
|
||||
#: ../js/ui/telepathyClient.js:332
|
||||
#, c-format
|
||||
msgid "%s is online."
|
||||
msgstr "%s está conectado/a."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:335
|
||||
#: ../js/ui/telepathyClient.js:337
|
||||
#, c-format
|
||||
msgid "%s is offline."
|
||||
msgstr "%s está desconectado/a."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:338
|
||||
#: ../js/ui/telepathyClient.js:340
|
||||
#, c-format
|
||||
msgid "%s is away."
|
||||
msgstr "%s está ausente."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:341
|
||||
#: ../js/ui/telepathyClient.js:343
|
||||
#, c-format
|
||||
msgid "%s is busy."
|
||||
msgstr "%s está ocupado/a."
|
||||
@@ -1095,18 +1090,11 @@ msgstr "%s está ocupado/a."
|
||||
#. Translators: this is a time format string followed by a date.
|
||||
#. If applicable, replace %X with a strftime format valid for your
|
||||
#. locale, without seconds.
|
||||
#: ../js/ui/telepathyClient.js:479
|
||||
#: ../js/ui/telepathyClient.js:474
|
||||
#, no-c-format
|
||||
msgid "Sent at %X on %A"
|
||||
msgstr "Enviado a las %X el %A"
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#: ../js/ui/telepathyClient.js:524
|
||||
#, c-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "Ahora %s se llama %s"
|
||||
|
||||
#. Translators: this is the text displayed
|
||||
#. in the search entry when no search is
|
||||
#. active; it should not exceed ~30
|
||||
@@ -1151,7 +1139,7 @@ msgstr[1] "%u entradas"
|
||||
msgid "System Sounds"
|
||||
msgstr "Sonidos del sistema"
|
||||
|
||||
#: ../src/main.c:445
|
||||
#: ../src/main.c:446
|
||||
msgid "Print version"
|
||||
msgstr "Imprimir versión"
|
||||
|
||||
@@ -1160,6 +1148,38 @@ msgstr "Imprimir versión"
|
||||
msgid "Failed to launch '%s'"
|
||||
msgstr "Falló al lanzar «%s»"
|
||||
|
||||
#: ../src/shell-global.c:1395
|
||||
msgid "Less than a minute ago"
|
||||
msgstr "Hace menos de un minuto"
|
||||
|
||||
#: ../src/shell-global.c:1399
|
||||
#, c-format
|
||||
msgid "%d minute ago"
|
||||
msgid_plural "%d minutes ago"
|
||||
msgstr[0] "Hace %d minuto"
|
||||
msgstr[1] "Hace %d minutos"
|
||||
|
||||
#: ../src/shell-global.c:1404
|
||||
#, c-format
|
||||
msgid "%d hour ago"
|
||||
msgid_plural "%d hours ago"
|
||||
msgstr[0] "Hace %d hora"
|
||||
msgstr[1] "Hace %d horas"
|
||||
|
||||
#: ../src/shell-global.c:1409
|
||||
#, c-format
|
||||
msgid "%d day ago"
|
||||
msgid_plural "%d days ago"
|
||||
msgstr[0] "Hace %d día"
|
||||
msgstr[1] "Hace %d días"
|
||||
|
||||
#: ../src/shell-global.c:1414
|
||||
#, c-format
|
||||
msgid "%d week ago"
|
||||
msgid_plural "%d weeks ago"
|
||||
msgstr[0] "Hace %d semana"
|
||||
msgstr[1] "Hace %d semanas"
|
||||
|
||||
#: ../src/shell-mobile-providers.c:80
|
||||
msgid "United Kingdom"
|
||||
msgstr "Reino Unido"
|
||||
@@ -1192,29 +1212,6 @@ msgstr "Sistema de archivos"
|
||||
msgid "%1$s: %2$s"
|
||||
msgstr "%1$s: %2$s"
|
||||
|
||||
#~ msgid "Less than a minute ago"
|
||||
#~ msgstr "Hace menos de un minuto"
|
||||
|
||||
#~ msgid "%d minute ago"
|
||||
#~ msgid_plural "%d minutes ago"
|
||||
#~ msgstr[0] "Hace %d minuto"
|
||||
#~ msgstr[1] "Hace %d minutos"
|
||||
|
||||
#~ msgid "%d hour ago"
|
||||
#~ msgid_plural "%d hours ago"
|
||||
#~ msgstr[0] "Hace %d hora"
|
||||
#~ msgstr[1] "Hace %d horas"
|
||||
|
||||
#~ msgid "%d day ago"
|
||||
#~ msgid_plural "%d days ago"
|
||||
#~ msgstr[0] "Hace %d día"
|
||||
#~ msgstr[1] "Hace %d días"
|
||||
|
||||
#~ msgid "%d week ago"
|
||||
#~ msgid_plural "%d weeks ago"
|
||||
#~ msgstr[0] "Hace %d semana"
|
||||
#~ msgstr[1] "Hace %d semanas"
|
||||
|
||||
#~ msgid "Shut Down"
|
||||
#~ msgstr "Apagar"
|
||||
|
||||
@@ -1242,6 +1239,9 @@ msgstr "%1$s: %2$s"
|
||||
#~ msgid "Screen Keyboard"
|
||||
#~ msgstr "Teclado en pantalla"
|
||||
|
||||
#~ msgid "%s is now known as %s"
|
||||
#~ msgstr "Ahora %s se llama %s"
|
||||
|
||||
#~ msgid "PREFERENCES"
|
||||
#~ msgstr "PREFERENCIAS"
|
||||
|
||||
@@ -1416,8 +1416,8 @@ msgstr "%1$s: %2$s"
|
||||
#~ "If true and format is either \"12-hour\" or \"24-hour\", display seconds "
|
||||
#~ "in time."
|
||||
#~ msgstr ""
|
||||
#~ "Si es cierta y el formato es «12-horas» o «24-horas», muestra los segundos "
|
||||
#~ "en la hora."
|
||||
#~ "Si es cierta y el formato es «12-horas» o «24-horas», muestra los "
|
||||
#~ "segundos en la hora."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key specifies the format used by the panel clock when the format key "
|
||||
@@ -1434,18 +1434,19 @@ msgstr "%1$s: %2$s"
|
||||
#~ msgid ""
|
||||
#~ "This key specifies the hour format used by the panel clock. Possible "
|
||||
#~ "values are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to "
|
||||
#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. 1970-"
|
||||
#~ "01-01. If set to \"custom\", the clock will display time according to the "
|
||||
#~ "format specified in the custom_format key. Note that if set to either "
|
||||
#~ "\"unix\" or \"custom\", the show_date and show_seconds keys are ignored."
|
||||
#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. "
|
||||
#~ "1970-01-01. If set to \"custom\", the clock will display time according "
|
||||
#~ "to the format specified in the custom_format key. Note that if set to "
|
||||
#~ "either \"unix\" or \"custom\", the show_date and show_seconds keys are "
|
||||
#~ "ignored."
|
||||
#~ msgstr ""
|
||||
#~ "Esta clave especifica el formato de la hora especificado por el reloj del "
|
||||
#~ "panel. Los valores posibles son «12-hour» (12 horas), «24-hour» (24 horas), "
|
||||
#~ "«unix» y «custom» (personalizado).Si se establece a «unix» el reloj mostrará "
|
||||
#~ "la hora en segundos desde la época (1 de enero de 1970). Si se establece "
|
||||
#~ "a «custom» el reloj mostrará la hora según el formato especificado en la "
|
||||
#~ "clave «custom_format». Note que si se establece a «unix» o «custom» se "
|
||||
#~ "ignoran las claves «show_date» y «show_seconds»."
|
||||
#~ "panel. Los valores posibles son «12-hour» (12 horas), «24-hour» (24 "
|
||||
#~ "horas), «unix» y «custom» (personalizado).Si se establece a «unix» el "
|
||||
#~ "reloj mostrará la hora en segundos desde la época (1 de enero de 1970). "
|
||||
#~ "Si se establece a «custom» el reloj mostrará la hora según el formato "
|
||||
#~ "especificado en la clave «custom_format». Note que si se establece a "
|
||||
#~ "«unix» o «custom» se ignoran las claves «show_date» y «show_seconds»."
|
||||
|
||||
#~ msgid "Clock Format"
|
||||
#~ msgstr "Formato del reloj"
|
||||
|
446
po/gl.po
@@ -1,27 +1,26 @@
|
||||
# Galician translation for gnome-shell.
|
||||
# Copyright (C) 2009 gnome-shell's COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the gnome-shell package.
|
||||
#
|
||||
#
|
||||
# Anton Meixome <certima@certima.net>, 2009.
|
||||
# Antón Méixome <meixome@certima.net>, 2009.
|
||||
# Fran Dieguez <frandieguez@gnome.org>, 2011.
|
||||
# Fran Dieguez <frandieguez@gnome.org>, 2011, 2013.
|
||||
# Fran Diéguez <frandieguez@gnome.org>, 2009, 2010, 2011.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-04-22 17:56+0200\n"
|
||||
"PO-Revision-Date: 2011-04-22 17:57+0200\n"
|
||||
"Last-Translator: Fran Diéguez <frandieguez@gnome.org>\n"
|
||||
"Language-Team: Galician <gnome-l10n-gl@gnome.org>\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-27 14:07+0000\n"
|
||||
"PO-Revision-Date: 2013-09-28 16:30+0200\n"
|
||||
"Last-Translator: Fran Dieguez <frandieguez@gnome.org>\n"
|
||||
"Language-Team: gnome-l10n-gl@gnome.org\n"
|
||||
"Language: gl\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: Lokalize 1.2\n"
|
||||
"X-Generator: Virtaal 0.7.1\n"
|
||||
"X-Project-Style: gnome\n"
|
||||
|
||||
#: ../data/gnome-shell.desktop.in.in.h:1
|
||||
msgid "GNOME Shell"
|
||||
@@ -32,6 +31,12 @@ msgid "Window management and application launching"
|
||||
msgstr "Xestor de xanelas e inicio de aplicativos"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:1
|
||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
|
||||
msgstr ""
|
||||
"Activar as ferramentas internas útiles para os desenvolvedores e probadores "
|
||||
"usando Alt-F2"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:2
|
||||
msgid ""
|
||||
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
|
||||
"dialog."
|
||||
@@ -39,21 +44,11 @@ msgstr ""
|
||||
"Permite o acceso ás ferramentas de depuración e monitorización internas "
|
||||
"usando o diálogo Alt-F2."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:2
|
||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
|
||||
msgstr ""
|
||||
"Activar as ferramentas internas útiles para os desenvolvedores e probadores "
|
||||
"usando Alt-F2"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:3
|
||||
msgid "File extension used for storing the screencast"
|
||||
msgstr "Extensión de ficheiro usada para o almacenamento da screencast"
|
||||
msgid "Uuids of extensions to disable"
|
||||
msgstr "Os Uuid das extensións a desactivar"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:4
|
||||
msgid "Framerate used for recording screencasts."
|
||||
msgstr "Taxa de marcos usada para gravar as capturas de pantalla."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:5
|
||||
msgid ""
|
||||
"GNOME Shell extensions have a uuid property; this key lists extensions which "
|
||||
"should not be loaded."
|
||||
@@ -61,31 +56,87 @@ msgstr ""
|
||||
"As extensións do GNOME Shell teñen unha propiedade uuid. Esta chave lista as "
|
||||
"extensións que non deberían cargarse."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:5
|
||||
msgid "Whether to collect stats about applications usage"
|
||||
msgstr "Indica se recoller estatísticas sobre o uso dos aplicativos"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:6
|
||||
msgid "History for command (Alt-F2) dialog"
|
||||
msgstr "Historial do diálogo de orde (Alt-F2)"
|
||||
msgid ""
|
||||
"The shell normally monitors active applications in order to present the most "
|
||||
"used ones (e.g. in launchers). While this data will be kept private, you may "
|
||||
"want to disable this for privacy reasons. Please note that doing so won't "
|
||||
"remove already saved data."
|
||||
msgstr ""
|
||||
"O shell normalmente monitoriza os aplicativos activos para mostrarlle os "
|
||||
"máis usados (p.ex. nos iniciadores). Aínda que estes datos mantéñense "
|
||||
"privados, vostede pode desactivar isto por motivos de privacidade. Teña en "
|
||||
"conta que facendo isto non eliminará os datos gardados."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:7
|
||||
msgid "History for the looking glass dialog"
|
||||
msgstr "Historial do diálogo de «looking glass»"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:8
|
||||
msgid "If true, display date in the clock, in addition to time."
|
||||
msgstr "Se é verdadeiro, móstrase a data no reloxo, ademais da hora."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:9
|
||||
msgid "If true, display seconds in time."
|
||||
msgstr "Se é verdadeiro, móstranse os segundos na hora."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:10
|
||||
msgid "If true, display the ISO week date in the calendar."
|
||||
msgstr "Se é verdadeiro, móstrase a data da semana ISO no calendario."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:11
|
||||
msgid "List of desktop file IDs for favorite applications"
|
||||
msgstr "Mostra os ID de ficheiros desktop para os aplicativos preferidos"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:8
|
||||
msgid ""
|
||||
"The applications corresponding to these identifiers will be displayed in the "
|
||||
"favorites area."
|
||||
msgstr ""
|
||||
"Os aplicativos que corresponden a estes identificadores mostraranse na área "
|
||||
"de preferidos."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:9
|
||||
msgid "disabled OpenSearch providers"
|
||||
msgstr "fornecedores de OpenSearch desactivados"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:10
|
||||
msgid "History for command (Alt-F2) dialog"
|
||||
msgstr "Historial do diálogo de orde (Alt-F2)"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:11
|
||||
msgid "History for the looking glass dialog"
|
||||
msgstr "Historial do diálogo de «looking glass»"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:12
|
||||
msgid "Show the week date in the calendar"
|
||||
msgstr "Mostrar a data da semana no calendario"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:13
|
||||
msgid "If true, display the ISO week date in the calendar."
|
||||
msgstr "Se é verdadeiro, móstrase a data da semana ISO no calendario."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:14
|
||||
msgid "Show time with seconds"
|
||||
msgstr "Mostrar a hora con segundos"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:15
|
||||
msgid "If true, display seconds in time."
|
||||
msgstr "Se é verdadeiro, móstranse os segundos na hora."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:16
|
||||
msgid "Show date in clock"
|
||||
msgstr "Mostrar a data no reloxo"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:17
|
||||
msgid "If true, display date in the clock, in addition to time."
|
||||
msgstr "Se é verdadeiro, móstrase a data no reloxo, ademais da hora."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:18
|
||||
msgid "Framerate used for recording screencasts."
|
||||
msgstr "Taxa de marcos usada para gravar as capturas de pantalla."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:19
|
||||
msgid ""
|
||||
"The framerate of the resulting screencast recordered by GNOME Shell's "
|
||||
"screencast recorder in frames-per-second."
|
||||
msgstr ""
|
||||
"A taxa de marcos do screencast resultante grabado polo grabador de "
|
||||
"screencasts de GNOME Shell en marcos-por-segundo."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:20
|
||||
msgid "The gstreamer pipeline used to encode the screencast"
|
||||
msgstr "A tubería de gstreamer usada para codificar o screencast"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:22
|
||||
#, no-c-format
|
||||
msgid ""
|
||||
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
|
||||
@@ -111,27 +162,11 @@ msgstr ""
|
||||
"códec VP8. Úsase %T como suposición para o número de fillos óptimos no "
|
||||
"sistema."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:14
|
||||
msgid "Show date in clock"
|
||||
msgstr "Mostrar a data no reloxo"
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:23
|
||||
msgid "File extension used for storing the screencast"
|
||||
msgstr "Extensión de ficheiro usada para o almacenamento da screencast"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:15
|
||||
msgid "Show the week date in the calendar"
|
||||
msgstr "Mostrar a data da semana no calendario"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:16
|
||||
msgid "Show time with seconds"
|
||||
msgstr "Mostrar a hora con segundos"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:17
|
||||
msgid ""
|
||||
"The applications corresponding to these identifiers will be displayed in the "
|
||||
"favorites area."
|
||||
msgstr ""
|
||||
"Os aplicativos que corresponden a estes identificadores mostraranse na área "
|
||||
"de preferidos."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:18
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:24
|
||||
msgid ""
|
||||
"The filename for recorded screencasts will be a unique filename based on the "
|
||||
"current date, and use this extension. It should be changed when recording to "
|
||||
@@ -141,107 +176,69 @@ msgstr ""
|
||||
"baseado na data actual e usa esta extensión. Debería cambiar ao grabar nun "
|
||||
"formato de contedor diferente."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:19
|
||||
msgid ""
|
||||
"The framerate of the resulting screencast recordered by GNOME Shell's "
|
||||
"screencast recorder in frames-per-second."
|
||||
msgstr ""
|
||||
"A taxa de marcos do screencast resultante grabado polo grabador de "
|
||||
"screencasts de GNOME Shell en marcos-por-segundo."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:20
|
||||
msgid "The gstreamer pipeline used to encode the screencast"
|
||||
msgstr "A tubería de gstreamer usada para codificar o screencast"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:21
|
||||
msgid ""
|
||||
"The shell normally monitors active applications in order to present the most "
|
||||
"used ones (e.g. in launchers). While this data will be kept private, you may "
|
||||
"want to disable this for privacy reasons. Please note that doing so won't "
|
||||
"remove already saved data."
|
||||
msgstr ""
|
||||
"O shell normalmente monitoriza os aplicativos activos para mostrarlle os "
|
||||
"máis usados (p.ex. nos iniciadores). Aínda que estes datos mantéñense "
|
||||
"privados, vostede pode desactivar isto por motivos de privacidade. Teña en "
|
||||
"conta que facendo isto non eliminará os datos gardados."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:22
|
||||
msgid "Uuids of extensions to disable"
|
||||
msgstr "Os Uuid das extensións a desactivar"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:23
|
||||
msgid "Whether to collect stats about applications usage"
|
||||
msgstr "Indica se recoller estatísticas sobre o uso dos aplicativos"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:24
|
||||
msgid "disabled OpenSearch providers"
|
||||
msgstr "fornecedores de OpenSearch desactivados"
|
||||
|
||||
#: ../js/misc/util.js:71
|
||||
msgid "Command not found"
|
||||
msgstr "Orde non atopada"
|
||||
|
||||
#. Replace "Error invoking GLib.shell_parse_argv: " with
|
||||
#. something nicer
|
||||
#: ../js/misc/util.js:98
|
||||
msgid "Could not parse command:"
|
||||
msgstr "Non foi posíbel analizar a orde:"
|
||||
|
||||
#: ../js/misc/util.js:106
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "Execution of '%s' failed:"
|
||||
msgstr "Produciuse un fallo na execución de «%s»:"
|
||||
|
||||
#. Translators: Filter to display all applications
|
||||
#: ../js/ui/appDisplay.js:230
|
||||
#. Translators: Filter to display all applications */
|
||||
#: ../js/ui/appDisplay.js:260
|
||||
msgid "All"
|
||||
msgstr "Todos"
|
||||
|
||||
#: ../js/ui/appDisplay.js:329
|
||||
#: ../js/ui/appDisplay.js:359
|
||||
msgid "APPLICATIONS"
|
||||
msgstr "APLICATIVOS"
|
||||
|
||||
#: ../js/ui/appDisplay.js:355
|
||||
#: ../js/ui/appDisplay.js:385
|
||||
msgid "SETTINGS"
|
||||
msgstr "CONFIGURACIÓN"
|
||||
|
||||
#: ../js/ui/appDisplay.js:626
|
||||
#: ../js/ui/appDisplay.js:656
|
||||
msgid "New Window"
|
||||
msgstr "Xanela nova"
|
||||
|
||||
#: ../js/ui/appDisplay.js:629
|
||||
#: ../js/ui/appDisplay.js:659
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Eliminar dos favoritos"
|
||||
|
||||
#: ../js/ui/appDisplay.js:630
|
||||
#: ../js/ui/appDisplay.js:660
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Engadir aos favoritos"
|
||||
|
||||
#: ../js/ui/appFavorites.js:91
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "%s has been added to your favorites."
|
||||
msgstr "%s foi engadido aos seus favoritos."
|
||||
|
||||
#: ../js/ui/appFavorites.js:122
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "%s foi eliminado dos seus favoritos."
|
||||
|
||||
#. Translators: Shown in calendar event list for all day events
|
||||
#. * Keep it short, best if you can use less then 10 characters
|
||||
#.
|
||||
#. */
|
||||
#: ../js/ui/calendar.js:66
|
||||
msgctxt "event list time"
|
||||
msgid "All Day"
|
||||
msgstr "Todo o día"
|
||||
|
||||
#. Translators: Shown in calendar event list, if 24h format
|
||||
#. Translators: Shown in calendar event list, if 24h format */
|
||||
#: ../js/ui/calendar.js:71
|
||||
msgctxt "event list time"
|
||||
msgid "%H:%M"
|
||||
msgstr "%H:%M"
|
||||
|
||||
#. Transators: Shown in calendar event list, if 12h format
|
||||
#. Transators: Shown in calendar event list, if 12h format */
|
||||
#: ../js/ui/calendar.js:78
|
||||
msgctxt "event list time"
|
||||
msgid "%l:%M %p"
|
||||
@@ -251,43 +248,43 @@ msgstr "%l:%M %p"
|
||||
#. *
|
||||
#. * NOTE: These grid abbreviations are always shown together
|
||||
#. * and in order, e.g. "S M T W T F S".
|
||||
#.
|
||||
#. */
|
||||
#: ../js/ui/calendar.js:118
|
||||
msgctxt "grid sunday"
|
||||
msgid "S"
|
||||
msgstr "D"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Monday
|
||||
#. Translators: Calendar grid abbreviation for Monday */
|
||||
#: ../js/ui/calendar.js:120
|
||||
msgctxt "grid monday"
|
||||
msgid "M"
|
||||
msgstr "L"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Tuesday
|
||||
#. Translators: Calendar grid abbreviation for Tuesday */
|
||||
#: ../js/ui/calendar.js:122
|
||||
msgctxt "grid tuesday"
|
||||
msgid "T"
|
||||
msgstr "M"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Wednesday
|
||||
#. Translators: Calendar grid abbreviation for Wednesday */
|
||||
#: ../js/ui/calendar.js:124
|
||||
msgctxt "grid wednesday"
|
||||
msgid "W"
|
||||
msgstr "W"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Thursday
|
||||
#. Translators: Calendar grid abbreviation for Thursday */
|
||||
#: ../js/ui/calendar.js:126
|
||||
msgctxt "grid thursday"
|
||||
msgid "T"
|
||||
msgstr "X"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Friday
|
||||
#. Translators: Calendar grid abbreviation for Friday */
|
||||
#: ../js/ui/calendar.js:128
|
||||
msgctxt "grid friday"
|
||||
msgid "F"
|
||||
msgstr "V"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Saturday
|
||||
#. Translators: Calendar grid abbreviation for Saturday */
|
||||
#: ../js/ui/calendar.js:130
|
||||
msgctxt "grid saturday"
|
||||
msgid "S"
|
||||
@@ -298,61 +295,69 @@ msgstr "S"
|
||||
#. * NOTE: These list abbreviations are normally not shown together
|
||||
#. * so they need to be unique (e.g. Tuesday and Thursday cannot
|
||||
#. * both be 'T').
|
||||
#.
|
||||
#. */
|
||||
#: ../js/ui/calendar.js:143
|
||||
msgctxt "list sunday"
|
||||
msgid "Su"
|
||||
msgstr "Do"
|
||||
|
||||
#. Translators: Event list abbreviation for Monday
|
||||
#. Translators: Event list abbreviation for Monday */
|
||||
#: ../js/ui/calendar.js:145
|
||||
msgctxt "list monday"
|
||||
msgid "M"
|
||||
msgstr "L"
|
||||
|
||||
#. Translators: Event list abbreviation for Tuesday
|
||||
#. Translators: Event list abbreviation for Tuesday */
|
||||
#: ../js/ui/calendar.js:147
|
||||
msgctxt "list tuesday"
|
||||
msgid "T"
|
||||
msgstr "M"
|
||||
|
||||
#. Translators: Event list abbreviation for Wednesday
|
||||
#. Translators: Event list abbreviation for Wednesday */
|
||||
#: ../js/ui/calendar.js:149
|
||||
msgctxt "list wednesday"
|
||||
msgid "W"
|
||||
msgstr "W"
|
||||
|
||||
#. Translators: Event list abbreviation for Thursday
|
||||
#. Translators: Event list abbreviation for Thursday */
|
||||
#: ../js/ui/calendar.js:151
|
||||
msgctxt "list thursday"
|
||||
msgid "Th"
|
||||
msgstr "X"
|
||||
|
||||
#. Translators: Event list abbreviation for Friday
|
||||
#. Translators: Event list abbreviation for Friday */
|
||||
#: ../js/ui/calendar.js:153
|
||||
msgctxt "list friday"
|
||||
msgid "F"
|
||||
msgstr "V"
|
||||
|
||||
#. Translators: Event list abbreviation for Saturday
|
||||
#. Translators: Event list abbreviation for Saturday */
|
||||
#: ../js/ui/calendar.js:155
|
||||
msgctxt "list saturday"
|
||||
msgid "S"
|
||||
msgstr "S"
|
||||
|
||||
#. Translators: Text to show if there are no events
|
||||
#: ../js/ui/calendar.js:375 ../js/ui/calendar.js:644
|
||||
msgid "calendar:week_start:0"
|
||||
msgstr "calendar:week_start:1"
|
||||
|
||||
#: ../js/ui/calendar.js:387
|
||||
msgid "calendar:MY"
|
||||
msgstr "calendar:MY"
|
||||
|
||||
#. Translators: Text to show if there are no events */
|
||||
#: ../js/ui/calendar.js:704
|
||||
msgid "Nothing Scheduled"
|
||||
msgstr "Nada programado"
|
||||
|
||||
#. Translators: Shown on calendar heading when selected day occurs on current year
|
||||
#: ../js/ui/calendar.js:720 ../js/ui/telepathyClient.js:492
|
||||
#. Translators: Shown on calendar heading when selected day occurs on current year */
|
||||
#: ../js/ui/calendar.js:720 ../js/ui/telepathyClient.js:496
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, %d de %B"
|
||||
|
||||
#. Translators: Shown on calendar heading when selected day occurs on different year
|
||||
#: ../js/ui/calendar.js:723 ../js/ui/telepathyClient.js:495
|
||||
#. Translators: Shown on calendar heading when selected day occurs on different year */
|
||||
#: ../js/ui/calendar.js:723 ../js/ui/telepathyClient.js:499
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%A, %d de %B de %Y"
|
||||
@@ -386,7 +391,7 @@ msgid "Open Calendar"
|
||||
msgstr "Abrir o calendario"
|
||||
|
||||
#. Translators: This is the time format with date used
|
||||
#. in 24-hour mode.
|
||||
#. in 24-hour mode. */
|
||||
#: ../js/ui/dateMenu.js:164
|
||||
msgid "%a %b %e, %R:%S"
|
||||
msgstr "%a %e de %b, %R:%S"
|
||||
@@ -396,7 +401,7 @@ msgid "%a %b %e, %R"
|
||||
msgstr "%a %e de %b, %R"
|
||||
|
||||
#. Translators: This is the time format without date used
|
||||
#. in 24-hour mode.
|
||||
#. in 24-hour mode. */
|
||||
#: ../js/ui/dateMenu.js:169
|
||||
msgid "%a %R:%S"
|
||||
msgstr "%a %R:%S"
|
||||
@@ -406,7 +411,7 @@ msgid "%a %R"
|
||||
msgstr "%a %R"
|
||||
|
||||
#. Translators: This is a time format with date used
|
||||
#. for AM/PM.
|
||||
#. for AM/PM. */
|
||||
#: ../js/ui/dateMenu.js:177
|
||||
msgid "%a %b %e, %l:%M:%S %p"
|
||||
msgstr "%a %e de %b, %l:%M:%S"
|
||||
@@ -416,7 +421,7 @@ msgid "%a %b %e, %l:%M %p"
|
||||
msgstr "%a %e de %b, %l:%M %p"
|
||||
|
||||
#. Translators: This is a time format without date used
|
||||
#. for AM/PM.
|
||||
#. for AM/PM. */
|
||||
#: ../js/ui/dateMenu.js:182
|
||||
msgid "%a %l:%M:%S %p"
|
||||
msgstr "%a %l:%M:%S %p"
|
||||
@@ -427,7 +432,7 @@ msgstr "%a %l:%M %p"
|
||||
|
||||
#. Translators: This is the date format to use when the calendar popup is
|
||||
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
|
||||
#.
|
||||
#. */
|
||||
#: ../js/ui/dateMenu.js:194
|
||||
msgid "%A %B %e, %Y"
|
||||
msgstr "%a, %e de %B, %Y"
|
||||
@@ -437,7 +442,7 @@ msgid "RECENT ITEMS"
|
||||
msgstr "ELEMENTOS RECENTES"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:63
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "Log Out %s"
|
||||
msgstr "Saír da sesión de %s"
|
||||
|
||||
@@ -451,12 +456,12 @@ msgstr ""
|
||||
"Prema sobre Saír da sesión para saír de estes aplicativos e pechar a sesión."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:66
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "%s will be logged out automatically in %d seconds."
|
||||
msgstr "Vaise pechar a sesión de %s de forma automática en %d segundos."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:67
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "You will be logged out automatically in %d seconds."
|
||||
msgstr "A súa sesión pecharase automaticamente en %d segundos."
|
||||
|
||||
@@ -474,7 +479,7 @@ msgstr ""
|
||||
"Prema sobre Apagar para saír de estes aplicativos e apagar o computador."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:77
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "The system will power off automatically in %d seconds."
|
||||
msgstr "O seu computador apagarase automaticamente en %d segundos."
|
||||
|
||||
@@ -494,7 +499,7 @@ msgstr ""
|
||||
"computador."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:90
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "The system will restart automatically in %d seconds."
|
||||
msgstr "O seu computador reiniciarase automaticamente en %d segundos."
|
||||
|
||||
@@ -557,30 +562,27 @@ msgstr "Xanelas"
|
||||
msgid "Applications"
|
||||
msgstr "Aplicativos"
|
||||
|
||||
#. Translators: this is the name of the dock/favorites area on
|
||||
#. the left of the overview
|
||||
#: ../js/ui/overview.js:205
|
||||
msgid "Dash"
|
||||
msgstr "Panel"
|
||||
|
||||
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
||||
#: ../js/ui/panel.js:524
|
||||
#, c-format
|
||||
#: ../js/ui/panel.js:533
|
||||
#, javascript-format
|
||||
msgid "Quit %s"
|
||||
msgstr "Saír de %s"
|
||||
|
||||
#. Button on the left side of the panel.
|
||||
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
|
||||
#: ../js/ui/panel.js:902
|
||||
#. Button on the left side of the panel. */
|
||||
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". */
|
||||
#: ../js/ui/panel.js:911
|
||||
msgid "Activities"
|
||||
msgstr "Actividades"
|
||||
|
||||
#: ../js/ui/panel.js:1003
|
||||
#: ../js/ui/panel.js:1012
|
||||
msgid "Top Bar"
|
||||
msgstr "Barra superior"
|
||||
|
||||
#: ../js/ui/placeDisplay.js:122
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "Failed to unmount '%s'"
|
||||
msgstr "Produciuse un fallo ao desmontar «%s»"
|
||||
|
||||
@@ -611,7 +613,7 @@ msgstr "Autenticar"
|
||||
#. Translators: "that didn't work" refers to the fact that the
|
||||
#. * requested authentication was not gained; this can happen
|
||||
#. * because of an authentication error (like invalid password),
|
||||
#. * for instance.
|
||||
#. * for instance. */
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:264
|
||||
msgid "Sorry, that didn't work. Please try again."
|
||||
msgstr "Desculpe, iso non funcionou. Ténteo de novo."
|
||||
@@ -620,11 +622,6 @@ msgstr "Desculpe, iso non funcionou. Ténteo de novo."
|
||||
msgid "Password:"
|
||||
msgstr "Contrasinal:"
|
||||
|
||||
#. Translators: this MUST be either "toggle-switch-us"
|
||||
#. (for toggle switches containing the English words
|
||||
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
|
||||
#. switches containing "◯" and "|"). Other values will
|
||||
#. simply result in invisible toggle switches.
|
||||
#: ../js/ui/popupMenu.js:679
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-intl"
|
||||
@@ -682,12 +679,6 @@ msgstr "Saír da sesión…"
|
||||
msgid "Zoom"
|
||||
msgstr "Ampliación"
|
||||
|
||||
#. let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA,
|
||||
#. 'screen-reader-enabled');
|
||||
#. this.menu.addMenuItem(screenReader);
|
||||
#. let screenKeyboard = this._buildItem(_("Screen Keyboard"), APPLICATIONS_SCHEMA,
|
||||
#. 'screen-keyboard-enabled');
|
||||
#. this.menu.addMenuItem(screenKeyboard);
|
||||
#: ../js/ui/status/accessibility.js:77
|
||||
msgid "Visual Alerts"
|
||||
msgstr "Alertas visuais"
|
||||
@@ -759,7 +750,7 @@ msgid "Error browsing device"
|
||||
msgstr "Produciuse un erro ao explorar o dispositivo"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:239
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "The requested device cannot be browsed, error is '%s'"
|
||||
msgstr "O dispositivo solicitado non pode explorarse, o erro foi «%s»"
|
||||
|
||||
@@ -776,12 +767,12 @@ msgid "Sound Settings"
|
||||
msgstr "Configuracións do son"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:368
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "Authorization request from %s"
|
||||
msgstr "Solicitude de autorización de %s"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:374
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "Device %s wants access to the service '%s'"
|
||||
msgstr "O dispositivo %s quere acceder ao servizo «%s»"
|
||||
|
||||
@@ -798,17 +789,17 @@ msgid "Reject"
|
||||
msgstr "Rexeitar"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:408
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "Pairing confirmation for %s"
|
||||
msgstr "Confirmación de emparellado para «%s»"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:448
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "Device %s wants to pair with this computer"
|
||||
msgstr "O dispositivo «%s» quere emparellarse con este equipo"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:415
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "Please confirm whether the PIN '%s' matches the one on the device."
|
||||
msgstr "Confirme que o PIN mostrado en «%s» coincide co do dispositivo."
|
||||
|
||||
@@ -821,7 +812,7 @@ msgid "Does not match"
|
||||
msgstr "Non coincide"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:441
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "Pairing request for %s"
|
||||
msgstr "Solicitude de emparellamento para «%s»"
|
||||
|
||||
@@ -841,139 +832,139 @@ msgstr "Mostrar a distribución do teclado…"
|
||||
msgid "Localization Settings"
|
||||
msgstr "Configuracións do son"
|
||||
|
||||
#: ../js/ui/status/network.js:109 ../js/ui/status/network.js:1498
|
||||
#: ../js/ui/status/network.js:122 ../js/ui/status/network.js:1428
|
||||
msgid "<unknown>"
|
||||
msgstr "<descoñecida>"
|
||||
|
||||
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
||||
#: ../js/ui/status/network.js:326
|
||||
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch */
|
||||
#: ../js/ui/status/network.js:339
|
||||
msgid "disabled"
|
||||
msgstr "desactivada"
|
||||
|
||||
#: ../js/ui/status/network.js:521
|
||||
#: ../js/ui/status/network.js:538
|
||||
msgid "connecting..."
|
||||
msgstr "conectando..."
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password
|
||||
#: ../js/ui/status/network.js:524
|
||||
#. Translators: this is for network connections that require some kind of key or password */
|
||||
#: ../js/ui/status/network.js:541
|
||||
msgid "authentication required"
|
||||
msgstr "autenticación requirida"
|
||||
|
||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||
#. module, which is missing
|
||||
#: ../js/ui/status/network.js:534
|
||||
#. module, which is missing */
|
||||
#: ../js/ui/status/network.js:551
|
||||
msgid "firmware missing"
|
||||
msgstr "falta o «firmware»"
|
||||
|
||||
#. Translators: this is for wired network devices that are physically disconnected
|
||||
#: ../js/ui/status/network.js:541
|
||||
#. Translators: this is for wired network devices that are physically disconnected */
|
||||
#: ../js/ui/status/network.js:558
|
||||
msgid "cable unplugged"
|
||||
msgstr "cable desconectado"
|
||||
|
||||
#. 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:546
|
||||
#. is disabled by rfkill, or it has no coverage */
|
||||
#: ../js/ui/status/network.js:563
|
||||
msgid "unavailable"
|
||||
msgstr "non dispoñíbel"
|
||||
|
||||
#: ../js/ui/status/network.js:548
|
||||
#: ../js/ui/status/network.js:565
|
||||
msgid "connection failed"
|
||||
msgstr "conexión fallida"
|
||||
|
||||
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
||||
#. and we cannot access its settings (including the name)
|
||||
#: ../js/ui/status/network.js:628 ../js/ui/status/network.js:1446
|
||||
#. and we cannot access its settings (including the name) */
|
||||
#: ../js/ui/status/network.js:646 ../js/ui/status/network.js:1376
|
||||
msgid "Connected (private)"
|
||||
msgstr "Conectado (privado)"
|
||||
|
||||
#: ../js/ui/status/network.js:713
|
||||
#: ../js/ui/status/network.js:731
|
||||
msgid "Auto Ethernet"
|
||||
msgstr "Ethernet automática"
|
||||
|
||||
#: ../js/ui/status/network.js:788
|
||||
#: ../js/ui/status/network.js:799
|
||||
msgid "Auto broadband"
|
||||
msgstr "Banda larga automática"
|
||||
|
||||
#: ../js/ui/status/network.js:791
|
||||
#: ../js/ui/status/network.js:802
|
||||
msgid "Auto dial-up"
|
||||
msgstr "Por liña conmutada automática"
|
||||
|
||||
#. TRANSLATORS: this the automatic wireless connection name (including the network name)
|
||||
#: ../js/ui/status/network.js:937 ../js/ui/status/network.js:1458
|
||||
#, c-format
|
||||
#. TRANSLATORS: this the automatic wireless connection name (including the network name) */
|
||||
#: ../js/ui/status/network.js:926 ../js/ui/status/network.js:1388
|
||||
#, javascript-format
|
||||
msgid "Auto %s"
|
||||
msgstr "%s automática"
|
||||
|
||||
#: ../js/ui/status/network.js:939
|
||||
#: ../js/ui/status/network.js:928
|
||||
msgid "Auto bluetooth"
|
||||
msgstr "Bluetooth automática"
|
||||
|
||||
#: ../js/ui/status/network.js:1460
|
||||
#: ../js/ui/status/network.js:1390
|
||||
msgid "Auto wireless"
|
||||
msgstr "Sen fíos automática"
|
||||
|
||||
#: ../js/ui/status/network.js:1518
|
||||
#: ../js/ui/status/network.js:1459
|
||||
msgid "More..."
|
||||
msgstr "Máis..."
|
||||
|
||||
#: ../js/ui/status/network.js:1541
|
||||
#: ../js/ui/status/network.js:1482
|
||||
msgid "Enable networking"
|
||||
msgstr "Activar rede"
|
||||
|
||||
#: ../js/ui/status/network.js:1553
|
||||
#: ../js/ui/status/network.js:1494
|
||||
msgid "Wired"
|
||||
msgstr "Con fíos"
|
||||
|
||||
#: ../js/ui/status/network.js:1564
|
||||
#: ../js/ui/status/network.js:1505
|
||||
msgid "Wireless"
|
||||
msgstr "Sen fíos"
|
||||
|
||||
#: ../js/ui/status/network.js:1574
|
||||
#: ../js/ui/status/network.js:1515
|
||||
msgid "Mobile broadband"
|
||||
msgstr "Banda larga móbil"
|
||||
|
||||
#: ../js/ui/status/network.js:1584
|
||||
#: ../js/ui/status/network.js:1525
|
||||
msgid "VPN Connections"
|
||||
msgstr "Conexións VPN"
|
||||
|
||||
#: ../js/ui/status/network.js:1596
|
||||
#: ../js/ui/status/network.js:1537
|
||||
msgid "Network Settings"
|
||||
msgstr "Configuracións da rede"
|
||||
|
||||
#: ../js/ui/status/network.js:1890
|
||||
#, c-format
|
||||
#: ../js/ui/status/network.js:1831
|
||||
#, javascript-format
|
||||
msgid "You're now connected to mobile broadband connection '%s'"
|
||||
msgstr "Vostede está conectado agora á conexión de banda larga móbil «%s»"
|
||||
|
||||
#: ../js/ui/status/network.js:1894
|
||||
#, c-format
|
||||
#: ../js/ui/status/network.js:1835
|
||||
#, javascript-format
|
||||
msgid "You're now connected to wireless network '%s'"
|
||||
msgstr "Vostede está conectado agora á conexión sen fíos «%s»"
|
||||
|
||||
#: ../js/ui/status/network.js:1898
|
||||
#, c-format
|
||||
#: ../js/ui/status/network.js:1839
|
||||
#, javascript-format
|
||||
msgid "You're now connected to wired network '%s'"
|
||||
msgstr "Vostede está conectado agora á conexión con fíos «%s»"
|
||||
|
||||
#: ../js/ui/status/network.js:1902
|
||||
#, c-format
|
||||
#: ../js/ui/status/network.js:1843
|
||||
#, javascript-format
|
||||
msgid "You're now connected to VPN network '%s'"
|
||||
msgstr "Vostede está conectado agora á conexión VPN «%s»"
|
||||
|
||||
#: ../js/ui/status/network.js:1907
|
||||
#, c-format
|
||||
#: ../js/ui/status/network.js:1848
|
||||
#, javascript-format
|
||||
msgid "You're now connected to '%s'"
|
||||
msgstr "Vostede está conectado agora a «%s»"
|
||||
|
||||
#: ../js/ui/status/network.js:1915
|
||||
#: ../js/ui/status/network.js:1856
|
||||
msgid "Connection established"
|
||||
msgstr "Conexión estabelecida"
|
||||
|
||||
#: ../js/ui/status/network.js:2041
|
||||
#: ../js/ui/status/network.js:1982
|
||||
msgid "Networking is disabled"
|
||||
msgstr "A rede está desactivada"
|
||||
|
||||
#: ../js/ui/status/network.js:2166
|
||||
#: ../js/ui/status/network.js:2107
|
||||
msgid "Network Manager"
|
||||
msgstr "Xestor de rede"
|
||||
|
||||
@@ -981,22 +972,20 @@ msgstr "Xestor de rede"
|
||||
msgid "Power Settings"
|
||||
msgstr "Configuracións de enerxía"
|
||||
|
||||
#. 0 is reported when UPower does not have enough data
|
||||
#. to estimate battery life
|
||||
#: ../js/ui/status/power.js:111
|
||||
msgid "Estimating..."
|
||||
msgstr "Estimando…"
|
||||
|
||||
#: ../js/ui/status/power.js:118
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "%d hour remaining"
|
||||
msgid_plural "%d hours remaining"
|
||||
msgstr[0] "%d hora restante"
|
||||
msgstr[1] "%d horas restante"
|
||||
|
||||
#. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining"
|
||||
#. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" */
|
||||
#: ../js/ui/status/power.js:121
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "%d %s %d %s remaining"
|
||||
msgstr "%d %s %d %s retante"
|
||||
|
||||
@@ -1013,7 +1002,7 @@ msgstr[0] "minuto"
|
||||
msgstr[1] "minutos"
|
||||
|
||||
#: ../js/ui/status/power.js:126
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "%d minute remaining"
|
||||
msgid_plural "%d minutes remaining"
|
||||
msgstr[0] "%d minuto restante"
|
||||
@@ -1076,37 +1065,36 @@ msgid "Microphone"
|
||||
msgstr "Micrófono"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:335
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "%s is online."
|
||||
msgstr "%s está conectado/a."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:340
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "%s is offline."
|
||||
msgstr "%s está desconectado/a."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:343
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "%s is away."
|
||||
msgstr "%s está ausente."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:346
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "%s is busy."
|
||||
msgstr "%s está ocupado/a."
|
||||
|
||||
#. Translators: this is a time format string followed by a date.
|
||||
#. If applicable, replace %X with a strftime format valid for your
|
||||
#. locale, without seconds.
|
||||
#: ../js/ui/telepathyClient.js:484
|
||||
#, no-c-format
|
||||
#. locale, without seconds. */
|
||||
#: ../js/ui/telepathyClient.js:488
|
||||
msgid "Sent at %X on %A"
|
||||
msgstr "Enviado ás %X o %A"
|
||||
|
||||
#. Translators: this is the text displayed
|
||||
#. in the search entry when no search is
|
||||
#. active; it should not exceed ~30
|
||||
#. characters.
|
||||
#. characters. */
|
||||
#: ../js/ui/viewSelector.js:122
|
||||
msgid "Type to search..."
|
||||
msgstr "Teclear para buscar…"
|
||||
@@ -1116,12 +1104,12 @@ msgid "Search"
|
||||
msgstr "Buscar"
|
||||
|
||||
#: ../js/ui/windowAttentionHandler.js:42
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "%s has finished starting"
|
||||
msgstr "%s rematou de iniarse"
|
||||
|
||||
#: ../js/ui/windowAttentionHandler.js:44
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "'%s' is ready"
|
||||
msgstr "«%s» está preparado"
|
||||
|
||||
@@ -1151,7 +1139,7 @@ msgstr "Sons do sistema"
|
||||
msgid "Print version"
|
||||
msgstr "Imprimir versión"
|
||||
|
||||
#: ../src/shell-app.c:454
|
||||
#: ../src/shell-app.c:464
|
||||
#, c-format
|
||||
msgid "Failed to launch '%s'"
|
||||
msgstr "Produciuse un fallo ao iniciar «%s»"
|
||||
|
265
po/he.po
@@ -8,11 +8,10 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-05-13 13:23+0300\n"
|
||||
"PO-Revision-Date: 2011-05-13 13:23+0200\n"
|
||||
"POT-Creation-Date: 2011-03-26 00:54+0200\n"
|
||||
"PO-Revision-Date: 2011-03-26 00:55+0200\n"
|
||||
"Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>\n"
|
||||
"Language-Team: Hebrew <sh.yaron@gmail.com>\n"
|
||||
"Language: he\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -63,7 +62,7 @@ msgstr "History for command (Alt-F2) dialog"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:7
|
||||
msgid "History for the looking glass dialog"
|
||||
msgstr "History for the looking glass dialog"
|
||||
msgstr "היסטוריית תיבת הדו־שיח של זכוכית המגדלת"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:8
|
||||
msgid "If true, display date in the clock, in addition to time."
|
||||
@@ -188,27 +187,27 @@ msgid "Execution of '%s' failed:"
|
||||
msgstr "ההרצה של '%s' נכשלה:"
|
||||
|
||||
#. Translators: Filter to display all applications
|
||||
#: ../js/ui/appDisplay.js:260
|
||||
#: ../js/ui/appDisplay.js:230
|
||||
msgid "All"
|
||||
msgstr "הכול"
|
||||
|
||||
#: ../js/ui/appDisplay.js:359
|
||||
#: ../js/ui/appDisplay.js:328
|
||||
msgid "APPLICATIONS"
|
||||
msgstr "יישומים"
|
||||
|
||||
#: ../js/ui/appDisplay.js:385
|
||||
#: ../js/ui/appDisplay.js:354
|
||||
msgid "SETTINGS"
|
||||
msgstr "הגדרות"
|
||||
|
||||
#: ../js/ui/appDisplay.js:658
|
||||
#: ../js/ui/appDisplay.js:625
|
||||
msgid "New Window"
|
||||
msgstr "חלון חדש"
|
||||
|
||||
#: ../js/ui/appDisplay.js:661
|
||||
#: ../js/ui/appDisplay.js:628
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "הסרה מהמועדפים"
|
||||
|
||||
#: ../js/ui/appDisplay.js:662
|
||||
#: ../js/ui/appDisplay.js:629
|
||||
msgid "Add to Favorites"
|
||||
msgstr "הוספה למועדפים"
|
||||
|
||||
@@ -341,13 +340,13 @@ msgid "Nothing Scheduled"
|
||||
msgstr "היומן ריק"
|
||||
|
||||
#. Translators: Shown on calendar heading when selected day occurs on current year
|
||||
#: ../js/ui/calendar.js:720 ../js/ui/telepathyClient.js:490
|
||||
#: ../js/ui/calendar.js:720
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, ה־%e ב%B"
|
||||
|
||||
#. Translators: Shown on calendar heading when selected day occurs on different year
|
||||
#: ../js/ui/calendar.js:723 ../js/ui/telepathyClient.js:493
|
||||
#: ../js/ui/calendar.js:723
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%A, ה־%e ב%B, %Y"
|
||||
@@ -368,7 +367,7 @@ msgstr "השבוע"
|
||||
msgid "Next week"
|
||||
msgstr "בשבוע הבא"
|
||||
|
||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1037
|
||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1000
|
||||
msgid "Remove"
|
||||
msgstr "הסרה"
|
||||
|
||||
@@ -493,8 +492,8 @@ msgstr "המערכת תופעל מחדש בעוד %d שניות."
|
||||
msgid "Restarting the system."
|
||||
msgstr "המערכת מופעלת מחדש"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:413 ../js/ui/polkitAuthenticationAgent.js:172
|
||||
#: ../js/ui/status/bluetooth.js:491
|
||||
#: ../js/ui/endSessionDialog.js:415 ../js/ui/polkitAuthenticationAgent.js:172
|
||||
#: ../js/ui/status/bluetooth.js:466
|
||||
msgid "Cancel"
|
||||
msgstr "ביטול"
|
||||
|
||||
@@ -528,11 +527,11 @@ msgstr "צפייה במקור"
|
||||
msgid "Web Page"
|
||||
msgstr "דף אינטרנט"
|
||||
|
||||
#: ../js/ui/messageTray.js:1030
|
||||
#: ../js/ui/messageTray.js:993
|
||||
msgid "Open"
|
||||
msgstr "פתיחה"
|
||||
|
||||
#: ../js/ui/messageTray.js:2194
|
||||
#: ../js/ui/messageTray.js:2151
|
||||
msgid "System Information"
|
||||
msgstr "פרטי המערכת"
|
||||
|
||||
@@ -555,18 +554,18 @@ msgid "Dash"
|
||||
msgstr "חלונית"
|
||||
|
||||
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
||||
#: ../js/ui/panel.js:533
|
||||
#: ../js/ui/panel.js:515
|
||||
#, c-format
|
||||
msgid "Quit %s"
|
||||
msgstr "יציאה מ־%s"
|
||||
|
||||
#. Button on the left side of the panel.
|
||||
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
|
||||
#: ../js/ui/panel.js:913
|
||||
#: ../js/ui/panel.js:878
|
||||
msgid "Activities"
|
||||
msgstr "פעילויות"
|
||||
|
||||
#: ../js/ui/panel.js:1015
|
||||
#: ../js/ui/panel.js:979
|
||||
msgid "Top Bar"
|
||||
msgstr "הסרגל העליון"
|
||||
|
||||
@@ -599,15 +598,11 @@ msgstr "מנהל"
|
||||
msgid "Authenticate"
|
||||
msgstr "אימות"
|
||||
|
||||
#. Translators: "that didn't work" refers to the fact that the
|
||||
#. * requested authentication was not gained; this can happen
|
||||
#. * because of an authentication error (like invalid password),
|
||||
#. * for instance.
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:264
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:260
|
||||
msgid "Sorry, that didn't work. Please try again."
|
||||
msgstr "פעולה זו לא הצליחה, נא לנסות שוב. עמך הסליחה."
|
||||
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:276
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:272
|
||||
msgid "Password:"
|
||||
msgstr "ססמה:"
|
||||
|
||||
@@ -624,11 +619,11 @@ msgstr "toggle-switch-intl"
|
||||
msgid "Please enter a command:"
|
||||
msgstr "נא להזין פקודה:"
|
||||
|
||||
#: ../js/ui/searchDisplay.js:313
|
||||
#: ../js/ui/searchDisplay.js:310
|
||||
msgid "Searching..."
|
||||
msgstr "בחיפוש..."
|
||||
|
||||
#: ../js/ui/searchDisplay.js:327
|
||||
#: ../js/ui/searchDisplay.js:324
|
||||
msgid "No matching results."
|
||||
msgstr "אין תוצאות תואמות."
|
||||
|
||||
@@ -643,7 +638,7 @@ msgstr "השהיה"
|
||||
|
||||
#: ../js/ui/statusMenu.js:184
|
||||
msgid "Available"
|
||||
msgstr "פנוי"
|
||||
msgstr "זמין"
|
||||
|
||||
#: ../js/ui/statusMenu.js:189
|
||||
msgid "Busy"
|
||||
@@ -711,9 +706,9 @@ msgstr "ניגודיות גבוהה"
|
||||
msgid "Large Text"
|
||||
msgstr "טקסט גדול"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:264
|
||||
#: ../js/ui/status/bluetooth.js:358 ../js/ui/status/bluetooth.js:392
|
||||
#: ../js/ui/status/bluetooth.js:432 ../js/ui/status/bluetooth.js:465
|
||||
#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:237
|
||||
#: ../js/ui/status/bluetooth.js:333 ../js/ui/status/bluetooth.js:367
|
||||
#: ../js/ui/status/bluetooth.js:407 ../js/ui/status/bluetooth.js:440
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
@@ -726,101 +721,101 @@ msgid "Send Files to Device..."
|
||||
msgstr "שליחת קובץ להתקן..."
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:70
|
||||
msgid "Set up a New Device..."
|
||||
msgid "Setup a New Device..."
|
||||
msgstr "הגדרת התקן חדש..."
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:95
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "הגדרות Bluetooth"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:215
|
||||
#: ../js/ui/status/bluetooth.js:188
|
||||
msgid "Connection"
|
||||
msgstr "חיבור"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:251
|
||||
#: ../js/ui/status/bluetooth.js:224
|
||||
msgid "Send Files..."
|
||||
msgstr "שליחת קבצים..."
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:256
|
||||
#: ../js/ui/status/bluetooth.js:229
|
||||
msgid "Browse Files..."
|
||||
msgstr "עיון בקבצים..."
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:265
|
||||
#: ../js/ui/status/bluetooth.js:238
|
||||
msgid "Error browsing device"
|
||||
msgstr "שגיאה בעיון בהתקן"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:266
|
||||
#: ../js/ui/status/bluetooth.js:239
|
||||
#, c-format
|
||||
msgid "The requested device cannot be browsed, error is '%s'"
|
||||
msgstr "לא ניתן לעיין בהתקן הנבחר, השגיאה היא '%s'"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:274
|
||||
#: ../js/ui/status/bluetooth.js:247
|
||||
msgid "Keyboard Settings"
|
||||
msgstr "הגדרות מקלדת"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:279
|
||||
#: ../js/ui/status/bluetooth.js:252
|
||||
msgid "Mouse Settings"
|
||||
msgstr "הגדרות עכבר"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:286 ../js/ui/status/volume.js:66
|
||||
#: ../js/ui/status/bluetooth.js:259 ../js/ui/status/volume.js:66
|
||||
msgid "Sound Settings"
|
||||
msgstr "הגדרות שמע"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:393
|
||||
#: ../js/ui/status/bluetooth.js:368
|
||||
#, c-format
|
||||
msgid "Authorization request from %s"
|
||||
msgstr "בקשת אישור מאת %s"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:399
|
||||
#: ../js/ui/status/bluetooth.js:374
|
||||
#, c-format
|
||||
msgid "Device %s wants access to the service '%s'"
|
||||
msgstr "ההתקן %s מעוניין לגשת אל השירות '%s'"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:401
|
||||
#: ../js/ui/status/bluetooth.js:376
|
||||
msgid "Always grant access"
|
||||
msgstr "תמיד להעניק גישה"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:402
|
||||
#: ../js/ui/status/bluetooth.js:377
|
||||
msgid "Grant this time only"
|
||||
msgstr "הענקת גישה הפעם בלבד"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:403
|
||||
#: ../js/ui/status/bluetooth.js:378
|
||||
msgid "Reject"
|
||||
msgstr "סירוב"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:433
|
||||
#: ../js/ui/status/bluetooth.js:408
|
||||
#, c-format
|
||||
msgid "Pairing confirmation for %s"
|
||||
msgstr "אישור צימוד עבור %s"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:439 ../js/ui/status/bluetooth.js:473
|
||||
#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:448
|
||||
#, c-format
|
||||
msgid "Device %s wants to pair with this computer"
|
||||
msgstr "ההתקן %s מעוניין בצימוד עם מחשב זה"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:440
|
||||
#: ../js/ui/status/bluetooth.js:415
|
||||
#, c-format
|
||||
msgid "Please confirm whether the PIN '%s' matches the one on the device."
|
||||
msgstr "נא לאשר האם קוד ה־PIN '%s' תואם את זה שמופיע בהתקן."
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:442
|
||||
#: ../js/ui/status/bluetooth.js:417
|
||||
msgid "Matches"
|
||||
msgstr "התאמות"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:443
|
||||
#: ../js/ui/status/bluetooth.js:418
|
||||
msgid "Does not match"
|
||||
msgstr "אינו תואם"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:466
|
||||
#: ../js/ui/status/bluetooth.js:441
|
||||
#, c-format
|
||||
msgid "Pairing request for %s"
|
||||
msgstr "בקשת צימוד עבור %s"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:474
|
||||
#: ../js/ui/status/bluetooth.js:449
|
||||
msgid "Please enter the PIN mentioned on the device."
|
||||
msgstr "נא להזין את קוד ה־PIN המוזכר בהתקן."
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:490
|
||||
#: ../js/ui/status/bluetooth.js:465
|
||||
msgid "OK"
|
||||
msgstr "אישור"
|
||||
|
||||
@@ -832,139 +827,139 @@ msgstr "הצגת פריסת המקלדת..."
|
||||
msgid "Localization Settings"
|
||||
msgstr "הגדרות אזוריות"
|
||||
|
||||
#: ../js/ui/status/network.js:126
|
||||
#: ../js/ui/status/network.js:104 ../js/ui/status/network.js:1453
|
||||
msgid "<unknown>"
|
||||
msgstr "<לא ידוע>"
|
||||
|
||||
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
||||
#: ../js/ui/status/network.js:343
|
||||
#: ../js/ui/status/network.js:311
|
||||
msgid "disabled"
|
||||
msgstr "מנוטרל"
|
||||
|
||||
#: ../js/ui/status/network.js:542
|
||||
#: ../js/ui/status/network.js:494
|
||||
msgid "connecting..."
|
||||
msgstr "בהתחברות..."
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password
|
||||
#: ../js/ui/status/network.js:545
|
||||
#: ../js/ui/status/network.js:497
|
||||
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:555
|
||||
#: ../js/ui/status/network.js:507
|
||||
msgid "firmware missing"
|
||||
msgstr "הקושחה חסרה"
|
||||
|
||||
#. Translators: this is for wired network devices that are physically disconnected
|
||||
#: ../js/ui/status/network.js:562
|
||||
#: ../js/ui/status/network.js:514
|
||||
msgid "cable unplugged"
|
||||
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:567
|
||||
#: ../js/ui/status/network.js:519
|
||||
msgid "unavailable"
|
||||
msgstr "לא זמין"
|
||||
|
||||
#: ../js/ui/status/network.js:569
|
||||
#: ../js/ui/status/network.js:521
|
||||
msgid "connection failed"
|
||||
msgstr "החיבור נכשל"
|
||||
|
||||
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
||||
#. and we cannot access its settings (including the name)
|
||||
#: ../js/ui/status/network.js:650 ../js/ui/status/network.js:1459
|
||||
#: ../js/ui/status/network.js:601 ../js/ui/status/network.js:1401
|
||||
msgid "Connected (private)"
|
||||
msgstr "מחובר (פרטי)"
|
||||
|
||||
#: ../js/ui/status/network.js:735
|
||||
#: ../js/ui/status/network.js:682
|
||||
msgid "Auto Ethernet"
|
||||
msgstr "אתרנט אוטומטי"
|
||||
|
||||
#: ../js/ui/status/network.js:803
|
||||
#: ../js/ui/status/network.js:757
|
||||
msgid "Auto broadband"
|
||||
msgstr "פס רחב אוטומטי"
|
||||
|
||||
#: ../js/ui/status/network.js:806
|
||||
#: ../js/ui/status/network.js:760
|
||||
msgid "Auto dial-up"
|
||||
msgstr "חיוג אוטומטי"
|
||||
|
||||
#. TRANSLATORS: this the automatic wireless connection name (including the network name)
|
||||
#: ../js/ui/status/network.js:930 ../js/ui/status/network.js:1471
|
||||
#: ../js/ui/status/network.js:903 ../js/ui/status/network.js:1413
|
||||
#, c-format
|
||||
msgid "Auto %s"
|
||||
msgstr "%s אוטומטי"
|
||||
|
||||
#: ../js/ui/status/network.js:932
|
||||
#: ../js/ui/status/network.js:905
|
||||
msgid "Auto bluetooth"
|
||||
msgstr "Bluetooth אוטומטי"
|
||||
|
||||
#: ../js/ui/status/network.js:1473
|
||||
#: ../js/ui/status/network.js:1415
|
||||
msgid "Auto wireless"
|
||||
msgstr "אלחוטי אוטומטי"
|
||||
|
||||
#: ../js/ui/status/network.js:1521
|
||||
#: ../js/ui/status/network.js:1473
|
||||
msgid "More..."
|
||||
msgstr "עוד..."
|
||||
|
||||
#: ../js/ui/status/network.js:1563
|
||||
#: ../js/ui/status/network.js:1496
|
||||
msgid "Enable networking"
|
||||
msgstr "הפעלת תכונת הרשת"
|
||||
|
||||
#: ../js/ui/status/network.js:1575
|
||||
#: ../js/ui/status/network.js:1508
|
||||
msgid "Wired"
|
||||
msgstr "קווי"
|
||||
|
||||
#: ../js/ui/status/network.js:1586
|
||||
#: ../js/ui/status/network.js:1519
|
||||
msgid "Wireless"
|
||||
msgstr "אלחוטי"
|
||||
|
||||
#: ../js/ui/status/network.js:1596
|
||||
#: ../js/ui/status/network.js:1529
|
||||
msgid "Mobile broadband"
|
||||
msgstr "פס־רחב נייד"
|
||||
|
||||
#: ../js/ui/status/network.js:1606
|
||||
#: ../js/ui/status/network.js:1539
|
||||
msgid "VPN Connections"
|
||||
msgstr "חיבורי VPN"
|
||||
|
||||
#: ../js/ui/status/network.js:1618
|
||||
#: ../js/ui/status/network.js:1548
|
||||
msgid "Network Settings"
|
||||
msgstr "הגדרות הרשת"
|
||||
|
||||
#: ../js/ui/status/network.js:1912
|
||||
#: ../js/ui/status/network.js:1843
|
||||
#, c-format
|
||||
msgid "You're now connected to mobile broadband connection '%s'"
|
||||
msgstr "כרגע ישנו חיבור בינך ובין רשת הפס הרחב הניידת '%s'"
|
||||
|
||||
#: ../js/ui/status/network.js:1916
|
||||
#: ../js/ui/status/network.js:1847
|
||||
#, c-format
|
||||
msgid "You're now connected to wireless network '%s'"
|
||||
msgstr "כרגע ישנו חיבור בינך ובין הרשת האלחוטית '%s'"
|
||||
|
||||
#: ../js/ui/status/network.js:1920
|
||||
#: ../js/ui/status/network.js:1851
|
||||
#, c-format
|
||||
msgid "You're now connected to wired network '%s'"
|
||||
msgstr "כרגע ישנו חיבור בינך ובין הרשת הקווית '%s'"
|
||||
|
||||
#: ../js/ui/status/network.js:1924
|
||||
#: ../js/ui/status/network.js:1855
|
||||
#, c-format
|
||||
msgid "You're now connected to VPN network '%s'"
|
||||
msgstr "כרגע ישנו חיבור בינך ובין רשת ה־VPN '%s'"
|
||||
|
||||
#: ../js/ui/status/network.js:1929
|
||||
#: ../js/ui/status/network.js:1860
|
||||
#, c-format
|
||||
msgid "You're now connected to '%s'"
|
||||
msgstr "כעת ישנו חיבור בינך ובין '%s'"
|
||||
|
||||
#: ../js/ui/status/network.js:1937
|
||||
#: ../js/ui/status/network.js:1868
|
||||
msgid "Connection established"
|
||||
msgstr "ההתחברות הצליחה"
|
||||
|
||||
#: ../js/ui/status/network.js:2063
|
||||
#: ../js/ui/status/network.js:1990
|
||||
msgid "Networking is disabled"
|
||||
msgstr "תכונת הרשת מנוטרלת"
|
||||
|
||||
#: ../js/ui/status/network.js:2188
|
||||
#: ../js/ui/status/network.js:2115
|
||||
msgid "Network Manager"
|
||||
msgstr "מנהל הרשתות"
|
||||
|
||||
@@ -1070,22 +1065,22 @@ msgstr "עצמה"
|
||||
msgid "Microphone"
|
||||
msgstr "מיקרופון"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:333
|
||||
#: ../js/ui/telepathyClient.js:331
|
||||
#, c-format
|
||||
msgid "%s is online."
|
||||
msgstr "%s התחבר/ה."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:338
|
||||
#: ../js/ui/telepathyClient.js:336
|
||||
#, c-format
|
||||
msgid "%s is offline."
|
||||
msgstr "%s התנתק/ה."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:341
|
||||
#: ../js/ui/telepathyClient.js:339
|
||||
#, c-format
|
||||
msgid "%s is away."
|
||||
msgstr "'%s' מרוחק/ת."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:344
|
||||
#: ../js/ui/telepathyClient.js:342
|
||||
#, c-format
|
||||
msgid "%s is busy."
|
||||
msgstr "%s עסוק/ה."
|
||||
@@ -1093,18 +1088,11 @@ msgstr "%s עסוק/ה."
|
||||
#. Translators: this is a time format string followed by a date.
|
||||
#. If applicable, replace %X with a strftime format valid for your
|
||||
#. locale, without seconds.
|
||||
#: ../js/ui/telepathyClient.js:482
|
||||
#: ../js/ui/telepathyClient.js:473
|
||||
#, no-c-format
|
||||
msgid "Sent at %X on %A"
|
||||
msgstr "נשלח ב־%X בשעה %A"
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#: ../js/ui/telepathyClient.js:527
|
||||
#, c-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "השם של %s הוחלף ל־%s"
|
||||
|
||||
#. Translators: this is the text displayed
|
||||
#. in the search entry when no search is
|
||||
#. active; it should not exceed ~30
|
||||
@@ -1151,15 +1139,51 @@ msgstr[2] "2 קלטים"
|
||||
msgid "System Sounds"
|
||||
msgstr "צלילי מערכת"
|
||||
|
||||
#: ../src/main.c:445
|
||||
#: ../src/main.c:446
|
||||
msgid "Print version"
|
||||
msgstr "Print version"
|
||||
|
||||
#: ../src/shell-app.c:464
|
||||
#: ../src/shell-app.c:454
|
||||
#, c-format
|
||||
msgid "Failed to launch '%s'"
|
||||
msgstr "אירע כשל בטעינת '%s'"
|
||||
|
||||
#: ../src/shell-global.c:1395
|
||||
msgid "Less than a minute ago"
|
||||
msgstr "לפני פחות מדקה"
|
||||
|
||||
#: ../src/shell-global.c:1399
|
||||
#, c-format
|
||||
msgid "%d minute ago"
|
||||
msgid_plural "%d minutes ago"
|
||||
msgstr[0] "לפני דקה"
|
||||
msgstr[1] "לפני %d דקות"
|
||||
msgstr[2] "לפני 2 דקות"
|
||||
|
||||
#: ../src/shell-global.c:1404
|
||||
#, c-format
|
||||
msgid "%d hour ago"
|
||||
msgid_plural "%d hours ago"
|
||||
msgstr[0] "לפני שעה"
|
||||
msgstr[1] "לפני %d שעות"
|
||||
msgstr[2] "לפני שעתיים"
|
||||
|
||||
#: ../src/shell-global.c:1409
|
||||
#, c-format
|
||||
msgid "%d day ago"
|
||||
msgid_plural "%d days ago"
|
||||
msgstr[0] "לפני יום"
|
||||
msgstr[1] "לפני %d ימים"
|
||||
msgstr[2] "לפני יומיים"
|
||||
|
||||
#: ../src/shell-global.c:1414
|
||||
#, c-format
|
||||
msgid "%d week ago"
|
||||
msgid_plural "%d weeks ago"
|
||||
msgstr[0] "לפני שבוע"
|
||||
msgstr[1] "לפני %d שבועות"
|
||||
msgstr[2] "לפני שבועיים"
|
||||
|
||||
#: ../src/shell-mobile-providers.c:80
|
||||
msgid "United Kingdom"
|
||||
msgstr "בריטניה"
|
||||
@@ -1192,33 +1216,6 @@ msgstr "מערכת הקבצים"
|
||||
msgid "%1$s: %2$s"
|
||||
msgstr "%1$s: %2$s"
|
||||
|
||||
#~ msgid "Less than a minute ago"
|
||||
#~ msgstr "לפני פחות מדקה"
|
||||
|
||||
#~ msgid "%d minute ago"
|
||||
#~ msgid_plural "%d minutes ago"
|
||||
#~ msgstr[0] "לפני דקה"
|
||||
#~ msgstr[1] "לפני %d דקות"
|
||||
#~ msgstr[2] "לפני 2 דקות"
|
||||
|
||||
#~ msgid "%d hour ago"
|
||||
#~ msgid_plural "%d hours ago"
|
||||
#~ msgstr[0] "לפני שעה"
|
||||
#~ msgstr[1] "לפני %d שעות"
|
||||
#~ msgstr[2] "לפני שעתיים"
|
||||
|
||||
#~ msgid "%d day ago"
|
||||
#~ msgid_plural "%d days ago"
|
||||
#~ msgstr[0] "לפני יום"
|
||||
#~ msgstr[1] "לפני %d ימים"
|
||||
#~ msgstr[2] "לפני יומיים"
|
||||
|
||||
#~ msgid "%d week ago"
|
||||
#~ msgid_plural "%d weeks ago"
|
||||
#~ msgstr[0] "לפני שבוע"
|
||||
#~ msgstr[1] "לפני %d שבועות"
|
||||
#~ msgstr[2] "לפני שבועיים"
|
||||
|
||||
#~ msgid "Shut Down"
|
||||
#~ msgstr "כיבוי"
|
||||
|
||||
@@ -1431,19 +1428,17 @@ msgstr "%1$s: %2$s"
|
||||
#~ msgid ""
|
||||
#~ "This key specifies the hour format used by the panel clock. Possible "
|
||||
#~ "values are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to "
|
||||
#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. "
|
||||
#~ "1970-01-01. If set to \"custom\", the clock will display time according "
|
||||
#~ "to the format specified in the custom_format key. Note that if set to "
|
||||
#~ "either \"unix\" or \"custom\", the show_date and show_seconds keys are "
|
||||
#~ "ignored."
|
||||
#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. 1970-"
|
||||
#~ "01-01. If set to \"custom\", the clock will display time according to the "
|
||||
#~ "format specified in the custom_format key. Note that if set to either "
|
||||
#~ "\"unix\" or \"custom\", the show_date and show_seconds keys are ignored."
|
||||
#~ msgstr ""
|
||||
#~ "This key specifies the hour format used by the panel clock. Possible "
|
||||
#~ "values are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to "
|
||||
#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. "
|
||||
#~ "1970-01-01. If set to \"custom\", the clock will display time according "
|
||||
#~ "to the format specified in the custom_format key. Note that if set to "
|
||||
#~ "either \"unix\" or \"custom\", the show_date and show_seconds keys are "
|
||||
#~ "ignored."
|
||||
#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. 1970-"
|
||||
#~ "01-01. If set to \"custom\", the clock will display time according to the "
|
||||
#~ "format specified in the custom_format key. Note that if set to either "
|
||||
#~ "\"unix\" or \"custom\", the show_date and show_seconds keys are ignored."
|
||||
|
||||
#~ msgid "Clock Format"
|
||||
#~ msgstr "מבנה השעון"
|
||||
|
457
po/hu.po
@@ -3,20 +3,22 @@
|
||||
# This file is distributed under the same license as the gnome-shell package.
|
||||
#
|
||||
# Gabor Kelemen <kelemeng at gnome dot hu>, 2009, 2010, 2011.
|
||||
# Balázs Úr <urbalazs at gmail dot com>, 2013.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-04-01 13:34+0200\n"
|
||||
"PO-Revision-Date: 2011-04-01 13:36+0200\n"
|
||||
"Last-Translator: Gabor Kelemen <kelemeng at gnome dot hu>\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-10-07 16:43+0000\n"
|
||||
"PO-Revision-Date: 2013-10-13 13:38+0200\n"
|
||||
"Last-Translator: Balázs Úr <urbalazs at gmail dot com>\n"
|
||||
"Language-Team: Hungarian <gnome at fsf dot hu>\n"
|
||||
"Language: \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: KBabel 1.11.4\n"
|
||||
"X-Generator: Lokalize 1.2\n"
|
||||
|
||||
#: ../data/gnome-shell.desktop.in.in.h:1
|
||||
msgid "GNOME Shell"
|
||||
@@ -27,6 +29,12 @@ msgid "Window management and application launching"
|
||||
msgstr "Ablakkezelés és alkalmazásindítás"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:1
|
||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
|
||||
msgstr ""
|
||||
"Fejlesztők és tesztelők számára hasznos belső eszközök engedélyezése az Alt-"
|
||||
"F2 ablakból"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:2
|
||||
msgid ""
|
||||
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
|
||||
"dialog."
|
||||
@@ -34,21 +42,11 @@ msgstr ""
|
||||
"Belső hibakereső és megfigyelő eszközök elérésének engedélyezése az Alt-F2 "
|
||||
"ablak használatával."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:2
|
||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
|
||||
msgstr ""
|
||||
"Fejlesztők és tesztelők számára hasznos belső eszközök engedélyezése az Alt-"
|
||||
"F2 ablakból"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:3
|
||||
msgid "File extension used for storing the screencast"
|
||||
msgstr "A képernyővideó tárolásához használt fájlkiterjesztés"
|
||||
msgid "Uuids of extensions to disable"
|
||||
msgstr "Letiltandó kiterjesztések uuid-jei"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:4
|
||||
msgid "Framerate used for recording screencasts."
|
||||
msgstr "A képernyővideók felvételéhez használt képkockasebesség."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:5
|
||||
msgid ""
|
||||
"GNOME Shell extensions have a uuid property; this key lists extensions which "
|
||||
"should not be loaded."
|
||||
@@ -56,31 +54,87 @@ msgstr ""
|
||||
"A GNOME Shell kiterjesztések rendelkeznek egy uuid tulajdonsággal; ez a "
|
||||
"kulcs felsorolja a be nem töltendő kiterjesztéseket."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:5
|
||||
msgid "Whether to collect stats about applications usage"
|
||||
msgstr "Statisztikák gyűjtése alkalmazások használatáról"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:6
|
||||
msgid "History for command (Alt-F2) dialog"
|
||||
msgstr "A parancsablak (Alt-F2) előzményei"
|
||||
msgid ""
|
||||
"The shell normally monitors active applications in order to present the most "
|
||||
"used ones (e.g. in launchers). While this data will be kept private, you may "
|
||||
"want to disable this for privacy reasons. Please note that doing so won't "
|
||||
"remove already saved data."
|
||||
msgstr ""
|
||||
"A Shell általában figyeli az aktív alkalmazásokat a legtöbbet használtak "
|
||||
"megjelenítése érdekében (például az indítóikonokban). Noha ezek az adatok "
|
||||
"titkosak maradnak, magánszférájának védelme érdekében letilthatja ezek "
|
||||
"gyűjtését. Ne feledje, hogy ez nem fogja a már mentett adatokat törölni."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:7
|
||||
msgid "History for the looking glass dialog"
|
||||
msgstr "A távcső ablak előzményei"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:8
|
||||
msgid "If true, display date in the clock, in addition to time."
|
||||
msgstr "Az idő mellett a dátum is jelenjen meg."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:9
|
||||
msgid "If true, display seconds in time."
|
||||
msgstr "A másodpercek is jelenjenek meg."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:10
|
||||
msgid "If true, display the ISO week date in the calendar."
|
||||
msgstr "Ha igazra van állítva, a naptárban megjelenik az ISO hétszám."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:11
|
||||
msgid "List of desktop file IDs for favorite applications"
|
||||
msgstr "A kedvenc alkalmazások asztalifájl-azonosítóinak listája"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:8
|
||||
msgid ""
|
||||
"The applications corresponding to these identifiers will be displayed in the "
|
||||
"favorites area."
|
||||
msgstr ""
|
||||
"Az itt felsorolt azonosítóknak megfelelő alkalmazások jelennek meg a "
|
||||
"kedvencek területen."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:9
|
||||
msgid "disabled OpenSearch providers"
|
||||
msgstr "kikapcsolt OpenSearch szolgáltatók"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:10
|
||||
msgid "History for command (Alt-F2) dialog"
|
||||
msgstr "A parancsablak (Alt-F2) előzményei"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:11
|
||||
msgid "History for the looking glass dialog"
|
||||
msgstr "A távcső ablak előzményei"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:12
|
||||
msgid "Show the week date in the calendar"
|
||||
msgstr "Hetek számának megjelenítése a naptárban"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:13
|
||||
msgid "If true, display the ISO week date in the calendar."
|
||||
msgstr "Ha igazra van állítva, a naptárban megjelenik az ISO hétszám."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:14
|
||||
msgid "Show time with seconds"
|
||||
msgstr "Másodpercek megjelenítése"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:15
|
||||
msgid "If true, display seconds in time."
|
||||
msgstr "A másodpercek is jelenjenek meg."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:16
|
||||
msgid "Show date in clock"
|
||||
msgstr "Dátum megjelenítése az órában"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:17
|
||||
msgid "If true, display date in the clock, in addition to time."
|
||||
msgstr "Az idő mellett a dátum is jelenjen meg."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:18
|
||||
msgid "Framerate used for recording screencasts."
|
||||
msgstr "A képernyővideók felvételéhez használt képkockasebesség."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:19
|
||||
msgid ""
|
||||
"The framerate of the resulting screencast recordered by GNOME Shell's "
|
||||
"screencast recorder in frames-per-second."
|
||||
msgstr ""
|
||||
"A GNOME Shell képernyőfelvevője által felvett eredményül kapott "
|
||||
"képernyővideó képkockasebessége képkocka/másodpercben."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:20
|
||||
msgid "The gstreamer pipeline used to encode the screencast"
|
||||
msgstr "A képernyővideó kódolására használt GStreamer adatcsatorna"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:22
|
||||
#, no-c-format
|
||||
msgid ""
|
||||
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
|
||||
@@ -107,27 +161,11 @@ msgstr ""
|
||||
"VP8 kodek használatával. A %T egy helykitöltő, a rendszeren optimális "
|
||||
"szálmennyiség megtippelésére."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:14
|
||||
msgid "Show date in clock"
|
||||
msgstr "Dátum megjelenítése az órában"
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:23
|
||||
msgid "File extension used for storing the screencast"
|
||||
msgstr "A képernyővideó tárolásához használt fájlkiterjesztés"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:15
|
||||
msgid "Show the week date in the calendar"
|
||||
msgstr "Hetek számának megjelenítése a naptárban"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:16
|
||||
msgid "Show time with seconds"
|
||||
msgstr "Másodpercek megjelenítése"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:17
|
||||
msgid ""
|
||||
"The applications corresponding to these identifiers will be displayed in the "
|
||||
"favorites area."
|
||||
msgstr ""
|
||||
"Az itt felsorolt azonosítóknak megfelelő alkalmazások jelennek meg a "
|
||||
"kedvencek területen."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:18
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:24
|
||||
msgid ""
|
||||
"The filename for recorded screencasts will be a unique filename based on the "
|
||||
"current date, and use this extension. It should be changed when recording to "
|
||||
@@ -137,107 +175,69 @@ msgstr ""
|
||||
"névvel, és ezzel a kiterjesztéssel fog rendelkezni. Más tárolóformátumba "
|
||||
"való rögzítéskor módosítani kell."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:19
|
||||
msgid ""
|
||||
"The framerate of the resulting screencast recordered by GNOME Shell's "
|
||||
"screencast recorder in frames-per-second."
|
||||
msgstr ""
|
||||
"A GNOME Shell képernyőfelvevője által felvett eredményül kapott "
|
||||
"képernyővideó képkockasebessége képkocka/másodpercben."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:20
|
||||
msgid "The gstreamer pipeline used to encode the screencast"
|
||||
msgstr "A képernyővideó kódolására használt GStreamer adatcsatorna"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:21
|
||||
msgid ""
|
||||
"The shell normally monitors active applications in order to present the most "
|
||||
"used ones (e.g. in launchers). While this data will be kept private, you may "
|
||||
"want to disable this for privacy reasons. Please note that doing so won't "
|
||||
"remove already saved data."
|
||||
msgstr ""
|
||||
"A Shell általában figyeli az aktív alkalmazásokat a legtöbbet használtak "
|
||||
"megjelenítése érdekében (például az indítóikonokban). Noha ezek az adatok "
|
||||
"titkosak maradnak, magánszférájának védelme érdekében letilthatja ezek "
|
||||
"gyűjtését. Ne feledje, hogy ez nem fogja a már mentett adatokat törölni."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:22
|
||||
msgid "Uuids of extensions to disable"
|
||||
msgstr "Letiltandó kiterjesztések uuid-jei"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:23
|
||||
msgid "Whether to collect stats about applications usage"
|
||||
msgstr "Statisztikák gyűjtése alkalmazások használatáról"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:24
|
||||
msgid "disabled OpenSearch providers"
|
||||
msgstr "kikapcsolt OpenSearch szolgáltatók"
|
||||
|
||||
#: ../js/misc/util.js:71
|
||||
msgid "Command not found"
|
||||
msgstr "A parancs nem található"
|
||||
|
||||
#. Replace "Error invoking GLib.shell_parse_argv: " with
|
||||
#. something nicer
|
||||
#: ../js/misc/util.js:98
|
||||
msgid "Could not parse command:"
|
||||
msgstr "A parancs nem dolgozható fel:"
|
||||
|
||||
#: ../js/misc/util.js:106
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "Execution of '%s' failed:"
|
||||
msgstr "„%s” végrehajtása meghiúsult:"
|
||||
|
||||
#. Translators: Filter to display all applications
|
||||
#: ../js/ui/appDisplay.js:230
|
||||
#. Translators: Filter to display all applications */
|
||||
#: ../js/ui/appDisplay.js:260
|
||||
msgid "All"
|
||||
msgstr "Összes"
|
||||
|
||||
#: ../js/ui/appDisplay.js:328
|
||||
#: ../js/ui/appDisplay.js:359
|
||||
msgid "APPLICATIONS"
|
||||
msgstr "ALKALMAZÁSOK"
|
||||
|
||||
#: ../js/ui/appDisplay.js:354
|
||||
#: ../js/ui/appDisplay.js:385
|
||||
msgid "SETTINGS"
|
||||
msgstr "BEÁLLÍTÁSOK"
|
||||
|
||||
#: ../js/ui/appDisplay.js:625
|
||||
#: ../js/ui/appDisplay.js:656
|
||||
msgid "New Window"
|
||||
msgstr "Új ablak"
|
||||
|
||||
#: ../js/ui/appDisplay.js:628
|
||||
#: ../js/ui/appDisplay.js:659
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Eltávolítás a Kedvencek közül"
|
||||
|
||||
#: ../js/ui/appDisplay.js:629
|
||||
#: ../js/ui/appDisplay.js:660
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Hozzáadás a Kedvencekhez"
|
||||
|
||||
#: ../js/ui/appFavorites.js:91
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "%s has been added to your favorites."
|
||||
msgstr "%s felvéve a Kedvencek közé."
|
||||
|
||||
#: ../js/ui/appFavorites.js:122
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "%s eltávolítva a Kedvencek közül"
|
||||
|
||||
#. Translators: Shown in calendar event list for all day events
|
||||
#. * Keep it short, best if you can use less then 10 characters
|
||||
#.
|
||||
#. */
|
||||
#: ../js/ui/calendar.js:66
|
||||
msgctxt "event list time"
|
||||
msgid "All Day"
|
||||
msgstr "Egész nap"
|
||||
|
||||
#. Translators: Shown in calendar event list, if 24h format
|
||||
#. Translators: Shown in calendar event list, if 24h format */
|
||||
#: ../js/ui/calendar.js:71
|
||||
msgctxt "event list time"
|
||||
msgid "%H:%M"
|
||||
msgstr "%k.%M"
|
||||
|
||||
#. Transators: Shown in calendar event list, if 12h format
|
||||
#. Transators: Shown in calendar event list, if 12h format */
|
||||
#: ../js/ui/calendar.js:78
|
||||
msgctxt "event list time"
|
||||
msgid "%l:%M %p"
|
||||
@@ -247,43 +247,43 @@ msgstr "%p %l.%M"
|
||||
#. *
|
||||
#. * NOTE: These grid abbreviations are always shown together
|
||||
#. * and in order, e.g. "S M T W T F S".
|
||||
#.
|
||||
#. */
|
||||
#: ../js/ui/calendar.js:118
|
||||
msgctxt "grid sunday"
|
||||
msgid "S"
|
||||
msgstr "V"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Monday
|
||||
#. Translators: Calendar grid abbreviation for Monday */
|
||||
#: ../js/ui/calendar.js:120
|
||||
msgctxt "grid monday"
|
||||
msgid "M"
|
||||
msgstr "H"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Tuesday
|
||||
#. Translators: Calendar grid abbreviation for Tuesday */
|
||||
#: ../js/ui/calendar.js:122
|
||||
msgctxt "grid tuesday"
|
||||
msgid "T"
|
||||
msgstr "K"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Wednesday
|
||||
#. Translators: Calendar grid abbreviation for Wednesday */
|
||||
#: ../js/ui/calendar.js:124
|
||||
msgctxt "grid wednesday"
|
||||
msgid "W"
|
||||
msgstr "Sz"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Thursday
|
||||
#. Translators: Calendar grid abbreviation for Thursday */
|
||||
#: ../js/ui/calendar.js:126
|
||||
msgctxt "grid thursday"
|
||||
msgid "T"
|
||||
msgstr "Cs"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Friday
|
||||
#. Translators: Calendar grid abbreviation for Friday */
|
||||
#: ../js/ui/calendar.js:128
|
||||
msgctxt "grid friday"
|
||||
msgid "F"
|
||||
msgstr "P"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Saturday
|
||||
#. Translators: Calendar grid abbreviation for Saturday */
|
||||
#: ../js/ui/calendar.js:130
|
||||
msgctxt "grid saturday"
|
||||
msgid "S"
|
||||
@@ -294,61 +294,69 @@ msgstr "Sz"
|
||||
#. * NOTE: These list abbreviations are normally not shown together
|
||||
#. * so they need to be unique (e.g. Tuesday and Thursday cannot
|
||||
#. * both be 'T').
|
||||
#.
|
||||
#. */
|
||||
#: ../js/ui/calendar.js:143
|
||||
msgctxt "list sunday"
|
||||
msgid "Su"
|
||||
msgstr "V"
|
||||
|
||||
#. Translators: Event list abbreviation for Monday
|
||||
#. Translators: Event list abbreviation for Monday */
|
||||
#: ../js/ui/calendar.js:145
|
||||
msgctxt "list monday"
|
||||
msgid "M"
|
||||
msgstr "H"
|
||||
|
||||
#. Translators: Event list abbreviation for Tuesday
|
||||
#. Translators: Event list abbreviation for Tuesday */
|
||||
#: ../js/ui/calendar.js:147
|
||||
msgctxt "list tuesday"
|
||||
msgid "T"
|
||||
msgstr "K"
|
||||
|
||||
#. Translators: Event list abbreviation for Wednesday
|
||||
#. Translators: Event list abbreviation for Wednesday */
|
||||
#: ../js/ui/calendar.js:149
|
||||
msgctxt "list wednesday"
|
||||
msgid "W"
|
||||
msgstr "Sze"
|
||||
|
||||
#. Translators: Event list abbreviation for Thursday
|
||||
#. Translators: Event list abbreviation for Thursday */
|
||||
#: ../js/ui/calendar.js:151
|
||||
msgctxt "list thursday"
|
||||
msgid "Th"
|
||||
msgstr "Cs"
|
||||
|
||||
#. Translators: Event list abbreviation for Friday
|
||||
#. Translators: Event list abbreviation for Friday */
|
||||
#: ../js/ui/calendar.js:153
|
||||
msgctxt "list friday"
|
||||
msgid "F"
|
||||
msgstr "P"
|
||||
|
||||
#. Translators: Event list abbreviation for Saturday
|
||||
#. Translators: Event list abbreviation for Saturday */
|
||||
#: ../js/ui/calendar.js:155
|
||||
msgctxt "list saturday"
|
||||
msgid "S"
|
||||
msgstr "Szo"
|
||||
|
||||
#. Translators: Text to show if there are no events
|
||||
#: ../js/ui/calendar.js:375 ../js/ui/calendar.js:644
|
||||
msgid "calendar:week_start:0"
|
||||
msgstr "calendar:week_start:1"
|
||||
|
||||
#: ../js/ui/calendar.js:387
|
||||
msgid "calendar:MY"
|
||||
msgstr "calendar:YM"
|
||||
|
||||
#. Translators: Text to show if there are no events */
|
||||
#: ../js/ui/calendar.js:704
|
||||
msgid "Nothing Scheduled"
|
||||
msgstr "Semmi sincs ütemezve"
|
||||
|
||||
#. Translators: Shown on calendar heading when selected day occurs on current year
|
||||
#: ../js/ui/calendar.js:720 ../js/ui/telepathyClient.js:490
|
||||
#. Translators: Shown on calendar heading when selected day occurs on current year */
|
||||
#: ../js/ui/calendar.js:720 ../js/ui/telepathyClient.js:496
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, %B %d"
|
||||
|
||||
#. Translators: Shown on calendar heading when selected day occurs on different year
|
||||
#: ../js/ui/calendar.js:723 ../js/ui/telepathyClient.js:493
|
||||
#. Translators: Shown on calendar heading when selected day occurs on different year */
|
||||
#: ../js/ui/calendar.js:723 ../js/ui/telepathyClient.js:499
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%A, %Y %B %d"
|
||||
@@ -369,7 +377,7 @@ msgstr "Ezen a héten"
|
||||
msgid "Next week"
|
||||
msgstr "Jövő héten"
|
||||
|
||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1007
|
||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1037
|
||||
msgid "Remove"
|
||||
msgstr "Eltávolítás"
|
||||
|
||||
@@ -382,7 +390,7 @@ msgid "Open Calendar"
|
||||
msgstr "Naptár megnyitása"
|
||||
|
||||
#. Translators: This is the time format with date used
|
||||
#. in 24-hour mode.
|
||||
#. in 24-hour mode. */
|
||||
#: ../js/ui/dateMenu.js:164
|
||||
msgid "%a %b %e, %R:%S"
|
||||
msgstr "%a %b %e, %k.%M.%S"
|
||||
@@ -392,7 +400,7 @@ msgid "%a %b %e, %R"
|
||||
msgstr "%a %b %e, %k.%M"
|
||||
|
||||
#. Translators: This is the time format without date used
|
||||
#. in 24-hour mode.
|
||||
#. in 24-hour mode. */
|
||||
#: ../js/ui/dateMenu.js:169
|
||||
msgid "%a %R:%S"
|
||||
msgstr "%a %k.%M.%S"
|
||||
@@ -402,7 +410,7 @@ msgid "%a %R"
|
||||
msgstr "%a %k.%M"
|
||||
|
||||
#. Translators: This is a time format with date used
|
||||
#. for AM/PM.
|
||||
#. for AM/PM. */
|
||||
#: ../js/ui/dateMenu.js:177
|
||||
msgid "%a %b %e, %l:%M:%S %p"
|
||||
msgstr "%a %b %e, %p %l.%M.%S"
|
||||
@@ -412,7 +420,7 @@ msgid "%a %b %e, %l:%M %p"
|
||||
msgstr "%a %b %e, %p %l.%M"
|
||||
|
||||
#. Translators: This is a time format without date used
|
||||
#. for AM/PM.
|
||||
#. for AM/PM. */
|
||||
#: ../js/ui/dateMenu.js:182
|
||||
msgid "%a %l:%M:%S %p"
|
||||
msgstr "%a, %p %l.%M.%S"
|
||||
@@ -423,7 +431,7 @@ msgstr "%a, %p %l.%M"
|
||||
|
||||
#. Translators: This is the date format to use when the calendar popup is
|
||||
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
|
||||
#.
|
||||
#. */
|
||||
#: ../js/ui/dateMenu.js:194
|
||||
msgid "%A %B %e, %Y"
|
||||
msgstr "%Y. %b %e %A"
|
||||
@@ -433,7 +441,7 @@ msgid "RECENT ITEMS"
|
||||
msgstr "LEGUTÓBBI ELEMEK"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:63
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "Log Out %s"
|
||||
msgstr "%s kijelentkeztetése"
|
||||
|
||||
@@ -448,12 +456,12 @@ msgstr ""
|
||||
"kijelentkezéshez a rendszerből."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:66
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "%s will be logged out automatically in %d seconds."
|
||||
msgstr "%s automatikusan ki fog jelentkezni %d másodperc múlva."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:67
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "You will be logged out automatically in %d seconds."
|
||||
msgstr "Automatikusan ki fog jelentkezni %d másodperc múlva."
|
||||
|
||||
@@ -467,10 +475,12 @@ msgstr "Kikapcsolás"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:76
|
||||
msgid "Click Power Off to quit these applications and power off the system."
|
||||
msgstr "Nyomja meg a Kikapcsolás gombot az alkalmazások bezárásához és a rendszer kikapcsolásához."
|
||||
msgstr ""
|
||||
"Nyomja meg a Kikapcsolás gombot az alkalmazások bezárásához és a rendszer "
|
||||
"kikapcsolásához."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:77
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "The system will power off automatically in %d seconds."
|
||||
msgstr "A rendszer automatikusan kikapcsol %d másodperc múlva."
|
||||
|
||||
@@ -490,7 +500,7 @@ msgstr ""
|
||||
"újraindításához."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:90
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "The system will restart automatically in %d seconds."
|
||||
msgstr "A rendszer automatikusan újraindul %d másodperc múlva."
|
||||
|
||||
@@ -498,7 +508,7 @@ msgstr "A rendszer automatikusan újraindul %d másodperc múlva."
|
||||
msgid "Restarting the system."
|
||||
msgstr "A rendszer újraindítása."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:415 ../js/ui/polkitAuthenticationAgent.js:172
|
||||
#: ../js/ui/endSessionDialog.js:413 ../js/ui/polkitAuthenticationAgent.js:172
|
||||
#: ../js/ui/status/bluetooth.js:466
|
||||
msgid "Cancel"
|
||||
msgstr "Mégse"
|
||||
@@ -533,11 +543,11 @@ msgstr "Forrás megtekintése"
|
||||
msgid "Web Page"
|
||||
msgstr "Weblap"
|
||||
|
||||
#: ../js/ui/messageTray.js:1000
|
||||
#: ../js/ui/messageTray.js:1030
|
||||
msgid "Open"
|
||||
msgstr "Megnyitás"
|
||||
|
||||
#: ../js/ui/messageTray.js:2164
|
||||
#: ../js/ui/messageTray.js:2194
|
||||
msgid "System Information"
|
||||
msgstr "Rendszerinformációk"
|
||||
|
||||
@@ -554,30 +564,27 @@ msgid "Applications"
|
||||
msgstr "Alkalmazások"
|
||||
|
||||
# FIXME - valami jobbat
|
||||
#. Translators: this is the name of the dock/favorites area on
|
||||
#. the left of the overview
|
||||
#: ../js/ui/overview.js:205
|
||||
msgid "Dash"
|
||||
msgstr "Dash"
|
||||
|
||||
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
||||
#: ../js/ui/panel.js:524
|
||||
#, c-format
|
||||
#: ../js/ui/panel.js:533
|
||||
#, javascript-format
|
||||
msgid "Quit %s"
|
||||
msgstr "%s bezárása"
|
||||
|
||||
#. Button on the left side of the panel.
|
||||
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
|
||||
#: ../js/ui/panel.js:902
|
||||
#. Button on the left side of the panel. */
|
||||
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". */
|
||||
#: ../js/ui/panel.js:911
|
||||
msgid "Activities"
|
||||
msgstr "Tevékenységek"
|
||||
|
||||
#: ../js/ui/panel.js:1003
|
||||
#: ../js/ui/panel.js:1012
|
||||
msgid "Top Bar"
|
||||
msgstr "Felső sáv"
|
||||
|
||||
#: ../js/ui/placeDisplay.js:122
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "Failed to unmount '%s'"
|
||||
msgstr "„%s” leválasztása meghiúsult"
|
||||
|
||||
@@ -608,7 +615,7 @@ msgstr "Hitelesítés"
|
||||
#. Translators: "that didn't work" refers to the fact that the
|
||||
#. * requested authentication was not gained; this can happen
|
||||
#. * because of an authentication error (like invalid password),
|
||||
#. * for instance.
|
||||
#. * for instance. */
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:264
|
||||
msgid "Sorry, that didn't work. Please try again."
|
||||
msgstr "A hitelesítés sikertelen. Próbálja újra."
|
||||
@@ -617,11 +624,6 @@ msgstr "A hitelesítés sikertelen. Próbálja újra."
|
||||
msgid "Password:"
|
||||
msgstr "Jelszó:"
|
||||
|
||||
#. Translators: this MUST be either "toggle-switch-us"
|
||||
#. (for toggle switches containing the English words
|
||||
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
|
||||
#. switches containing "◯" and "|"). Other values will
|
||||
#. simply result in invisible toggle switches.
|
||||
#: ../js/ui/popupMenu.js:679
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-intl"
|
||||
@@ -630,11 +632,11 @@ msgstr "toggle-switch-intl"
|
||||
msgid "Please enter a command:"
|
||||
msgstr "Adjon meg egy parancsot:"
|
||||
|
||||
#: ../js/ui/searchDisplay.js:310
|
||||
#: ../js/ui/searchDisplay.js:311
|
||||
msgid "Searching..."
|
||||
msgstr "Keresés…"
|
||||
|
||||
#: ../js/ui/searchDisplay.js:324
|
||||
#: ../js/ui/searchDisplay.js:325
|
||||
msgid "No matching results."
|
||||
msgstr "Nincs találat."
|
||||
|
||||
@@ -679,12 +681,6 @@ msgstr "Kijelentkezés…"
|
||||
msgid "Zoom"
|
||||
msgstr "Nagyítás"
|
||||
|
||||
#. let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA,
|
||||
#. 'screen-reader-enabled');
|
||||
#. this.menu.addMenuItem(screenReader);
|
||||
#. let screenKeyboard = this._buildItem(_("Screen Keyboard"), APPLICATIONS_SCHEMA,
|
||||
#. 'screen-keyboard-enabled');
|
||||
#. this.menu.addMenuItem(screenKeyboard);
|
||||
#: ../js/ui/status/accessibility.js:77
|
||||
msgid "Visual Alerts"
|
||||
msgstr "Vizuális figyelmeztetések"
|
||||
@@ -756,7 +752,7 @@ msgid "Error browsing device"
|
||||
msgstr "Hiba az eszköz tallózásakor"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:239
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "The requested device cannot be browsed, error is '%s'"
|
||||
msgstr "A kért eszköz nem tallózható. A hiba: „%s”"
|
||||
|
||||
@@ -773,12 +769,12 @@ msgid "Sound Settings"
|
||||
msgstr "Hangbeállítások"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:368
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "Authorization request from %s"
|
||||
msgstr "Felhatalmazási kérés a következőtől: %s"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:374
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "Device %s wants access to the service '%s'"
|
||||
msgstr "A(z) %s eszköz szeretné használni a(z) „%s” szolgáltatást"
|
||||
|
||||
@@ -795,17 +791,17 @@ msgid "Reject"
|
||||
msgstr "Visszautasítás"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:408
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "Pairing confirmation for %s"
|
||||
msgstr "Párosítás megerősítése ehhez: %s"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:448
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "Device %s wants to pair with this computer"
|
||||
msgstr "Az eszköz (%s) párosítást kér a számítógéppel"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:415
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "Please confirm whether the PIN '%s' matches the one on the device."
|
||||
msgstr "Erősítse meg, hogy a(z) „%s” PIN megegyezik az eszközön lévővel."
|
||||
|
||||
@@ -818,7 +814,7 @@ msgid "Does not match"
|
||||
msgstr "Nem egyezik"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:441
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "Pairing request for %s"
|
||||
msgstr "Párosítási kérés ehhez: %s"
|
||||
|
||||
@@ -838,139 +834,139 @@ msgstr "Billentyűzetkiosztás megjelenítése…"
|
||||
msgid "Localization Settings"
|
||||
msgstr "Lokalizációs beállítások"
|
||||
|
||||
#: ../js/ui/status/network.js:104 ../js/ui/status/network.js:1454
|
||||
#: ../js/ui/status/network.js:122 ../js/ui/status/network.js:1428
|
||||
msgid "<unknown>"
|
||||
msgstr "<ismeretlen>"
|
||||
|
||||
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
||||
#: ../js/ui/status/network.js:311
|
||||
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch */
|
||||
#: ../js/ui/status/network.js:339
|
||||
msgid "disabled"
|
||||
msgstr "tiltva"
|
||||
|
||||
#: ../js/ui/status/network.js:494
|
||||
#: ../js/ui/status/network.js:538
|
||||
msgid "connecting..."
|
||||
msgstr "kapcsolódás…"
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password
|
||||
#: ../js/ui/status/network.js:497
|
||||
#. Translators: this is for network connections that require some kind of key or password */
|
||||
#: ../js/ui/status/network.js:541
|
||||
msgid "authentication required"
|
||||
msgstr "hitelesítés szükséges"
|
||||
|
||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||
#. module, which is missing
|
||||
#: ../js/ui/status/network.js:507
|
||||
#. module, which is missing */
|
||||
#: ../js/ui/status/network.js:551
|
||||
msgid "firmware missing"
|
||||
msgstr "hiányzó firmware"
|
||||
|
||||
#. Translators: this is for wired network devices that are physically disconnected
|
||||
#: ../js/ui/status/network.js:514
|
||||
#. Translators: this is for wired network devices that are physically disconnected */
|
||||
#: ../js/ui/status/network.js:558
|
||||
msgid "cable unplugged"
|
||||
msgstr "vezeték kihúzva"
|
||||
|
||||
#. 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:519
|
||||
#. is disabled by rfkill, or it has no coverage */
|
||||
#: ../js/ui/status/network.js:563
|
||||
msgid "unavailable"
|
||||
msgstr "nem érhető el"
|
||||
|
||||
#: ../js/ui/status/network.js:521
|
||||
#: ../js/ui/status/network.js:565
|
||||
msgid "connection failed"
|
||||
msgstr "a kapcsolódás meghiúsult"
|
||||
|
||||
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
||||
#. and we cannot access its settings (including the name)
|
||||
#: ../js/ui/status/network.js:602 ../js/ui/status/network.js:1402
|
||||
#. and we cannot access its settings (including the name) */
|
||||
#: ../js/ui/status/network.js:646 ../js/ui/status/network.js:1376
|
||||
msgid "Connected (private)"
|
||||
msgstr "Kapcsolódva (privát)"
|
||||
|
||||
#: ../js/ui/status/network.js:683
|
||||
#: ../js/ui/status/network.js:731
|
||||
msgid "Auto Ethernet"
|
||||
msgstr "Auto Ethernet"
|
||||
|
||||
#: ../js/ui/status/network.js:758
|
||||
#: ../js/ui/status/network.js:799
|
||||
msgid "Auto broadband"
|
||||
msgstr "Auto széles sáv"
|
||||
|
||||
#: ../js/ui/status/network.js:761
|
||||
#: ../js/ui/status/network.js:802
|
||||
msgid "Auto dial-up"
|
||||
msgstr "Auto betárcsázós"
|
||||
|
||||
#. TRANSLATORS: this the automatic wireless connection name (including the network name)
|
||||
#: ../js/ui/status/network.js:904 ../js/ui/status/network.js:1414
|
||||
#, c-format
|
||||
#. TRANSLATORS: this the automatic wireless connection name (including the network name) */
|
||||
#: ../js/ui/status/network.js:926 ../js/ui/status/network.js:1388
|
||||
#, javascript-format
|
||||
msgid "Auto %s"
|
||||
msgstr "Auto %s"
|
||||
|
||||
#: ../js/ui/status/network.js:906
|
||||
#: ../js/ui/status/network.js:928
|
||||
msgid "Auto bluetooth"
|
||||
msgstr "Auto Bluetooth"
|
||||
|
||||
#: ../js/ui/status/network.js:1416
|
||||
#: ../js/ui/status/network.js:1390
|
||||
msgid "Auto wireless"
|
||||
msgstr "Auto vezeték nélküli"
|
||||
|
||||
#: ../js/ui/status/network.js:1474
|
||||
#: ../js/ui/status/network.js:1459
|
||||
msgid "More..."
|
||||
msgstr "Több…"
|
||||
|
||||
#: ../js/ui/status/network.js:1497
|
||||
#: ../js/ui/status/network.js:1482
|
||||
msgid "Enable networking"
|
||||
msgstr "Hálózat engedélyezése"
|
||||
|
||||
#: ../js/ui/status/network.js:1509
|
||||
#: ../js/ui/status/network.js:1494
|
||||
msgid "Wired"
|
||||
msgstr "Vezetékes"
|
||||
|
||||
#: ../js/ui/status/network.js:1520
|
||||
#: ../js/ui/status/network.js:1505
|
||||
msgid "Wireless"
|
||||
msgstr "Vezeték nélküli"
|
||||
|
||||
#: ../js/ui/status/network.js:1530
|
||||
#: ../js/ui/status/network.js:1515
|
||||
msgid "Mobile broadband"
|
||||
msgstr "Mobil széles sáv"
|
||||
|
||||
#: ../js/ui/status/network.js:1540
|
||||
#: ../js/ui/status/network.js:1525
|
||||
msgid "VPN Connections"
|
||||
msgstr "VPN kapcsolatok"
|
||||
|
||||
#: ../js/ui/status/network.js:1549
|
||||
#: ../js/ui/status/network.js:1537
|
||||
msgid "Network Settings"
|
||||
msgstr "Hálózati beállítások"
|
||||
|
||||
#: ../js/ui/status/network.js:1844
|
||||
#, c-format
|
||||
#: ../js/ui/status/network.js:1831
|
||||
#, javascript-format
|
||||
msgid "You're now connected to mobile broadband connection '%s'"
|
||||
msgstr "Csatlakozott a(z) „%s” mobil széles sávú kapcsolathoz"
|
||||
|
||||
#: ../js/ui/status/network.js:1848
|
||||
#, c-format
|
||||
#: ../js/ui/status/network.js:1835
|
||||
#, javascript-format
|
||||
msgid "You're now connected to wireless network '%s'"
|
||||
msgstr "Csatlakozott a(z) „%s” vezeték nélküli hálózathoz"
|
||||
|
||||
#: ../js/ui/status/network.js:1852
|
||||
#, c-format
|
||||
#: ../js/ui/status/network.js:1839
|
||||
#, javascript-format
|
||||
msgid "You're now connected to wired network '%s'"
|
||||
msgstr "Csatlakozott a(z) „%s” vezetékes hálózathoz"
|
||||
|
||||
#: ../js/ui/status/network.js:1856
|
||||
#, c-format
|
||||
#: ../js/ui/status/network.js:1843
|
||||
#, javascript-format
|
||||
msgid "You're now connected to VPN network '%s'"
|
||||
msgstr "Csatlakozott a(z) „%s” VPN hálózathoz"
|
||||
|
||||
#: ../js/ui/status/network.js:1861
|
||||
#, c-format
|
||||
#: ../js/ui/status/network.js:1848
|
||||
#, javascript-format
|
||||
msgid "You're now connected to '%s'"
|
||||
msgstr "Csatlakozott ehhez: „%s”"
|
||||
|
||||
#: ../js/ui/status/network.js:1869
|
||||
#: ../js/ui/status/network.js:1856
|
||||
msgid "Connection established"
|
||||
msgstr "Kapcsolat létrejött"
|
||||
|
||||
#: ../js/ui/status/network.js:1991
|
||||
#: ../js/ui/status/network.js:1982
|
||||
msgid "Networking is disabled"
|
||||
msgstr "Hálózat letiltva"
|
||||
|
||||
#: ../js/ui/status/network.js:2116
|
||||
#: ../js/ui/status/network.js:2107
|
||||
msgid "Network Manager"
|
||||
msgstr "Hálózatkezelő"
|
||||
|
||||
@@ -978,22 +974,20 @@ msgstr "Hálózatkezelő"
|
||||
msgid "Power Settings"
|
||||
msgstr "Energiabeállítások"
|
||||
|
||||
#. 0 is reported when UPower does not have enough data
|
||||
#. to estimate battery life
|
||||
#: ../js/ui/status/power.js:111
|
||||
msgid "Estimating..."
|
||||
msgstr "Becslés…"
|
||||
|
||||
#: ../js/ui/status/power.js:118
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "%d hour remaining"
|
||||
msgid_plural "%d hours remaining"
|
||||
msgstr[0] "%d óra van hátra"
|
||||
msgstr[1] "%d óra van hátra"
|
||||
|
||||
#. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining"
|
||||
#. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" */
|
||||
#: ../js/ui/status/power.js:121
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "%d %s %d %s remaining"
|
||||
msgstr "%d %s %d %s van hátra"
|
||||
|
||||
@@ -1010,7 +1004,7 @@ msgstr[0] "perc"
|
||||
msgstr[1] "perc"
|
||||
|
||||
#: ../js/ui/status/power.js:126
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "%d minute remaining"
|
||||
msgid_plural "%d minutes remaining"
|
||||
msgstr[0] "%d perc van hátra"
|
||||
@@ -1073,37 +1067,36 @@ msgid "Microphone"
|
||||
msgstr "Mikrofon"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:335
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "%s is online."
|
||||
msgstr "%s elérhető."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:340
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "%s is offline."
|
||||
msgstr "%s kilépett."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:343
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "%s is away."
|
||||
msgstr "%s távol van."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:346
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "%s is busy."
|
||||
msgstr "%s elfoglalt."
|
||||
|
||||
#. Translators: this is a time format string followed by a date.
|
||||
#. If applicable, replace %X with a strftime format valid for your
|
||||
#. locale, without seconds.
|
||||
#: ../js/ui/telepathyClient.js:482
|
||||
#, no-c-format
|
||||
#. locale, without seconds. */
|
||||
#: ../js/ui/telepathyClient.js:488
|
||||
msgid "Sent at %X on %A"
|
||||
msgstr "Elküldve: %A, %X"
|
||||
|
||||
#. Translators: this is the text displayed
|
||||
#. in the search entry when no search is
|
||||
#. active; it should not exceed ~30
|
||||
#. characters.
|
||||
#. characters. */
|
||||
#: ../js/ui/viewSelector.js:122
|
||||
msgid "Type to search..."
|
||||
msgstr "Gépeljen a kereséshez…"
|
||||
@@ -1113,12 +1106,12 @@ msgid "Search"
|
||||
msgstr "Oldalsáv"
|
||||
|
||||
#: ../js/ui/windowAttentionHandler.js:42
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "%s has finished starting"
|
||||
msgstr "%s indítása befejeződött"
|
||||
|
||||
#: ../js/ui/windowAttentionHandler.js:44
|
||||
#, c-format
|
||||
#, javascript-format
|
||||
msgid "'%s' is ready"
|
||||
msgstr "„%s” kész"
|
||||
|
||||
@@ -1144,11 +1137,11 @@ msgstr[1] "%u bemenet"
|
||||
msgid "System Sounds"
|
||||
msgstr "Rendszerhangok"
|
||||
|
||||
#: ../src/main.c:446
|
||||
#: ../src/main.c:445
|
||||
msgid "Print version"
|
||||
msgstr "Verzió kiírása"
|
||||
|
||||
#: ../src/shell-app.c:454
|
||||
#: ../src/shell-app.c:464
|
||||
#, c-format
|
||||
msgid "Failed to launch '%s'"
|
||||
msgstr "„%s” indítása meghiúsult"
|
||||
|
189
po/nb.po
@@ -8,8 +8,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell 2.91.x\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-05-11 00:12+0200\n"
|
||||
"PO-Revision-Date: 2011-05-11 21:20+0200\n"
|
||||
"POT-Creation-Date: 2011-05-11 21:22+0200\n"
|
||||
"PO-Revision-Date: 2011-05-11 21:23+0200\n"
|
||||
"Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
|
||||
"Language-Team: Norwegian Bokmål <i18n-nb@lister.ping.uio.no>\n"
|
||||
"Language: \n"
|
||||
@@ -80,7 +80,7 @@ msgid "List of desktop file IDs for favorite applications"
|
||||
msgstr "Liste av skrivebordfil-ider for favorittprogrammer"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:13
|
||||
#, no-c-format, fuzzy
|
||||
#, fuzzy, no-c-format
|
||||
msgid ""
|
||||
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
|
||||
"used for gst-launch. The pipeline should have an unconnected sink pad where "
|
||||
@@ -92,7 +92,9 @@ msgid ""
|
||||
"'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' and "
|
||||
"records to WEBM using the VP8 codec. %T is used as a placeholder for a guess "
|
||||
"at the optimal thread count on the system."
|
||||
msgstr "Setter GStreamer-rør som brukes til å kode opptak. Den følger syntaksen som brukes for gst-launch."
|
||||
msgstr ""
|
||||
"Setter GStreamer-rør som brukes til å kode opptak. Den følger syntaksen som "
|
||||
"brukes for gst-launch."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:14
|
||||
msgid "Show date in clock"
|
||||
@@ -188,15 +190,15 @@ msgstr "PROGRAMMER"
|
||||
msgid "SETTINGS"
|
||||
msgstr "INNSTILLINGER"
|
||||
|
||||
#: ../js/ui/appDisplay.js:658
|
||||
#: ../js/ui/appDisplay.js:656
|
||||
msgid "New Window"
|
||||
msgstr "Nytt vindu"
|
||||
|
||||
#: ../js/ui/appDisplay.js:661
|
||||
#: ../js/ui/appDisplay.js:659
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Fjern fra favoritter"
|
||||
|
||||
#: ../js/ui/appDisplay.js:662
|
||||
#: ../js/ui/appDisplay.js:660
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Legg til i favoritter"
|
||||
|
||||
@@ -329,13 +331,13 @@ msgid "Nothing Scheduled"
|
||||
msgstr "Ingenting planlagt"
|
||||
|
||||
#. Translators: Shown on calendar heading when selected day occurs on current year
|
||||
#: ../js/ui/calendar.js:720 ../js/ui/telepathyClient.js:487
|
||||
#: ../js/ui/calendar.js:720 ../js/ui/telepathyClient.js:492
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A %B %d"
|
||||
|
||||
#. Translators: Shown on calendar heading when selected day occurs on different year
|
||||
#: ../js/ui/calendar.js:723 ../js/ui/telepathyClient.js:490
|
||||
#: ../js/ui/calendar.js:723 ../js/ui/telepathyClient.js:495
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%A %B %d, %Y"
|
||||
@@ -486,7 +488,7 @@ msgid "Restarting the system."
|
||||
msgstr "Starter systemet på nytt."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:413 ../js/ui/polkitAuthenticationAgent.js:172
|
||||
#: ../js/ui/status/bluetooth.js:491
|
||||
#: ../js/ui/status/bluetooth.js:466
|
||||
msgid "Cancel"
|
||||
msgstr "Avbryt"
|
||||
|
||||
@@ -554,11 +556,11 @@ msgstr "Avslutt %s"
|
||||
|
||||
#. Button on the left side of the panel.
|
||||
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
|
||||
#: ../js/ui/panel.js:913
|
||||
#: ../js/ui/panel.js:911
|
||||
msgid "Activities"
|
||||
msgstr "Aktiviteter"
|
||||
|
||||
#: ../js/ui/panel.js:1015
|
||||
#: ../js/ui/panel.js:1012
|
||||
msgid "Top Bar"
|
||||
msgstr "Topp-panel"
|
||||
|
||||
@@ -616,11 +618,11 @@ msgstr "toggle-switch-intl"
|
||||
msgid "Please enter a command:"
|
||||
msgstr "Oppgi en kommando:"
|
||||
|
||||
#: ../js/ui/searchDisplay.js:313
|
||||
#: ../js/ui/searchDisplay.js:311
|
||||
msgid "Searching..."
|
||||
msgstr "Søker …"
|
||||
|
||||
#: ../js/ui/searchDisplay.js:327
|
||||
#: ../js/ui/searchDisplay.js:325
|
||||
msgid "No matching results."
|
||||
msgstr "Ingen treff."
|
||||
|
||||
@@ -703,9 +705,9 @@ msgstr "Høy kontrast"
|
||||
msgid "Large Text"
|
||||
msgstr "Stor tekst"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:264
|
||||
#: ../js/ui/status/bluetooth.js:358 ../js/ui/status/bluetooth.js:392
|
||||
#: ../js/ui/status/bluetooth.js:432 ../js/ui/status/bluetooth.js:465
|
||||
#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:237
|
||||
#: ../js/ui/status/bluetooth.js:333 ../js/ui/status/bluetooth.js:367
|
||||
#: ../js/ui/status/bluetooth.js:407 ../js/ui/status/bluetooth.js:440
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
@@ -718,101 +720,101 @@ msgid "Send Files to Device..."
|
||||
msgstr "Send filer til enhet …"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:70
|
||||
msgid "Set up a New Device..."
|
||||
msgid "Setup a New Device..."
|
||||
msgstr "Sett opp en ny enhet …"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:95
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Innstillinger for Bluetooth"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:215
|
||||
#: ../js/ui/status/bluetooth.js:188
|
||||
msgid "Connection"
|
||||
msgstr "Tilkobling"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:251
|
||||
#: ../js/ui/status/bluetooth.js:224
|
||||
msgid "Send Files..."
|
||||
msgstr "Send filer …"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:256
|
||||
#: ../js/ui/status/bluetooth.js:229
|
||||
msgid "Browse Files..."
|
||||
msgstr "Bla gjennom filer …"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:265
|
||||
#: ../js/ui/status/bluetooth.js:238
|
||||
msgid "Error browsing device"
|
||||
msgstr "Feil under lesing av enhet"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:266
|
||||
#: ../js/ui/status/bluetooth.js:239
|
||||
#, c-format
|
||||
msgid "The requested device cannot be browsed, error is '%s'"
|
||||
msgstr "Kan ikke bla gjennom forespurt enhet. Feilen er «%s»"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:274
|
||||
#: ../js/ui/status/bluetooth.js:247
|
||||
msgid "Keyboard Settings"
|
||||
msgstr "Innstillinger for tastatur"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:279
|
||||
#: ../js/ui/status/bluetooth.js:252
|
||||
msgid "Mouse Settings"
|
||||
msgstr "Innstillinger for mus"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:286 ../js/ui/status/volume.js:66
|
||||
#: ../js/ui/status/bluetooth.js:259 ../js/ui/status/volume.js:66
|
||||
msgid "Sound Settings"
|
||||
msgstr "Innstillinger for lyd"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:393
|
||||
#: ../js/ui/status/bluetooth.js:368
|
||||
#, c-format
|
||||
msgid "Authorization request from %s"
|
||||
msgstr "Forespørsel om autorisering fra %s"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:399
|
||||
#: ../js/ui/status/bluetooth.js:374
|
||||
#, 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:401
|
||||
#: ../js/ui/status/bluetooth.js:376
|
||||
msgid "Always grant access"
|
||||
msgstr "Alltid gi tilgang"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:402
|
||||
#: ../js/ui/status/bluetooth.js:377
|
||||
msgid "Grant this time only"
|
||||
msgstr "Gi tilgang kun denne ene gangen"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:403
|
||||
#: ../js/ui/status/bluetooth.js:378
|
||||
msgid "Reject"
|
||||
msgstr "Avvis"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:433
|
||||
#: ../js/ui/status/bluetooth.js:408
|
||||
#, c-format
|
||||
msgid "Pairing confirmation for %s"
|
||||
msgstr "Bekreftelse for tilkobling for %s"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:439 ../js/ui/status/bluetooth.js:473
|
||||
#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:448
|
||||
#, 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:440
|
||||
#: ../js/ui/status/bluetooth.js:415
|
||||
#, c-format
|
||||
msgid "Please confirm whether the PIN '%s' matches the one on the device."
|
||||
msgstr "Vennligst bekreft om PIN «%s» er lik den som brukes på enheten."
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:442
|
||||
#: ../js/ui/status/bluetooth.js:417
|
||||
msgid "Matches"
|
||||
msgstr "Stemmer overens"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:443
|
||||
#: ../js/ui/status/bluetooth.js:418
|
||||
msgid "Does not match"
|
||||
msgstr "Stemmer ikke overens"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:466
|
||||
#: ../js/ui/status/bluetooth.js:441
|
||||
#, c-format
|
||||
msgid "Pairing request for %s"
|
||||
msgstr "Forespørsel om tilkobling for %s"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:474
|
||||
#: ../js/ui/status/bluetooth.js:449
|
||||
msgid "Please enter the PIN mentioned on the device."
|
||||
msgstr "Vennligst oppgi PIN som oppgitt på enheten."
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:490
|
||||
#: ../js/ui/status/bluetooth.js:465
|
||||
msgid "OK"
|
||||
msgstr "OK"
|
||||
|
||||
@@ -824,74 +826,74 @@ msgstr "Vis tastaturutforming …"
|
||||
msgid "Localization Settings"
|
||||
msgstr "Innstillinger for lokalisering"
|
||||
|
||||
#: ../js/ui/status/network.js:126
|
||||
#: ../js/ui/status/network.js:109 ../js/ui/status/network.js:1501
|
||||
msgid "<unknown>"
|
||||
msgstr "<ukjent>"
|
||||
|
||||
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
||||
#: ../js/ui/status/network.js:343
|
||||
#: ../js/ui/status/network.js:326
|
||||
msgid "disabled"
|
||||
msgstr "slått av"
|
||||
|
||||
#: ../js/ui/status/network.js:542
|
||||
#: ../js/ui/status/network.js:524
|
||||
msgid "connecting..."
|
||||
msgstr "kobler til …"
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password
|
||||
#: ../js/ui/status/network.js:545
|
||||
#: ../js/ui/status/network.js:527
|
||||
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:555
|
||||
#: ../js/ui/status/network.js:537
|
||||
msgid "firmware missing"
|
||||
msgstr "fastvare mangler"
|
||||
|
||||
#. Translators: this is for wired network devices that are physically disconnected
|
||||
#: ../js/ui/status/network.js:562
|
||||
#: ../js/ui/status/network.js:544
|
||||
msgid "cable unplugged"
|
||||
msgstr "kabel koblet fra"
|
||||
|
||||
#. 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:567
|
||||
#: ../js/ui/status/network.js:549
|
||||
msgid "unavailable"
|
||||
msgstr "ikke tilgjengelig"
|
||||
|
||||
#: ../js/ui/status/network.js:569
|
||||
#: ../js/ui/status/network.js:551
|
||||
msgid "connection failed"
|
||||
msgstr "tilkobling feilet"
|
||||
|
||||
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
||||
#. and we cannot access its settings (including the name)
|
||||
#: ../js/ui/status/network.js:650 ../js/ui/status/network.js:1459
|
||||
#: ../js/ui/status/network.js:631 ../js/ui/status/network.js:1449
|
||||
msgid "Connected (private)"
|
||||
msgstr "Tilkoblet (privat)"
|
||||
|
||||
#: ../js/ui/status/network.js:735
|
||||
#: ../js/ui/status/network.js:716
|
||||
msgid "Auto Ethernet"
|
||||
msgstr "Automatisk Ethernet"
|
||||
|
||||
#: ../js/ui/status/network.js:803
|
||||
#: ../js/ui/status/network.js:791
|
||||
msgid "Auto broadband"
|
||||
msgstr "Automatisk bredbånd"
|
||||
|
||||
#: ../js/ui/status/network.js:806
|
||||
#: ../js/ui/status/network.js:794
|
||||
msgid "Auto dial-up"
|
||||
msgstr "Automatisk oppringt"
|
||||
|
||||
#. TRANSLATORS: this the automatic wireless connection name (including the network name)
|
||||
#: ../js/ui/status/network.js:930 ../js/ui/status/network.js:1471
|
||||
#: ../js/ui/status/network.js:940 ../js/ui/status/network.js:1461
|
||||
#, c-format
|
||||
msgid "Auto %s"
|
||||
msgstr "Automatisk %s"
|
||||
|
||||
#: ../js/ui/status/network.js:932
|
||||
#: ../js/ui/status/network.js:942
|
||||
msgid "Auto bluetooth"
|
||||
msgstr "Automatisk Bluetooth"
|
||||
|
||||
#: ../js/ui/status/network.js:1473
|
||||
#: ../js/ui/status/network.js:1463
|
||||
msgid "Auto wireless"
|
||||
msgstr "Automatisk trådløst"
|
||||
|
||||
@@ -899,64 +901,64 @@ msgstr "Automatisk trådløst"
|
||||
msgid "More..."
|
||||
msgstr "Mer …"
|
||||
|
||||
#: ../js/ui/status/network.js:1563
|
||||
#: ../js/ui/status/network.js:1544
|
||||
msgid "Enable networking"
|
||||
msgstr "Slå på nettverk"
|
||||
|
||||
#: ../js/ui/status/network.js:1575
|
||||
#: ../js/ui/status/network.js:1556
|
||||
msgid "Wired"
|
||||
msgstr "Kablet"
|
||||
|
||||
#: ../js/ui/status/network.js:1586
|
||||
#: ../js/ui/status/network.js:1567
|
||||
msgid "Wireless"
|
||||
msgstr "Trådløst"
|
||||
|
||||
#: ../js/ui/status/network.js:1596
|
||||
#: ../js/ui/status/network.js:1577
|
||||
msgid "Mobile broadband"
|
||||
msgstr "Mobilt bredbånd"
|
||||
|
||||
#: ../js/ui/status/network.js:1606
|
||||
#: ../js/ui/status/network.js:1587
|
||||
msgid "VPN Connections"
|
||||
msgstr "VPN-tilkoblinger"
|
||||
|
||||
#: ../js/ui/status/network.js:1618
|
||||
#: ../js/ui/status/network.js:1599
|
||||
msgid "Network Settings"
|
||||
msgstr "Innstillinger for nettverk"
|
||||
|
||||
#: ../js/ui/status/network.js:1912
|
||||
#: ../js/ui/status/network.js:1893
|
||||
#, c-format
|
||||
msgid "You're now connected to mobile broadband connection '%s'"
|
||||
msgstr "Du er nå koblet til mobil bredbåndstilkobling «%s»"
|
||||
|
||||
#: ../js/ui/status/network.js:1916
|
||||
#: ../js/ui/status/network.js:1897
|
||||
#, c-format
|
||||
msgid "You're now connected to wireless network '%s'"
|
||||
msgstr "Du er nå koblet til trådløst nettverk «%s»"
|
||||
|
||||
#: ../js/ui/status/network.js:1920
|
||||
#: ../js/ui/status/network.js:1901
|
||||
#, c-format
|
||||
msgid "You're now connected to wired network '%s'"
|
||||
msgstr "Du er nå koblet til kablet nettverk «%s»"
|
||||
|
||||
#: ../js/ui/status/network.js:1924
|
||||
#: ../js/ui/status/network.js:1905
|
||||
#, c-format
|
||||
msgid "You're now connected to VPN network '%s'"
|
||||
msgstr "Du er nå koblet til virtuelt privat nettverk «%s»"
|
||||
|
||||
#: ../js/ui/status/network.js:1929
|
||||
#: ../js/ui/status/network.js:1910
|
||||
#, c-format
|
||||
msgid "You're now connected to '%s'"
|
||||
msgstr "Du er nå koblet til «%s»"
|
||||
|
||||
#: ../js/ui/status/network.js:1937
|
||||
#: ../js/ui/status/network.js:1918
|
||||
msgid "Connection established"
|
||||
msgstr "Tilkobling etablert"
|
||||
|
||||
#: ../js/ui/status/network.js:2063
|
||||
#: ../js/ui/status/network.js:2044
|
||||
msgid "Networking is disabled"
|
||||
msgstr "Nettverk er slått av"
|
||||
|
||||
#: ../js/ui/status/network.js:2188
|
||||
#: ../js/ui/status/network.js:2169
|
||||
msgid "Network Manager"
|
||||
msgstr "Nettverkshåndtering"
|
||||
|
||||
@@ -1058,22 +1060,22 @@ msgstr "Volum"
|
||||
msgid "Microphone"
|
||||
msgstr "Mikrofon"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:330
|
||||
#: ../js/ui/telepathyClient.js:335
|
||||
#, c-format
|
||||
msgid "%s is online."
|
||||
msgstr "%s er tilkoblet."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:335
|
||||
#: ../js/ui/telepathyClient.js:340
|
||||
#, c-format
|
||||
msgid "%s is offline."
|
||||
msgstr "%s er frakoblet."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:338
|
||||
#: ../js/ui/telepathyClient.js:343
|
||||
#, c-format
|
||||
msgid "%s is away."
|
||||
msgstr "«%s» er borte."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:341
|
||||
#: ../js/ui/telepathyClient.js:346
|
||||
#, c-format
|
||||
msgid "%s is busy."
|
||||
msgstr "%s er opptatt."
|
||||
@@ -1081,18 +1083,11 @@ msgstr "%s er opptatt."
|
||||
#. Translators: this is a time format string followed by a date.
|
||||
#. If applicable, replace %X with a strftime format valid for your
|
||||
#. locale, without seconds.
|
||||
#: ../js/ui/telepathyClient.js:479
|
||||
#: ../js/ui/telepathyClient.js:484
|
||||
#, no-c-format
|
||||
msgid "Sent at %X on %A"
|
||||
msgstr "Sendt %X på %A"
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#: ../js/ui/telepathyClient.js:524
|
||||
#, c-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "%s er nå kjent som %s"
|
||||
|
||||
#. Translators: this is the text displayed
|
||||
#. in the search entry when no search is
|
||||
#. active; it should not exceed ~30
|
||||
@@ -1141,11 +1136,43 @@ msgstr "Systemlyder"
|
||||
msgid "Print version"
|
||||
msgstr "Skriv ut versjon"
|
||||
|
||||
#: ../src/shell-app.c:464
|
||||
#: ../src/shell-app.c:454
|
||||
#, c-format
|
||||
msgid "Failed to launch '%s'"
|
||||
msgstr "Klarte ikke å starte «%s»"
|
||||
|
||||
#: ../src/shell-global.c:1395
|
||||
msgid "Less than a minute ago"
|
||||
msgstr "Mindre enn et minutt siden"
|
||||
|
||||
#: ../src/shell-global.c:1399
|
||||
#, c-format
|
||||
msgid "%d minute ago"
|
||||
msgid_plural "%d minutes ago"
|
||||
msgstr[0] "%d minutt siden"
|
||||
msgstr[1] "%d minutter siden"
|
||||
|
||||
#: ../src/shell-global.c:1404
|
||||
#, c-format
|
||||
msgid "%d hour ago"
|
||||
msgid_plural "%d hours ago"
|
||||
msgstr[0] "%d time siden"
|
||||
msgstr[1] "%d timer siden"
|
||||
|
||||
#: ../src/shell-global.c:1409
|
||||
#, c-format
|
||||
msgid "%d day ago"
|
||||
msgid_plural "%d days ago"
|
||||
msgstr[0] "%d dag siden"
|
||||
msgstr[1] "%d dager siden"
|
||||
|
||||
#: ../src/shell-global.c:1414
|
||||
#, c-format
|
||||
msgid "%d week ago"
|
||||
msgid_plural "%d weeks ago"
|
||||
msgstr[0] "%d uke siden"
|
||||
msgstr[1] "%d uker siden"
|
||||
|
||||
#: ../src/shell-mobile-providers.c:80
|
||||
msgid "United Kingdom"
|
||||
msgstr "Storbritannia"
|
||||
|
104
po/sk.po
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2011-04-26 12:47+0000\n"
|
||||
"POT-Creation-Date: 2011-04-26 21:10+0000\n"
|
||||
"PO-Revision-Date: 2011-04-27 08:53+0200\n"
|
||||
"Last-Translator: Peter Mráz <etkinator@gmail.com>\n"
|
||||
"Language-Team: Slovak <gnome-sk-list@gnome.org>\n"
|
||||
@@ -60,7 +60,7 @@ msgid "History for command (Alt-F2) dialog"
|
||||
msgstr "História dialógového okna príkazov (Alt-F2)"
|
||||
|
||||
# neviem ako preložiť looking glass
|
||||
#PŠ: tak si zisti, čo to znamená v prostredí gnome-shell
|
||||
# PŠ: tak si zisti, čo to znamená v prostredí gnome-shell
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:7
|
||||
#, fuzzy
|
||||
msgid "History for the looking glass dialog"
|
||||
@@ -102,15 +102,15 @@ msgid ""
|
||||
"at the optimal thread count on the system."
|
||||
msgstr ""
|
||||
"Nastavuje zreťazenie systému GStreamer určené pre kódované nahrávok. Používa "
|
||||
"rovnakú syntax ako gst-launch. Zreťazenie by malo mať ďalej nepripojený cieľ, "
|
||||
"v ktorom sa video nahráva. Obvykle má nepripojený zdroj; výstup z takého "
|
||||
"zdroja sa bude zapisovať do výstupného súboru. Zreťazenie je ale schopné "
|
||||
"zabezpečiť i vlastný výstup, čo sa dá využiť na odosielanie výstupu na "
|
||||
"server icecast cez shout2send a pod. Ak toto nie je nastavené, alebo je to "
|
||||
"nastavené na prázdnu hodnotu, použije sa predvolené zreťazenie. Teraz je to "
|
||||
"„videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux“, čo "
|
||||
"nahráva do WEBM použitím kodeku VP8. %T sa použije ako zástupný symbol odhadu "
|
||||
"najvhodnejšieho počtu vlákien v systéme."
|
||||
"rovnakú syntax ako gst-launch. Zreťazenie by malo mať ďalej nepripojený "
|
||||
"cieľ, v ktorom sa video nahráva. Obvykle má nepripojený zdroj; výstup z "
|
||||
"takého zdroja sa bude zapisovať do výstupného súboru. Zreťazenie je ale "
|
||||
"schopné zabezpečiť i vlastný výstup, čo sa dá využiť na odosielanie výstupu "
|
||||
"na server icecast cez shout2send a pod. Ak toto nie je nastavené, alebo je "
|
||||
"to nastavené na prázdnu hodnotu, použije sa predvolené zreťazenie. Teraz je "
|
||||
"to „videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux“, čo "
|
||||
"nahráva do WEBM použitím kodeku VP8. %T sa použije ako zástupný symbol "
|
||||
"odhadu najvhodnejšieho počtu vlákien v systéme."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:14
|
||||
msgid "Show date in clock"
|
||||
@@ -138,8 +138,8 @@ msgid ""
|
||||
"current date, and use this extension. It should be changed when recording to "
|
||||
"a different container format."
|
||||
msgstr ""
|
||||
"Súbor pre nahrané záznamy diania na obrazovke bude mať jedinečný názov "
|
||||
"na základe aktuálneho dátumu a použije túto príponu. Pri nahrávaní do iného "
|
||||
"Súbor pre nahrané záznamy diania na obrazovke bude mať jedinečný názov na "
|
||||
"základe aktuálneho dátumu a použije túto príponu. Pri nahrávaní do iného "
|
||||
"formátu kontajneru by mala byť zmenená."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:19
|
||||
@@ -578,11 +578,11 @@ msgstr "Ukončiť %s"
|
||||
|
||||
#. Button on the left side of the panel.
|
||||
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
|
||||
#: ../js/ui/panel.js:913
|
||||
#: ../js/ui/panel.js:911
|
||||
msgid "Activities"
|
||||
msgstr "Aktivity"
|
||||
|
||||
#: ../js/ui/panel.js:1015
|
||||
#: ../js/ui/panel.js:1012
|
||||
msgid "Top Bar"
|
||||
msgstr "Horná lišta"
|
||||
|
||||
@@ -854,141 +854,141 @@ msgid "Localization Settings"
|
||||
msgstr "Miestne nastavenia"
|
||||
|
||||
# zariadenie
|
||||
#: ../js/ui/status/network.js:113
|
||||
#: ../js/ui/status/network.js:109 ../js/ui/status/network.js:1501
|
||||
msgid "<unknown>"
|
||||
msgstr "<neznáme>"
|
||||
|
||||
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
||||
#: ../js/ui/status/network.js:330
|
||||
#: ../js/ui/status/network.js:326
|
||||
msgid "disabled"
|
||||
msgstr "zakázané"
|
||||
|
||||
#: ../js/ui/status/network.js:528
|
||||
#: ../js/ui/status/network.js:524
|
||||
msgid "connecting..."
|
||||
msgstr "pripája sa..."
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password
|
||||
#: ../js/ui/status/network.js:531
|
||||
#: ../js/ui/status/network.js:527
|
||||
msgid "authentication required"
|
||||
msgstr "požaduje sa overenie totožnosti"
|
||||
|
||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||
#. module, which is missing
|
||||
#: ../js/ui/status/network.js:541
|
||||
#: ../js/ui/status/network.js:537
|
||||
msgid "firmware missing"
|
||||
msgstr "chýba firmvér"
|
||||
|
||||
#. Translators: this is for wired network devices that are physically disconnected
|
||||
#: ../js/ui/status/network.js:548
|
||||
#: ../js/ui/status/network.js:544
|
||||
msgid "cable unplugged"
|
||||
msgstr "kábel odpojený"
|
||||
|
||||
#. 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:553
|
||||
#: ../js/ui/status/network.js:549
|
||||
msgid "unavailable"
|
||||
msgstr "nedostupné"
|
||||
|
||||
#: ../js/ui/status/network.js:555
|
||||
#: ../js/ui/status/network.js:551
|
||||
msgid "connection failed"
|
||||
msgstr "pripojenie zlyhalo"
|
||||
|
||||
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
||||
#. and we cannot access its settings (including the name)
|
||||
#: ../js/ui/status/network.js:635 ../js/ui/status/network.js:1532
|
||||
#: ../js/ui/status/network.js:631 ../js/ui/status/network.js:1449
|
||||
msgid "Connected (private)"
|
||||
msgstr "Pripojené (súkromne)"
|
||||
|
||||
#: ../js/ui/status/network.js:720
|
||||
#: ../js/ui/status/network.js:716
|
||||
msgid "Auto Ethernet"
|
||||
msgstr ""
|
||||
|
||||
#: ../js/ui/status/network.js:795
|
||||
#: ../js/ui/status/network.js:791
|
||||
msgid "Auto broadband"
|
||||
msgstr ""
|
||||
|
||||
#: ../js/ui/status/network.js:798
|
||||
#: ../js/ui/status/network.js:794
|
||||
msgid "Auto dial-up"
|
||||
msgstr ""
|
||||
|
||||
#. TRANSLATORS: this the automatic wireless connection name (including the network name)
|
||||
#: ../js/ui/status/network.js:944 ../js/ui/status/network.js:1544
|
||||
#: ../js/ui/status/network.js:940 ../js/ui/status/network.js:1461
|
||||
#, c-format
|
||||
msgid "Auto %s"
|
||||
msgstr ""
|
||||
|
||||
#: ../js/ui/status/network.js:946
|
||||
#: ../js/ui/status/network.js:942
|
||||
msgid "Auto bluetooth"
|
||||
msgstr ""
|
||||
|
||||
#: ../js/ui/status/network.js:1546
|
||||
#: ../js/ui/status/network.js:1463
|
||||
msgid "Auto wireless"
|
||||
msgstr ""
|
||||
|
||||
#: ../js/ui/status/network.js:1583
|
||||
#: ../js/ui/status/network.js:1521
|
||||
msgid "More..."
|
||||
msgstr "Viac..."
|
||||
|
||||
#: ../js/ui/status/network.js:1625
|
||||
#: ../js/ui/status/network.js:1544
|
||||
msgid "Enable networking"
|
||||
msgstr "Povoliť sieť"
|
||||
|
||||
#: ../js/ui/status/network.js:1637
|
||||
#: ../js/ui/status/network.js:1556
|
||||
msgid "Wired"
|
||||
msgstr "Drôtové"
|
||||
|
||||
#: ../js/ui/status/network.js:1648
|
||||
#: ../js/ui/status/network.js:1567
|
||||
msgid "Wireless"
|
||||
msgstr "Bezdrôtové"
|
||||
|
||||
# podľa prekladu v module NetworkManager
|
||||
#: ../js/ui/status/network.js:1658
|
||||
#: ../js/ui/status/network.js:1577
|
||||
msgid "Mobile broadband"
|
||||
msgstr "Mobilné"
|
||||
|
||||
#: ../js/ui/status/network.js:1668
|
||||
#: ../js/ui/status/network.js:1587
|
||||
msgid "VPN Connections"
|
||||
msgstr "VPN pripojenie"
|
||||
|
||||
#: ../js/ui/status/network.js:1680
|
||||
#: ../js/ui/status/network.js:1599
|
||||
msgid "Network Settings"
|
||||
msgstr "Nastavenia siete"
|
||||
|
||||
#: ../js/ui/status/network.js:1974
|
||||
#: ../js/ui/status/network.js:1893
|
||||
#, c-format
|
||||
msgid "You're now connected to mobile broadband connection '%s'"
|
||||
msgstr "Teraz ste pripojený k mobilnej sieti „%s“"
|
||||
|
||||
#: ../js/ui/status/network.js:1978
|
||||
#: ../js/ui/status/network.js:1897
|
||||
#, c-format
|
||||
msgid "You're now connected to wireless network '%s'"
|
||||
msgstr "Teraz ste pripojený k bezdrôtovej sieti „%s“"
|
||||
|
||||
#: ../js/ui/status/network.js:1982
|
||||
#: ../js/ui/status/network.js:1901
|
||||
#, c-format
|
||||
msgid "You're now connected to wired network '%s'"
|
||||
msgstr "Teraz ste pripojený k drôtovej sieti „%s“"
|
||||
|
||||
#: ../js/ui/status/network.js:1986
|
||||
#: ../js/ui/status/network.js:1905
|
||||
#, c-format
|
||||
msgid "You're now connected to VPN network '%s'"
|
||||
msgstr "Teraz ste pripojený k VPN sieti „%s“"
|
||||
|
||||
#: ../js/ui/status/network.js:1991
|
||||
#: ../js/ui/status/network.js:1910
|
||||
#, c-format
|
||||
msgid "You're now connected to '%s'"
|
||||
msgstr "Teraz ste pripojený k „%s“"
|
||||
|
||||
# PŠ: tu by sa asi zišlo connection preložiť ako spojenie - predsa len to je zaužívané slovné spojenie... alebo established preložiť inakšie
|
||||
#: ../js/ui/status/network.js:1999
|
||||
#: ../js/ui/status/network.js:1918
|
||||
msgid "Connection established"
|
||||
msgstr "Pripojenie nadviazané"
|
||||
|
||||
#: ../js/ui/status/network.js:2125
|
||||
#: ../js/ui/status/network.js:2044
|
||||
msgid "Networking is disabled"
|
||||
msgstr "Sieť je zakázaná"
|
||||
|
||||
#: ../js/ui/status/network.js:2250
|
||||
#: ../js/ui/status/network.js:2169
|
||||
msgid "Network Manager"
|
||||
msgstr "Správca siete"
|
||||
|
||||
@@ -1123,13 +1123,6 @@ msgstr "%s je zaneprázdnený."
|
||||
msgid "Sent at %X on %A"
|
||||
msgstr "Čas odoslania: %A, %R"
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#: ../js/ui/telepathyClient.js:529
|
||||
#, c-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "%s odteraz vystupuje ako %s"
|
||||
|
||||
# nič lepšie ma nenapadlo
|
||||
#. Translators: this is the text displayed
|
||||
#. in the search entry when no search is
|
||||
@@ -1149,7 +1142,7 @@ msgid "%s has finished starting"
|
||||
msgstr "Spúšťanie %s je dokočené"
|
||||
|
||||
# ide o zriadenie
|
||||
#PŠ: a to máš odkiaľ? %s je totiž titulok okna!
|
||||
# PŠ: a to máš odkiaľ? %s je totiž titulok okna!
|
||||
#: ../js/ui/windowAttentionHandler.js:44
|
||||
#, c-format
|
||||
msgid "'%s' is ready"
|
||||
@@ -1229,7 +1222,7 @@ msgid "United Kingdom"
|
||||
msgstr "Veľká Británia"
|
||||
|
||||
# nastavenia
|
||||
#PŠ: zase nesprávne: ide o APN (Access Point Name, pri GPRS pripojení) - názov, takže mužský rod
|
||||
# PŠ: zase nesprávne: ide o APN (Access Point Name, pri GPRS pripojení) - názov, takže mužský rod
|
||||
#: ../src/shell-mobile-providers.c:526
|
||||
msgid "Default"
|
||||
msgstr "Predvolený"
|
||||
@@ -1259,6 +1252,9 @@ msgstr "Súborový systém"
|
||||
msgid "%1$s: %2$s"
|
||||
msgstr "%1$s: %2$s"
|
||||
|
||||
#~ msgid "%s is now known as %s"
|
||||
#~ msgstr "%s odteraz vystupuje ako %s"
|
||||
|
||||
#~ msgid "No such application"
|
||||
#~ msgstr "Aplikácia neexistuje"
|
||||
|
||||
|
347
po/sl.po
@@ -8,14 +8,14 @@ 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: 2011-05-09 08:37+0000\n"
|
||||
"PO-Revision-Date: 2011-05-09 12:27+0100\n"
|
||||
"POT-Creation-Date: 2011-03-26 15:31+0000\n"
|
||||
"PO-Revision-Date: 2011-03-26 20:24+0100\n"
|
||||
"Last-Translator: Matej Urbančič <mateju@svn.gnome.org>\n"
|
||||
"Language-Team: Slovenian GNOME Translation Team <gnome-si@googlegroups.com>\n"
|
||||
"Language: Slovenian\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: Slovenian\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n%100==4 ? 3 : 0);\n"
|
||||
"X-Poedit-Language: Slovenian\n"
|
||||
"X-Poedit-Country: SLOVENIA\n"
|
||||
@@ -138,27 +138,27 @@ msgid "Execution of '%s' failed:"
|
||||
msgstr "Izvedba '%s' je spodletela:"
|
||||
|
||||
#. Translators: Filter to display all applications
|
||||
#: ../js/ui/appDisplay.js:260
|
||||
#: ../js/ui/appDisplay.js:230
|
||||
msgid "All"
|
||||
msgstr "Vse"
|
||||
|
||||
#: ../js/ui/appDisplay.js:359
|
||||
#: ../js/ui/appDisplay.js:328
|
||||
msgid "APPLICATIONS"
|
||||
msgstr "Programi"
|
||||
|
||||
#: ../js/ui/appDisplay.js:385
|
||||
#: ../js/ui/appDisplay.js:354
|
||||
msgid "SETTINGS"
|
||||
msgstr "NASTAVITVE"
|
||||
|
||||
#: ../js/ui/appDisplay.js:658
|
||||
#: ../js/ui/appDisplay.js:625
|
||||
msgid "New Window"
|
||||
msgstr "Novo okno"
|
||||
|
||||
#: ../js/ui/appDisplay.js:661
|
||||
#: ../js/ui/appDisplay.js:628
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Odstrani iz priljubljenih"
|
||||
|
||||
#: ../js/ui/appDisplay.js:662
|
||||
#: ../js/ui/appDisplay.js:629
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Dodaj med priljubljene"
|
||||
|
||||
@@ -292,14 +292,12 @@ msgstr "Nič ni razporejeno"
|
||||
|
||||
#. Translators: Shown on calendar heading when selected day occurs on current year
|
||||
#: ../js/ui/calendar.js:720
|
||||
#: ../js/ui/telepathyClient.js:487
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, %d. %m."
|
||||
|
||||
#. Translators: Shown on calendar heading when selected day occurs on different year
|
||||
#: ../js/ui/calendar.js:723
|
||||
#: ../js/ui/telepathyClient.js:490
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%A, %d %B %Y"
|
||||
@@ -321,7 +319,7 @@ msgid "Next week"
|
||||
msgstr "Naslednji teden"
|
||||
|
||||
#: ../js/ui/dash.js:174
|
||||
#: ../js/ui/messageTray.js:1037
|
||||
#: ../js/ui/messageTray.js:1000
|
||||
msgid "Remove"
|
||||
msgstr "Odstrani"
|
||||
|
||||
@@ -449,9 +447,9 @@ msgstr "Sistem se bo samodejno ponovno zagnal čez %d sekund."
|
||||
msgid "Restarting the system."
|
||||
msgstr "Ponoven zagon sistema."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:413
|
||||
#: ../js/ui/endSessionDialog.js:415
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:172
|
||||
#: ../js/ui/status/bluetooth.js:491
|
||||
#: ../js/ui/status/bluetooth.js:466
|
||||
msgid "Cancel"
|
||||
msgstr "Prekliči"
|
||||
|
||||
@@ -486,11 +484,11 @@ msgstr "Poglej vir"
|
||||
msgid "Web Page"
|
||||
msgstr "Spletna stran"
|
||||
|
||||
#: ../js/ui/messageTray.js:1030
|
||||
#: ../js/ui/messageTray.js:993
|
||||
msgid "Open"
|
||||
msgstr "Odpri"
|
||||
|
||||
#: ../js/ui/messageTray.js:2194
|
||||
#: ../js/ui/messageTray.js:2151
|
||||
msgid "System Information"
|
||||
msgstr "Podrobnosti sistema"
|
||||
|
||||
@@ -513,18 +511,18 @@ msgid "Dash"
|
||||
msgstr "Armaturna plošča"
|
||||
|
||||
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
||||
#: ../js/ui/panel.js:533
|
||||
#: ../js/ui/panel.js:515
|
||||
#, c-format
|
||||
msgid "Quit %s"
|
||||
msgstr "Končaj %s"
|
||||
|
||||
#. Button on the left side of the panel.
|
||||
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
|
||||
#: ../js/ui/panel.js:913
|
||||
#: ../js/ui/panel.js:878
|
||||
msgid "Activities"
|
||||
msgstr "Dejavnosti"
|
||||
|
||||
#: ../js/ui/panel.js:1015
|
||||
#: ../js/ui/panel.js:979
|
||||
msgid "Top Bar"
|
||||
msgstr "Vrhnja vrstica"
|
||||
|
||||
@@ -557,15 +555,11 @@ msgstr "Skrbnik"
|
||||
msgid "Authenticate"
|
||||
msgstr "Overi"
|
||||
|
||||
#. 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.
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:264
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:260
|
||||
msgid "Sorry, that didn't work. Please try again."
|
||||
msgstr "Dejanje je spodletelo. Poskusite znova."
|
||||
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:276
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:272
|
||||
msgid "Password:"
|
||||
msgstr "Geslo:"
|
||||
|
||||
@@ -582,11 +576,11 @@ msgstr "toggle-switch-intl"
|
||||
msgid "Please enter a command:"
|
||||
msgstr "Vnos ukaza:"
|
||||
|
||||
#: ../js/ui/searchDisplay.js:313
|
||||
#: ../js/ui/searchDisplay.js:310
|
||||
msgid "Searching..."
|
||||
msgstr "Iskanje ..."
|
||||
|
||||
#: ../js/ui/searchDisplay.js:327
|
||||
#: ../js/ui/searchDisplay.js:324
|
||||
msgid "No matching results."
|
||||
msgstr "Ni zadetkov iskanja"
|
||||
|
||||
@@ -672,11 +666,11 @@ msgid "Large Text"
|
||||
msgstr "Veliko besedilo"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:42
|
||||
#: ../js/ui/status/bluetooth.js:264
|
||||
#: ../js/ui/status/bluetooth.js:358
|
||||
#: ../js/ui/status/bluetooth.js:392
|
||||
#: ../js/ui/status/bluetooth.js:432
|
||||
#: ../js/ui/status/bluetooth.js:465
|
||||
#: ../js/ui/status/bluetooth.js:237
|
||||
#: ../js/ui/status/bluetooth.js:333
|
||||
#: ../js/ui/status/bluetooth.js:367
|
||||
#: ../js/ui/status/bluetooth.js:407
|
||||
#: ../js/ui/status/bluetooth.js:440
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
@@ -689,103 +683,103 @@ msgid "Send Files to Device..."
|
||||
msgstr "Pošilji datoteke na napravo ..."
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:70
|
||||
msgid "Set up a New Device..."
|
||||
msgstr "Nastavitev nove naprave ..."
|
||||
msgid "Setup a New Device..."
|
||||
msgstr "Namestitev nove naprave ..."
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:95
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Nastavitve za Bluetooth"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:215
|
||||
#: ../js/ui/status/bluetooth.js:188
|
||||
msgid "Connection"
|
||||
msgstr "Povezava"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:251
|
||||
#: ../js/ui/status/bluetooth.js:224
|
||||
msgid "Send Files..."
|
||||
msgstr "Pošlji datoteke ..."
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:256
|
||||
#: ../js/ui/status/bluetooth.js:229
|
||||
msgid "Browse Files..."
|
||||
msgstr "Brskanje datotek ..."
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:265
|
||||
#: ../js/ui/status/bluetooth.js:238
|
||||
msgid "Error browsing device"
|
||||
msgstr "Napaka med brskanjem po napravi"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:266
|
||||
#: ../js/ui/status/bluetooth.js:239
|
||||
#, c-format
|
||||
msgid "The requested device cannot be browsed, error is '%s'"
|
||||
msgstr "Po zahtevani naprave ni mogoče brskati, napaka je '%s'"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:274
|
||||
#: ../js/ui/status/bluetooth.js:247
|
||||
msgid "Keyboard Settings"
|
||||
msgstr "Nastavitve tipkovnice"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:279
|
||||
#: ../js/ui/status/bluetooth.js:252
|
||||
msgid "Mouse Settings"
|
||||
msgstr "Nastavitve miške"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:286
|
||||
#: ../js/ui/status/bluetooth.js:259
|
||||
#: ../js/ui/status/volume.js:66
|
||||
msgid "Sound Settings"
|
||||
msgstr "Nastavitve zvoka"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:393
|
||||
#: ../js/ui/status/bluetooth.js:368
|
||||
#, c-format
|
||||
msgid "Authorization request from %s"
|
||||
msgstr "Zahteva za pooblastitev od %s"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:399
|
||||
#: ../js/ui/status/bluetooth.js:374
|
||||
#, c-format
|
||||
msgid "Device %s wants access to the service '%s'"
|
||||
msgstr "Naprava %s želi dostop do storitve '%s'."
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:401
|
||||
#: ../js/ui/status/bluetooth.js:376
|
||||
msgid "Always grant access"
|
||||
msgstr "Vedno odobri dostop"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:402
|
||||
#: ../js/ui/status/bluetooth.js:377
|
||||
msgid "Grant this time only"
|
||||
msgstr "Odobri le tokrat"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:403
|
||||
#: ../js/ui/status/bluetooth.js:378
|
||||
msgid "Reject"
|
||||
msgstr "Zavrni"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:433
|
||||
#: ../js/ui/status/bluetooth.js:408
|
||||
#, c-format
|
||||
msgid "Pairing confirmation for %s"
|
||||
msgstr "Potrditev razčlenjevanja za %s"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:439
|
||||
#: ../js/ui/status/bluetooth.js:473
|
||||
#: ../js/ui/status/bluetooth.js:414
|
||||
#: ../js/ui/status/bluetooth.js:448
|
||||
#, c-format
|
||||
msgid "Device %s wants to pair with this computer"
|
||||
msgstr "Naprava %s se skuša povezati s tem računalnikom"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:440
|
||||
#: ../js/ui/status/bluetooth.js:415
|
||||
#, c-format
|
||||
msgid "Please confirm whether the PIN '%s' matches the one on the device."
|
||||
msgstr "Potrdite, ali se PIN '%s' ujema s tistim na napravi."
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:442
|
||||
#: ../js/ui/status/bluetooth.js:417
|
||||
msgid "Matches"
|
||||
msgstr "Ujemanja"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:443
|
||||
#: ../js/ui/status/bluetooth.js:418
|
||||
msgid "Does not match"
|
||||
msgstr "Se ne ujema"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:466
|
||||
#: ../js/ui/status/bluetooth.js:441
|
||||
#, c-format
|
||||
msgid "Pairing request for %s"
|
||||
msgstr "Zahteva razčlenjevanja za %s"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:474
|
||||
#: ../js/ui/status/bluetooth.js:449
|
||||
msgid "Please enter the PIN mentioned on the device."
|
||||
msgstr "Vnesite PIN, ki je naveden na napravi."
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:490
|
||||
#: ../js/ui/status/bluetooth.js:465
|
||||
msgid "OK"
|
||||
msgstr "V redu"
|
||||
|
||||
@@ -797,141 +791,142 @@ msgstr "Pokaži razporeditev tipkovnice ..."
|
||||
msgid "Localization Settings"
|
||||
msgstr "Krajevne nastavitve"
|
||||
|
||||
#: ../js/ui/status/network.js:126
|
||||
#: ../js/ui/status/network.js:104
|
||||
#: ../js/ui/status/network.js:1454
|
||||
msgid "<unknown>"
|
||||
msgstr "<neznano>"
|
||||
|
||||
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
||||
#: ../js/ui/status/network.js:343
|
||||
#: ../js/ui/status/network.js:311
|
||||
msgid "disabled"
|
||||
msgstr "onemogočeno"
|
||||
|
||||
#: ../js/ui/status/network.js:542
|
||||
#: ../js/ui/status/network.js:494
|
||||
msgid "connecting..."
|
||||
msgstr "povezovanje ..."
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password
|
||||
#: ../js/ui/status/network.js:545
|
||||
#: ../js/ui/status/network.js:497
|
||||
msgid "authentication required"
|
||||
msgstr "zahtevana je overitev"
|
||||
|
||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||
#. module, which is missing
|
||||
#: ../js/ui/status/network.js:555
|
||||
#: ../js/ui/status/network.js:507
|
||||
msgid "firmware missing"
|
||||
msgstr "manjka strojna programska oprema"
|
||||
|
||||
#. Translators: this is for wired network devices that are physically disconnected
|
||||
#: ../js/ui/status/network.js:562
|
||||
#: ../js/ui/status/network.js:514
|
||||
msgid "cable unplugged"
|
||||
msgstr "kabel ni priklopljen"
|
||||
|
||||
#. 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:567
|
||||
#: ../js/ui/status/network.js:519
|
||||
msgid "unavailable"
|
||||
msgstr "ni na voljo"
|
||||
|
||||
#: ../js/ui/status/network.js:569
|
||||
#: ../js/ui/status/network.js:521
|
||||
msgid "connection failed"
|
||||
msgstr "povezovanje je spodletelo"
|
||||
|
||||
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
||||
#. and we cannot access its settings (including the name)
|
||||
#: ../js/ui/status/network.js:650
|
||||
#: ../js/ui/status/network.js:1459
|
||||
#: ../js/ui/status/network.js:602
|
||||
#: ../js/ui/status/network.js:1402
|
||||
msgid "Connected (private)"
|
||||
msgstr "Povezano (zasebna povezava)"
|
||||
|
||||
#: ../js/ui/status/network.js:735
|
||||
#: ../js/ui/status/network.js:683
|
||||
msgid "Auto Ethernet"
|
||||
msgstr "Samodejni eternet"
|
||||
|
||||
#: ../js/ui/status/network.js:803
|
||||
#: ../js/ui/status/network.js:758
|
||||
msgid "Auto broadband"
|
||||
msgstr "Samodejni širokopasovni dostop"
|
||||
|
||||
#: ../js/ui/status/network.js:806
|
||||
#: ../js/ui/status/network.js:761
|
||||
msgid "Auto dial-up"
|
||||
msgstr "Samodejni klicni dostop"
|
||||
|
||||
#. TRANSLATORS: this the automatic wireless connection name (including the network name)
|
||||
#: ../js/ui/status/network.js:930
|
||||
#: ../js/ui/status/network.js:1471
|
||||
#: ../js/ui/status/network.js:904
|
||||
#: ../js/ui/status/network.js:1414
|
||||
#, c-format
|
||||
msgid "Auto %s"
|
||||
msgstr "Samodejna povezava z %s"
|
||||
|
||||
#: ../js/ui/status/network.js:932
|
||||
#: ../js/ui/status/network.js:906
|
||||
msgid "Auto bluetooth"
|
||||
msgstr "Samodejna povezava z Bluetooth"
|
||||
|
||||
#: ../js/ui/status/network.js:1473
|
||||
#: ../js/ui/status/network.js:1416
|
||||
msgid "Auto wireless"
|
||||
msgstr "Samodejni brezžični dostop"
|
||||
|
||||
#: ../js/ui/status/network.js:1521
|
||||
#: ../js/ui/status/network.js:1474
|
||||
msgid "More..."
|
||||
msgstr "Več ..."
|
||||
|
||||
#: ../js/ui/status/network.js:1563
|
||||
#: ../js/ui/status/network.js:1497
|
||||
msgid "Enable networking"
|
||||
msgstr "Omogoči omrežje"
|
||||
|
||||
#: ../js/ui/status/network.js:1575
|
||||
#: ../js/ui/status/network.js:1509
|
||||
msgid "Wired"
|
||||
msgstr "Žično"
|
||||
|
||||
#: ../js/ui/status/network.js:1586
|
||||
#: ../js/ui/status/network.js:1520
|
||||
msgid "Wireless"
|
||||
msgstr "Brezžično"
|
||||
|
||||
#: ../js/ui/status/network.js:1596
|
||||
#: ../js/ui/status/network.js:1530
|
||||
msgid "Mobile broadband"
|
||||
msgstr "Mobilni širokopasovni dostop"
|
||||
|
||||
#: ../js/ui/status/network.js:1606
|
||||
#: ../js/ui/status/network.js:1540
|
||||
msgid "VPN Connections"
|
||||
msgstr "Povezave VPN"
|
||||
|
||||
#: ../js/ui/status/network.js:1618
|
||||
#: ../js/ui/status/network.js:1549
|
||||
msgid "Network Settings"
|
||||
msgstr "Omrežne nastavitve"
|
||||
|
||||
#: ../js/ui/status/network.js:1912
|
||||
#: ../js/ui/status/network.js:1844
|
||||
#, c-format
|
||||
msgid "You're now connected to mobile broadband connection '%s'"
|
||||
msgstr "Vzpostavljena je povezava z mobilnim širokopasovnim omrežjem '%s'."
|
||||
|
||||
#: ../js/ui/status/network.js:1916
|
||||
#: ../js/ui/status/network.js:1848
|
||||
#, c-format
|
||||
msgid "You're now connected to wireless network '%s'"
|
||||
msgstr "Vzpostavljena je povezava z brezžičnim omrežjem '%s'."
|
||||
|
||||
#: ../js/ui/status/network.js:1920
|
||||
#: ../js/ui/status/network.js:1852
|
||||
#, c-format
|
||||
msgid "You're now connected to wired network '%s'"
|
||||
msgstr "Vzpostavljena je povezava z žičnim omrežjem '%s'."
|
||||
|
||||
#: ../js/ui/status/network.js:1924
|
||||
#: ../js/ui/status/network.js:1856
|
||||
#, c-format
|
||||
msgid "You're now connected to VPN network '%s'"
|
||||
msgstr "Vzpostavljena je povezava z omrežjem VPN '%s'"
|
||||
|
||||
#: ../js/ui/status/network.js:1929
|
||||
#: ../js/ui/status/network.js:1861
|
||||
#, c-format
|
||||
msgid "You're now connected to '%s'"
|
||||
msgstr "Vzpostavljena je povezava z '%s'."
|
||||
|
||||
#: ../js/ui/status/network.js:1937
|
||||
#: ../js/ui/status/network.js:1869
|
||||
msgid "Connection established"
|
||||
msgstr "Povezava je vzpostavljena"
|
||||
|
||||
#: ../js/ui/status/network.js:2063
|
||||
#: ../js/ui/status/network.js:1991
|
||||
msgid "Networking is disabled"
|
||||
msgstr "Omrežje je onemogočeno"
|
||||
|
||||
#: ../js/ui/status/network.js:2188
|
||||
#: ../js/ui/status/network.js:2116
|
||||
msgid "Network Manager"
|
||||
msgstr "Upravljalnik omrežij"
|
||||
|
||||
@@ -1042,22 +1037,22 @@ msgstr "Glasnost"
|
||||
msgid "Microphone"
|
||||
msgstr "Mikrofon"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:330
|
||||
#: ../js/ui/telepathyClient.js:331
|
||||
#, c-format
|
||||
msgid "%s is online."
|
||||
msgstr "%s je povezan."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:335
|
||||
#: ../js/ui/telepathyClient.js:336
|
||||
#, c-format
|
||||
msgid "%s is offline."
|
||||
msgstr "%s ni povezan."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:338
|
||||
#: ../js/ui/telepathyClient.js:339
|
||||
#, c-format
|
||||
msgid "%s is away."
|
||||
msgstr "%s je odsoten."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:341
|
||||
#: ../js/ui/telepathyClient.js:342
|
||||
#, c-format
|
||||
msgid "%s is busy."
|
||||
msgstr "%s je zaposlen."
|
||||
@@ -1065,18 +1060,11 @@ msgstr "%s je zaposlen."
|
||||
#. Translators: this is a time format string followed by a date.
|
||||
#. If applicable, replace %X with a strftime format valid for your
|
||||
#. locale, without seconds.
|
||||
#: ../js/ui/telepathyClient.js:479
|
||||
#: ../js/ui/telepathyClient.js:473
|
||||
#, no-c-format
|
||||
msgid "Sent at %X on %A"
|
||||
msgstr "Poslano na %X ob %A"
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#: ../js/ui/telepathyClient.js:524
|
||||
#, c-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "%s je sedaj znan kot v %s"
|
||||
|
||||
#. Translators: this is the text displayed
|
||||
#. in the search entry when no search is
|
||||
#. active; it should not exceed ~30
|
||||
@@ -1126,15 +1114,55 @@ msgstr[3] "%u dovodi naprave"
|
||||
msgid "System Sounds"
|
||||
msgstr "Sistemski zvoki"
|
||||
|
||||
#: ../src/main.c:445
|
||||
#: ../src/main.c:446
|
||||
msgid "Print version"
|
||||
msgstr "Izpiši različico"
|
||||
|
||||
#: ../src/shell-app.c:464
|
||||
#: ../src/shell-app.c:454
|
||||
#, c-format
|
||||
msgid "Failed to launch '%s'"
|
||||
msgstr "Zaganjanje '%s' je spodletelo"
|
||||
|
||||
#: ../src/shell-global.c:1395
|
||||
msgid "Less than a minute ago"
|
||||
msgstr "Pred manj kot eno minuto"
|
||||
|
||||
#: ../src/shell-global.c:1399
|
||||
#, c-format
|
||||
msgid "%d minute ago"
|
||||
msgid_plural "%d minutes ago"
|
||||
msgstr[0] "Pred %d minutami"
|
||||
msgstr[1] "Pred %d minuto"
|
||||
msgstr[2] "Pred %d minutama"
|
||||
msgstr[3] "Pred %d minutami"
|
||||
|
||||
#: ../src/shell-global.c:1404
|
||||
#, c-format
|
||||
msgid "%d hour ago"
|
||||
msgid_plural "%d hours ago"
|
||||
msgstr[0] "Pred %d urami"
|
||||
msgstr[1] "Pred %d uro"
|
||||
msgstr[2] "Pred %d urama"
|
||||
msgstr[3] "Pred %d urami"
|
||||
|
||||
#: ../src/shell-global.c:1409
|
||||
#, c-format
|
||||
msgid "%d day ago"
|
||||
msgid_plural "%d days ago"
|
||||
msgstr[0] "Pred %d dnevi"
|
||||
msgstr[1] "Pred %d dnevom"
|
||||
msgstr[2] "Pred %d dnevoma"
|
||||
msgstr[3] "Pred %d dnevi"
|
||||
|
||||
#: ../src/shell-global.c:1414
|
||||
#, c-format
|
||||
msgid "%d week ago"
|
||||
msgid_plural "%d weeks ago"
|
||||
msgstr[0] "Pred %d tedni"
|
||||
msgstr[1] "Pred %d tednom"
|
||||
msgstr[2] "Pred %d tednoma"
|
||||
msgstr[3] "Pred %d tedni"
|
||||
|
||||
#: ../src/shell-mobile-providers.c:80
|
||||
msgid "United Kingdom"
|
||||
msgstr "Velika Britanija"
|
||||
@@ -1167,96 +1195,46 @@ msgstr "Datotečni sistem"
|
||||
msgid "%1$s: %2$s"
|
||||
msgstr "%1$s: %2$s"
|
||||
|
||||
#~ msgid "Less than a minute ago"
|
||||
#~ msgstr "Pred manj kot eno minuto"
|
||||
|
||||
#~ msgid "%d minute ago"
|
||||
|
||||
#~ msgid_plural "%d minutes ago"
|
||||
#~ msgstr[0] "Pred %d minutami"
|
||||
#~ msgstr[1] "Pred %d minuto"
|
||||
#~ msgstr[2] "Pred %d minutama"
|
||||
#~ msgstr[3] "Pred %d minutami"
|
||||
|
||||
#~ msgid "%d hour ago"
|
||||
|
||||
#~ msgid_plural "%d hours ago"
|
||||
#~ msgstr[0] "Pred %d urami"
|
||||
#~ msgstr[1] "Pred %d uro"
|
||||
#~ msgstr[2] "Pred %d urama"
|
||||
#~ msgstr[3] "Pred %d urami"
|
||||
|
||||
#~ msgid "%d day ago"
|
||||
|
||||
#~ msgid_plural "%d days ago"
|
||||
#~ msgstr[0] "Pred %d dnevi"
|
||||
#~ msgstr[1] "Pred %d dnevom"
|
||||
#~ msgstr[2] "Pred %d dnevoma"
|
||||
#~ msgstr[3] "Pred %d dnevi"
|
||||
|
||||
#~ msgid "%d week ago"
|
||||
|
||||
#~ msgid_plural "%d weeks ago"
|
||||
#~ msgstr[0] "Pred %d tedni"
|
||||
#~ msgstr[1] "Pred %d tednom"
|
||||
#~ msgstr[2] "Pred %d tednoma"
|
||||
#~ msgstr[3] "Pred %d tedni"
|
||||
|
||||
#~ msgid "Shut Down"
|
||||
#~ msgstr "Izklopi"
|
||||
|
||||
#~ msgid "Click Shut Down to quit these applications and shut down the system."
|
||||
#~ msgstr "Kliknite Izklop za končanje teh programov in izklop sistema."
|
||||
|
||||
#~ msgid "The system will shut down automatically in %d seconds."
|
||||
#~ msgstr "Sistem se bo samodejno izklopil čez %d sekund."
|
||||
|
||||
#~ msgid "Shutting down the system."
|
||||
#~ msgstr "Izklapljanje sistema."
|
||||
|
||||
#~ msgid "Confirm"
|
||||
#~ msgstr "Potrdi"
|
||||
|
||||
#~ msgid "Panel"
|
||||
#~ msgstr "Pult"
|
||||
|
||||
#~ msgid "No such application"
|
||||
#~ msgstr "Ni takšnega programa"
|
||||
|
||||
#~ msgid "Screen Reader"
|
||||
#~ msgstr "Zaslonski bralnik"
|
||||
|
||||
#~ msgid "Screen Keyboard"
|
||||
#~ msgstr "Zaslonska tipkovnica"
|
||||
|
||||
#~ msgid "%s is now known as %s"
|
||||
#~ msgstr "%s je sedaj znan kot v %s"
|
||||
#~ msgid "PREFERENCES"
|
||||
#~ msgstr "Možnosti"
|
||||
|
||||
#~ msgid "Shut Down..."
|
||||
#~ msgstr "Izklopi ..."
|
||||
|
||||
#~ msgid "Search your computer"
|
||||
#~ msgstr "Iskanje po računalniku"
|
||||
|
||||
#~ msgid "Clip the crosshairs at the center"
|
||||
#~ msgstr "Ali merek prekriva kazalko miške v središču"
|
||||
|
||||
#~ msgid "Color of the crosshairs"
|
||||
#~ msgstr "Barva merka"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Determines the length of the vertical and horizontal lines that make up "
|
||||
#~ "the crosshairs."
|
||||
#~ msgstr "Določi dolžino navpične in vodoravne črte, ki določata merek."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Determines the transparency of the crosshairs, from fully opaque to fully "
|
||||
#~ "transparent."
|
||||
#~ msgstr "Določi prosojnost merka, od prekrivne to prozorne."
|
||||
|
||||
#~ msgid "Enable lens mode"
|
||||
#~ msgstr "Omogočeni način leče"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "For centered mouse tracking, when the system pointer is at or near the "
|
||||
#~ "edge of the screen, the magnified contents continue to scroll such that "
|
||||
@@ -1265,63 +1243,48 @@ msgstr "%1$s: %2$s"
|
||||
#~ "Pri usredinjenem sledenju miški, ko je sistemski kazalnik ob robu "
|
||||
#~ "zaslona, približanje vsebine drsi naprej tako, da je rob zaslona v "
|
||||
#~ "približanem pogledu."
|
||||
|
||||
#~ msgid "Length of the crosshairs"
|
||||
#~ msgstr "Dolžina merka"
|
||||
|
||||
#~ msgid "Magnification factor"
|
||||
#~ msgstr "Faktor približanja"
|
||||
|
||||
#~ msgid "Mouse Tracking Mode"
|
||||
#~ msgstr "Način sledenja miške"
|
||||
|
||||
#~ msgid "Opacity of the crosshairs"
|
||||
#~ msgstr "Prosojnost merka"
|
||||
|
||||
#~ msgid "Screen position"
|
||||
#~ msgstr "Položaj zaslona"
|
||||
|
||||
#~ msgid "Scroll magnified contents beyond the edges of the desktop"
|
||||
#~ msgstr "Zdrsni približano vsebino preko robov namizja"
|
||||
|
||||
#~ msgid "Show or hide crosshairs"
|
||||
#~ msgstr "Pokaži ali skrij merek"
|
||||
|
||||
#~ msgid "Show or hide the magnifier"
|
||||
#~ msgstr "Pokaži ali skrij približevalnik"
|
||||
|
||||
#~ msgid "Show or hide the magnifier and all of its zoom regions."
|
||||
#~ msgstr "Pokaže ali skrije povečevalo in vsa njegova območja približevanja."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The color of the the vertical and horizontal lines that make up the "
|
||||
#~ "crosshairs."
|
||||
#~ msgstr "Barva navpične in vodoravne črte, ki določata merek."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The magnified view either fills the entire screen, or occupies the top-"
|
||||
#~ "half, bottom-half, left-half, or right-half of the screen."
|
||||
#~ msgstr ""
|
||||
#~ "Približan pogled lahko zapolni celoten zaslon, lahko pa zasede zgornjo, "
|
||||
#~ "spodnjo, levo ali pa desno polovico zaslona."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The power of the magnification. A value of 1.0 means no magnification. A "
|
||||
#~ "value of 2.0 doubles the size."
|
||||
#~ msgstr ""
|
||||
#~ "Vrednost približanja. Vrednost 1.0 pomeni brez približanja, vrednost 2.0 "
|
||||
#~ "pa podvoji učinek približanja."
|
||||
|
||||
#~ msgid "Thickness of the crosshairs"
|
||||
#~ msgstr "Debelina merka"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Whether the magnified view should be centered over the location of the "
|
||||
#~ "system mouse and move with it."
|
||||
#~ msgstr ""
|
||||
#~ "Ali naj bo približan pogled usredinjen na mesto sistemske miške in se z "
|
||||
#~ "njo premika."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Width of the vertical and horizontal lines that make up the crosshairs."
|
||||
#~ msgstr "Širina navpične in vodoravne čete, ki določata merek."
|
||||
@@ -1329,36 +1292,28 @@ msgstr "%1$s: %2$s"
|
||||
#, fuzzy
|
||||
#~ msgid "Bluetooth Agent"
|
||||
#~ msgstr "Agent KAOS"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Can't add a new workspace because maximum workspaces limit has been "
|
||||
#~ "reached."
|
||||
#~ msgstr ""
|
||||
#~ "Ni mogoče dodati nove delovne površine, ker je doseženo njihovo največje "
|
||||
#~ "dovoljeno število."
|
||||
|
||||
#~ msgid "Can't remove the first workspace."
|
||||
#~ msgstr "Ni mogoče odstraniti prve delovne površine."
|
||||
|
||||
#~ msgid "Clock"
|
||||
#~ msgstr "Ura"
|
||||
|
||||
#~ msgid "Customize the panel clock"
|
||||
#~ msgstr "Prilagodi uro pladnja"
|
||||
|
||||
#~ msgid "Custom format of the clock"
|
||||
#~ msgstr "Zapis ure po meri"
|
||||
|
||||
#~ msgid "Hour format"
|
||||
#~ msgstr "Urni zapis"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "If true and format is either \"12-hour\" or \"24-hour\", display seconds "
|
||||
#~ "in time."
|
||||
#~ msgstr ""
|
||||
#~ "Izbrana možnost določa ali \"12-urni\" ali pa \"24-urni\" zapis časa s "
|
||||
#~ "prikazanimi sekundami."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key specifies the format used by the panel clock when the format key "
|
||||
#~ "is set to \"custom\". You can use conversion specifiers understood by "
|
||||
@@ -1369,103 +1324,77 @@ msgstr "%1$s: %2$s"
|
||||
#~ "zapisa nastavljen kot \"prikrojen\". Za določitev zapisa lahko uporabite "
|
||||
#~ "tudi oznake funkcije strftime(), ki so podrobneje zapisane v priročniku "
|
||||
#~ "funkcije."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key specifies the hour format used by the panel clock. Possible "
|
||||
#~ "values are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to "
|
||||
#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. 1970-"
|
||||
#~ "01-01. If set to \"custom\", the clock will display time according to the "
|
||||
#~ "format specified in the custom_format key. Note that if set to either "
|
||||
#~ "\"unix\" or \"custom\", the show_date and show_seconds keys are ignored."
|
||||
#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. "
|
||||
#~ "1970-01-01. If set to \"custom\", the clock will display time according "
|
||||
#~ "to the format specified in the custom_format key. Note that if set to "
|
||||
#~ "either \"unix\" or \"custom\", the show_date and show_seconds keys are "
|
||||
#~ "ignored."
|
||||
#~ msgstr ""
|
||||
#~ "Ključ določa zapis ure. Mogoče vrednosti so \"12-urni\", \"24-urni\", "
|
||||
#~ "\"unix\" in \"po meri\". Možnost \"unix\" prikazuje čas v sekundah od "
|
||||
#~ "začetka ere, torej od 01.01.1970, možnost \"po meri\" pa omogoča "
|
||||
#~ "prikrojen zapis. Pri izbiri zapisa \"unix\" ali \"po meri\" sta izbiri "
|
||||
#~ "pokaži datum in pokaži sekunde, prezrti."
|
||||
|
||||
#~ msgid "Clock Format"
|
||||
#~ msgstr "Zapis ure"
|
||||
|
||||
#~ msgid "Clock Preferences"
|
||||
#~ msgstr "Možnosti ure"
|
||||
|
||||
#~ msgid "Panel Display"
|
||||
#~ msgstr "Prikazovanje pladnja"
|
||||
|
||||
#~ msgid "Show seco_nds"
|
||||
#~ msgstr "Pokaži _sekunde"
|
||||
|
||||
#~ msgid "Show the _date"
|
||||
#~ msgstr "Pokaži _datum"
|
||||
|
||||
#~ msgid "_12 hour format"
|
||||
#~ msgstr "_12-urni zapis časa"
|
||||
|
||||
#~ msgid "_24 hour format"
|
||||
#~ msgstr "_24-urni zapis časa"
|
||||
|
||||
#~ msgid "Preferences"
|
||||
#~ msgstr "Možnosti"
|
||||
|
||||
#~ msgid "What's using power..."
|
||||
#~ msgstr "Kaj porablja napetost ..."
|
||||
|
||||
#~ msgid "Overview workspace view mode"
|
||||
#~ msgstr "Način pregleda predogleda delovnih površin"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The selected workspace view mode in the overview. Supported values are "
|
||||
#~ "\"single\" and \"grid\"."
|
||||
#~ msgstr ""
|
||||
#~ "Izbrani pogled delovnih površin v predogledu. Podprte vrednosti sta "
|
||||
#~ "\"enojno\" in \"mrežno\"."
|
||||
|
||||
#~ msgid "Drag here to add favorites"
|
||||
#~ msgstr "S potegom na to mesto se izbor doda med priljubljene"
|
||||
|
||||
#~ msgid "Find"
|
||||
#~ msgstr "Najdi"
|
||||
|
||||
#~ msgid "Invisible"
|
||||
#~ msgstr "Nevidno"
|
||||
|
||||
#~ msgid "System Preferences..."
|
||||
#~ msgstr "Sistemske možnosti ..."
|
||||
|
||||
#~ msgid "ON"
|
||||
#~ msgstr "⚪"
|
||||
|
||||
#~ msgid "OFF"
|
||||
#~ msgstr "⚫"
|
||||
|
||||
#~ msgid "Sidebar"
|
||||
#~ msgstr "Stranska vrstica"
|
||||
|
||||
#~ msgid "Recent Documents"
|
||||
#~ msgstr "Nedavni dokumenti"
|
||||
|
||||
#~ msgid "PLACES"
|
||||
#~ msgstr "Mesta"
|
||||
|
||||
#~ msgid "SEARCH RESULTS"
|
||||
#~ msgstr "Rezultati iskanja"
|
||||
|
||||
#~ msgid "Can't lock screen: %s"
|
||||
#~ msgstr "Ni mogoče zakleniti zaslona: %s"
|
||||
|
||||
#~ msgid "Can't temporarily set screensaver to blank screen: %s"
|
||||
#~ msgstr ""
|
||||
#~ "Ni mogoče začasno nastaviti črnega zaslona za ohranjevalnik zaslona: %s"
|
||||
|
||||
#~ msgid "Can't logout: %s"
|
||||
#~ msgstr "Ni se mogoče odjaviti: %s"
|
||||
|
||||
#~ msgid "Frequent"
|
||||
#~ msgstr "Pogosto"
|
||||
|
||||
#~ msgid "(see all)"
|
||||
#~ msgstr "(poglej vse)"
|
||||
|
||||
#~ msgid "Browse"
|
||||
#~ msgstr "Prebrskaj"
|
||||
|
||||
|
261
po/sv.po
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-05-01 09:53+0200\n"
|
||||
"PO-Revision-Date: 2011-05-01 09:53+0100\n"
|
||||
"POT-Creation-Date: 2011-04-26 23:10+0200\n"
|
||||
"PO-Revision-Date: 2011-04-26 23:10+0100\n"
|
||||
"Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
|
||||
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
|
||||
"Language: sv\n"
|
||||
@@ -146,15 +146,15 @@ msgstr "PROGRAM"
|
||||
msgid "SETTINGS"
|
||||
msgstr "INSTÄLLNINGAR"
|
||||
|
||||
#: ../js/ui/appDisplay.js:658
|
||||
#: ../js/ui/appDisplay.js:656
|
||||
msgid "New Window"
|
||||
msgstr "Nytt fönster"
|
||||
|
||||
#: ../js/ui/appDisplay.js:661
|
||||
#: ../js/ui/appDisplay.js:659
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Ta bort från favoriter"
|
||||
|
||||
#: ../js/ui/appDisplay.js:662
|
||||
#: ../js/ui/appDisplay.js:660
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Lägg till som favorit"
|
||||
|
||||
@@ -288,14 +288,14 @@ msgstr "Ingenting i schemat"
|
||||
|
||||
#. Translators: Shown on calendar heading when selected day occurs on current year
|
||||
#: ../js/ui/calendar.js:720
|
||||
#: ../js/ui/telepathyClient.js:487
|
||||
#: ../js/ui/telepathyClient.js:492
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, %d %B"
|
||||
|
||||
#. Translators: Shown on calendar heading when selected day occurs on different year
|
||||
#: ../js/ui/calendar.js:723
|
||||
#: ../js/ui/telepathyClient.js:490
|
||||
#: ../js/ui/telepathyClient.js:495
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%A, %d %B, %Y"
|
||||
@@ -447,7 +447,7 @@ msgstr "Starta om systemet."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:413
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:172
|
||||
#: ../js/ui/status/bluetooth.js:491
|
||||
#: ../js/ui/status/bluetooth.js:466
|
||||
msgid "Cancel"
|
||||
msgstr "Avbryt"
|
||||
|
||||
@@ -516,11 +516,11 @@ msgstr "Avsluta %s"
|
||||
|
||||
#. Button on the left side of the panel.
|
||||
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
|
||||
#: ../js/ui/panel.js:913
|
||||
#: ../js/ui/panel.js:911
|
||||
msgid "Activities"
|
||||
msgstr "Aktiviteter"
|
||||
|
||||
#: ../js/ui/panel.js:1015
|
||||
#: ../js/ui/panel.js:1012
|
||||
msgid "Top Bar"
|
||||
msgstr "Övre rad"
|
||||
|
||||
@@ -578,11 +578,11 @@ msgstr "toggle-switch-intl"
|
||||
msgid "Please enter a command:"
|
||||
msgstr "Ange ett kommando:"
|
||||
|
||||
#: ../js/ui/searchDisplay.js:313
|
||||
#: ../js/ui/searchDisplay.js:311
|
||||
msgid "Searching..."
|
||||
msgstr "Söker..."
|
||||
|
||||
#: ../js/ui/searchDisplay.js:327
|
||||
#: ../js/ui/searchDisplay.js:325
|
||||
msgid "No matching results."
|
||||
msgstr "Inga sökträffar."
|
||||
|
||||
@@ -668,11 +668,11 @@ msgid "Large Text"
|
||||
msgstr "Stor text"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:42
|
||||
#: ../js/ui/status/bluetooth.js:264
|
||||
#: ../js/ui/status/bluetooth.js:358
|
||||
#: ../js/ui/status/bluetooth.js:392
|
||||
#: ../js/ui/status/bluetooth.js:432
|
||||
#: ../js/ui/status/bluetooth.js:465
|
||||
#: ../js/ui/status/bluetooth.js:237
|
||||
#: ../js/ui/status/bluetooth.js:333
|
||||
#: ../js/ui/status/bluetooth.js:367
|
||||
#: ../js/ui/status/bluetooth.js:407
|
||||
#: ../js/ui/status/bluetooth.js:440
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
@@ -685,103 +685,103 @@ msgid "Send Files to Device..."
|
||||
msgstr "Skicka filer till enhet..."
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:70
|
||||
msgid "Set up a New Device..."
|
||||
msgid "Setup a New Device..."
|
||||
msgstr "Konfigurera en ny enhet..."
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:95
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Inställningar för Bluetooth"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:215
|
||||
#: ../js/ui/status/bluetooth.js:188
|
||||
msgid "Connection"
|
||||
msgstr "Anslutning"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:251
|
||||
#: ../js/ui/status/bluetooth.js:224
|
||||
msgid "Send Files..."
|
||||
msgstr "Skicka filer..."
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:256
|
||||
#: ../js/ui/status/bluetooth.js:229
|
||||
msgid "Browse Files..."
|
||||
msgstr "Bläddra efter filer..."
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:265
|
||||
#: ../js/ui/status/bluetooth.js:238
|
||||
msgid "Error browsing device"
|
||||
msgstr "Fel vid bläddring i enheten"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:266
|
||||
#: ../js/ui/status/bluetooth.js:239
|
||||
#, c-format
|
||||
msgid "The requested device cannot be browsed, error is '%s'"
|
||||
msgstr "Den begärda enheten kan inte bläddras. Felet är \"%s\""
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:274
|
||||
#: ../js/ui/status/bluetooth.js:247
|
||||
msgid "Keyboard Settings"
|
||||
msgstr "Tangentbordsinställningar"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:279
|
||||
#: ../js/ui/status/bluetooth.js:252
|
||||
msgid "Mouse Settings"
|
||||
msgstr "Musinställningar"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:286
|
||||
#: ../js/ui/status/bluetooth.js:259
|
||||
#: ../js/ui/status/volume.js:66
|
||||
msgid "Sound Settings"
|
||||
msgstr "Ljudinställningar"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:393
|
||||
#: ../js/ui/status/bluetooth.js:368
|
||||
#, c-format
|
||||
msgid "Authorization request from %s"
|
||||
msgstr "Auktoriseringsbegäran från %s"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:399
|
||||
#: ../js/ui/status/bluetooth.js:374
|
||||
#, c-format
|
||||
msgid "Device %s wants access to the service '%s'"
|
||||
msgstr "Enheten %s vill ha åtkomst till tjänsten \"%s\""
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:401
|
||||
#: ../js/ui/status/bluetooth.js:376
|
||||
msgid "Always grant access"
|
||||
msgstr "Tillåt alltid åtkomst"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:402
|
||||
#: ../js/ui/status/bluetooth.js:377
|
||||
msgid "Grant this time only"
|
||||
msgstr "Tillåt för denna gång"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:403
|
||||
#: ../js/ui/status/bluetooth.js:378
|
||||
msgid "Reject"
|
||||
msgstr "Neka"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:433
|
||||
#: ../js/ui/status/bluetooth.js:408
|
||||
#, c-format
|
||||
msgid "Pairing confirmation for %s"
|
||||
msgstr "Bekräftelse av ihopparning för %s"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:439
|
||||
#: ../js/ui/status/bluetooth.js:473
|
||||
#: ../js/ui/status/bluetooth.js:414
|
||||
#: ../js/ui/status/bluetooth.js:448
|
||||
#, c-format
|
||||
msgid "Device %s wants to pair with this computer"
|
||||
msgstr "Enheten %s vill paras ihop med denna dator"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:440
|
||||
#: ../js/ui/status/bluetooth.js:415
|
||||
#, c-format
|
||||
msgid "Please confirm whether the PIN '%s' matches the one on the device."
|
||||
msgstr "Bekräfta huruvida PIN-koden \"%s\" stämmer med den på enheten."
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:442
|
||||
#: ../js/ui/status/bluetooth.js:417
|
||||
msgid "Matches"
|
||||
msgstr "Stämmer"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:443
|
||||
#: ../js/ui/status/bluetooth.js:418
|
||||
msgid "Does not match"
|
||||
msgstr "Stämmer inte"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:466
|
||||
#: ../js/ui/status/bluetooth.js:441
|
||||
#, c-format
|
||||
msgid "Pairing request for %s"
|
||||
msgstr "Ihopparningsbegäran för %s"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:474
|
||||
#: ../js/ui/status/bluetooth.js:449
|
||||
msgid "Please enter the PIN mentioned on the device."
|
||||
msgstr "Ange PIN-koden som anges på enheten."
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:490
|
||||
#: ../js/ui/status/bluetooth.js:465
|
||||
msgid "OK"
|
||||
msgstr "OK"
|
||||
|
||||
@@ -793,141 +793,142 @@ msgstr "Visa tangentbordslayout..."
|
||||
msgid "Localization Settings"
|
||||
msgstr "Språkinställningar"
|
||||
|
||||
#: ../js/ui/status/network.js:113
|
||||
#: ../js/ui/status/network.js:109
|
||||
#: ../js/ui/status/network.js:1501
|
||||
msgid "<unknown>"
|
||||
msgstr "<okänd>"
|
||||
|
||||
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
||||
#: ../js/ui/status/network.js:330
|
||||
#: ../js/ui/status/network.js:326
|
||||
msgid "disabled"
|
||||
msgstr "inaktiverad"
|
||||
|
||||
#: ../js/ui/status/network.js:528
|
||||
#: ../js/ui/status/network.js:524
|
||||
msgid "connecting..."
|
||||
msgstr "ansluter..."
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password
|
||||
#: ../js/ui/status/network.js:531
|
||||
#: ../js/ui/status/network.js:527
|
||||
msgid "authentication required"
|
||||
msgstr "autentisering krävs"
|
||||
|
||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||
#. module, which is missing
|
||||
#: ../js/ui/status/network.js:541
|
||||
#: ../js/ui/status/network.js:537
|
||||
msgid "firmware missing"
|
||||
msgstr "fast programvara saknas"
|
||||
|
||||
#. Translators: this is for wired network devices that are physically disconnected
|
||||
#: ../js/ui/status/network.js:548
|
||||
#: ../js/ui/status/network.js:544
|
||||
msgid "cable unplugged"
|
||||
msgstr "kabeln är inte ansluten"
|
||||
|
||||
#. 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:553
|
||||
#: ../js/ui/status/network.js:549
|
||||
msgid "unavailable"
|
||||
msgstr "inte tillgänglig"
|
||||
|
||||
#: ../js/ui/status/network.js:555
|
||||
#: ../js/ui/status/network.js:551
|
||||
msgid "connection failed"
|
||||
msgstr "anslutningen misslyckades"
|
||||
|
||||
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
||||
#. and we cannot access its settings (including the name)
|
||||
#: ../js/ui/status/network.js:635
|
||||
#: ../js/ui/status/network.js:1532
|
||||
#: ../js/ui/status/network.js:631
|
||||
#: ../js/ui/status/network.js:1449
|
||||
msgid "Connected (private)"
|
||||
msgstr "Ansluten (privat)"
|
||||
|
||||
#: ../js/ui/status/network.js:720
|
||||
#: ../js/ui/status/network.js:716
|
||||
msgid "Auto Ethernet"
|
||||
msgstr "Automatiskt ethernet"
|
||||
|
||||
#: ../js/ui/status/network.js:795
|
||||
#: ../js/ui/status/network.js:791
|
||||
msgid "Auto broadband"
|
||||
msgstr "Automatiskt bredband"
|
||||
|
||||
#: ../js/ui/status/network.js:798
|
||||
#: ../js/ui/status/network.js:794
|
||||
msgid "Auto dial-up"
|
||||
msgstr "Automatiskt uppringt nätverk"
|
||||
|
||||
#. TRANSLATORS: this the automatic wireless connection name (including the network name)
|
||||
#: ../js/ui/status/network.js:944
|
||||
#: ../js/ui/status/network.js:1544
|
||||
#: ../js/ui/status/network.js:940
|
||||
#: ../js/ui/status/network.js:1461
|
||||
#, c-format
|
||||
msgid "Auto %s"
|
||||
msgstr "Automatiskt %s"
|
||||
|
||||
#: ../js/ui/status/network.js:946
|
||||
#: ../js/ui/status/network.js:942
|
||||
msgid "Auto bluetooth"
|
||||
msgstr "Automatisk Bluetooth"
|
||||
|
||||
#: ../js/ui/status/network.js:1546
|
||||
#: ../js/ui/status/network.js:1463
|
||||
msgid "Auto wireless"
|
||||
msgstr "Automatiskt trådlöst nätverk"
|
||||
|
||||
#: ../js/ui/status/network.js:1583
|
||||
#: ../js/ui/status/network.js:1521
|
||||
msgid "More..."
|
||||
msgstr "Mer..."
|
||||
|
||||
#: ../js/ui/status/network.js:1625
|
||||
#: ../js/ui/status/network.js:1544
|
||||
msgid "Enable networking"
|
||||
msgstr "Aktivera nätverk"
|
||||
|
||||
#: ../js/ui/status/network.js:1637
|
||||
#: ../js/ui/status/network.js:1556
|
||||
msgid "Wired"
|
||||
msgstr "Trådbundet"
|
||||
|
||||
#: ../js/ui/status/network.js:1648
|
||||
#: ../js/ui/status/network.js:1567
|
||||
msgid "Wireless"
|
||||
msgstr "Trådlöst"
|
||||
|
||||
#: ../js/ui/status/network.js:1658
|
||||
#: ../js/ui/status/network.js:1577
|
||||
msgid "Mobile broadband"
|
||||
msgstr "Mobilt bredband"
|
||||
|
||||
#: ../js/ui/status/network.js:1668
|
||||
#: ../js/ui/status/network.js:1587
|
||||
msgid "VPN Connections"
|
||||
msgstr "VPN-anslutningar"
|
||||
|
||||
#: ../js/ui/status/network.js:1680
|
||||
#: ../js/ui/status/network.js:1599
|
||||
msgid "Network Settings"
|
||||
msgstr "Nätverksinställningar"
|
||||
|
||||
#: ../js/ui/status/network.js:1974
|
||||
#: ../js/ui/status/network.js:1893
|
||||
#, c-format
|
||||
msgid "You're now connected to mobile broadband connection '%s'"
|
||||
msgstr "Du är nu ansluten till mobila bredbandsanslutningen \"%s\""
|
||||
|
||||
#: ../js/ui/status/network.js:1978
|
||||
#: ../js/ui/status/network.js:1897
|
||||
#, c-format
|
||||
msgid "You're now connected to wireless network '%s'"
|
||||
msgstr "Du är nu ansluten till trådlösa nätverket \"%s\""
|
||||
|
||||
#: ../js/ui/status/network.js:1982
|
||||
#: ../js/ui/status/network.js:1901
|
||||
#, c-format
|
||||
msgid "You're now connected to wired network '%s'"
|
||||
msgstr "Du är nu ansluten till trådbundna nätverket \"%s\""
|
||||
|
||||
#: ../js/ui/status/network.js:1986
|
||||
#: ../js/ui/status/network.js:1905
|
||||
#, c-format
|
||||
msgid "You're now connected to VPN network '%s'"
|
||||
msgstr "Du är nu ansluten till VPN-nätverket \"%s\""
|
||||
|
||||
#: ../js/ui/status/network.js:1991
|
||||
#: ../js/ui/status/network.js:1910
|
||||
#, c-format
|
||||
msgid "You're now connected to '%s'"
|
||||
msgstr "Du är nu ansluten till \"%s\""
|
||||
|
||||
#: ../js/ui/status/network.js:1999
|
||||
#: ../js/ui/status/network.js:1918
|
||||
msgid "Connection established"
|
||||
msgstr "Anslutningen etablerad"
|
||||
|
||||
#: ../js/ui/status/network.js:2125
|
||||
#: ../js/ui/status/network.js:2044
|
||||
msgid "Networking is disabled"
|
||||
msgstr "Nätverk är inaktiverat"
|
||||
|
||||
#: ../js/ui/status/network.js:2250
|
||||
#: ../js/ui/status/network.js:2169
|
||||
msgid "Network Manager"
|
||||
msgstr "Nätverkshanterare"
|
||||
|
||||
@@ -1030,22 +1031,22 @@ msgstr "Volym"
|
||||
msgid "Microphone"
|
||||
msgstr "Mikrofon"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:330
|
||||
#: ../js/ui/telepathyClient.js:335
|
||||
#, c-format
|
||||
msgid "%s is online."
|
||||
msgstr "%s är ansluten."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:335
|
||||
#: ../js/ui/telepathyClient.js:340
|
||||
#, c-format
|
||||
msgid "%s is offline."
|
||||
msgstr "%s är frånkopplad."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:338
|
||||
#: ../js/ui/telepathyClient.js:343
|
||||
#, c-format
|
||||
msgid "%s is away."
|
||||
msgstr "%s är frånvarande."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:341
|
||||
#: ../js/ui/telepathyClient.js:346
|
||||
#, c-format
|
||||
msgid "%s is busy."
|
||||
msgstr "%s är upptagen."
|
||||
@@ -1053,18 +1054,11 @@ msgstr "%s är upptagen."
|
||||
#. Translators: this is a time format string followed by a date.
|
||||
#. If applicable, replace %X with a strftime format valid for your
|
||||
#. locale, without seconds.
|
||||
#: ../js/ui/telepathyClient.js:479
|
||||
#: ../js/ui/telepathyClient.js:484
|
||||
#, no-c-format
|
||||
msgid "Sent at %X on %A"
|
||||
msgstr "Skickades klockan %X på %A"
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#: ../js/ui/telepathyClient.js:524
|
||||
#, c-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "%s är nu känd som %s"
|
||||
|
||||
#. Translators: this is the text displayed
|
||||
#. in the search entry when no search is
|
||||
#. active; it should not exceed ~30
|
||||
@@ -1119,6 +1113,38 @@ msgstr "Skriv ut version"
|
||||
msgid "Failed to launch '%s'"
|
||||
msgstr "Misslyckades med att starta \"%s\""
|
||||
|
||||
#: ../src/shell-global.c:1395
|
||||
msgid "Less than a minute ago"
|
||||
msgstr "Mindre än en minut sedan"
|
||||
|
||||
#: ../src/shell-global.c:1399
|
||||
#, c-format
|
||||
msgid "%d minute ago"
|
||||
msgid_plural "%d minutes ago"
|
||||
msgstr[0] "%d minut sedan"
|
||||
msgstr[1] "%d minuter sedan"
|
||||
|
||||
#: ../src/shell-global.c:1404
|
||||
#, c-format
|
||||
msgid "%d hour ago"
|
||||
msgid_plural "%d hours ago"
|
||||
msgstr[0] "%d timme sedan"
|
||||
msgstr[1] "%d timmar sedan"
|
||||
|
||||
#: ../src/shell-global.c:1409
|
||||
#, c-format
|
||||
msgid "%d day ago"
|
||||
msgid_plural "%d days ago"
|
||||
msgstr[0] "%d dag sedan"
|
||||
msgstr[1] "%d dagar sedan"
|
||||
|
||||
#: ../src/shell-global.c:1414
|
||||
#, c-format
|
||||
msgid "%d week ago"
|
||||
msgid_plural "%d weeks ago"
|
||||
msgstr[0] "%d vecka sedan"
|
||||
msgstr[1] "%d veckor sedan"
|
||||
|
||||
#: ../src/shell-mobile-providers.c:80
|
||||
msgid "United Kingdom"
|
||||
msgstr "Storbritannien"
|
||||
@@ -1151,33 +1177,6 @@ msgstr "Filsystem"
|
||||
msgid "%1$s: %2$s"
|
||||
msgstr "%1$s: %2$s"
|
||||
|
||||
#~ msgid "Less than a minute ago"
|
||||
#~ msgstr "Mindre än en minut sedan"
|
||||
|
||||
#~ msgid "%d minute ago"
|
||||
|
||||
#~ msgid_plural "%d minutes ago"
|
||||
#~ msgstr[0] "%d minut sedan"
|
||||
#~ msgstr[1] "%d minuter sedan"
|
||||
|
||||
#~ msgid "%d hour ago"
|
||||
|
||||
#~ msgid_plural "%d hours ago"
|
||||
#~ msgstr[0] "%d timme sedan"
|
||||
#~ msgstr[1] "%d timmar sedan"
|
||||
|
||||
#~ msgid "%d day ago"
|
||||
|
||||
#~ msgid_plural "%d days ago"
|
||||
#~ msgstr[0] "%d dag sedan"
|
||||
#~ msgstr[1] "%d dagar sedan"
|
||||
|
||||
#~ msgid "%d week ago"
|
||||
|
||||
#~ msgid_plural "%d weeks ago"
|
||||
#~ msgstr[0] "%d vecka sedan"
|
||||
#~ msgstr[1] "%d veckor sedan"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "No such application"
|
||||
#~ msgstr "Program"
|
||||
@@ -1185,128 +1184,90 @@ msgstr "%1$s: %2$s"
|
||||
#, fuzzy
|
||||
#~ msgid "Shut Down"
|
||||
#~ msgstr "Stäng av..."
|
||||
|
||||
#~ msgid "Screen Reader"
|
||||
#~ msgstr "Skärmläsare"
|
||||
|
||||
#~ msgid "Screen Keyboard"
|
||||
#~ msgstr "Skärmtangentbord"
|
||||
|
||||
#~ msgid "Clock"
|
||||
#~ msgstr "Klocka"
|
||||
|
||||
#~ msgid "Customize the panel clock"
|
||||
#~ msgstr "Anpassa panelklockan"
|
||||
|
||||
#~ msgid "Custom format of the clock"
|
||||
#~ msgstr "Anpassat format för klockan"
|
||||
|
||||
#~ msgid "Hour format"
|
||||
#~ msgstr "Timmesformat"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "If true and format is either \"12-hour\" or \"24-hour\", display seconds "
|
||||
#~ "in time."
|
||||
#~ msgstr ""
|
||||
#~ "Om true och formatet antingen är \"12-hour\" eller \"24-hour\", visa "
|
||||
#~ "sekunder i tiden."
|
||||
|
||||
#~ msgid "Enable lens mode"
|
||||
#~ msgstr "Aktivera linsläge"
|
||||
|
||||
#~ msgid "Magnification factor"
|
||||
#~ msgstr "Förstoringsfaktor"
|
||||
|
||||
#~ msgid "Screen position"
|
||||
#~ msgstr "Skärmposition"
|
||||
|
||||
#~ msgid "Clock Format"
|
||||
#~ msgstr "Klockformat"
|
||||
|
||||
#~ msgid "Clock Preferences"
|
||||
#~ msgstr "Klockinställningar"
|
||||
|
||||
#~ msgid "Panel Display"
|
||||
#~ msgstr "Panelvisning"
|
||||
|
||||
#~ msgid "Show seco_nds"
|
||||
#~ msgstr "Visa seku_nder"
|
||||
|
||||
#~ msgid "Show the _date"
|
||||
#~ msgstr "Visa _datum"
|
||||
|
||||
#~ msgid "_12 hour format"
|
||||
#~ msgstr "_12-timmarsformat"
|
||||
|
||||
#~ msgid "_24 hour format"
|
||||
#~ msgstr "_24-timmarsformat"
|
||||
|
||||
#~ msgid "PREFERENCES"
|
||||
#~ msgstr "INSTÄLLNINGAR"
|
||||
|
||||
#~ msgid "Preferences"
|
||||
#~ msgstr "Inställningar"
|
||||
|
||||
#~ msgid "Search your computer"
|
||||
#~ msgstr "Sök i din dator"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Can't add a new workspace because maximum workspaces limit has been "
|
||||
#~ "reached."
|
||||
#~ msgstr ""
|
||||
#~ "Kan inte lägga till en ny arbetsyta eftersom maximalt antal arbetsytor "
|
||||
#~ "har uppnåtts."
|
||||
|
||||
#~ msgid "Can't remove the first workspace."
|
||||
#~ msgstr "Kan inte ta bort första arbetsytan."
|
||||
|
||||
#~ msgid "Drag here to add favorites"
|
||||
#~ msgstr "Dra hit för att lägga till favorit"
|
||||
|
||||
#~ msgid "Find"
|
||||
#~ msgstr "Sök"
|
||||
|
||||
#~ msgid "ON"
|
||||
#~ msgstr "PÅ"
|
||||
|
||||
#~ msgid "OFF"
|
||||
#~ msgstr "AV"
|
||||
|
||||
#~ msgid "Invisible"
|
||||
#~ msgstr "Osynlig"
|
||||
|
||||
#~ msgid "PLACES"
|
||||
#~ msgstr "PLATSER"
|
||||
|
||||
#~ msgid "SEARCH RESULTS"
|
||||
#~ msgstr "SÖKRESULTAT"
|
||||
|
||||
#~ msgid "Recent Documents"
|
||||
#~ msgstr "Senaste dokument"
|
||||
|
||||
#~ msgid "(see all)"
|
||||
#~ msgstr "(se alla)"
|
||||
|
||||
#~ msgid "Can't lock screen: %s"
|
||||
#~ msgstr "Kan inte låsa skärmen: %s"
|
||||
|
||||
#~ msgid "Can't temporarily set screensaver to blank screen: %s"
|
||||
#~ msgstr "Kan inte temporärt ställa in skärmsläckaren till blank skärm: %s"
|
||||
|
||||
#~ msgid "Can't logout: %s"
|
||||
#~ msgstr "Kan inte logga ut: %s"
|
||||
|
||||
#~ msgid "Sidebar"
|
||||
#~ msgstr "Sidopanel"
|
||||
|
||||
#~ msgid "Browse"
|
||||
#~ msgstr "Bläddra"
|
||||
|
||||
#~ msgid "Find apps or documents"
|
||||
#~ msgstr "Hitta program eller dokument"
|
||||
|
||||
#~ msgid "DOCUMENTS"
|
||||
#~ msgstr "DOKUMENT"
|
||||
|
||||
#~ msgid "The user manager object this user is controlled by."
|
||||
#~ msgstr "Användarhanteringsobjektet som denna användare styrs av."
|
||||
|
||||
|
234
po/uk.po
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-05-02 02:44+0300\n"
|
||||
"PO-Revision-Date: 2011-05-02 02:46+0300\n"
|
||||
"POT-Creation-Date: 2011-03-27 18:25+0300\n"
|
||||
"PO-Revision-Date: 2011-03-27 18:27+0300\n"
|
||||
"Last-Translator: Korostil Daniel <ted.korostiled@gmail.com>\n"
|
||||
"Language-Team: translation@linux.org.ua\n"
|
||||
"Language: uk\n"
|
||||
@@ -98,7 +98,7 @@ msgstr ""
|
||||
"Вказує канал даних GStreamer для кодування запису. Звідси відповідний "
|
||||
"синтаксис для gst-launch. Канал даних повинен мати нез'єднаний приймальний "
|
||||
"буфер, де відео записано. Зазвичай воно має нез'єднане джерело буфера; вивід "
|
||||
"з цього буфера буде записано в вихідний файл. Однак канал даних також "
|
||||
"з цього буфера буде записано в вихідний файл. Однак канал даних також "
|
||||
"відповідати за власний вивід — це може бути використано для відправлення "
|
||||
"виводу до сервера через протокол shout2send чи будь-який інший. Коли не "
|
||||
"вказано або вказано порожнє значення, буде використано типовий канал даних. "
|
||||
@@ -189,27 +189,27 @@ msgid "Execution of '%s' failed:"
|
||||
msgstr "Не вдалось виконати «%s»:"
|
||||
|
||||
#. Translators: Filter to display all applications
|
||||
#: ../js/ui/appDisplay.js:260
|
||||
#: ../js/ui/appDisplay.js:230
|
||||
msgid "All"
|
||||
msgstr "Всі"
|
||||
|
||||
#: ../js/ui/appDisplay.js:359
|
||||
#: ../js/ui/appDisplay.js:328
|
||||
msgid "APPLICATIONS"
|
||||
msgstr "ПРОГРАМИ"
|
||||
|
||||
#: ../js/ui/appDisplay.js:385
|
||||
#: ../js/ui/appDisplay.js:354
|
||||
msgid "SETTINGS"
|
||||
msgstr "ПАРАМЕТРИ"
|
||||
|
||||
#: ../js/ui/appDisplay.js:658
|
||||
#: ../js/ui/appDisplay.js:625
|
||||
msgid "New Window"
|
||||
msgstr "Нове вікно"
|
||||
|
||||
#: ../js/ui/appDisplay.js:661
|
||||
#: ../js/ui/appDisplay.js:628
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Вилучити з улюбленого"
|
||||
|
||||
#: ../js/ui/appDisplay.js:662
|
||||
#: ../js/ui/appDisplay.js:629
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Додати до улюбленого"
|
||||
|
||||
@@ -342,13 +342,13 @@ msgid "Nothing Scheduled"
|
||||
msgstr "Нічого не заплановано"
|
||||
|
||||
#. Translators: Shown on calendar heading when selected day occurs on current year
|
||||
#: ../js/ui/calendar.js:720 ../js/ui/telepathyClient.js:487
|
||||
#: ../js/ui/calendar.js:720
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, %B %d"
|
||||
|
||||
#. Translators: Shown on calendar heading when selected day occurs on different year
|
||||
#: ../js/ui/calendar.js:723 ../js/ui/telepathyClient.js:490
|
||||
#: ../js/ui/calendar.js:723
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%A, %B %d, %Y"
|
||||
@@ -369,7 +369,7 @@ msgstr "Цей тиждень"
|
||||
msgid "Next week"
|
||||
msgstr "Наступний тиждень"
|
||||
|
||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1037
|
||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1000
|
||||
msgid "Remove"
|
||||
msgstr "Вилучити"
|
||||
|
||||
@@ -495,8 +495,8 @@ msgstr "Система автоматично перезапуститься ч
|
||||
msgid "Restarting the system."
|
||||
msgstr "Перезапуск системи."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:413 ../js/ui/polkitAuthenticationAgent.js:172
|
||||
#: ../js/ui/status/bluetooth.js:491
|
||||
#: ../js/ui/endSessionDialog.js:415 ../js/ui/polkitAuthenticationAgent.js:172
|
||||
#: ../js/ui/status/bluetooth.js:466
|
||||
msgid "Cancel"
|
||||
msgstr "Скасувати"
|
||||
|
||||
@@ -530,11 +530,11 @@ msgstr "Переглянути джерело"
|
||||
msgid "Web Page"
|
||||
msgstr "Веб-сторінка"
|
||||
|
||||
#: ../js/ui/messageTray.js:1030
|
||||
#: ../js/ui/messageTray.js:993
|
||||
msgid "Open"
|
||||
msgstr "Відкрити"
|
||||
|
||||
#: ../js/ui/messageTray.js:2194
|
||||
#: ../js/ui/messageTray.js:2151
|
||||
msgid "System Information"
|
||||
msgstr "Інформація про систему"
|
||||
|
||||
@@ -557,18 +557,18 @@ msgid "Dash"
|
||||
msgstr "Риска"
|
||||
|
||||
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
||||
#: ../js/ui/panel.js:533
|
||||
#: ../js/ui/panel.js:515
|
||||
#, c-format
|
||||
msgid "Quit %s"
|
||||
msgstr "Вийти з %s"
|
||||
|
||||
#. Button on the left side of the panel.
|
||||
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
|
||||
#: ../js/ui/panel.js:913
|
||||
#: ../js/ui/panel.js:878
|
||||
msgid "Activities"
|
||||
msgstr "Діяльність"
|
||||
|
||||
#: ../js/ui/panel.js:1015
|
||||
#: ../js/ui/panel.js:979
|
||||
msgid "Top Bar"
|
||||
msgstr "Верхня панель"
|
||||
|
||||
@@ -626,11 +626,11 @@ msgstr "toggle-switch-intl"
|
||||
msgid "Please enter a command:"
|
||||
msgstr "Будь ласка, введіть команду:"
|
||||
|
||||
#: ../js/ui/searchDisplay.js:313
|
||||
#: ../js/ui/searchDisplay.js:310
|
||||
msgid "Searching..."
|
||||
msgstr "Пошук…"
|
||||
|
||||
#: ../js/ui/searchDisplay.js:327
|
||||
#: ../js/ui/searchDisplay.js:324
|
||||
msgid "No matching results."
|
||||
msgstr "Нема збігів."
|
||||
|
||||
@@ -713,9 +713,9 @@ msgstr "Висока контрастність"
|
||||
msgid "Large Text"
|
||||
msgstr "Більший текст"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:264
|
||||
#: ../js/ui/status/bluetooth.js:358 ../js/ui/status/bluetooth.js:392
|
||||
#: ../js/ui/status/bluetooth.js:432 ../js/ui/status/bluetooth.js:465
|
||||
#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:237
|
||||
#: ../js/ui/status/bluetooth.js:333 ../js/ui/status/bluetooth.js:367
|
||||
#: ../js/ui/status/bluetooth.js:407 ../js/ui/status/bluetooth.js:440
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
@@ -728,101 +728,101 @@ msgid "Send Files to Device..."
|
||||
msgstr "Відправити файли до пристрою…"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:70
|
||||
msgid "Set up a New Device..."
|
||||
msgid "Setup a New Device..."
|
||||
msgstr "Встановити новий пристрій…"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:95
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Параметри Bluetooth"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:215
|
||||
#: ../js/ui/status/bluetooth.js:188
|
||||
msgid "Connection"
|
||||
msgstr "З'єднання"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:251
|
||||
#: ../js/ui/status/bluetooth.js:224
|
||||
msgid "Send Files..."
|
||||
msgstr "Відправити файли…"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:256
|
||||
#: ../js/ui/status/bluetooth.js:229
|
||||
msgid "Browse Files..."
|
||||
msgstr "Огляд файлів…"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:265
|
||||
#: ../js/ui/status/bluetooth.js:238
|
||||
msgid "Error browsing device"
|
||||
msgstr "Помилка перегляду пристрою…"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:266
|
||||
#: ../js/ui/status/bluetooth.js:239
|
||||
#, c-format
|
||||
msgid "The requested device cannot be browsed, error is '%s'"
|
||||
msgstr "Потрібний пристрій неможливо переглянути, помилка — «%s»"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:274
|
||||
#: ../js/ui/status/bluetooth.js:247
|
||||
msgid "Keyboard Settings"
|
||||
msgstr "Параметри клавіатури"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:279
|
||||
#: ../js/ui/status/bluetooth.js:252
|
||||
msgid "Mouse Settings"
|
||||
msgstr "Параметри миші"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:286 ../js/ui/status/volume.js:66
|
||||
#: ../js/ui/status/bluetooth.js:259 ../js/ui/status/volume.js:66
|
||||
msgid "Sound Settings"
|
||||
msgstr "Параметри звуку"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:393
|
||||
#: ../js/ui/status/bluetooth.js:368
|
||||
#, c-format
|
||||
msgid "Authorization request from %s"
|
||||
msgstr "Запит про авторизацію від %s"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:399
|
||||
#: ../js/ui/status/bluetooth.js:374
|
||||
#, c-format
|
||||
msgid "Device %s wants access to the service '%s'"
|
||||
msgstr "Пристрій %s потребує доступ до служби «%s»"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:401
|
||||
#: ../js/ui/status/bluetooth.js:376
|
||||
msgid "Always grant access"
|
||||
msgstr "Завжди надавати доступ"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:402
|
||||
#: ../js/ui/status/bluetooth.js:377
|
||||
msgid "Grant this time only"
|
||||
msgstr "Надати лише цього разу"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:403
|
||||
#: ../js/ui/status/bluetooth.js:378
|
||||
msgid "Reject"
|
||||
msgstr "Відмовити"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:433
|
||||
#: ../js/ui/status/bluetooth.js:408
|
||||
#, c-format
|
||||
msgid "Pairing confirmation for %s"
|
||||
msgstr "Сполучення підтвердження для %s"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:439 ../js/ui/status/bluetooth.js:473
|
||||
#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:448
|
||||
#, c-format
|
||||
msgid "Device %s wants to pair with this computer"
|
||||
msgstr "Пристрій %s потребує прив'язання до цього комп'ютера"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:440
|
||||
#: ../js/ui/status/bluetooth.js:415
|
||||
#, c-format
|
||||
msgid "Please confirm whether the PIN '%s' matches the one on the device."
|
||||
msgstr "Будь ласка, підвердьте, чи «%s» збігається з PIN на пристрої."
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:442
|
||||
#: ../js/ui/status/bluetooth.js:417
|
||||
msgid "Matches"
|
||||
msgstr "Збігається"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:443
|
||||
#: ../js/ui/status/bluetooth.js:418
|
||||
msgid "Does not match"
|
||||
msgstr "Не збігається"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:466
|
||||
#: ../js/ui/status/bluetooth.js:441
|
||||
#, c-format
|
||||
msgid "Pairing request for %s"
|
||||
msgstr "Запит на сполучення для %s"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:474
|
||||
#: ../js/ui/status/bluetooth.js:449
|
||||
msgid "Please enter the PIN mentioned on the device."
|
||||
msgstr "Будь ласка, введіть PIN, згаданий на пристрої."
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:490
|
||||
#: ../js/ui/status/bluetooth.js:465
|
||||
msgid "OK"
|
||||
msgstr "Гаразд"
|
||||
|
||||
@@ -834,139 +834,139 @@ msgstr "Показувати розкладку клавіатури…"
|
||||
msgid "Localization Settings"
|
||||
msgstr "Параметри локалізації"
|
||||
|
||||
#: ../js/ui/status/network.js:113
|
||||
#: ../js/ui/status/network.js:104 ../js/ui/status/network.js:1454
|
||||
msgid "<unknown>"
|
||||
msgstr "<невідомо>"
|
||||
|
||||
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
||||
#: ../js/ui/status/network.js:330
|
||||
#: ../js/ui/status/network.js:311
|
||||
msgid "disabled"
|
||||
msgstr "вимкнено"
|
||||
|
||||
#: ../js/ui/status/network.js:528
|
||||
#: ../js/ui/status/network.js:494
|
||||
msgid "connecting..."
|
||||
msgstr "з'єднання…"
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password
|
||||
#: ../js/ui/status/network.js:531
|
||||
#: ../js/ui/status/network.js:497
|
||||
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:541
|
||||
#: ../js/ui/status/network.js:507
|
||||
msgid "firmware missing"
|
||||
msgstr "Бракує мікропрограми"
|
||||
|
||||
#. Translators: this is for wired network devices that are physically disconnected
|
||||
#: ../js/ui/status/network.js:548
|
||||
#: ../js/ui/status/network.js:514
|
||||
msgid "cable unplugged"
|
||||
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:553
|
||||
#: ../js/ui/status/network.js:519
|
||||
msgid "unavailable"
|
||||
msgstr "недоступний"
|
||||
|
||||
#: ../js/ui/status/network.js:555
|
||||
#: ../js/ui/status/network.js:521
|
||||
msgid "connection failed"
|
||||
msgstr "не вдалось з'єднатись"
|
||||
|
||||
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
||||
#. and we cannot access its settings (including the name)
|
||||
#: ../js/ui/status/network.js:635 ../js/ui/status/network.js:1532
|
||||
#: ../js/ui/status/network.js:602 ../js/ui/status/network.js:1402
|
||||
msgid "Connected (private)"
|
||||
msgstr "З'єднано (приватно)"
|
||||
|
||||
#: ../js/ui/status/network.js:720
|
||||
#: ../js/ui/status/network.js:683
|
||||
msgid "Auto Ethernet"
|
||||
msgstr "Автоматично Ethernet"
|
||||
|
||||
#: ../js/ui/status/network.js:795
|
||||
#: ../js/ui/status/network.js:758
|
||||
msgid "Auto broadband"
|
||||
msgstr "Автоматично радіомережа"
|
||||
|
||||
#: ../js/ui/status/network.js:798
|
||||
#: ../js/ui/status/network.js:761
|
||||
msgid "Auto dial-up"
|
||||
msgstr "Автоматично додзвін"
|
||||
|
||||
#. TRANSLATORS: this the automatic wireless connection name (including the network name)
|
||||
#: ../js/ui/status/network.js:944 ../js/ui/status/network.js:1544
|
||||
#: ../js/ui/status/network.js:904 ../js/ui/status/network.js:1414
|
||||
#, c-format
|
||||
msgid "Auto %s"
|
||||
msgstr "Автоматично %s"
|
||||
|
||||
#: ../js/ui/status/network.js:946
|
||||
#: ../js/ui/status/network.js:906
|
||||
msgid "Auto bluetooth"
|
||||
msgstr "Автоматично Bluetooth"
|
||||
|
||||
#: ../js/ui/status/network.js:1546
|
||||
#: ../js/ui/status/network.js:1416
|
||||
msgid "Auto wireless"
|
||||
msgstr "Автоматично бездротова мережа"
|
||||
|
||||
#: ../js/ui/status/network.js:1583
|
||||
#: ../js/ui/status/network.js:1474
|
||||
msgid "More..."
|
||||
msgstr "Більше…"
|
||||
|
||||
#: ../js/ui/status/network.js:1625
|
||||
#: ../js/ui/status/network.js:1497
|
||||
msgid "Enable networking"
|
||||
msgstr "Увімкнути мережу"
|
||||
|
||||
#: ../js/ui/status/network.js:1637
|
||||
#: ../js/ui/status/network.js:1509
|
||||
msgid "Wired"
|
||||
msgstr "Дротова"
|
||||
|
||||
#: ../js/ui/status/network.js:1648
|
||||
#: ../js/ui/status/network.js:1520
|
||||
msgid "Wireless"
|
||||
msgstr "Бездротова"
|
||||
|
||||
#: ../js/ui/status/network.js:1658
|
||||
#: ../js/ui/status/network.js:1530
|
||||
msgid "Mobile broadband"
|
||||
msgstr "Мобільна радіомережа"
|
||||
|
||||
#: ../js/ui/status/network.js:1668
|
||||
#: ../js/ui/status/network.js:1540
|
||||
msgid "VPN Connections"
|
||||
msgstr "З'єднання VPN"
|
||||
|
||||
#: ../js/ui/status/network.js:1680
|
||||
#: ../js/ui/status/network.js:1549
|
||||
msgid "Network Settings"
|
||||
msgstr "Налаштування мережі"
|
||||
|
||||
#: ../js/ui/status/network.js:1974
|
||||
#: ../js/ui/status/network.js:1844
|
||||
#, c-format
|
||||
msgid "You're now connected to mobile broadband connection '%s'"
|
||||
msgstr "Зараз ви з'єднані через мобільну радіомережу «%s»"
|
||||
|
||||
#: ../js/ui/status/network.js:1978
|
||||
#: ../js/ui/status/network.js:1848
|
||||
#, c-format
|
||||
msgid "You're now connected to wireless network '%s'"
|
||||
msgstr "Зараз ви з'єднані через бездротову мережу «%s»"
|
||||
|
||||
#: ../js/ui/status/network.js:1982
|
||||
#: ../js/ui/status/network.js:1852
|
||||
#, c-format
|
||||
msgid "You're now connected to wired network '%s'"
|
||||
msgstr "Зараз ви з'єднані через дротову мережу «%s»"
|
||||
|
||||
#: ../js/ui/status/network.js:1986
|
||||
#: ../js/ui/status/network.js:1856
|
||||
#, c-format
|
||||
msgid "You're now connected to VPN network '%s'"
|
||||
msgstr "Зараз ви з'єднані через мережу VPN «%s»"
|
||||
|
||||
#: ../js/ui/status/network.js:1991
|
||||
#: ../js/ui/status/network.js:1861
|
||||
#, c-format
|
||||
msgid "You're now connected to '%s'"
|
||||
msgstr "Зараз ви з'єднані через «%s»"
|
||||
|
||||
#: ../js/ui/status/network.js:1999
|
||||
#: ../js/ui/status/network.js:1869
|
||||
msgid "Connection established"
|
||||
msgstr "З'єднання встановлено"
|
||||
|
||||
#: ../js/ui/status/network.js:2125
|
||||
#: ../js/ui/status/network.js:1991
|
||||
msgid "Networking is disabled"
|
||||
msgstr "Мережу вимкнено"
|
||||
|
||||
#: ../js/ui/status/network.js:2250
|
||||
#: ../js/ui/status/network.js:2116
|
||||
msgid "Network Manager"
|
||||
msgstr "Керування мережею"
|
||||
|
||||
@@ -1072,22 +1072,22 @@ msgstr "Гучність"
|
||||
msgid "Microphone"
|
||||
msgstr "Мікрофон"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:330
|
||||
#: ../js/ui/telepathyClient.js:331
|
||||
#, c-format
|
||||
msgid "%s is online."
|
||||
msgstr "%s в мережі."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:335
|
||||
#: ../js/ui/telepathyClient.js:336
|
||||
#, c-format
|
||||
msgid "%s is offline."
|
||||
msgstr "%s поза мережею."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:338
|
||||
#: ../js/ui/telepathyClient.js:339
|
||||
#, c-format
|
||||
msgid "%s is away."
|
||||
msgstr "%s відійшов."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:341
|
||||
#: ../js/ui/telepathyClient.js:342
|
||||
#, c-format
|
||||
msgid "%s is busy."
|
||||
msgstr "%s зайнятий."
|
||||
@@ -1095,18 +1095,11 @@ msgstr "%s зайнятий."
|
||||
#. Translators: this is a time format string followed by a date.
|
||||
#. If applicable, replace %X with a strftime format valid for your
|
||||
#. locale, without seconds.
|
||||
#: ../js/ui/telepathyClient.js:479
|
||||
#: ../js/ui/telepathyClient.js:473
|
||||
#, no-c-format
|
||||
msgid "Sent at %X on %A"
|
||||
msgstr "Відправити на %X в %A"
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#: ../js/ui/telepathyClient.js:524
|
||||
#, c-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "%s тепер відомий як %s"
|
||||
|
||||
#. Translators: this is the text displayed
|
||||
#. in the search entry when no search is
|
||||
#. active; it should not exceed ~30
|
||||
@@ -1153,7 +1146,7 @@ msgstr[2] "%u входів"
|
||||
msgid "System Sounds"
|
||||
msgstr "Системні звуки"
|
||||
|
||||
#: ../src/main.c:445
|
||||
#: ../src/main.c:446
|
||||
msgid "Print version"
|
||||
msgstr "Показати версію"
|
||||
|
||||
@@ -1162,6 +1155,42 @@ msgstr "Показати версію"
|
||||
msgid "Failed to launch '%s'"
|
||||
msgstr "Не вдалось запустити «%s»"
|
||||
|
||||
#: ../src/shell-global.c:1395
|
||||
msgid "Less than a minute ago"
|
||||
msgstr "Менше хвилини тому"
|
||||
|
||||
#: ../src/shell-global.c:1399
|
||||
#, c-format
|
||||
msgid "%d minute ago"
|
||||
msgid_plural "%d minutes ago"
|
||||
msgstr[0] "%d хвилина тому"
|
||||
msgstr[1] "%d хвилини тому"
|
||||
msgstr[2] "%d хвилин тому"
|
||||
|
||||
#: ../src/shell-global.c:1404
|
||||
#, c-format
|
||||
msgid "%d hour ago"
|
||||
msgid_plural "%d hours ago"
|
||||
msgstr[0] "%d година тому"
|
||||
msgstr[1] "%d години тому"
|
||||
msgstr[2] "%d годин тому"
|
||||
|
||||
#: ../src/shell-global.c:1409
|
||||
#, c-format
|
||||
msgid "%d day ago"
|
||||
msgid_plural "%d days ago"
|
||||
msgstr[0] "%d день тому"
|
||||
msgstr[1] "%d дні тому"
|
||||
msgstr[2] "%d днів тому"
|
||||
|
||||
#: ../src/shell-global.c:1414
|
||||
#, c-format
|
||||
msgid "%d week ago"
|
||||
msgid_plural "%d weeks ago"
|
||||
msgstr[0] "%d тиждень тому"
|
||||
msgstr[1] "%d тижні тому"
|
||||
msgstr[2] "%d тижнів тому"
|
||||
|
||||
#: ../src/shell-mobile-providers.c:80
|
||||
msgid "United Kingdom"
|
||||
msgstr "Великобританія"
|
||||
@@ -1194,33 +1223,6 @@ msgstr "Файлова система"
|
||||
msgid "%1$s: %2$s"
|
||||
msgstr "%1$s: %2$s"
|
||||
|
||||
#~ msgid "Less than a minute ago"
|
||||
#~ msgstr "Менше хвилини тому"
|
||||
|
||||
#~ msgid "%d minute ago"
|
||||
#~ msgid_plural "%d minutes ago"
|
||||
#~ msgstr[0] "%d хвилина тому"
|
||||
#~ msgstr[1] "%d хвилини тому"
|
||||
#~ msgstr[2] "%d хвилин тому"
|
||||
|
||||
#~ msgid "%d hour ago"
|
||||
#~ msgid_plural "%d hours ago"
|
||||
#~ msgstr[0] "%d година тому"
|
||||
#~ msgstr[1] "%d години тому"
|
||||
#~ msgstr[2] "%d годин тому"
|
||||
|
||||
#~ msgid "%d day ago"
|
||||
#~ msgid_plural "%d days ago"
|
||||
#~ msgstr[0] "%d день тому"
|
||||
#~ msgstr[1] "%d дні тому"
|
||||
#~ msgstr[2] "%d днів тому"
|
||||
|
||||
#~ msgid "%d week ago"
|
||||
#~ msgid_plural "%d weeks ago"
|
||||
#~ msgstr[0] "%d тиждень тому"
|
||||
#~ msgstr[1] "%d тижні тому"
|
||||
#~ msgstr[2] "%d тижнів тому"
|
||||
|
||||
#~ msgid "Shut Down"
|
||||
#~ msgstr "Вимкнути"
|
||||
|
||||
|
4
po/vi.po
@@ -9,7 +9,7 @@ msgstr ""
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2011-03-25 20:20+0000\n"
|
||||
"PO-Revision-Date: 2011-04-12 18:34+0700\n"
|
||||
"PO-Revision-Date: 2011-05-22 21:50+0700\n"
|
||||
"Last-Translator: Duy <pclouds@gmail.com>\n"
|
||||
"Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -551,7 +551,7 @@ msgstr "Ứng dụng"
|
||||
#. the left of the overview
|
||||
#: ../js/ui/overview.js:205
|
||||
msgid "Dash"
|
||||
msgstr "Khung ứng dụng"
|
||||
msgstr "Neo ứng dụng"
|
||||
|
||||
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
||||
#: ../js/ui/panel.js:515
|
||||
|
@@ -100,7 +100,6 @@ shell_public_headers_h = \
|
||||
shell-perf-log.h \
|
||||
shell-slicer.h \
|
||||
shell-stack.h \
|
||||
shell-tp-client.h \
|
||||
shell-tray-icon.h \
|
||||
shell-tray-manager.h \
|
||||
shell-util.h \
|
||||
@@ -135,7 +134,6 @@ libgnome_shell_la_SOURCES = \
|
||||
shell-polkit-authentication-agent.c \
|
||||
shell-slicer.c \
|
||||
shell-stack.c \
|
||||
shell-tp-client.c \
|
||||
shell-tray-icon.c \
|
||||
shell-tray-manager.c \
|
||||
shell-util.c \
|
||||
@@ -186,10 +184,27 @@ gnome_shell_perf_helper_LDADD = $(SHELL_PERF_HELPER_LIBS)
|
||||
|
||||
########################################
|
||||
|
||||
# In order to run the interactive tests for GUI components, we need to have
|
||||
# an executable that exports the St components. Libtool doesn't have a way
|
||||
# to include all the symbols from a convenience library into a executable
|
||||
# so what we do is build a small uninstalled library that pulls in the
|
||||
# St convenience library and link the test running program to that.
|
||||
|
||||
noinst_LTLIBRARIES += libjs-test.la
|
||||
|
||||
libjs_test_la_LDFLAGS = -rpath $(libdir)
|
||||
libjs_test_la_CPPFLAGS = $(JS_TEST_CFLAGS)
|
||||
libjs_test_la_LIBADD = $(JS_TEST_LIBS) libst-1.0.la
|
||||
|
||||
# The tests use or reference a couple of Shell classes
|
||||
libjs_test_la_SOURCES = \
|
||||
shell-generic-container.c \
|
||||
shell-perf-log.c
|
||||
|
||||
noinst_PROGRAMS += run-js-test
|
||||
|
||||
run_js_test_CPPFLAGS = $(gnome_shell_cflags)
|
||||
run_js_test_LDADD = libgnome-shell.la $(libgnome_shell_la_LIBADD)
|
||||
run_js_test_CPPFLAGS = $(JS_TEST_CFLAGS)
|
||||
run_js_test_LDADD = $(JS_TEST_LIBS) libjs-test.la
|
||||
run_js_test_LDFLAGS = -export-dynamic
|
||||
|
||||
run_js_test_SOURCES = \
|
||||
|
@@ -884,6 +884,13 @@ on_user_removed_in_accounts_service (DBusGProxy *proxy,
|
||||
|
||||
user = g_hash_table_lookup (manager->priv->users_by_object_path, object_path);
|
||||
|
||||
if (user == NULL) {
|
||||
g_debug ("GdmUserManager: ignoring untracked user %s", object_path);
|
||||
return;
|
||||
} else {
|
||||
g_debug ("GdmUserManager: tracked user %s removed from accounts service", object_path);
|
||||
}
|
||||
|
||||
manager->priv->new_users = g_slist_remove (manager->priv->new_users, user);
|
||||
|
||||
remove_user (manager, user);
|
||||
|
@@ -178,8 +178,7 @@ gnome_shell_plugin_start (MetaPlugin *plugin)
|
||||
gjs_context = _shell_global_get_gjs_context (shell_plugin->global);
|
||||
|
||||
if (!gjs_context_eval (gjs_context,
|
||||
"imports.ui.environment.init();"
|
||||
"imports.ui.main.start();",
|
||||
"const Main = imports.ui.main; Main.start();",
|
||||
-1,
|
||||
"<main>",
|
||||
&status,
|
||||
|
@@ -458,7 +458,6 @@ main (int argc, char **argv)
|
||||
|
||||
bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
|
||||
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
|
||||
textdomain (GETTEXT_PACKAGE);
|
||||
|
||||
ctx = meta_get_option_context ();
|
||||
g_option_context_add_main_entries (ctx, gnome_shell_options, GETTEXT_PACKAGE);
|
||||
|
@@ -24,19 +24,15 @@
|
||||
* IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include <locale.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <clutter/x11/clutter-x11.h>
|
||||
#include <gdk/gdkx.h>
|
||||
#include <gjs/gjs.h>
|
||||
#include <config.h>
|
||||
#include <gtk/gtk.h>
|
||||
#include <gdk/gdkx.h>
|
||||
#include <clutter/x11/clutter-x11.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <locale.h>
|
||||
|
||||
#include "shell-global.h"
|
||||
#include "shell-global-private.h"
|
||||
#include <gjs/gjs.h>
|
||||
|
||||
static char **include_path = NULL;
|
||||
static char *command = NULL;
|
||||
@@ -63,10 +59,10 @@ event_filter (GdkXEvent *xevent,
|
||||
int
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
char *command_line;
|
||||
GOptionContext *context;
|
||||
ClutterActor *stage;
|
||||
GError *error = NULL;
|
||||
ShellGlobal *global;
|
||||
GjsContext *js_context;
|
||||
char *script;
|
||||
const char *filename;
|
||||
@@ -98,8 +94,12 @@ main(int argc, char **argv)
|
||||
setlocale (LC_ALL, "");
|
||||
g_type_init ();
|
||||
|
||||
global = shell_global_get ();
|
||||
js_context = _shell_global_get_gjs_context (global);
|
||||
command_line = g_strjoinv (" ", argv);
|
||||
g_debug ("Command line: %s", command_line);
|
||||
g_free (command_line);
|
||||
|
||||
g_debug ("Creating new context to eval console script");
|
||||
js_context = gjs_context_new_with_search_path (include_path);
|
||||
|
||||
/* prepare command line arguments */
|
||||
if (!gjs_context_define_string_array (js_context, "ARGV",
|
||||
|
@@ -22,6 +22,9 @@
|
||||
#include <gio/gio.h>
|
||||
#include <gjs/gjs-module.h>
|
||||
#include <girepository.h>
|
||||
#include <libxml/parser.h>
|
||||
#include <libxml/tree.h>
|
||||
#include <libxml/xmlmemory.h>
|
||||
#include <meta/display.h>
|
||||
#include <meta/util.h>
|
||||
|
||||
@@ -414,6 +417,31 @@ shell_global_class_init (ShellGlobalClass *klass)
|
||||
G_PARAM_READABLE));
|
||||
}
|
||||
|
||||
/**
|
||||
* shell_clutter_texture_set_from_pixbuf:
|
||||
* texture: #ClutterTexture to be modified
|
||||
* pixbuf: #GdkPixbuf to set as an image for #ClutterTexture
|
||||
*
|
||||
* Convenience function for setting an image for #ClutterTexture based on #GdkPixbuf.
|
||||
* Copied from an example posted by hp in this thread http://mail.gnome.org/archives/gtk-devel-list/2008-September/msg00218.html
|
||||
*
|
||||
* Return value: %TRUE on success, %FALSE on failure
|
||||
*/
|
||||
gboolean
|
||||
shell_clutter_texture_set_from_pixbuf (ClutterTexture *texture,
|
||||
GdkPixbuf *pixbuf)
|
||||
{
|
||||
return clutter_texture_set_from_rgb_data (texture,
|
||||
gdk_pixbuf_get_pixels (pixbuf),
|
||||
gdk_pixbuf_get_has_alpha (pixbuf),
|
||||
gdk_pixbuf_get_width (pixbuf),
|
||||
gdk_pixbuf_get_height (pixbuf),
|
||||
gdk_pixbuf_get_rowstride (pixbuf),
|
||||
gdk_pixbuf_get_has_alpha (pixbuf)
|
||||
? 4 : 3,
|
||||
0, NULL);
|
||||
}
|
||||
|
||||
/**
|
||||
* shell_global_get:
|
||||
*
|
||||
@@ -832,6 +860,30 @@ shell_global_end_modal (ShellGlobal *global,
|
||||
meta_plugin_end_modal (global->plugin, timestamp);
|
||||
}
|
||||
|
||||
/**
|
||||
* shell_global_display_is_grabbed
|
||||
* @global: a #ShellGlobal
|
||||
*
|
||||
* Determines whether Mutter currently has a grab (keyboard or mouse or
|
||||
* both) on the display. This could be the result of a current window
|
||||
* management operation like a window move, or could be from
|
||||
* shell_global_begin_modal().
|
||||
*
|
||||
* This function is useful to for ad-hoc checks to avoid over-grabbing
|
||||
* the Mutter grab a grab from GTK+. Longer-term we might instead want a
|
||||
* mechanism to make Mutter use GDK grabs instead of raw XGrabPointer().
|
||||
*
|
||||
* Return value: %TRUE if Mutter has a grab on the display
|
||||
*/
|
||||
gboolean
|
||||
shell_global_display_is_grabbed (ShellGlobal *global)
|
||||
{
|
||||
MetaScreen *screen = meta_plugin_get_screen (global->plugin);
|
||||
MetaDisplay *display = meta_screen_get_display (screen);
|
||||
|
||||
return meta_display_get_grab_op (display) != META_GRAB_OP_NONE;
|
||||
}
|
||||
|
||||
/**
|
||||
* shell_global_create_pointer_barrier
|
||||
* @global: a #ShellGlobal
|
||||
@@ -1082,6 +1134,149 @@ shell_global_reexec_self (ShellGlobal *global)
|
||||
g_ptr_array_free (arr, TRUE);
|
||||
}
|
||||
|
||||
/**
|
||||
* shell_global_breakpoint:
|
||||
* @global: A #ShellGlobal
|
||||
*
|
||||
* Using G_BREAKPOINT(), interrupt the current process. This is useful
|
||||
* in conjunction with a debugger such as gdb.
|
||||
*/
|
||||
void
|
||||
shell_global_breakpoint (ShellGlobal *global)
|
||||
{
|
||||
G_BREAKPOINT ();
|
||||
}
|
||||
|
||||
/**
|
||||
* shell_global_parse_search_provider:
|
||||
* @global: A #ShellGlobal
|
||||
* @data: description of provider
|
||||
* @name: (out): location to store a display name
|
||||
* @url: (out): location to store template of url
|
||||
* @langs: (out) (transfer full) (element-type utf8): list of supported languages
|
||||
* @icon_data_uri: (out): location to store uri
|
||||
* @error: location to store GError
|
||||
*
|
||||
* Returns: %TRUE on success
|
||||
*/
|
||||
gboolean
|
||||
shell_global_parse_search_provider (ShellGlobal *global,
|
||||
const char *data,
|
||||
char **name,
|
||||
char **url,
|
||||
GList **langs,
|
||||
char **icon_data_uri,
|
||||
GError **error)
|
||||
{
|
||||
xmlDocPtr doc = xmlParseMemory (data, strlen(data));
|
||||
xmlNode *root;
|
||||
|
||||
*name = NULL;
|
||||
*url = NULL;
|
||||
*icon_data_uri = NULL;
|
||||
*langs = NULL;
|
||||
|
||||
if (!doc)
|
||||
{
|
||||
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, "Malformed xml");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
root = xmlDocGetRootElement (doc);
|
||||
if (root && root->name && xmlStrcmp (root->name, (const xmlChar *)"OpenSearchDescription") == 0)
|
||||
{
|
||||
xmlNode *child;
|
||||
for (child = root->children; child; child = child->next)
|
||||
{
|
||||
if (!child->name)
|
||||
continue;
|
||||
if (xmlStrcmp (child->name, (const xmlChar *)"Language") == 0)
|
||||
{
|
||||
xmlChar *val = xmlNodeListGetString(doc, child->xmlChildrenNode, 1);
|
||||
if (!val)
|
||||
continue;
|
||||
*langs = g_list_append (*langs, g_strdup ((char *)val));
|
||||
xmlFree (val);
|
||||
}
|
||||
if (!*name && xmlStrcmp (child->name, (const xmlChar *)"ShortName") == 0)
|
||||
{
|
||||
xmlChar *val = xmlNodeListGetString(doc, child->xmlChildrenNode, 1);
|
||||
*name = g_strdup ((char *)val);
|
||||
xmlFree (val);
|
||||
}
|
||||
if (!*icon_data_uri && xmlStrcmp (child->name, (const xmlChar *)"Image") == 0)
|
||||
{
|
||||
xmlChar *val = xmlNodeListGetString(doc, child->xmlChildrenNode, 1);
|
||||
if (val)
|
||||
*icon_data_uri = g_strdup ((char *)val);
|
||||
xmlFree (val);
|
||||
}
|
||||
if (!*url && xmlStrcmp (child->name, (const xmlChar *)"Url") == 0)
|
||||
{
|
||||
xmlChar *template;
|
||||
xmlChar *type;
|
||||
|
||||
type = xmlGetProp(child, (const xmlChar *)"type");
|
||||
if (!type)
|
||||
continue;
|
||||
|
||||
if (xmlStrcmp (type, (const xmlChar *)"text/html") != 0)
|
||||
{
|
||||
xmlFree (type);
|
||||
continue;
|
||||
}
|
||||
xmlFree (type);
|
||||
|
||||
template = xmlGetProp(child, (const xmlChar *)"template");
|
||||
if (!template)
|
||||
continue;
|
||||
*url = g_strdup ((char *)template);
|
||||
xmlFree (template);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, "Invalid OpenSearch document");
|
||||
xmlFreeDoc (doc);
|
||||
return FALSE;
|
||||
}
|
||||
xmlFreeDoc (doc);
|
||||
if (*icon_data_uri && *name && *url)
|
||||
return TRUE;
|
||||
|
||||
if (*icon_data_uri)
|
||||
g_free (*icon_data_uri);
|
||||
else
|
||||
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
|
||||
"search provider doesn't have icon");
|
||||
|
||||
if (*name)
|
||||
g_free (*name);
|
||||
else if (error && !*error)
|
||||
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
|
||||
"search provider doesn't have ShortName");
|
||||
|
||||
if (*url)
|
||||
g_free (*url);
|
||||
else if (error && !*error)
|
||||
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
|
||||
"search provider doesn't have template for url");
|
||||
|
||||
if (*langs)
|
||||
{
|
||||
g_list_foreach (*langs, (GFunc)g_free, NULL);
|
||||
g_list_free (*langs);
|
||||
}
|
||||
|
||||
*url = NULL;
|
||||
*name = NULL;
|
||||
*icon_data_uri = NULL;
|
||||
*langs = NULL;
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
* shell_global_gc:
|
||||
* @global: A #ShellGlobal
|
||||
@@ -1174,6 +1369,54 @@ void shell_global_init_xdnd (ShellGlobal *global)
|
||||
32, PropModeReplace, (const unsigned char *)&stage_win, 1);
|
||||
}
|
||||
|
||||
/**
|
||||
* shell_global_format_time_relative_pretty:
|
||||
* @global:
|
||||
* @delta: Time in seconds since the current time
|
||||
* @text: (out): Relative human-consumption-only time string
|
||||
* @next_update: (out): Time in seconds until we should redisplay the time
|
||||
*
|
||||
* Format a time value for human consumption only. The passed time
|
||||
* value is a delta in terms of seconds from the current time.
|
||||
* This function needs to be in C because of its use of ngettext() which
|
||||
* is not accessible from JavaScript.
|
||||
*/
|
||||
void
|
||||
shell_global_format_time_relative_pretty (ShellGlobal *global,
|
||||
guint delta,
|
||||
char **text,
|
||||
guint *next_update)
|
||||
{
|
||||
#define MINUTE (60)
|
||||
#define HOUR (MINUTE*60)
|
||||
#define DAY (HOUR*24)
|
||||
#define WEEK (DAY*7)
|
||||
if (delta < MINUTE) {
|
||||
*text = g_strdup (_("Less than a minute ago"));
|
||||
*next_update = MINUTE - delta;
|
||||
} else if (delta < HOUR) {
|
||||
*text = g_strdup_printf (dngettext (GETTEXT_PACKAGE,
|
||||
"%d minute ago", "%d minutes ago",
|
||||
delta / MINUTE), delta / MINUTE);
|
||||
*next_update = MINUTE - (delta % MINUTE);
|
||||
} else if (delta < DAY) {
|
||||
*text = g_strdup_printf (dngettext (GETTEXT_PACKAGE,
|
||||
"%d hour ago", "%d hours ago",
|
||||
delta / HOUR), delta / HOUR);
|
||||
*next_update = HOUR - (delta % HOUR);
|
||||
} else if (delta < WEEK) {
|
||||
*text = g_strdup_printf (dngettext (GETTEXT_PACKAGE,
|
||||
"%d day ago", "%d days ago",
|
||||
delta / DAY), delta / DAY);
|
||||
*next_update = DAY - (delta % DAY);
|
||||
} else {
|
||||
*text = g_strdup_printf (dngettext (GETTEXT_PACKAGE,
|
||||
"%d week ago", "%d weeks ago",
|
||||
delta / WEEK), delta / WEEK);
|
||||
*next_update = WEEK - (delta % WEEK);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* shell_global_get_monitors:
|
||||
* @global: the #ShellGlobal
|
||||
@@ -1274,7 +1517,8 @@ shell_global_get_focus_monitor (ShellGlobal *global)
|
||||
}
|
||||
}
|
||||
|
||||
return shell_global_get_primary_monitor (global);
|
||||
meta_screen_get_monitor_geometry (screen, 0, &rect);
|
||||
return meta_rectangle_copy (&rect);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1343,6 +1587,25 @@ shell_global_sync_pointer (ShellGlobal *global)
|
||||
clutter_event_put ((ClutterEvent *)&event);
|
||||
}
|
||||
|
||||
/**
|
||||
* shell_get_event_state:
|
||||
* @event: a #ClutterEvent
|
||||
*
|
||||
* Gets the current state of the event (the set of modifier keys that
|
||||
* are pressed down). Thhis is a wrapper around
|
||||
* clutter_event_get_state() that strips out any un-declared modifier
|
||||
* flags, to make gjs happy; see
|
||||
* https://bugzilla.gnome.org/show_bug.cgi?id=597292.
|
||||
*
|
||||
* Return value: the state from the event
|
||||
*/
|
||||
ClutterModifierType
|
||||
shell_get_event_state (ClutterEvent *event)
|
||||
{
|
||||
ClutterModifierType state = clutter_event_get_state (event);
|
||||
return state & CLUTTER_MODIFIER_MASK;
|
||||
}
|
||||
|
||||
/**
|
||||
* shell_global_get_settings:
|
||||
* @global: A #ShellGlobal
|
||||
@@ -1357,6 +1620,59 @@ shell_global_get_settings (ShellGlobal *global)
|
||||
return global->settings;
|
||||
}
|
||||
|
||||
static void
|
||||
shell_popup_menu_position_func (GtkMenu *menu,
|
||||
int *x,
|
||||
int *y,
|
||||
gboolean *push_in,
|
||||
gpointer user_data)
|
||||
{
|
||||
*x = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (menu), "shell-menu-x"));
|
||||
*y = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (menu), "shell-menu-y"));
|
||||
}
|
||||
|
||||
/**
|
||||
* shell_popup_menu:
|
||||
* @menu: a #GtkMenu
|
||||
* @button: mouse button that triggered the menu
|
||||
* @time: timestamp of event that triggered the menu
|
||||
* @menu_x: x coordinate to display the menu at
|
||||
* @menu_y: y coordinate to display the menu at
|
||||
*
|
||||
* Wraps gtk_menu_popup(), but using @menu_x, @menu_y for the location
|
||||
* rather than needing a callback.
|
||||
**/
|
||||
void
|
||||
shell_popup_menu (GtkMenu *menu, int button, guint32 time,
|
||||
int menu_x, int menu_y)
|
||||
{
|
||||
g_object_set_data (G_OBJECT (menu), "shell-menu-x", GINT_TO_POINTER (menu_x));
|
||||
g_object_set_data (G_OBJECT (menu), "shell-menu-y", GINT_TO_POINTER (menu_y));
|
||||
|
||||
gtk_menu_popup (menu, NULL, NULL, shell_popup_menu_position_func, NULL,
|
||||
button, time);
|
||||
}
|
||||
|
||||
/**
|
||||
* shell_write_string_to_stream:
|
||||
* @stream: a #GOutputStream
|
||||
* @str: a UTF-8 string to write to @stream
|
||||
* @error: location to store GError
|
||||
*
|
||||
* Write a string to a GOutputStream as UTF-8. This is a workaround
|
||||
* for not having binary buffers in GJS.
|
||||
*
|
||||
* Return value: %TRUE if write succeeded
|
||||
*/
|
||||
gboolean
|
||||
shell_write_string_to_stream (GOutputStream *stream,
|
||||
const char *str,
|
||||
GError **error)
|
||||
{
|
||||
return g_output_stream_write_all (stream, str, strlen (str),
|
||||
NULL, NULL, error);
|
||||
}
|
||||
|
||||
/**
|
||||
* shell_global_get_current_time:
|
||||
* @global: A #ShellGlobal
|
||||
@@ -1733,6 +2049,66 @@ gboolean _shell_global_check_xdnd_event (ShellGlobal *global,
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
* ShellGetTpContactCb:
|
||||
* @connection: The connection
|
||||
* @contacts: (element-type TelepathyGLib.Contact): List of contacts
|
||||
* @failed: Array of failed contacts
|
||||
*/
|
||||
|
||||
static void
|
||||
shell_global_get_tp_contacts_cb (TpConnection *self,
|
||||
guint n_contacts,
|
||||
TpContact * const *contacts,
|
||||
guint n_failed,
|
||||
const TpHandle *failed,
|
||||
const GError *error,
|
||||
gpointer user_data,
|
||||
GObject *weak_object)
|
||||
{
|
||||
int i;
|
||||
GList *contact_list = NULL;
|
||||
for (i = 0; i < n_contacts; i++) {
|
||||
contact_list = g_list_append(contact_list, contacts[i]);
|
||||
}
|
||||
|
||||
TpHandle *failed_list = g_new0 (TpHandle, n_failed + 1);
|
||||
memcpy(failed_list, failed, n_failed);
|
||||
|
||||
((ShellGetTpContactCb)user_data)(self, contact_list, failed_list);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* shell_get_tp_contacts:
|
||||
* @self: A connection, which must be ready
|
||||
* @n_handles: Number of handles in handles
|
||||
* @handles: (array length=n_handles) (element-type uint): Array of handles
|
||||
* @n_features: Number of features in features
|
||||
* @features: (array length=n_features) (allow-none) (element-type uint):
|
||||
* Array of features
|
||||
* @callback: (scope async): User callback to run when the contacts are ready
|
||||
*
|
||||
* Wrap tp_connection_get_contacts_by_handle so we can transform the array
|
||||
* into a null-terminated one, which gjs can handle.
|
||||
* We send the original callback to tp_connection_get_contacts_by_handle as
|
||||
* user_data, and we have our own function as callback, which does the
|
||||
* transforming.
|
||||
*/
|
||||
void
|
||||
shell_get_tp_contacts (TpConnection *self,
|
||||
guint n_handles,
|
||||
const TpHandle *handles,
|
||||
guint n_features,
|
||||
const TpContactFeature *features,
|
||||
ShellGetTpContactCb callback)
|
||||
{
|
||||
tp_connection_get_contacts_by_handle(self, n_handles, handles,
|
||||
n_features, features,
|
||||
shell_global_get_tp_contacts_cb,
|
||||
callback, NULL, NULL);
|
||||
}
|
||||
|
||||
/**
|
||||
* shell_global_launch_calendar_server:
|
||||
* @global: The #ShellGlobal.
|
||||
@@ -1786,3 +2162,103 @@ shell_global_launch_calendar_server (ShellGlobal *global)
|
||||
|
||||
g_free (calendar_server_exe);
|
||||
}
|
||||
|
||||
static void
|
||||
shell_global_get_self_contact_features_cb (TpConnection *connection,
|
||||
guint n_contacts,
|
||||
TpContact * const *contacts,
|
||||
const GError *error,
|
||||
gpointer user_data,
|
||||
GObject *weak_object)
|
||||
{
|
||||
if (error != NULL) {
|
||||
g_print ("Failed to upgrade self contact: %s", error->message);
|
||||
return;
|
||||
}
|
||||
((ShellGetSelfContactFeaturesCb)user_data)(connection, *contacts);
|
||||
}
|
||||
|
||||
/**
|
||||
* shell_get_self_contact_features:
|
||||
* @self: A connection, which must be ready
|
||||
* @n_features: Number of features in features
|
||||
* @features: (array length=n_features) (allow-none) (element-type uint):
|
||||
* Array of features
|
||||
* @callback: (scope async): User callback to run when the contact is ready
|
||||
*
|
||||
* Wrap tp_connection_upgrade_contacts due to the lack of support for
|
||||
* proper arrays arguments in GJS.
|
||||
*/
|
||||
void
|
||||
shell_get_self_contact_features (TpConnection *self,
|
||||
guint n_features,
|
||||
const TpContactFeature *features,
|
||||
ShellGetSelfContactFeaturesCb callback)
|
||||
{
|
||||
TpContact *self_contact = tp_connection_get_self_contact (self);
|
||||
|
||||
tp_connection_upgrade_contacts (self, 1, &self_contact,
|
||||
n_features, features,
|
||||
shell_global_get_self_contact_features_cb,
|
||||
callback, NULL, NULL);
|
||||
}
|
||||
|
||||
/**
|
||||
* shell_get_contact_events:
|
||||
* @log_manager: A #TplLogManager
|
||||
* @account: A #TpAccount
|
||||
* @entity: A #TplEntity
|
||||
* @num_events: The number of events to retrieve
|
||||
* @callback: (scope async): User callback to run when the contact is ready
|
||||
*
|
||||
* Wrap tpl_log_manager_get_filtered_events_async because gjs cannot support
|
||||
* multiple callbacks in the same function call.
|
||||
*/
|
||||
void
|
||||
shell_get_contact_events (TplLogManager *log_manager,
|
||||
TpAccount *account,
|
||||
TplEntity *entity,
|
||||
guint num_events,
|
||||
GAsyncReadyCallback callback)
|
||||
{
|
||||
tpl_log_manager_get_filtered_events_async (log_manager,
|
||||
account,
|
||||
entity,
|
||||
TPL_EVENT_MASK_TEXT,
|
||||
num_events,
|
||||
NULL, NULL,
|
||||
callback, NULL);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* shell_get_file_contents_utf8_sync:
|
||||
* @path: UTF-8 encoded filename path
|
||||
* @error: a #GError
|
||||
*
|
||||
* Synchronously load the contents of a file as a NUL terminated
|
||||
* string, validating it as UTF-8. Embedded NUL characters count as
|
||||
* invalid content.
|
||||
*
|
||||
* Returns: (transfer full): File contents
|
||||
*/
|
||||
char *
|
||||
shell_get_file_contents_utf8_sync (const char *path,
|
||||
GError **error)
|
||||
{
|
||||
char *contents;
|
||||
gsize len;
|
||||
if (!g_file_get_contents (path, &contents, &len, error))
|
||||
return NULL;
|
||||
if (!g_utf8_validate (contents, len, NULL))
|
||||
{
|
||||
g_free (contents);
|
||||
g_set_error (error,
|
||||
G_IO_ERROR,
|
||||
G_IO_ERROR_FAILED,
|
||||
"File %s contains invalid UTF-8",
|
||||
path);
|
||||
return NULL;
|
||||
}
|
||||
return contents;
|
||||
}
|
||||
|
@@ -7,6 +7,8 @@
|
||||
#include <gdk-pixbuf/gdk-pixbuf.h>
|
||||
#include <gtk/gtk.h>
|
||||
#include <meta/meta-plugin.h>
|
||||
#include <telepathy-glib/telepathy-glib.h>
|
||||
#include <telepathy-logger/telepathy-logger.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
@@ -20,45 +22,20 @@ typedef struct _ShellGlobalClass ShellGlobalClass;
|
||||
#define SHELL_IS_GLOBAL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SHELL_TYPE_GLOBAL))
|
||||
#define SHELL_GLOBAL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SHELL_TYPE_GLOBAL, ShellGlobalClass))
|
||||
|
||||
#define SHELL_GCONF_DIR "/desktop/gnome/shell"
|
||||
|
||||
struct _ShellGlobalClass
|
||||
{
|
||||
GObjectClass parent_class;
|
||||
};
|
||||
|
||||
GType shell_global_get_type (void) G_GNUC_CONST;
|
||||
GType shell_global_get_type (void) G_GNUC_CONST;
|
||||
|
||||
ShellGlobal *shell_global_get (void);
|
||||
gboolean shell_clutter_texture_set_from_pixbuf (ClutterTexture *texture,
|
||||
GdkPixbuf *pixbuf);
|
||||
|
||||
MetaScreen *shell_global_get_screen (ShellGlobal *global);
|
||||
GdkScreen *shell_global_get_gdk_screen (ShellGlobal *global);
|
||||
GList *shell_global_get_window_actors (ShellGlobal *global);
|
||||
GSList *shell_global_get_monitors (ShellGlobal *global);
|
||||
MetaRectangle *shell_global_get_primary_monitor (ShellGlobal *global);
|
||||
int shell_global_get_primary_monitor_index (ShellGlobal *global);
|
||||
MetaRectangle *shell_global_get_focus_monitor (ShellGlobal *global);
|
||||
GSettings *shell_global_get_settings (ShellGlobal *global);
|
||||
guint32 shell_global_get_current_time (ShellGlobal *global);
|
||||
ShellGlobal *shell_global_get (void);
|
||||
|
||||
|
||||
/* Input/event handling */
|
||||
gboolean shell_global_begin_modal (ShellGlobal *global,
|
||||
guint32 timestamp);
|
||||
void shell_global_end_modal (ShellGlobal *global,
|
||||
guint32 timestamp);
|
||||
|
||||
typedef enum {
|
||||
SHELL_STAGE_INPUT_MODE_NONREACTIVE,
|
||||
SHELL_STAGE_INPUT_MODE_NORMAL,
|
||||
SHELL_STAGE_INPUT_MODE_FOCUSED,
|
||||
SHELL_STAGE_INPUT_MODE_FULLSCREEN
|
||||
} ShellStageInputMode;
|
||||
|
||||
void shell_global_set_stage_input_mode (ShellGlobal *global,
|
||||
ShellStageInputMode mode);
|
||||
void shell_global_set_stage_input_region (ShellGlobal *global,
|
||||
GSList *rectangles);
|
||||
|
||||
/* X utilities */
|
||||
typedef enum {
|
||||
SHELL_CURSOR_DND_IN_DRAG,
|
||||
SHELL_CURSOR_DND_UNSUPPORTED_TARGET,
|
||||
@@ -67,74 +44,149 @@ typedef enum {
|
||||
SHELL_CURSOR_POINTING_HAND
|
||||
} ShellCursor;
|
||||
|
||||
void shell_global_set_cursor (ShellGlobal *global,
|
||||
ShellCursor type);
|
||||
void shell_global_unset_cursor (ShellGlobal *global);
|
||||
void shell_global_set_cursor (ShellGlobal *global,
|
||||
ShellCursor type);
|
||||
|
||||
guint32 shell_global_create_pointer_barrier (ShellGlobal *global,
|
||||
int x1,
|
||||
int y1,
|
||||
int x2,
|
||||
int y2,
|
||||
int directions);
|
||||
void shell_global_destroy_pointer_barrier (ShellGlobal *global,
|
||||
guint32 barrier);
|
||||
void shell_global_unset_cursor (ShellGlobal *global);
|
||||
|
||||
void shell_global_get_pointer (ShellGlobal *global,
|
||||
int *x,
|
||||
int *y,
|
||||
ClutterModifierType *mods);
|
||||
MetaScreen *shell_global_get_screen (ShellGlobal *global);
|
||||
|
||||
GdkScreen *shell_global_get_gdk_screen (ShellGlobal *global);
|
||||
|
||||
/* JavaScript utilities */
|
||||
void shell_global_gc (ShellGlobal *global);
|
||||
void shell_global_maybe_gc (ShellGlobal *global);
|
||||
gboolean shell_global_add_extension_importer (ShellGlobal *global,
|
||||
const char *target_object_script,
|
||||
const char *target_property,
|
||||
const char *directory,
|
||||
GError **error);
|
||||
|
||||
typedef enum {
|
||||
SHELL_STAGE_INPUT_MODE_NONREACTIVE,
|
||||
SHELL_STAGE_INPUT_MODE_NORMAL,
|
||||
SHELL_STAGE_INPUT_MODE_FOCUSED,
|
||||
SHELL_STAGE_INPUT_MODE_FULLSCREEN
|
||||
} ShellStageInputMode;
|
||||
|
||||
void shell_global_set_stage_input_mode (ShellGlobal *global,
|
||||
ShellStageInputMode mode);
|
||||
void shell_global_set_stage_input_region (ShellGlobal *global,
|
||||
GSList *rectangles);
|
||||
|
||||
GList *shell_global_get_window_actors (ShellGlobal *global);
|
||||
|
||||
gboolean shell_global_begin_modal (ShellGlobal *global,
|
||||
guint32 timestamp);
|
||||
void shell_global_end_modal (ShellGlobal *global,
|
||||
guint32 timestamp);
|
||||
|
||||
gboolean shell_global_display_is_grabbed (ShellGlobal *global);
|
||||
|
||||
void shell_global_reexec_self (ShellGlobal *global);
|
||||
|
||||
void shell_global_breakpoint (ShellGlobal *global);
|
||||
|
||||
gboolean shell_global_parse_search_provider (ShellGlobal *global,
|
||||
const char *data,
|
||||
char **name,
|
||||
char **url,
|
||||
GList **langs,
|
||||
char **icon_data_uri,
|
||||
GError **error);
|
||||
|
||||
void shell_global_gc (ShellGlobal *global);
|
||||
|
||||
void shell_global_maybe_gc (ShellGlobal *global);
|
||||
|
||||
void shell_global_format_time_relative_pretty (ShellGlobal *global, guint delta, char **text, guint *next_update);
|
||||
|
||||
GSList *shell_global_get_monitors (ShellGlobal *global);
|
||||
MetaRectangle *shell_global_get_primary_monitor (ShellGlobal *global);
|
||||
int shell_global_get_primary_monitor_index (ShellGlobal *global);
|
||||
MetaRectangle *shell_global_get_focus_monitor (ShellGlobal *global);
|
||||
|
||||
guint32 shell_global_create_pointer_barrier (ShellGlobal *global,
|
||||
int x1, int y1, int x2, int y2,
|
||||
int directions);
|
||||
void shell_global_destroy_pointer_barrier (ShellGlobal *global,
|
||||
guint32 barrier);
|
||||
|
||||
void shell_global_get_pointer (ShellGlobal *global,
|
||||
int *x,
|
||||
int *y,
|
||||
ClutterModifierType *mods);
|
||||
void shell_global_sync_pointer (ShellGlobal *global);
|
||||
|
||||
GSettings *shell_global_get_settings (ShellGlobal *global);
|
||||
|
||||
ClutterModifierType shell_get_event_state (ClutterEvent *event);
|
||||
|
||||
void shell_popup_menu (GtkMenu *menu, int button, guint32 time,
|
||||
int menu_x, int menu_y);
|
||||
|
||||
gboolean shell_write_string_to_stream (GOutputStream *stream,
|
||||
const char *str,
|
||||
GError **error);
|
||||
|
||||
guint32 shell_global_get_current_time (ShellGlobal *global);
|
||||
|
||||
GAppLaunchContext *shell_global_create_app_launch_context (ShellGlobal *global);
|
||||
|
||||
gboolean shell_global_set_property_mutable (ShellGlobal *global,
|
||||
const char *object,
|
||||
const char *property,
|
||||
gboolean mutable);
|
||||
|
||||
|
||||
/* Run-at-leisure API */
|
||||
void shell_global_begin_work (ShellGlobal *global);
|
||||
void shell_global_end_work (ShellGlobal *global);
|
||||
void shell_global_begin_work (ShellGlobal *global);
|
||||
void shell_global_end_work (ShellGlobal *global);
|
||||
|
||||
typedef void (*ShellLeisureFunction) (gpointer data);
|
||||
|
||||
void shell_global_run_at_leisure (ShellGlobal *global,
|
||||
ShellLeisureFunction func,
|
||||
gpointer user_data,
|
||||
GDestroyNotify notify);
|
||||
void shell_global_run_at_leisure (ShellGlobal *global,
|
||||
ShellLeisureFunction func,
|
||||
gpointer user_data,
|
||||
GDestroyNotify notify);
|
||||
|
||||
void shell_global_play_theme_sound (ShellGlobal *global,
|
||||
guint id,
|
||||
const char *name);
|
||||
void shell_global_cancel_theme_sound (ShellGlobal *global,
|
||||
guint id);
|
||||
|
||||
|
||||
/* Misc utilities / Shell API */
|
||||
gboolean shell_global_add_extension_importer (ShellGlobal *global,
|
||||
const char *target_object_script,
|
||||
const char *target_property,
|
||||
const char *directory,
|
||||
GError **error);
|
||||
void shell_global_notify_error (ShellGlobal *global,
|
||||
const char *msg,
|
||||
const char *details);
|
||||
|
||||
void shell_global_sync_pointer (ShellGlobal *global);
|
||||
void shell_global_init_xdnd (ShellGlobal *global);
|
||||
|
||||
GAppLaunchContext *
|
||||
shell_global_create_app_launch_context (ShellGlobal *global);
|
||||
typedef void (*ShellGetTpContactCb) (TpConnection *connection,
|
||||
GList *contacts,
|
||||
TpHandle *failed);
|
||||
|
||||
void shell_global_play_theme_sound (ShellGlobal *global,
|
||||
guint id,
|
||||
const char *name);
|
||||
void shell_global_cancel_theme_sound (ShellGlobal *global,
|
||||
guint id);
|
||||
void shell_get_tp_contacts (TpConnection *self,
|
||||
guint n_handles,
|
||||
const TpHandle *handles,
|
||||
guint n_features,
|
||||
const TpContactFeature *features,
|
||||
ShellGetTpContactCb callback);
|
||||
|
||||
void shell_global_notify_error (ShellGlobal *global,
|
||||
const char *msg,
|
||||
const char *details);
|
||||
void shell_global_launch_calendar_server (ShellGlobal *global);
|
||||
|
||||
void shell_global_init_xdnd (ShellGlobal *global);
|
||||
typedef void (*ShellGetSelfContactFeaturesCb) (TpConnection *connection,
|
||||
TpContact *contact);
|
||||
|
||||
void shell_global_reexec_self (ShellGlobal *global);
|
||||
void shell_get_self_contact_features (TpConnection *self,
|
||||
guint n_features,
|
||||
const TpContactFeature *features,
|
||||
ShellGetSelfContactFeaturesCb callback);
|
||||
|
||||
void shell_global_launch_calendar_server (ShellGlobal *global);
|
||||
void shell_get_contact_events (TplLogManager *log_manager,
|
||||
TpAccount *account,
|
||||
TplEntity *entity,
|
||||
guint num_events,
|
||||
GAsyncReadyCallback callback);
|
||||
|
||||
char *shell_get_file_contents_utf8_sync (const char *path,
|
||||
GError **error);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
|
@@ -1,256 +0,0 @@
|
||||
#include "shell-tp-client.h"
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#include <telepathy-glib/telepathy-glib.h>
|
||||
|
||||
G_DEFINE_TYPE(ShellTpClient, shell_tp_client, TP_TYPE_BASE_CLIENT)
|
||||
|
||||
struct _ShellTpClientPrivate
|
||||
{
|
||||
ShellTpClientObserveChannelsImpl observe_impl;
|
||||
gpointer user_data_obs;
|
||||
GDestroyNotify destroy_obs;
|
||||
};
|
||||
|
||||
/**
|
||||
* ShellTpClientObserveChannelsImpl:
|
||||
* @client: a #ShellTpClient instance
|
||||
* @account: a #TpAccount having %TP_ACCOUNT_FEATURE_CORE prepared if possible
|
||||
* @connection: a #TpConnection having %TP_CONNECTION_FEATURE_CORE prepared
|
||||
* if possible
|
||||
* @channels: (element-type TelepathyGLib.Channel): a #GList of #TpChannel,
|
||||
* all having %TP_CHANNEL_FEATURE_CORE prepared if possible
|
||||
* @dispatch_operation: (allow-none): a #TpChannelDispatchOperation or %NULL;
|
||||
* the dispatch_operation is not guaranteed to be prepared
|
||||
* @requests: (element-type TelepathyGLib.ChannelRequest): a #GList of
|
||||
* #TpChannelRequest, all having their object-path defined but are not
|
||||
* guaranteed to be prepared.
|
||||
* @context: a #TpObserveChannelsContext representing the context of this
|
||||
* D-Bus call
|
||||
*
|
||||
* Signature of the implementation of the ObserveChannels method.
|
||||
*/
|
||||
|
||||
static void
|
||||
shell_tp_client_init (ShellTpClient *self)
|
||||
{
|
||||
self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, SHELL_TYPE_TP_CLIENT,
|
||||
ShellTpClientPrivate);
|
||||
|
||||
/* Observer */
|
||||
tp_base_client_set_observer_recover (TP_BASE_CLIENT (self), TRUE);
|
||||
|
||||
/* We only care about single-user text-based chats */
|
||||
tp_base_client_take_observer_filter (TP_BASE_CLIENT (self),
|
||||
tp_asv_new (
|
||||
TP_PROP_CHANNEL_CHANNEL_TYPE, G_TYPE_STRING,
|
||||
TP_IFACE_CHANNEL_TYPE_TEXT,
|
||||
TP_PROP_CHANNEL_TARGET_HANDLE_TYPE, G_TYPE_UINT,
|
||||
TP_HANDLE_TYPE_CONTACT,
|
||||
NULL));
|
||||
}
|
||||
|
||||
static void
|
||||
observe_channels (TpBaseClient *client,
|
||||
TpAccount *account,
|
||||
TpConnection *connection,
|
||||
GList *channels,
|
||||
TpChannelDispatchOperation *dispatch_operation,
|
||||
GList *requests,
|
||||
TpObserveChannelsContext *context)
|
||||
{
|
||||
ShellTpClient *self = (ShellTpClient *) client;
|
||||
|
||||
g_assert (self->priv->observe_impl != NULL);
|
||||
|
||||
self->priv->observe_impl (self, account, connection, channels,
|
||||
dispatch_operation, requests, context, self->priv->user_data_obs);
|
||||
}
|
||||
|
||||
static void
|
||||
shell_tp_client_dispose (GObject *object)
|
||||
{
|
||||
ShellTpClient *self = SHELL_TP_CLIENT (object);
|
||||
void (*dispose) (GObject *) =
|
||||
G_OBJECT_CLASS (shell_tp_client_parent_class)->dispose;
|
||||
|
||||
if (self->priv->destroy_obs != NULL)
|
||||
{
|
||||
self->priv->destroy_obs (self->priv->user_data_obs);
|
||||
self->priv->destroy_obs = NULL;
|
||||
}
|
||||
|
||||
if (dispose != NULL)
|
||||
dispose (object);
|
||||
}
|
||||
|
||||
static void
|
||||
shell_tp_client_class_init (ShellTpClientClass *cls)
|
||||
{
|
||||
GObjectClass *object_class = G_OBJECT_CLASS (cls);
|
||||
TpBaseClientClass *base_clt_cls = TP_BASE_CLIENT_CLASS (cls);
|
||||
|
||||
g_type_class_add_private (cls, sizeof (ShellTpClientPrivate));
|
||||
|
||||
object_class->dispose = shell_tp_client_dispose;
|
||||
|
||||
base_clt_cls->observe_channels = observe_channels;
|
||||
}
|
||||
|
||||
/**
|
||||
* shell_tp_client_new:
|
||||
* @dbus: a #TpDBusDaemon object, may not be %NULL
|
||||
*
|
||||
* Returns: a new #ShellTpClient
|
||||
*/
|
||||
ShellTpClient *
|
||||
shell_tp_client_new (TpDBusDaemon *dbus)
|
||||
{
|
||||
return g_object_new (SHELL_TYPE_TP_CLIENT,
|
||||
"dbus-daemon", dbus,
|
||||
"name", "GnomeShell",
|
||||
"uniquify-name", TRUE,
|
||||
NULL);
|
||||
}
|
||||
|
||||
void
|
||||
shell_tp_client_set_observe_channels_func (ShellTpClient *self,
|
||||
ShellTpClientObserveChannelsImpl observe_impl,
|
||||
gpointer user_data,
|
||||
GDestroyNotify destroy)
|
||||
{
|
||||
g_assert (self->priv->observe_impl == NULL);
|
||||
|
||||
self->priv->observe_impl = observe_impl;
|
||||
self->priv->user_data_obs = user_data;
|
||||
self->priv->destroy_obs = destroy;
|
||||
}
|
||||
|
||||
/* Telepathy utility functions */
|
||||
|
||||
/**
|
||||
* ShellGetTpContactCb:
|
||||
* @connection: The connection
|
||||
* @contacts: (element-type TelepathyGLib.Contact): List of contacts
|
||||
* @failed: Array of failed contacts
|
||||
*/
|
||||
|
||||
static void
|
||||
shell_global_get_tp_contacts_cb (TpConnection *self,
|
||||
guint n_contacts,
|
||||
TpContact * const *contacts,
|
||||
guint n_failed,
|
||||
const TpHandle *failed,
|
||||
const GError *error,
|
||||
gpointer user_data,
|
||||
GObject *weak_object)
|
||||
{
|
||||
int i;
|
||||
GList *contact_list = NULL;
|
||||
for (i = 0; i < n_contacts; i++) {
|
||||
contact_list = g_list_append(contact_list, contacts[i]);
|
||||
}
|
||||
|
||||
TpHandle *failed_list = g_new0 (TpHandle, n_failed + 1);
|
||||
memcpy(failed_list, failed, n_failed);
|
||||
|
||||
((ShellGetTpContactCb)user_data)(self, contact_list, failed_list);
|
||||
}
|
||||
|
||||
/**
|
||||
* shell_get_tp_contacts:
|
||||
* @self: A connection, which must be ready
|
||||
* @n_handles: Number of handles in handles
|
||||
* @handles: (array length=n_handles) (element-type uint): Array of handles
|
||||
* @n_features: Number of features in features
|
||||
* @features: (array length=n_features) (allow-none) (element-type uint):
|
||||
* Array of features
|
||||
* @callback: (scope async): User callback to run when the contacts are ready
|
||||
*
|
||||
* Wrap tp_connection_get_contacts_by_handle so we can transform the array
|
||||
* into a null-terminated one, which gjs can handle.
|
||||
* We send the original callback to tp_connection_get_contacts_by_handle as
|
||||
* user_data, and we have our own function as callback, which does the
|
||||
* transforming.
|
||||
*/
|
||||
void
|
||||
shell_get_tp_contacts (TpConnection *self,
|
||||
guint n_handles,
|
||||
const TpHandle *handles,
|
||||
guint n_features,
|
||||
const TpContactFeature *features,
|
||||
ShellGetTpContactCb callback)
|
||||
{
|
||||
tp_connection_get_contacts_by_handle(self, n_handles, handles,
|
||||
n_features, features,
|
||||
shell_global_get_tp_contacts_cb,
|
||||
callback, NULL, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
shell_global_get_self_contact_features_cb (TpConnection *connection,
|
||||
guint n_contacts,
|
||||
TpContact * const *contacts,
|
||||
const GError *error,
|
||||
gpointer user_data,
|
||||
GObject *weak_object)
|
||||
{
|
||||
if (error != NULL) {
|
||||
g_print ("Failed to upgrade self contact: %s", error->message);
|
||||
return;
|
||||
}
|
||||
((ShellGetSelfContactFeaturesCb)user_data)(connection, *contacts);
|
||||
}
|
||||
|
||||
/**
|
||||
* shell_get_self_contact_features:
|
||||
* @self: A connection, which must be ready
|
||||
* @n_features: Number of features in features
|
||||
* @features: (array length=n_features) (allow-none) (element-type uint):
|
||||
* Array of features
|
||||
* @callback: (scope async): User callback to run when the contact is ready
|
||||
*
|
||||
* Wrap tp_connection_upgrade_contacts due to the lack of support for
|
||||
* proper arrays arguments in GJS.
|
||||
*/
|
||||
void
|
||||
shell_get_self_contact_features (TpConnection *self,
|
||||
guint n_features,
|
||||
const TpContactFeature *features,
|
||||
ShellGetSelfContactFeaturesCb callback)
|
||||
{
|
||||
TpContact *self_contact = tp_connection_get_self_contact (self);
|
||||
|
||||
tp_connection_upgrade_contacts (self, 1, &self_contact,
|
||||
n_features, features,
|
||||
shell_global_get_self_contact_features_cb,
|
||||
callback, NULL, NULL);
|
||||
}
|
||||
|
||||
/**
|
||||
* shell_get_contact_events:
|
||||
* @log_manager: A #TplLogManager
|
||||
* @account: A #TpAccount
|
||||
* @entity: A #TplEntity
|
||||
* @num_events: The number of events to retrieve
|
||||
* @callback: (scope async): User callback to run when the contact is ready
|
||||
*
|
||||
* Wrap tpl_log_manager_get_filtered_events_async because gjs cannot support
|
||||
* multiple callbacks in the same function call.
|
||||
*/
|
||||
void
|
||||
shell_get_contact_events (TplLogManager *log_manager,
|
||||
TpAccount *account,
|
||||
TplEntity *entity,
|
||||
guint num_events,
|
||||
GAsyncReadyCallback callback)
|
||||
{
|
||||
tpl_log_manager_get_filtered_events_async (log_manager,
|
||||
account,
|
||||
entity,
|
||||
TPL_EVENT_MASK_TEXT,
|
||||
num_events,
|
||||
NULL, NULL,
|
||||
callback, NULL);
|
||||
}
|
@@ -1,88 +0,0 @@
|
||||
#ifndef __SHELL_TP_CLIENT_H__
|
||||
#define __SHELL_TP_CLIENT_H__
|
||||
|
||||
#include <dbus/dbus-glib.h>
|
||||
#include <glib-object.h>
|
||||
|
||||
#include <telepathy-glib/telepathy-glib.h>
|
||||
#include <telepathy-logger/telepathy-logger.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
typedef struct _ShellTpClient ShellTpClient;
|
||||
typedef struct _ShellTpClientClass ShellTpClientClass;
|
||||
typedef struct _ShellTpClientPrivate ShellTpClientPrivate;
|
||||
|
||||
struct _ShellTpClientClass {
|
||||
/*<private>*/
|
||||
TpBaseClientClass parent_class;
|
||||
};
|
||||
|
||||
struct _ShellTpClient {
|
||||
/*<private>*/
|
||||
TpBaseClient parent;
|
||||
ShellTpClientPrivate *priv;
|
||||
};
|
||||
|
||||
GType shell_tp_client_get_type (void);
|
||||
|
||||
#define SHELL_TYPE_TP_CLIENT \
|
||||
(shell_tp_client_get_type ())
|
||||
#define SHELL_TP_CLIENT(obj) \
|
||||
(G_TYPE_CHECK_INSTANCE_CAST ((obj), SHELL_TYPE_TP_CLIENT, \
|
||||
ShellTpClient))
|
||||
#define SHELL_TP_CLIENT_CLASS(klass) \
|
||||
(G_TYPE_CHECK_CLASS_CAST ((klass), SHELL_TYPE_TP_CLIENT, \
|
||||
ShellTpClientClass))
|
||||
#define SHELL_IS_TP_CLIENT(obj) \
|
||||
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), SHELL_TYPE_TP_CLIENT))
|
||||
#define SHELL_IS_TP_CLIENT_CLASS(klass) \
|
||||
(G_TYPE_CHECK_CLASS_TYPE ((klass), SHELL_TYPE_TP_CLIENT))
|
||||
#define SHELL_TP_CLIENT_GET_CLASS(obj) \
|
||||
(G_TYPE_INSTANCE_GET_CLASS ((obj), SHELL_TYPE_TP_CLIENT, \
|
||||
ShellTpClientClass))
|
||||
|
||||
typedef void (*ShellTpClientObserveChannelsImpl) (ShellTpClient *client,
|
||||
TpAccount *account,
|
||||
TpConnection *connection,
|
||||
GList *channels,
|
||||
TpChannelDispatchOperation *dispatch_operation,
|
||||
GList *requests,
|
||||
TpObserveChannelsContext *context,
|
||||
gpointer user_data);
|
||||
|
||||
ShellTpClient * shell_tp_client_new (TpDBusDaemon *dbus);
|
||||
|
||||
void shell_tp_client_set_observe_channels_func (ShellTpClient *self,
|
||||
ShellTpClientObserveChannelsImpl observe_impl,
|
||||
gpointer user_data,
|
||||
GDestroyNotify destroy);
|
||||
|
||||
/* Telepathy utility functions */
|
||||
typedef void (*ShellGetTpContactCb) (TpConnection *connection,
|
||||
GList *contacts,
|
||||
TpHandle *failed);
|
||||
|
||||
void shell_get_tp_contacts (TpConnection *self,
|
||||
guint n_handles,
|
||||
const TpHandle *handles,
|
||||
guint n_features,
|
||||
const TpContactFeature *features,
|
||||
ShellGetTpContactCb callback);
|
||||
|
||||
typedef void (*ShellGetSelfContactFeaturesCb) (TpConnection *connection,
|
||||
TpContact *contact);
|
||||
|
||||
void shell_get_self_contact_features (TpConnection *self,
|
||||
guint n_features,
|
||||
const TpContactFeature *features,
|
||||
ShellGetSelfContactFeaturesCb callback);
|
||||
|
||||
void shell_get_contact_events (TplLogManager *log_manager,
|
||||
TpAccount *account,
|
||||
TplEntity *entity,
|
||||
guint num_events,
|
||||
GAsyncReadyCallback callback);
|
||||
|
||||
G_END_DECLS
|
||||
#endif /* __SHELL_TP_CLIENT_H__ */
|
217
src/shell-util.c
@@ -7,11 +7,7 @@
|
||||
#include <gconf/gconf-client.h>
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
#include <libxml/parser.h>
|
||||
#include <libxml/tree.h>
|
||||
#include <libxml/xmlmemory.h>
|
||||
|
||||
/* Some code in this file adapted under the GPLv2+ from:
|
||||
/* The code in this file adapted under the GPLv2+ from:
|
||||
*
|
||||
* GNOME panel utils: gnome-panel/gnome-panel/panel-util.c
|
||||
* (C) 1997, 1998, 1999, 2000 The Free Software Foundation
|
||||
@@ -537,214 +533,3 @@ shell_util_format_date (const char *format,
|
||||
g_date_time_unref (datetime);
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* shell_get_event_state:
|
||||
* @event: a #ClutterEvent
|
||||
*
|
||||
* Gets the current state of the event (the set of modifier keys that
|
||||
* are pressed down). Thhis is a wrapper around
|
||||
* clutter_event_get_state() that strips out any un-declared modifier
|
||||
* flags, to make gjs happy; see
|
||||
* https://bugzilla.gnome.org/show_bug.cgi?id=597292.
|
||||
*
|
||||
* Return value: the state from the event
|
||||
*/
|
||||
ClutterModifierType
|
||||
shell_get_event_state (ClutterEvent *event)
|
||||
{
|
||||
ClutterModifierType state = clutter_event_get_state (event);
|
||||
return state & CLUTTER_MODIFIER_MASK;
|
||||
}
|
||||
|
||||
/**
|
||||
* shell_write_string_to_stream:
|
||||
* @stream: a #GOutputStream
|
||||
* @str: a UTF-8 string to write to @stream
|
||||
* @error: location to store GError
|
||||
*
|
||||
* Write a string to a GOutputStream as UTF-8. This is a workaround
|
||||
* for not having binary buffers in GJS.
|
||||
*
|
||||
* Return value: %TRUE if write succeeded
|
||||
*/
|
||||
gboolean
|
||||
shell_write_string_to_stream (GOutputStream *stream,
|
||||
const char *str,
|
||||
GError **error)
|
||||
{
|
||||
return g_output_stream_write_all (stream, str, strlen (str),
|
||||
NULL, NULL, error);
|
||||
}
|
||||
|
||||
/**
|
||||
* shell_get_file_contents_utf8_sync:
|
||||
* @path: UTF-8 encoded filename path
|
||||
* @error: a #GError
|
||||
*
|
||||
* Synchronously load the contents of a file as a NUL terminated
|
||||
* string, validating it as UTF-8. Embedded NUL characters count as
|
||||
* invalid content.
|
||||
*
|
||||
* Returns: (transfer full): File contents
|
||||
*/
|
||||
char *
|
||||
shell_get_file_contents_utf8_sync (const char *path,
|
||||
GError **error)
|
||||
{
|
||||
char *contents;
|
||||
gsize len;
|
||||
if (!g_file_get_contents (path, &contents, &len, error))
|
||||
return NULL;
|
||||
if (!g_utf8_validate (contents, len, NULL))
|
||||
{
|
||||
g_free (contents);
|
||||
g_set_error (error,
|
||||
G_IO_ERROR,
|
||||
G_IO_ERROR_FAILED,
|
||||
"File %s contains invalid UTF-8",
|
||||
path);
|
||||
return NULL;
|
||||
}
|
||||
return contents;
|
||||
}
|
||||
|
||||
/**
|
||||
* shell_breakpoint:
|
||||
*
|
||||
* Using G_BREAKPOINT(), interrupt the current process. This is useful
|
||||
* in conjunction with a debugger such as gdb.
|
||||
*/
|
||||
void
|
||||
shell_breakpoint (void)
|
||||
{
|
||||
G_BREAKPOINT ();
|
||||
}
|
||||
|
||||
/**
|
||||
* shell_parse_search_provider:
|
||||
* @data: description of provider
|
||||
* @name: (out): location to store a display name
|
||||
* @url: (out): location to store template of url
|
||||
* @langs: (out) (transfer full) (element-type utf8): list of supported languages
|
||||
* @icon_data_uri: (out): location to store uri
|
||||
* @error: location to store GError
|
||||
*
|
||||
* Returns: %TRUE on success
|
||||
*/
|
||||
gboolean
|
||||
shell_parse_search_provider (const char *data,
|
||||
char **name,
|
||||
char **url,
|
||||
GList **langs,
|
||||
char **icon_data_uri,
|
||||
GError **error)
|
||||
{
|
||||
xmlDocPtr doc = xmlParseMemory (data, strlen (data));
|
||||
xmlNode *root;
|
||||
|
||||
*name = NULL;
|
||||
*url = NULL;
|
||||
*icon_data_uri = NULL;
|
||||
*langs = NULL;
|
||||
|
||||
if (!doc)
|
||||
{
|
||||
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, "Malformed xml");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
root = xmlDocGetRootElement (doc);
|
||||
if (root && root->name && xmlStrcmp (root->name, (const xmlChar *)"OpenSearchDescription") == 0)
|
||||
{
|
||||
xmlNode *child;
|
||||
for (child = root->children; child; child = child->next)
|
||||
{
|
||||
if (!child->name)
|
||||
continue;
|
||||
if (xmlStrcmp (child->name, (const xmlChar *)"Language") == 0)
|
||||
{
|
||||
xmlChar *val = xmlNodeListGetString(doc, child->xmlChildrenNode, 1);
|
||||
if (!val)
|
||||
continue;
|
||||
*langs = g_list_append (*langs, g_strdup ((char *)val));
|
||||
xmlFree (val);
|
||||
}
|
||||
if (!*name && xmlStrcmp (child->name, (const xmlChar *)"ShortName") == 0)
|
||||
{
|
||||
xmlChar *val = xmlNodeListGetString(doc, child->xmlChildrenNode, 1);
|
||||
*name = g_strdup ((char *)val);
|
||||
xmlFree (val);
|
||||
}
|
||||
if (!*icon_data_uri && xmlStrcmp (child->name, (const xmlChar *)"Image") == 0)
|
||||
{
|
||||
xmlChar *val = xmlNodeListGetString(doc, child->xmlChildrenNode, 1);
|
||||
if (val)
|
||||
*icon_data_uri = g_strdup ((char *)val);
|
||||
xmlFree (val);
|
||||
}
|
||||
if (!*url && xmlStrcmp (child->name, (const xmlChar *)"Url") == 0)
|
||||
{
|
||||
xmlChar *template;
|
||||
xmlChar *type;
|
||||
|
||||
type = xmlGetProp(child, (const xmlChar *)"type");
|
||||
if (!type)
|
||||
continue;
|
||||
|
||||
if (xmlStrcmp (type, (const xmlChar *)"text/html") != 0)
|
||||
{
|
||||
xmlFree (type);
|
||||
continue;
|
||||
}
|
||||
xmlFree (type);
|
||||
|
||||
template = xmlGetProp(child, (const xmlChar *)"template");
|
||||
if (!template)
|
||||
continue;
|
||||
*url = g_strdup ((char *)template);
|
||||
xmlFree (template);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, "Invalid OpenSearch document");
|
||||
xmlFreeDoc (doc);
|
||||
return FALSE;
|
||||
}
|
||||
xmlFreeDoc (doc);
|
||||
if (*icon_data_uri && *name && *url)
|
||||
return TRUE;
|
||||
|
||||
if (*icon_data_uri)
|
||||
g_free (*icon_data_uri);
|
||||
else
|
||||
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
|
||||
"search provider doesn't have icon");
|
||||
|
||||
if (*name)
|
||||
g_free (*name);
|
||||
else if (error && !*error)
|
||||
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
|
||||
"search provider doesn't have ShortName");
|
||||
|
||||
if (*url)
|
||||
g_free (*url);
|
||||
else if (error && !*error)
|
||||
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
|
||||
"search provider doesn't have template for url");
|
||||
|
||||
if (*langs)
|
||||
{
|
||||
g_list_foreach (*langs, (GFunc)g_free, NULL);
|
||||
g_list_free (*langs);
|
||||
}
|
||||
|
||||
*url = NULL;
|
||||
*name = NULL;
|
||||
*icon_data_uri = NULL;
|
||||
*langs = NULL;
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
@@ -8,38 +8,16 @@
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
char *shell_util_get_label_for_uri (const char *text_uri);
|
||||
GIcon *shell_util_get_icon_for_uri (const char *text_uri);
|
||||
GIcon *shell_util_icon_from_string (const char *string,
|
||||
GError **error);
|
||||
char *shell_util_get_label_for_uri (const char *text_uri);
|
||||
GIcon *shell_util_get_icon_for_uri (const char *text_uri);
|
||||
GIcon *shell_util_icon_from_string (const char *string, GError **error);
|
||||
void shell_util_set_hidden_from_pick (ClutterActor *actor, gboolean hidden);
|
||||
|
||||
void shell_util_set_hidden_from_pick (ClutterActor *actor,
|
||||
gboolean hidden);
|
||||
void shell_util_get_transformed_allocation (ClutterActor *actor,
|
||||
ClutterActorBox *box);
|
||||
|
||||
void shell_util_get_transformed_allocation (ClutterActor *actor,
|
||||
ClutterActorBox *box);
|
||||
|
||||
char *shell_util_format_date (const char *format,
|
||||
gint64 time_ms);
|
||||
|
||||
ClutterModifierType
|
||||
shell_get_event_state (ClutterEvent *event);
|
||||
|
||||
gboolean shell_write_string_to_stream (GOutputStream *stream,
|
||||
const char *str,
|
||||
GError **error);
|
||||
|
||||
char *shell_get_file_contents_utf8_sync (const char *path,
|
||||
GError **error);
|
||||
|
||||
void shell_breakpoint (void);
|
||||
|
||||
gboolean shell_parse_search_provider (const char *data,
|
||||
char **name,
|
||||
char **url,
|
||||
GList **langs,
|
||||
char **icon_data_uri,
|
||||
GError **error);
|
||||
char *shell_util_format_date (const char *format,
|
||||
gint64 time_ms);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
|
@@ -1154,7 +1154,6 @@ create_texture_and_ensure_request (StTextureCache *cache,
|
||||
{
|
||||
/* Not cached and no pending request, create it */
|
||||
*request = g_new0 (AsyncTextureLoadData, 1);
|
||||
(*request)->key = g_strdup (key);
|
||||
g_hash_table_insert (cache->priv->outstanding_requests, g_strdup (key), *request);
|
||||
}
|
||||
else
|
||||
@@ -1174,17 +1173,17 @@ load_gicon_with_colors (StTextureCache *cache,
|
||||
{
|
||||
AsyncTextureLoadData *request;
|
||||
ClutterActor *texture;
|
||||
guint gicon_hash;
|
||||
char *gicon_string;
|
||||
char *key;
|
||||
GtkIconTheme *theme;
|
||||
GtkIconInfo *info;
|
||||
|
||||
gicon_hash = g_icon_hash (icon);
|
||||
gicon_string = g_icon_to_string (icon);
|
||||
if (colors)
|
||||
{
|
||||
/* This raises some doubts about the practice of using string keys */
|
||||
key = g_strdup_printf (CACHE_PREFIX_GICON "icon_hash=%u,size=%d,colors=%2x%2x%2x%2x,%2x%2x%2x%2x,%2x%2x%2x%2x,%2x%2x%2x%2x",
|
||||
gicon_hash, size,
|
||||
key = g_strdup_printf (CACHE_PREFIX_GICON "icon=%s,size=%d,colors=%2x%2x%2x%2x,%2x%2x%2x%2x,%2x%2x%2x%2x,%2x%2x%2x%2x",
|
||||
gicon_string, size,
|
||||
colors->foreground.red, colors->foreground.blue, colors->foreground.green, colors->foreground.alpha,
|
||||
colors->warning.red, colors->warning.blue, colors->warning.green, colors->warning.alpha,
|
||||
colors->error.red, colors->error.blue, colors->error.green, colors->error.alpha,
|
||||
@@ -1192,9 +1191,10 @@ load_gicon_with_colors (StTextureCache *cache,
|
||||
}
|
||||
else
|
||||
{
|
||||
key = g_strdup_printf (CACHE_PREFIX_GICON "icon_hash=%u,size=%d",
|
||||
gicon_hash, size);
|
||||
key = g_strdup_printf (CACHE_PREFIX_GICON "icon=%s,size=%d",
|
||||
gicon_string, size);
|
||||
}
|
||||
g_free (gicon_string);
|
||||
|
||||
if (create_texture_and_ensure_request (cache, key, size, &request, &texture))
|
||||
{
|
||||
@@ -1208,9 +1208,10 @@ load_gicon_with_colors (StTextureCache *cache,
|
||||
info = gtk_icon_theme_lookup_by_gicon (theme, icon, size, GTK_ICON_LOOKUP_USE_BUILTIN);
|
||||
if (info != NULL)
|
||||
{
|
||||
/* Transfer ownership of key */
|
||||
request->key = key;
|
||||
/* hardcoded here for now; we should actually blow this away on
|
||||
* icon theme changes probably */
|
||||
request->key = g_strdup (key);
|
||||
request->policy = ST_TEXTURE_CACHE_POLICY_FOREVER;
|
||||
request->icon = g_object_ref (icon);
|
||||
request->icon_info = info;
|
||||
@@ -1226,14 +1227,13 @@ load_gicon_with_colors (StTextureCache *cache,
|
||||
*/
|
||||
g_slist_foreach (request->textures, (GFunc) g_object_unref, NULL);
|
||||
g_slist_free (request->textures);
|
||||
g_free (request->key);
|
||||
g_free (request);
|
||||
g_hash_table_remove (cache->priv->outstanding_requests, key);
|
||||
g_free (key);
|
||||
g_object_unref (texture);
|
||||
texture = NULL;
|
||||
}
|
||||
|
||||
g_free (key);
|
||||
return CLUTTER_ACTOR (texture);
|
||||
}
|
||||
|
||||
|
@@ -483,12 +483,21 @@ get_color_from_term (StThemeNode *node,
|
||||
/* rgba () colors - a CSS3 addition, are not supported by libcroco,
|
||||
* but they are parsed as a "function", so we can emulate the
|
||||
* functionality.
|
||||
*
|
||||
* libcroco < 0.6.2 has a bug where functions starting with 'r' are
|
||||
* misparsed. We workaround this by pre-converting 'rgba' to 'RGBA'
|
||||
* before parsing the stylesheet. Since libcroco isn't
|
||||
* case-insensitive (a bug), it's fine with functions starting with
|
||||
* 'R'. (In theory, we should be doing a case-insensitive compare
|
||||
* everywhere, not just here, but that doesn't make much sense when
|
||||
* the built-in parsing of libcroco is case-sensitive and things
|
||||
* like 10PX don't work.)
|
||||
*/
|
||||
else if (term->type == TERM_FUNCTION &&
|
||||
term->content.str &&
|
||||
term->content.str->stryng &&
|
||||
term->content.str->stryng->str &&
|
||||
strcmp (term->content.str->stryng->str, "rgba") == 0)
|
||||
g_ascii_strcasecmp (term->content.str->stryng->str, "rgba") == 0)
|
||||
{
|
||||
return get_color_from_rgba_term (term, color);
|
||||
}
|
||||
|
@@ -155,6 +155,90 @@ st_theme_class_init (StThemeClass *klass)
|
||||
|
||||
}
|
||||
|
||||
/* This is a workaround for a bug in libcroco < 0.6.2 where
|
||||
* function starting with 'r' (and 'u') are misparsed. We work
|
||||
* around this by exploiting the fact that libcroco is incomformant
|
||||
* with the CSS-spec and case sensitive and pre-convert all
|
||||
* occurrences of rgba to RGBA. Then we make our own parsing
|
||||
* code check for RGBA as well.
|
||||
*/
|
||||
#if LIBCROCO_VERSION_NUMBER < 602
|
||||
static gboolean
|
||||
is_identifier_character (char c)
|
||||
{
|
||||
/* Actual CSS rules allow for unicode > 0x00a1 and escaped
|
||||
* characters, but we'll assume we won't do that in our stylesheets
|
||||
* or at least not next to the string 'rgba'.
|
||||
*/
|
||||
return g_ascii_isalnum(c) || c == '-' || c == '_';
|
||||
}
|
||||
|
||||
static void
|
||||
convert_rgba_RGBA (char *buf)
|
||||
{
|
||||
char *p;
|
||||
|
||||
p = strstr (buf, "rgba");
|
||||
while (p)
|
||||
{
|
||||
/* Check if this looks like a complete token; this is to
|
||||
* avoiding mangling, say, a selector '.rgba-entry' */
|
||||
if (!((p > buf && is_identifier_character (*(p - 1))) ||
|
||||
(is_identifier_character (*(p + 4)))))
|
||||
memcpy(p, "RGBA", 4);
|
||||
p += 4;
|
||||
p = strstr (p, "rgba");
|
||||
}
|
||||
}
|
||||
|
||||
static CRStyleSheet *
|
||||
parse_stylesheet (const char *filename,
|
||||
GError **error)
|
||||
{
|
||||
enum CRStatus status;
|
||||
char *contents;
|
||||
gsize length;
|
||||
CRStyleSheet *stylesheet = NULL;
|
||||
|
||||
if (filename == NULL)
|
||||
return NULL;
|
||||
|
||||
if (!g_file_get_contents (filename, &contents, &length, error))
|
||||
return NULL;
|
||||
|
||||
convert_rgba_RGBA (contents);
|
||||
|
||||
status = cr_om_parser_simply_parse_buf ((const guchar *) contents,
|
||||
length,
|
||||
CR_UTF_8,
|
||||
&stylesheet);
|
||||
g_free (contents);
|
||||
|
||||
if (status != CR_OK)
|
||||
{
|
||||
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
|
||||
"Error parsing stylesheet '%s'; errcode:%d", filename, status);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return stylesheet;
|
||||
}
|
||||
|
||||
CRDeclaration *
|
||||
_st_theme_parse_declaration_list (const char *str)
|
||||
{
|
||||
char *copy = g_strdup (str);
|
||||
CRDeclaration *result;
|
||||
|
||||
convert_rgba_RGBA (copy);
|
||||
|
||||
result = cr_declaration_parse_list_from_buf ((const guchar *)copy,
|
||||
CR_UTF_8);
|
||||
g_free (copy);
|
||||
|
||||
return result;
|
||||
}
|
||||
#else /* LIBCROCO_VERSION_NUMBER >= 602 */
|
||||
static CRStyleSheet *
|
||||
parse_stylesheet (const char *filename,
|
||||
GError **error)
|
||||
@@ -185,6 +269,7 @@ _st_theme_parse_declaration_list (const char *str)
|
||||
return cr_declaration_parse_list_from_buf ((const guchar *)str,
|
||||
CR_UTF_8);
|
||||
}
|
||||
#endif /* LIBCROCO_VERSION_NUMBER < 602 */
|
||||
|
||||
/* Just g_warning for now until we have something nicer to do */
|
||||
static CRStyleSheet *
|
||||
|
@@ -91,7 +91,6 @@ st_tooltip_set_property (GObject *gobject,
|
||||
|
||||
case PROP_TIP_AREA:
|
||||
st_tooltip_set_tip_area (tooltip, g_value_get_boxed (value));
|
||||
break;
|
||||
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
|
||||
|
@@ -75,8 +75,6 @@ struct _StWidgetPrivate
|
||||
StTextDirection direction;
|
||||
|
||||
AtkObject *accessible;
|
||||
|
||||
ClutterActor *label_actor;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -103,8 +101,7 @@ enum
|
||||
PROP_TOOLTIP_TEXT,
|
||||
PROP_TRACK_HOVER,
|
||||
PROP_HOVER,
|
||||
PROP_CAN_FOCUS,
|
||||
PROP_LABEL_ACTOR
|
||||
PROP_CAN_FOCUS
|
||||
};
|
||||
|
||||
enum
|
||||
@@ -189,10 +186,6 @@ st_widget_set_property (GObject *gobject,
|
||||
st_widget_set_can_focus (actor, g_value_get_boolean (value));
|
||||
break;
|
||||
|
||||
case PROP_LABEL_ACTOR:
|
||||
st_widget_set_label_actor (actor, g_value_get_object (value));
|
||||
break;
|
||||
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
|
||||
break;
|
||||
@@ -250,10 +243,6 @@ st_widget_get_property (GObject *gobject,
|
||||
g_value_set_boolean (value, priv->can_focus);
|
||||
break;
|
||||
|
||||
case PROP_LABEL_ACTOR:
|
||||
g_value_set_object (value, priv->label_actor);
|
||||
break;
|
||||
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
|
||||
break;
|
||||
@@ -311,12 +300,6 @@ st_widget_dispose (GObject *gobject)
|
||||
if (priv->accessible)
|
||||
priv->accessible = NULL;
|
||||
|
||||
if (priv->label_actor)
|
||||
{
|
||||
g_object_unref (priv->label_actor);
|
||||
priv->label_actor = NULL;
|
||||
}
|
||||
|
||||
G_OBJECT_CLASS (st_widget_parent_class)->dispose (gobject);
|
||||
}
|
||||
|
||||
@@ -970,19 +953,6 @@ st_widget_class_init (StWidgetClass *klass)
|
||||
PROP_CAN_FOCUS,
|
||||
pspec);
|
||||
|
||||
/**
|
||||
* ClutterActor:label-actor:
|
||||
*
|
||||
* An actor that labels this widget.
|
||||
*/
|
||||
g_object_class_install_property (gobject_class,
|
||||
PROP_LABEL_ACTOR,
|
||||
g_param_spec_object ("label-actor",
|
||||
"Label",
|
||||
"Label that identifies this widget",
|
||||
CLUTTER_TYPE_ACTOR,
|
||||
ST_PARAM_READWRITE));
|
||||
|
||||
/**
|
||||
* StWidget::style-changed:
|
||||
* @widget: the #StWidget
|
||||
@@ -2155,53 +2125,6 @@ st_get_slow_down_factor ()
|
||||
return st_slow_down_factor;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* st_widget_get_label_actor:
|
||||
* @widget: a #StWidget
|
||||
*
|
||||
* Gets the label that identifies @widget if it is defined
|
||||
*
|
||||
* Return value: (transfer none): the label that identifies the widget
|
||||
*/
|
||||
ClutterActor *
|
||||
st_widget_get_label_actor (StWidget *widget)
|
||||
{
|
||||
g_return_val_if_fail (ST_IS_WIDGET (widget), NULL);
|
||||
|
||||
return widget->priv->label_actor;
|
||||
}
|
||||
|
||||
/**
|
||||
* st_widget_set_label_actor:
|
||||
* @widget: a #StWidget
|
||||
* @label: a #ClutterActor
|
||||
*
|
||||
* Sets @label as the #ClutterActor that identifies (labels)
|
||||
* @widget. @label can be %NULL to indicate that @widget is not
|
||||
* labelled any more
|
||||
*/
|
||||
|
||||
void
|
||||
st_widget_set_label_actor (StWidget *widget,
|
||||
ClutterActor *label)
|
||||
{
|
||||
g_return_if_fail (ST_IS_WIDGET (widget));
|
||||
|
||||
if (widget->priv->label_actor != label)
|
||||
{
|
||||
if (widget->priv->label_actor)
|
||||
g_object_unref (widget->priv->label_actor);
|
||||
|
||||
if (label != NULL)
|
||||
widget->priv->label_actor = g_object_ref (label);
|
||||
else
|
||||
widget->priv->label_actor = NULL;
|
||||
|
||||
g_object_notify (G_OBJECT (widget), "label-actor");
|
||||
}
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
/*************************** ACCESSIBILITY SUPPORT ****************************/
|
||||
/******************************************************************************/
|
||||
@@ -2210,7 +2133,6 @@ st_widget_set_label_actor (StWidget *widget,
|
||||
|
||||
static void st_widget_accessible_class_init (StWidgetAccessibleClass *klass);
|
||||
static void st_widget_accessible_init (StWidgetAccessible *widget);
|
||||
static void st_widget_accessible_dispose (GObject *gobject);
|
||||
|
||||
/* AtkObject */
|
||||
static AtkStateSet *st_widget_accessible_ref_state_set (AtkObject *obj);
|
||||
@@ -2224,13 +2146,8 @@ static void on_pseudo_class_notify (GObject *gobject,
|
||||
static void on_can_focus_notify (GObject *gobject,
|
||||
GParamSpec *pspec,
|
||||
gpointer data);
|
||||
static void on_label_notify (GObject *gobject,
|
||||
GParamSpec *pspec,
|
||||
gpointer data);
|
||||
static void check_selected (StWidgetAccessible *self,
|
||||
StWidget *widget);
|
||||
static void check_labels (StWidgetAccessible *self,
|
||||
StWidget *widget);
|
||||
|
||||
G_DEFINE_TYPE (StWidgetAccessible, st_widget_accessible, CALLY_TYPE_ACTOR)
|
||||
|
||||
@@ -2242,11 +2159,6 @@ struct _StWidgetAccessiblePrivate
|
||||
{
|
||||
/* Cached values (used to avoid extra notifications) */
|
||||
gboolean selected;
|
||||
|
||||
/* The current_label. Right now there are the proper atk
|
||||
* relationships between this object and the label
|
||||
*/
|
||||
AtkObject *current_label;
|
||||
};
|
||||
|
||||
|
||||
@@ -2278,8 +2190,6 @@ st_widget_accessible_class_init (StWidgetAccessibleClass *klass)
|
||||
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
|
||||
AtkObjectClass *atk_class = ATK_OBJECT_CLASS (klass);
|
||||
|
||||
gobject_class->dispose = st_widget_accessible_dispose;
|
||||
|
||||
atk_class->ref_state_set = st_widget_accessible_ref_state_set;
|
||||
atk_class->initialize = st_widget_accessible_initialize;
|
||||
|
||||
@@ -2294,19 +2204,6 @@ st_widget_accessible_init (StWidgetAccessible *self)
|
||||
self->priv = priv;
|
||||
}
|
||||
|
||||
static void
|
||||
st_widget_accessible_dispose (GObject *gobject)
|
||||
{
|
||||
StWidgetAccessible *self = ST_WIDGET_ACCESSIBLE (gobject);
|
||||
|
||||
if (self->priv->current_label)
|
||||
{
|
||||
g_object_unref (self->priv->current_label);
|
||||
self->priv->current_label = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
st_widget_accessible_initialize (AtkObject *obj,
|
||||
gpointer data)
|
||||
@@ -2321,16 +2218,11 @@ st_widget_accessible_initialize (AtkObject *obj,
|
||||
G_CALLBACK (on_can_focus_notify),
|
||||
obj);
|
||||
|
||||
g_signal_connect (data, "notify::label-actor",
|
||||
G_CALLBACK (on_label_notify),
|
||||
obj);
|
||||
|
||||
/* Check the cached selected state and notify the first selection.
|
||||
* Ie: it is required to ensure a first notification when Alt+Tab
|
||||
* popup appears
|
||||
*/
|
||||
check_selected (ST_WIDGET_ACCESSIBLE (obj), ST_WIDGET (data));
|
||||
check_labels (ST_WIDGET_ACCESSIBLE (obj), ST_WIDGET (data));
|
||||
}
|
||||
|
||||
static AtkStateSet *
|
||||
@@ -2490,57 +2382,3 @@ st_get_ui_root (ClutterStage *stage)
|
||||
else
|
||||
return CLUTTER_CONTAINER (stage);
|
||||
}
|
||||
|
||||
static void
|
||||
on_label_notify (GObject *gobject,
|
||||
GParamSpec *pspec,
|
||||
gpointer data)
|
||||
{
|
||||
check_labels (ST_WIDGET_ACCESSIBLE (data), ST_WIDGET (gobject));
|
||||
}
|
||||
|
||||
static void
|
||||
check_labels (StWidgetAccessible *widget_accessible,
|
||||
StWidget *widget)
|
||||
{
|
||||
ClutterActor *label = NULL;
|
||||
AtkObject *label_accessible = NULL;
|
||||
|
||||
/* We only call this method at startup, and when the label changes,
|
||||
* so it is fine to remove the previous relationships if we have the
|
||||
* current_label by default
|
||||
*/
|
||||
if (widget_accessible->priv->current_label != NULL)
|
||||
{
|
||||
AtkObject *previous_label = widget_accessible->priv->current_label;
|
||||
|
||||
atk_object_remove_relationship (ATK_OBJECT (widget_accessible),
|
||||
ATK_RELATION_LABELLED_BY,
|
||||
previous_label);
|
||||
|
||||
atk_object_remove_relationship (previous_label,
|
||||
ATK_RELATION_LABEL_FOR,
|
||||
ATK_OBJECT (widget_accessible));
|
||||
|
||||
g_object_unref (previous_label);
|
||||
}
|
||||
|
||||
label = st_widget_get_label_actor (widget);
|
||||
if (label == NULL)
|
||||
{
|
||||
widget_accessible->priv->current_label = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
label_accessible = clutter_actor_get_accessible (label);
|
||||
widget_accessible->priv->current_label = g_object_ref (label_accessible);
|
||||
|
||||
atk_object_add_relationship (ATK_OBJECT (widget_accessible),
|
||||
ATK_RELATION_LABELLED_BY,
|
||||
label_accessible);
|
||||
|
||||
atk_object_add_relationship (label_accessible,
|
||||
ATK_RELATION_LABEL_FOR,
|
||||
ATK_OBJECT (widget_accessible));
|
||||
}
|
||||
}
|
||||
|
@@ -152,10 +152,6 @@ gboolean st_widget_navigate_focus (StWidget *widg
|
||||
GtkDirectionType direction,
|
||||
gboolean wrap_around);
|
||||
|
||||
ClutterActor * st_widget_get_label_actor (StWidget *widget);
|
||||
void st_widget_set_label_actor (StWidget *widget,
|
||||
ClutterActor *label);
|
||||
|
||||
/* Only to be used by sub-classes of StWidget */
|
||||
void st_widget_style_changed (StWidget *widget);
|
||||
StThemeNode * st_widget_get_theme_node (StWidget *widget);
|
||||
|