Compare commits
118 Commits
3.0.0.1
...
goa-client
Author | SHA1 | Date | |
---|---|---|---|
a69e45b5eb | |||
a355398b0f | |||
4bfc3bafcb | |||
898b2b903d | |||
7921954a31 | |||
0e42de9149 | |||
8e4a5f1ac5 | |||
61577e176e | |||
4b008b1ada | |||
bee37b5bc4 | |||
b5ab8b6ed5 | |||
4d6bd91d16 | |||
5428db5385 | |||
6e6b1e6052 | |||
bc2b47974d | |||
2244b6ff1b | |||
fb384fc291 | |||
73cae8ce9a | |||
dcd07eb23f | |||
fa24448489 | |||
c975740f92 | |||
1e0187fa57 | |||
cbdf060bca | |||
19a8dff975 | |||
72f9f482d6 | |||
88de26138a | |||
57bd964cb3 | |||
74a39ae57c | |||
5090a4ccce | |||
ae0652d13f | |||
101a07a3d7 | |||
b012e93121 | |||
c31109800b | |||
c0dc363a3d | |||
739bb28220 | |||
aab2794e05 | |||
75c8c1bfb6 | |||
6f8bd96195 | |||
25f0d098bd | |||
56d584b7c6 | |||
20bf53add1 | |||
0d440bb0a2 | |||
8ec62ce46b | |||
79927faaec | |||
e4c7f1f3c4 | |||
68710c4647 | |||
7d7cbde1f3 | |||
bafd9c777a | |||
42a5531f15 | |||
227da25776 | |||
2028f33e38 | |||
145bf19636 | |||
d1675c44e2 | |||
6934e4db26 | |||
cae3414854 | |||
90d061edaf | |||
2e02918323 | |||
e77a1fd33b | |||
dd01c24c34 | |||
f88fbee80d | |||
fe08edbe2b | |||
d2a16bca10 | |||
a87f51487e | |||
76fce94b66 | |||
d104f9210a | |||
d0780d1622 | |||
9d5906dae3 | |||
07a0960265 | |||
72bee6d7ca | |||
249f26d23c | |||
7813c5b93f | |||
e38d83fd44 | |||
d97657b151 | |||
7e857dede3 | |||
c3218f6b03 | |||
1060d0db60 | |||
b8925a091c | |||
79cca07a41 | |||
c1d189c9ad | |||
b1a973ee5a | |||
93ef560779 | |||
c28d35ad86 | |||
9c654a6ab5 | |||
64a54e379c | |||
8f4ec8583b | |||
f4852d7264 | |||
092e1a691d | |||
16ac42421d | |||
1d2eadb9c0 | |||
35c85d9fac | |||
f0622c1896 | |||
6d11247417 | |||
59c3e3a179 | |||
42e26a8682 | |||
db6caac9cc | |||
ba4a57ba0b | |||
018e3bc35f | |||
a56bc9d933 | |||
5b93525ce8 | |||
6abb86dff6 | |||
6a27d5ed80 | |||
8232684672 | |||
2d855ce5cf | |||
b2b685e46d | |||
ef552846d1 | |||
c7dfd0894e | |||
5b1a76aeff | |||
529b6ca935 | |||
625a4c0766 | |||
3c3ea2f575 | |||
57a332bb08 | |||
73ac98b193 | |||
59e3cbb36b | |||
fb019a7cbf | |||
09607f6aa7 | |||
1c4a33eb78 | |||
b7513097ea | |||
a35677a9bf |
76
NEWS
@ -1,3 +1,79 @@
|
|||||||
|
3.0.1
|
||||||
|
=====
|
||||||
|
|
||||||
|
* Network menu
|
||||||
|
- Fix problems updating the menu for mobile broadband devices [Giovanni]
|
||||||
|
https://bugzilla.gnome.org/show_bug.cgi?id=646395
|
||||||
|
- Fix missing device descriptions with multiple devices of the
|
||||||
|
same type [Giovanni]
|
||||||
|
https://bugzilla.gnome.org/show_bug.cgi?id=646074
|
||||||
|
- Label ad-hoc neworks with an appropriate icon [Dan]
|
||||||
|
https://bugzilla.gnome.org/show_bug.cgi?id=646141
|
||||||
|
- Fix displaying some devices states as "invalid" [Dan]
|
||||||
|
https://bugzilla.gnome.org/show_bug.cgi?id=646946
|
||||||
|
- Fix problems with access points that don't report a SSID [Giovanni]
|
||||||
|
https://bugzilla.gnome.org/show_bug.cgi?id=647040
|
||||||
|
- Miscellaneous minor bug fixes [Dan, Giovanni, Owen]
|
||||||
|
645981, 646558, 646443, 646708, 646968
|
||||||
|
* Application menu and icon
|
||||||
|
- Fix bug where application menu icon was missing at GNOME Shell
|
||||||
|
startup. [Florian]
|
||||||
|
https://bugzilla.gnome.org/show_bug.cgi?id=644122
|
||||||
|
- Fix missing application menu for dialog windows [Colin]
|
||||||
|
https://bugzilla.gnome.org/show_bug.cgi?id=647082
|
||||||
|
- When launching an application through an alternate launcher
|
||||||
|
(like for a System Settings pane), association the windows with
|
||||||
|
the application, not the launcher. [Colin]
|
||||||
|
https://bugzilla.gnome.org/show_bug.cgi?id=646689
|
||||||
|
* Activities overview
|
||||||
|
- Load the applications view incrementally to avoid potentially freezing
|
||||||
|
for multiple seconds [Colin]
|
||||||
|
https://bugzilla.gnome.org/show_bug.cgi?id=647778
|
||||||
|
- Fix bug where package installation while the overview
|
||||||
|
was up could result in a corrupted application display. [Giovanni]
|
||||||
|
https://bugzilla.gnome.org/show_bug.cgi?id=645801
|
||||||
|
- Fix dragging from the search results to launch apps and docs [Florian]
|
||||||
|
https://bugzilla.gnome.org/show_bug.cgi?id=645990
|
||||||
|
- Fix flickering of selection when searching in the overview [Florian]
|
||||||
|
https://bugzilla.gnome.org/show_bug.cgi?id=646019
|
||||||
|
- Fix bug when typing into the search box when text was already
|
||||||
|
selected [Nohemi]
|
||||||
|
https://bugzilla.gnome.org/show_bug.cgi?id=636341
|
||||||
|
* Fix layout of notifications for right-to-left languages [Florian]
|
||||||
|
https://bugzilla.gnome.org/show_bug.cgi?id=646921
|
||||||
|
* Remove a confusing special case where Alt-Tab sometimes switched
|
||||||
|
to a different window of the same application rather than to
|
||||||
|
a different application. [Rui]
|
||||||
|
https://bugzilla.gnome.org/show_bug.cgi?id=648132
|
||||||
|
* Fix a crash that could happen when a window was opened on a
|
||||||
|
workspace that was immediately removed [Dan]
|
||||||
|
https://bugzilla.gnome.org/show_bug.cgi?id=648132
|
||||||
|
* Fix keyboard navigation in logout/reboot dialogs [Dan]
|
||||||
|
https://bugzilla.gnome.org/show_bug.cgi?id=646740
|
||||||
|
* Fix missing inspector icon in Looking Glass console [Dan]
|
||||||
|
* Miscellaneous minor bug fixes [Adel, Colin, Dan, Florian, Nohemi]
|
||||||
|
645648, 646205, 646257, 646855, 647098, 646730
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Giovanni Campagna, Nohemi Fernandez, Adel Gadllah, Rui Matos, Florian Müllner,
|
||||||
|
Owen Taylor, Colin Walters, Dan Winship
|
||||||
|
|
||||||
|
Translations:
|
||||||
|
Hendrik Richter [de], Jorge González [es], Arash Mousavi [fa],
|
||||||
|
Fran Diéguez [gl], Jiro Matsuzawa [ja], Piotr Drąg [pl], Daniel Nylander [sv],
|
||||||
|
Sira Nokyoongtong [th], Muhammet Kara [tr], Nguyễn Thái Ngọc Duy [vi],
|
||||||
|
Aron Xu [zh_CN], Chao-Hsiung Liao [zh_HK, zh_TW]
|
||||||
|
|
||||||
|
3.0.0.2
|
||||||
|
=======
|
||||||
|
|
||||||
|
* Fix missing import that was preventing extensions from loading.
|
||||||
|
[Maxim Ermilov]
|
||||||
|
https://bugzilla.gnome.org/show_bug.cgi?id=646333
|
||||||
|
|
||||||
|
Translations:
|
||||||
|
Timo Jyrinki [fi]
|
||||||
|
|
||||||
3.0.0.1
|
3.0.0.1
|
||||||
=======
|
=======
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
AC_PREREQ(2.63)
|
AC_PREREQ(2.63)
|
||||||
AC_INIT([gnome-shell],[3.0.0.1],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
|
AC_INIT([gnome-shell],[3.0.1],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
|
||||||
|
|
||||||
AC_CONFIG_HEADERS([config.h])
|
AC_CONFIG_HEADERS([config.h])
|
||||||
AC_CONFIG_SRCDIR([src/shell-global.c])
|
AC_CONFIG_SRCDIR([src/shell-global.c])
|
||||||
@ -100,7 +100,7 @@ AC_SUBST([GJS_VERSION], ["$GJS_VERSION"])
|
|||||||
GOBJECT_INTROSPECTION_CHECK([$GOBJECT_INTROSPECTION_MIN_VERSION])
|
GOBJECT_INTROSPECTION_CHECK([$GOBJECT_INTROSPECTION_MIN_VERSION])
|
||||||
JHBUILD_TYPELIBDIR="$INTROSPECTION_TYPELIBDIR"
|
JHBUILD_TYPELIBDIR="$INTROSPECTION_TYPELIBDIR"
|
||||||
# NM is the only typelib we use that we don't jhbuild
|
# NM is the only typelib we use that we don't jhbuild
|
||||||
PKG_CHECK_EXISTS([libnm-glib >= 0.8.995],
|
PKG_CHECK_EXISTS([libnm-glib >= 0.8.999],
|
||||||
[NM_TYPELIBDIR=`$PKG_CONFIG --variable=libdir libnm-glib`/girepository-1.0
|
[NM_TYPELIBDIR=`$PKG_CONFIG --variable=libdir libnm-glib`/girepository-1.0
|
||||||
if test "$INTROSPECTION_TYPELIBDIR" != "$NM_TYPELIBDIR"; then
|
if test "$INTROSPECTION_TYPELIBDIR" != "$NM_TYPELIBDIR"; then
|
||||||
JHBUILD_TYPELIBDIR="$JHBUILD_TYPELIBDIR:$NM_TYPELIBDIR"
|
JHBUILD_TYPELIBDIR="$JHBUILD_TYPELIBDIR:$NM_TYPELIBDIR"
|
||||||
@ -116,11 +116,10 @@ AC_CHECK_FUNCS(JS_NewGlobalObject sn_startup_sequence_get_application_id XFixesC
|
|||||||
CFLAGS=$saved_CFLAGS
|
CFLAGS=$saved_CFLAGS
|
||||||
LIBS=$saved_LIBS
|
LIBS=$saved_LIBS
|
||||||
|
|
||||||
PKG_CHECK_MODULES(ST, clutter-1.0 gtk+-3.0 libcroco-0.6 gnome-desktop-3.0 >= 2.90.0 x11)
|
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(GDMUSER, dbus-glib-1 gtk+-3.0)
|
PKG_CHECK_MODULES(GDMUSER, dbus-glib-1 gtk+-3.0)
|
||||||
PKG_CHECK_MODULES(TRAY, gtk+-3.0)
|
PKG_CHECK_MODULES(TRAY, gtk+-3.0)
|
||||||
PKG_CHECK_MODULES(GVC, libpulse libpulse-mainloop-glib gobject-2.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)
|
PKG_CHECK_MODULES(DESKTOP_SCHEMAS, gsettings-desktop-schemas >= 0.1.7)
|
||||||
|
|
||||||
AC_MSG_CHECKING([for bluetooth support])
|
AC_MSG_CHECKING([for bluetooth support])
|
||||||
|
@ -30,26 +30,14 @@ dist_theme_DATA = \
|
|||||||
theme/filter-selected-ltr.svg \
|
theme/filter-selected-ltr.svg \
|
||||||
theme/filter-selected-rtl.svg \
|
theme/filter-selected-rtl.svg \
|
||||||
theme/gnome-shell.css \
|
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-border.svg \
|
||||||
theme/panel-button-border.svg \
|
theme/panel-button-border.svg \
|
||||||
theme/panel-button-highlight-narrow.svg \
|
theme/panel-button-highlight-narrow.svg \
|
||||||
theme/panel-button-highlight-wide.svg \
|
theme/panel-button-highlight-wide.svg \
|
||||||
theme/process-working.svg \
|
theme/process-working.svg \
|
||||||
theme/running-indicator.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-hhandle.svg \
|
||||||
theme/scroll-vhandle.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/source-button-border.svg \
|
||||||
theme/toggle-off-us.svg \
|
theme/toggle-off-us.svg \
|
||||||
theme/toggle-off-intl.svg \
|
theme/toggle-off-intl.svg \
|
||||||
|
@ -1655,3 +1655,49 @@ StTooltip StLabel {
|
|||||||
.magnifier-zoom-region.full-screen {
|
.magnifier-zoom-region.full-screen {
|
||||||
border-width: 0px;
|
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;
|
||||||
|
}
|
||||||
|
@ -1,113 +0,0 @@
|
|||||||
<?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>
|
|
Before Width: | Height: | Size: 3.7 KiB |
@ -1,113 +0,0 @@
|
|||||||
<?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>
|
|
Before Width: | Height: | Size: 3.6 KiB |
@ -1,89 +0,0 @@
|
|||||||
<?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>
|
|
Before Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 225 B |
Before Width: | Height: | Size: 225 B |
Before Width: | Height: | Size: 211 B |
Before Width: | Height: | Size: 211 B |
@ -1,87 +0,0 @@
|
|||||||
<?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>
|
|
Before Width: | Height: | Size: 2.8 KiB |
@ -1,87 +0,0 @@
|
|||||||
<?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>
|
|
Before Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 531 B |
@ -1,81 +0,0 @@
|
|||||||
<?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>
|
|
Before Width: | Height: | Size: 2.4 KiB |
@ -1,81 +0,0 @@
|
|||||||
<?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>
|
|
Before Width: | Height: | Size: 2.4 KiB |
@ -26,6 +26,7 @@ nobase_dist_js_DATA = \
|
|||||||
ui/endSessionDialog.js \
|
ui/endSessionDialog.js \
|
||||||
ui/environment.js \
|
ui/environment.js \
|
||||||
ui/extensionSystem.js \
|
ui/extensionSystem.js \
|
||||||
|
ui/goaClient.js \
|
||||||
ui/iconGrid.js \
|
ui/iconGrid.js \
|
||||||
ui/lightbox.js \
|
ui/lightbox.js \
|
||||||
ui/link.js \
|
ui/link.js \
|
||||||
|
@ -77,9 +77,9 @@ HistoryManager.prototype = {
|
|||||||
this._history[this._history.length - 1] != input) {
|
this._history[this._history.length - 1] != input) {
|
||||||
|
|
||||||
this._history.push(input);
|
this._history.push(input);
|
||||||
this._historyIndex = this._history.length;
|
|
||||||
this._save();
|
this._save();
|
||||||
}
|
}
|
||||||
|
this._historyIndex = this._history.length;
|
||||||
},
|
},
|
||||||
|
|
||||||
_onEntryKeyPress: function(entry, event) {
|
_onEntryKeyPress: function(entry, event) {
|
||||||
|
@ -7,9 +7,6 @@ const Shell = imports.gi.Shell;
|
|||||||
|
|
||||||
const Main = imports.ui.main;
|
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 */
|
/* 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');
|
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');
|
||||||
|
|
||||||
@ -150,7 +147,7 @@ const _IGNORED_WORDS = [
|
|||||||
'Incorporated',
|
'Incorporated',
|
||||||
'Ltd.',
|
'Ltd.',
|
||||||
'Limited.',
|
'Limited.',
|
||||||
'Intel?',
|
'Intel',
|
||||||
'chipset',
|
'chipset',
|
||||||
'adapter',
|
'adapter',
|
||||||
'[hex]',
|
'[hex]',
|
||||||
@ -181,7 +178,7 @@ const _IGNORED_PHRASES = [
|
|||||||
];
|
];
|
||||||
|
|
||||||
function fixupPCIDescription(desc) {
|
function fixupPCIDescription(desc) {
|
||||||
desc.replace(/[_,]/, ' ');
|
desc = desc.replace(/[_,]/, ' ');
|
||||||
|
|
||||||
/* Attempt to shorten ID by ignoring certain phrases */
|
/* Attempt to shorten ID by ignoring certain phrases */
|
||||||
for (let i = 0; i < _IGNORED_PHRASES.length; i++) {
|
for (let i = 0; i < _IGNORED_PHRASES.length; i++) {
|
||||||
@ -197,7 +194,7 @@ function fixupPCIDescription(desc) {
|
|||||||
/* Attmept to shorten ID by ignoring certain individual words */
|
/* Attmept to shorten ID by ignoring certain individual words */
|
||||||
let words = desc.split(' ');
|
let words = desc.split(' ');
|
||||||
let out = [ ];
|
let out = [ ];
|
||||||
for (let i = 0; i < words; i++) {
|
for (let i = 0; i < words.length; i++) {
|
||||||
let item = words[i];
|
let item = words[i];
|
||||||
|
|
||||||
// skip empty items (that come out from consecutive spaces)
|
// skip empty items (that come out from consecutive spaces)
|
||||||
|
@ -87,7 +87,7 @@ AltTabPopup.prototype = {
|
|||||||
let [childMinHeight, childNaturalHeight] = this._appSwitcher.actor.get_preferred_height(primary.width - hPadding);
|
let [childMinHeight, childNaturalHeight] = this._appSwitcher.actor.get_preferred_height(primary.width - hPadding);
|
||||||
let [childMinWidth, childNaturalWidth] = this._appSwitcher.actor.get_preferred_width(childNaturalHeight);
|
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.x1 = Math.max(primary.x + leftPadding, primary.x + Math.floor((primary.width - childNaturalWidth) / 2));
|
||||||
childBox.x2 = Math.min(primary.x + primary.width - hPadding, childBox.x1 + childNaturalWidth);
|
childBox.x2 = Math.min(primary.x + primary.width - rightPadding, childBox.x1 + childNaturalWidth);
|
||||||
childBox.y1 = primary.y + Math.floor((primary.height - childNaturalHeight) / 2);
|
childBox.y1 = primary.y + Math.floor((primary.height - childNaturalHeight) / 2);
|
||||||
childBox.y2 = childBox.y1 + childNaturalHeight;
|
childBox.y2 = childBox.y1 + childNaturalHeight;
|
||||||
this._appSwitcher.actor.allocate(childBox, flags);
|
this._appSwitcher.actor.allocate(childBox, flags);
|
||||||
@ -145,6 +145,12 @@ AltTabPopup.prototype = {
|
|||||||
|
|
||||||
this._appIcons = this._appSwitcher.icons;
|
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
|
// Make the initial selection
|
||||||
if (switch_group) {
|
if (switch_group) {
|
||||||
if (backward) {
|
if (backward) {
|
||||||
@ -156,29 +162,11 @@ AltTabPopup.prototype = {
|
|||||||
this._select(0, 0);
|
this._select(0, 0);
|
||||||
}
|
}
|
||||||
} else if (this._appIcons.length == 1) {
|
} else if (this._appIcons.length == 1) {
|
||||||
if (!backward && this._appIcons[0].cachedWindows.length > 1) {
|
this._select(0);
|
||||||
// For compatibility with the multi-app case below
|
|
||||||
this._select(0, 1, true);
|
|
||||||
} else
|
|
||||||
this._select(0);
|
|
||||||
} else if (backward) {
|
} else if (backward) {
|
||||||
this._select(this._appIcons.length - 1);
|
this._select(this._appIcons.length - 1);
|
||||||
} else {
|
} else {
|
||||||
let firstWindows = this._appIcons[0].cachedWindows;
|
this._select(1);
|
||||||
if (firstWindows.length > 1) {
|
|
||||||
let curAppNextWindow = firstWindows[1];
|
|
||||||
let nextAppWindow = this._appIcons[1].cachedWindows[0];
|
|
||||||
|
|
||||||
// If the next window of the current app is more-recently-used
|
|
||||||
// than the first window of the next app, then select it.
|
|
||||||
if (curAppNextWindow.get_workspace() == global.screen.get_active_workspace() &&
|
|
||||||
curAppNextWindow.get_user_time() > nextAppWindow.get_user_time())
|
|
||||||
this._select(0, 1, true);
|
|
||||||
else
|
|
||||||
this._select(1);
|
|
||||||
} else {
|
|
||||||
this._select(1);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// There's a race condition; if the user released Alt before
|
// There's a race condition; if the user released Alt before
|
||||||
@ -192,8 +180,6 @@ AltTabPopup.prototype = {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.actor.opacity = 0;
|
|
||||||
this.actor.show();
|
|
||||||
Tweener.addTween(this.actor,
|
Tweener.addTween(this.actor,
|
||||||
{ opacity: 255,
|
{ opacity: 255,
|
||||||
time: POPUP_FADE_TIME,
|
time: POPUP_FADE_TIME,
|
||||||
@ -601,7 +587,7 @@ SwitcherList.prototype = {
|
|||||||
this._rightArrow.opacity = this._rightGradient.opacity;
|
this._rightArrow.opacity = this._rightGradient.opacity;
|
||||||
},
|
},
|
||||||
|
|
||||||
addItem : function(item) {
|
addItem : function(item, label) {
|
||||||
let bbox = new St.Button({ style_class: 'item-box',
|
let bbox = new St.Button({ style_class: 'item-box',
|
||||||
reactive: true });
|
reactive: true });
|
||||||
|
|
||||||
@ -612,6 +598,8 @@ SwitcherList.prototype = {
|
|||||||
bbox.connect('clicked', Lang.bind(this, function() { this._onItemClicked(n); }));
|
bbox.connect('clicked', Lang.bind(this, function() { this._onItemClicked(n); }));
|
||||||
bbox.connect('enter-event', Lang.bind(this, function() { this._onItemEnter(n); }));
|
bbox.connect('enter-event', Lang.bind(this, function() { this._onItemEnter(n); }));
|
||||||
|
|
||||||
|
bbox.label_actor = label;
|
||||||
|
|
||||||
this._items.push(bbox);
|
this._items.push(bbox);
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -997,7 +985,7 @@ AppSwitcher.prototype = {
|
|||||||
|
|
||||||
_addIcon : function(appIcon) {
|
_addIcon : function(appIcon) {
|
||||||
this.icons.push(appIcon);
|
this.icons.push(appIcon);
|
||||||
this.addItem(appIcon.actor);
|
this.addItem(appIcon.actor, appIcon.label);
|
||||||
|
|
||||||
let n = this._arrows.length;
|
let n = this._arrows.length;
|
||||||
let arrow = new St.DrawingArea({ style_class: 'switcher-arrow' });
|
let arrow = new St.DrawingArea({ style_class: 'switcher-arrow' });
|
||||||
@ -1067,9 +1055,12 @@ ThumbnailList.prototype = {
|
|||||||
this._labels.push(bin);
|
this._labels.push(bin);
|
||||||
bin.add_actor(name);
|
bin.add_actor(name);
|
||||||
box.add_actor(bin);
|
box.add_actor(bin);
|
||||||
|
|
||||||
|
this.addItem(box, name);
|
||||||
|
} else {
|
||||||
|
this.addItem(box, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.addItem(box);
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -6,10 +6,9 @@ const Gtk = imports.gi.Gtk;
|
|||||||
const Shell = imports.gi.Shell;
|
const Shell = imports.gi.Shell;
|
||||||
const Lang = imports.lang;
|
const Lang = imports.lang;
|
||||||
const Signals = imports.signals;
|
const Signals = imports.signals;
|
||||||
|
const Meta = imports.gi.Meta;
|
||||||
const St = imports.gi.St;
|
const St = imports.gi.St;
|
||||||
const Mainloop = imports.mainloop;
|
const Mainloop = imports.mainloop;
|
||||||
const Gettext = imports.gettext.domain('gnome-shell');
|
|
||||||
const _ = Gettext.gettext;
|
|
||||||
|
|
||||||
const AppFavorites = imports.ui.appFavorites;
|
const AppFavorites = imports.ui.appFavorites;
|
||||||
const DND = imports.ui.dnd;
|
const DND = imports.ui.dnd;
|
||||||
@ -22,6 +21,7 @@ const Tweener = imports.ui.tweener;
|
|||||||
const Workspace = imports.ui.workspace;
|
const Workspace = imports.ui.workspace;
|
||||||
const Params = imports.misc.params;
|
const Params = imports.misc.params;
|
||||||
|
|
||||||
|
const MAX_APPLICATION_WORK_MILLIS = 75;
|
||||||
const MENU_POPUP_TIMEOUT = 600;
|
const MENU_POPUP_TIMEOUT = 600;
|
||||||
const SCROLL_TIME = 0.1;
|
const SCROLL_TIME = 0.1;
|
||||||
|
|
||||||
@ -34,6 +34,8 @@ AlphabeticalView.prototype = {
|
|||||||
this._grid = new IconGrid.IconGrid({ xAlign: St.Align.START });
|
this._grid = new IconGrid.IconGrid({ xAlign: St.Align.START });
|
||||||
this._appSystem = Shell.AppSystem.get_default();
|
this._appSystem = Shell.AppSystem.get_default();
|
||||||
|
|
||||||
|
this._pendingAppLaterId = 0;
|
||||||
|
this._apps = [];
|
||||||
this._filterApp = null;
|
this._filterApp = null;
|
||||||
|
|
||||||
let box = new St.BoxLayout({ vertical: true });
|
let box = new St.BoxLayout({ vertical: true });
|
||||||
@ -109,6 +111,30 @@ AlphabeticalView.prototype = {
|
|||||||
this._apps[i].actor.visible = filter(this._apps[i]._appInfo);
|
this._apps[i].actor.visible = filter(this._apps[i]._appInfo);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// Create actors for the applications in an idle to avoid blocking
|
||||||
|
// for too long; see bug 647778
|
||||||
|
_addPendingApps: function() {
|
||||||
|
let i;
|
||||||
|
let startTimeMillis = new Date().getTime();
|
||||||
|
for (i = 0; i < this._pendingAppIds.length; i++) {
|
||||||
|
let id = this._pendingAppIds[i];
|
||||||
|
this._addApp(this._pendingApps[id]);
|
||||||
|
|
||||||
|
let currentTimeMillis = new Date().getTime();
|
||||||
|
if (currentTimeMillis - startTimeMillis > MAX_APPLICATION_WORK_MILLIS)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
this._pendingAppIds.splice(0, i + 1);
|
||||||
|
if (this._pendingAppIds.length > 0) {
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
this._pendingAppLaterId = 0;
|
||||||
|
this._pendingAppIds = null;
|
||||||
|
this._pendingApps = null;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
refresh: function(apps) {
|
refresh: function(apps) {
|
||||||
let ids = [];
|
let ids = [];
|
||||||
for (let i in apps)
|
for (let i in apps)
|
||||||
@ -119,9 +145,12 @@ AlphabeticalView.prototype = {
|
|||||||
|
|
||||||
this._removeAll();
|
this._removeAll();
|
||||||
|
|
||||||
for (let i = 0; i < ids.length; i++) {
|
this._pendingAppIds = ids;
|
||||||
this._addApp(apps[ids[i]]);
|
this._pendingApps = apps;
|
||||||
}
|
if (this._pendingAppLaterId)
|
||||||
|
Meta.later_remove(this._pendingAppLaterId);
|
||||||
|
this._pendingAppLaterId = Meta.later_add(Meta.LaterType.BEFORE_REDRAW,
|
||||||
|
Lang.bind(this, this._addPendingApps));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -224,7 +253,6 @@ ViewByCategories.prototype = {
|
|||||||
|
|
||||||
let sections = this._appSystem.get_sections();
|
let sections = this._appSystem.get_sections();
|
||||||
this._apps = apps;
|
this._apps = apps;
|
||||||
this._view.refresh(apps);
|
|
||||||
|
|
||||||
/* Translators: Filter to display all applications */
|
/* Translators: Filter to display all applications */
|
||||||
this._addFilter(_("All"), -1);
|
this._addFilter(_("All"), -1);
|
||||||
@ -236,6 +264,7 @@ ViewByCategories.prototype = {
|
|||||||
this._addFilter(sections[i], i);
|
this._addFilter(sections[i], i);
|
||||||
|
|
||||||
this._selectCategory(-1);
|
this._selectCategory(-1);
|
||||||
|
this._view.refresh(apps);
|
||||||
|
|
||||||
if (this._focusDummy) {
|
if (this._focusDummy) {
|
||||||
let focused = this._focusDummy.has_key_focus();
|
let focused = this._focusDummy.has_key_focus();
|
||||||
@ -313,7 +342,7 @@ BaseAppSearchProvider.prototype = {
|
|||||||
timestamp: null });
|
timestamp: null });
|
||||||
|
|
||||||
let app = this._appSys.get_app(id);
|
let app = this._appSys.get_app(id);
|
||||||
app.open_new_window(params.workspace ? params.workspace.get_index() : -1);
|
app.open_new_window(params.workspace ? params.workspace.index() : -1);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -403,6 +432,8 @@ AppWellIcon.prototype = {
|
|||||||
this.icon = new AppIcon(app, iconParams);
|
this.icon = new AppIcon(app, iconParams);
|
||||||
this.actor.set_child(this.icon.actor);
|
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('button-press-event', Lang.bind(this, this._onButtonPress));
|
||||||
this.actor.connect('clicked', Lang.bind(this, this._onClicked));
|
this.actor.connect('clicked', Lang.bind(this, this._onClicked));
|
||||||
this.actor.connect('popup-menu', Lang.bind(this, this._onKeyboardPopupMenu));
|
this.actor.connect('popup-menu', Lang.bind(this, this._onKeyboardPopupMenu));
|
||||||
|
@ -3,8 +3,6 @@
|
|||||||
const Shell = imports.gi.Shell;
|
const Shell = imports.gi.Shell;
|
||||||
const Lang = imports.lang;
|
const Lang = imports.lang;
|
||||||
const Signals = imports.signals;
|
const Signals = imports.signals;
|
||||||
const Gettext = imports.gettext.domain('gnome-shell');
|
|
||||||
const _ = Gettext.gettext;
|
|
||||||
|
|
||||||
const Main = imports.ui.main;
|
const Main = imports.ui.main;
|
||||||
|
|
||||||
|
@ -8,9 +8,6 @@ const St = imports.gi.St;
|
|||||||
const Signals = imports.signals;
|
const Signals = imports.signals;
|
||||||
const Pango = imports.gi.Pango;
|
const Pango = imports.gi.Pango;
|
||||||
const Gettext_gtk30 = imports.gettext.domain('gtk30');
|
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 Mainloop = imports.mainloop;
|
||||||
const Shell = imports.gi.Shell;
|
const Shell = imports.gi.Shell;
|
||||||
|
|
||||||
|
@ -323,6 +323,6 @@ CtrlAltTabSwitcher.prototype = {
|
|||||||
let text = new St.Label({ text: item.name });
|
let text = new St.Label({ text: item.name });
|
||||||
box.add(text, { x_fill: false });
|
box.add(text, { x_fill: false });
|
||||||
|
|
||||||
this.addItem(box);
|
this.addItem(box, text);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -6,8 +6,6 @@ const Lang = imports.lang;
|
|||||||
const Meta = imports.gi.Meta;
|
const Meta = imports.gi.Meta;
|
||||||
const Shell = imports.gi.Shell;
|
const Shell = imports.gi.Shell;
|
||||||
const St = imports.gi.St;
|
const St = imports.gi.St;
|
||||||
const Gettext = imports.gettext.domain('gnome-shell');
|
|
||||||
const _ = Gettext.gettext;
|
|
||||||
|
|
||||||
const AppDisplay = imports.ui.appDisplay;
|
const AppDisplay = imports.ui.appDisplay;
|
||||||
const AppFavorites = imports.ui.appFavorites;
|
const AppFavorites = imports.ui.appFavorites;
|
||||||
|
@ -8,8 +8,6 @@ const Cairo = imports.cairo;
|
|||||||
const Clutter = imports.gi.Clutter;
|
const Clutter = imports.gi.Clutter;
|
||||||
const Shell = imports.gi.Shell;
|
const Shell = imports.gi.Shell;
|
||||||
const St = imports.gi.St;
|
const St = imports.gi.St;
|
||||||
const Gettext = imports.gettext.domain('gnome-shell');
|
|
||||||
const _ = Gettext.gettext;
|
|
||||||
|
|
||||||
const Util = imports.misc.util;
|
const Util = imports.misc.util;
|
||||||
const Main = imports.ui.main;
|
const Main = imports.ui.main;
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
/* -*- 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 DocInfo = imports.misc.docInfo;
|
||||||
const Params = imports.misc.params;
|
const Params = imports.misc.params;
|
||||||
const Search = imports.ui.search;
|
const Search = imports.ui.search;
|
||||||
|
@ -22,9 +22,6 @@ const DBus = imports.dbus;
|
|||||||
const Lang = imports.lang;
|
const Lang = imports.lang;
|
||||||
const Signals = imports.signals;
|
const Signals = imports.signals;
|
||||||
|
|
||||||
const Gettext = imports.gettext.domain('gnome-shell');
|
|
||||||
const _ = Gettext.gettext;
|
|
||||||
|
|
||||||
const Clutter = imports.gi.Clutter;
|
const Clutter = imports.gi.Clutter;
|
||||||
const Gdm = imports.gi.Gdm;
|
const Gdm = imports.gi.Gdm;
|
||||||
const GLib = imports.gi.GLib;
|
const GLib = imports.gi.GLib;
|
||||||
@ -408,10 +405,6 @@ EndSessionDialog.prototype = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
_updateButtons: function() {
|
_updateButtons: function() {
|
||||||
if (this.state != ModalDialog.State.OPENING &&
|
|
||||||
this.state != ModalDialog.State.OPENED)
|
|
||||||
return;
|
|
||||||
|
|
||||||
let dialogContent = DialogContent[this._type];
|
let dialogContent = DialogContent[this._type];
|
||||||
let buttons = [{ action: Lang.bind(this, this.cancel),
|
let buttons = [{ action: Lang.bind(this, this.cancel),
|
||||||
label: _("Cancel"),
|
label: _("Cancel"),
|
||||||
@ -521,11 +514,12 @@ EndSessionDialog.prototype = {
|
|||||||
this._inhibitors.push(inhibitor);
|
this._inhibitors.push(inhibitor);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this._updateButtons();
|
||||||
|
|
||||||
if (!this.open(timestamp))
|
if (!this.open(timestamp))
|
||||||
throw new DBus.DBusError('org.gnome.Shell.ModalDialog.GrabError',
|
throw new DBus.DBusError('org.gnome.Shell.ModalDialog.GrabError',
|
||||||
"Cannot grab pointer and keyboard");
|
"Cannot grab pointer and keyboard");
|
||||||
|
|
||||||
this._updateButtons();
|
|
||||||
this._updateContent();
|
this._updateContent();
|
||||||
|
|
||||||
let signalId = this.connect('opened',
|
let signalId = this.connect('opened',
|
||||||
|
@ -1,14 +1,22 @@
|
|||||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
/* -*- 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 Clutter = imports.gi.Clutter;;
|
||||||
|
const Gettext = imports.gettext;
|
||||||
const GLib = imports.gi.GLib;
|
const GLib = imports.gi.GLib;
|
||||||
|
const Gtk = imports.gi.Gtk;
|
||||||
const Shell = imports.gi.Shell;
|
const Shell = imports.gi.Shell;
|
||||||
const St = imports.gi.St;
|
const St = imports.gi.St;
|
||||||
const Gettext_gtk30 = imports.gettext.domain('gtk30');
|
|
||||||
|
|
||||||
const Tweener = imports.ui.tweener;
|
// We can't import shell JS modules yet, because they may have
|
||||||
|
// variable initializations, etc, that depend on init() already having
|
||||||
|
// been run.
|
||||||
|
|
||||||
const Format = imports.misc.format;
|
|
||||||
|
|
||||||
// "monkey patch" in some varargs ClutterContainer methods; we need
|
// "monkey patch" in some varargs ClutterContainer methods; we need
|
||||||
// to do this per-container class since there is no representation
|
// to do this per-container class since there is no representation
|
||||||
@ -61,26 +69,20 @@ function _blockMethod(method, replacement, reason) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function init() {
|
function init() {
|
||||||
Tweener.init();
|
// Add some bindings to the global JS namespace; (gjs keeps the web
|
||||||
String.prototype.format = Format.format;
|
// browser convention of having that namespace be called 'window'.)
|
||||||
|
window.global = Shell.Global.get();
|
||||||
|
|
||||||
// Work around https://bugzilla.mozilla.org/show_bug.cgi?id=508783
|
window._ = Gettext.gettext;
|
||||||
Date.prototype.toLocaleFormat = function(format) {
|
window.C_ = Gettext.pgettext;
|
||||||
return Shell.util_format_date(format, this.getTime());
|
window.ngettext = Gettext.ngettext;
|
||||||
};
|
|
||||||
|
|
||||||
// Set the default direction for St widgets (this needs to be done before any use of St)
|
// Set the default direction for St widgets (this needs to be done before any use of St)
|
||||||
if (Gettext_gtk30.gettext('default:LTR') == 'default:RTL') {
|
if (Gtk.Widget.get_default_direction() == Gtk.TextDirection.RTL) {
|
||||||
St.Widget.set_default_direction(St.TextDirection.RTL);
|
St.Widget.set_default_direction(St.TextDirection.RTL);
|
||||||
}
|
}
|
||||||
|
|
||||||
let slowdownEnv = GLib.getenv('GNOME_SHELL_SLOWDOWN_FACTOR');
|
// Miscellaneous monkeypatching
|
||||||
if (slowdownEnv) {
|
|
||||||
let factor = parseFloat(slowdownEnv);
|
|
||||||
if (!isNaN(factor) && factor > 0.0)
|
|
||||||
St.set_slow_down_factor(factor);
|
|
||||||
}
|
|
||||||
|
|
||||||
_patchContainerClass(St.BoxLayout);
|
_patchContainerClass(St.BoxLayout);
|
||||||
_patchContainerClass(St.Table);
|
_patchContainerClass(St.Table);
|
||||||
|
|
||||||
@ -88,8 +90,14 @@ function init() {
|
|||||||
return St.describe_actor(this);
|
return St.describe_actor(this);
|
||||||
};
|
};
|
||||||
|
|
||||||
if (window.global === undefined) // test environment
|
let origToString = Object.prototype.toString;
|
||||||
return;
|
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;
|
||||||
|
};
|
||||||
|
|
||||||
_blockMethod('Clutter.Event.get_state', 'Shell.get_event_state',
|
_blockMethod('Clutter.Event.get_state', 'Shell.get_event_state',
|
||||||
'gjs\'s handling of Clutter.ModifierType is broken. See bug 597292.');
|
'gjs\'s handling of Clutter.ModifierType is broken. See bug 597292.');
|
||||||
@ -101,4 +109,23 @@ function init() {
|
|||||||
// Shell.Global.prototype itself is read-only.
|
// Shell.Global.prototype itself is read-only.
|
||||||
global.set_property_mutable('imports.gi.Shell.Global.prototype', 'set_property_mutable', true);
|
global.set_property_mutable('imports.gi.Shell.Global.prototype', 'set_property_mutable', true);
|
||||||
Shell.Global.prototype.set_property_mutable = undefined;
|
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;
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
const GLib = imports.gi.GLib;
|
const GLib = imports.gi.GLib;
|
||||||
const Gio = imports.gi.Gio;
|
const Gio = imports.gi.Gio;
|
||||||
const St = imports.gi.St;
|
const St = imports.gi.St;
|
||||||
|
const Shell = imports.gi.Shell;
|
||||||
|
|
||||||
const Config = imports.misc.config;
|
const Config = imports.misc.config;
|
||||||
|
|
||||||
|
500
js/ui/goaClient.js
Normal file
@ -0,0 +1,500 @@
|
|||||||
|
/* -*- 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);
|
box.add_actor(this._iconBin);
|
||||||
|
|
||||||
if (params.showLabel) {
|
if (params.showLabel) {
|
||||||
this._name = new St.Label({ text: label });
|
this.label = new St.Label({ text: label });
|
||||||
box.add_actor(this._name);
|
box.add_actor(this.label);
|
||||||
} else {
|
} else {
|
||||||
this._name = null;
|
this.label = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (params.createIcon)
|
if (params.createIcon)
|
||||||
@ -67,8 +67,8 @@ BaseIcon.prototype = {
|
|||||||
|
|
||||||
let childBox = new Clutter.ActorBox();
|
let childBox = new Clutter.ActorBox();
|
||||||
|
|
||||||
if (this._name) {
|
if (this.label) {
|
||||||
let [labelMinHeight, labelNatHeight] = this._name.get_preferred_height(-1);
|
let [labelMinHeight, labelNatHeight] = this.label.get_preferred_height(-1);
|
||||||
preferredHeight += this._spacing + labelNatHeight;
|
preferredHeight += this._spacing + labelNatHeight;
|
||||||
|
|
||||||
let labelHeight = availHeight >= preferredHeight ? labelNatHeight
|
let labelHeight = availHeight >= preferredHeight ? labelNatHeight
|
||||||
@ -79,7 +79,7 @@ BaseIcon.prototype = {
|
|||||||
childBox.x2 = availWidth;
|
childBox.x2 = availWidth;
|
||||||
childBox.y1 = iconSize + this._spacing;
|
childBox.y1 = iconSize + this._spacing;
|
||||||
childBox.y2 = childBox.y1 + labelHeight;
|
childBox.y2 = childBox.y1 + labelHeight;
|
||||||
this._name.allocate(childBox, flags);
|
this.label.allocate(childBox, flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
childBox.x1 = Math.floor((availWidth - iconNatWidth) / 2);
|
childBox.x1 = Math.floor((availWidth - iconNatWidth) / 2);
|
||||||
@ -98,8 +98,8 @@ BaseIcon.prototype = {
|
|||||||
alloc.min_size = iconMinHeight;
|
alloc.min_size = iconMinHeight;
|
||||||
alloc.natural_size = iconNatHeight;
|
alloc.natural_size = iconNatHeight;
|
||||||
|
|
||||||
if (this._name) {
|
if (this.label) {
|
||||||
let [labelMinHeight, labelNatHeight] = this._name.get_preferred_height(forWidth);
|
let [labelMinHeight, labelNatHeight] = this.label.get_preferred_height(forWidth);
|
||||||
alloc.min_size += this._spacing + labelMinHeight;
|
alloc.min_size += this._spacing + labelMinHeight;
|
||||||
alloc.natural_size += this._spacing + labelNatHeight;
|
alloc.natural_size += this._spacing + labelNatHeight;
|
||||||
}
|
}
|
||||||
|
@ -5,14 +5,13 @@ const Cogl = imports.gi.Cogl;
|
|||||||
const GConf = imports.gi.GConf;
|
const GConf = imports.gi.GConf;
|
||||||
const GLib = imports.gi.GLib;
|
const GLib = imports.gi.GLib;
|
||||||
const Gio = imports.gi.Gio;
|
const Gio = imports.gi.Gio;
|
||||||
|
const Gtk = imports.gi.Gtk;
|
||||||
const Pango = imports.gi.Pango;
|
const Pango = imports.gi.Pango;
|
||||||
const St = imports.gi.St;
|
const St = imports.gi.St;
|
||||||
const Shell = imports.gi.Shell;
|
const Shell = imports.gi.Shell;
|
||||||
const Signals = imports.signals;
|
const Signals = imports.signals;
|
||||||
const Lang = imports.lang;
|
const Lang = imports.lang;
|
||||||
const Mainloop = imports.mainloop;
|
const Mainloop = imports.mainloop;
|
||||||
const Gettext = imports.gettext.domain('gnome-shell');
|
|
||||||
const _ = Gettext.gettext;
|
|
||||||
|
|
||||||
const History = imports.misc.history;
|
const History = imports.misc.history;
|
||||||
const ExtensionSystem = imports.ui.extensionSystem;
|
const ExtensionSystem = imports.ui.extensionSystem;
|
||||||
@ -100,12 +99,19 @@ Notebook.prototype = {
|
|||||||
selectIndex: function(index) {
|
selectIndex: function(index) {
|
||||||
if (index == this._selectedIndex)
|
if (index == this._selectedIndex)
|
||||||
return;
|
return;
|
||||||
this._unselect();
|
|
||||||
if (index < 0) {
|
if (index < 0) {
|
||||||
|
this._unselect();
|
||||||
this.emit('selection', null);
|
this.emit('selection', null);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Focus the new tab before unmapping the old one
|
||||||
let tabData = this._tabs[index];
|
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.labelBox.add_style_pseudo_class('selected');
|
||||||
tabData.scrollView.show();
|
tabData.scrollView.show();
|
||||||
this._selectedIndex = index;
|
this._selectedIndex = index;
|
||||||
@ -707,6 +713,7 @@ LookingGlass.prototype = {
|
|||||||
let toolbar = new St.BoxLayout({ name: 'Toolbar' });
|
let toolbar = new St.BoxLayout({ name: 'Toolbar' });
|
||||||
this.actor.add_actor(toolbar);
|
this.actor.add_actor(toolbar);
|
||||||
let inspectIcon = new St.Icon({ icon_name: 'gtk-color-picker',
|
let inspectIcon = new St.Icon({ icon_name: 'gtk-color-picker',
|
||||||
|
icon_type: St.IconType.FULLCOLOR,
|
||||||
icon_size: 24 });
|
icon_size: 24 });
|
||||||
toolbar.add_actor(inspectIcon);
|
toolbar.add_actor(inspectIcon);
|
||||||
inspectIcon.reactive = true;
|
inspectIcon.reactive = true;
|
||||||
@ -744,12 +751,7 @@ LookingGlass.prototype = {
|
|||||||
let label = new St.Label({ text: 'js>>> ' });
|
let label = new St.Label({ text: 'js>>> ' });
|
||||||
entryArea.add(label);
|
entryArea.add(label);
|
||||||
|
|
||||||
this._entry = new St.Entry();
|
this._entry = new St.Entry({ can_focus: true });
|
||||||
/* 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 });
|
entryArea.add(this._entry, { expand: true });
|
||||||
|
|
||||||
this._windowList = new WindowList();
|
this._windowList = new WindowList();
|
||||||
@ -908,6 +910,7 @@ LookingGlass.prototype = {
|
|||||||
if (!Main.pushModal(this._entry))
|
if (!Main.pushModal(this._entry))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
this._notebook.selectIndex(0);
|
||||||
this.actor.show();
|
this.actor.show();
|
||||||
this.actor.lower(Main.chrome.actor);
|
this.actor.lower(Main.chrome.actor);
|
||||||
this._open = true;
|
this._open = true;
|
||||||
|
@ -1,11 +1,5 @@
|
|||||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
/* -*- 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 Clutter = imports.gi.Clutter;
|
||||||
const DBus = imports.dbus;
|
const DBus = imports.dbus;
|
||||||
const Gdk = imports.gi.Gdk;
|
const Gdk = imports.gi.Gdk;
|
||||||
@ -17,8 +11,6 @@ const Mainloop = imports.mainloop;
|
|||||||
const Meta = imports.gi.Meta;
|
const Meta = imports.gi.Meta;
|
||||||
const Shell = imports.gi.Shell;
|
const Shell = imports.gi.Shell;
|
||||||
const St = imports.gi.St;
|
const St = imports.gi.St;
|
||||||
const Gettext = imports.gettext.domain('gnome-shell');
|
|
||||||
const _ = Gettext.gettext;
|
|
||||||
|
|
||||||
const Chrome = imports.ui.chrome;
|
const Chrome = imports.ui.chrome;
|
||||||
const CtrlAltTab = imports.ui.ctrlAltTab;
|
const CtrlAltTab = imports.ui.ctrlAltTab;
|
||||||
@ -37,6 +29,7 @@ const WindowAttentionHandler = imports.ui.windowAttentionHandler;
|
|||||||
const Scripting = imports.ui.scripting;
|
const Scripting = imports.ui.scripting;
|
||||||
const ShellDBus = imports.ui.shellDBus;
|
const ShellDBus = imports.ui.shellDBus;
|
||||||
const TelepathyClient = imports.ui.telepathyClient;
|
const TelepathyClient = imports.ui.telepathyClient;
|
||||||
|
const GoaClient = imports.ui.goaClient;
|
||||||
const WindowManager = imports.ui.windowManager;
|
const WindowManager = imports.ui.windowManager;
|
||||||
const Magnifier = imports.ui.magnifier;
|
const Magnifier = imports.ui.magnifier;
|
||||||
const XdndHandler = imports.ui.xdndHandler;
|
const XdndHandler = imports.ui.xdndHandler;
|
||||||
@ -58,6 +51,7 @@ let messageTray = null;
|
|||||||
let notificationDaemon = null;
|
let notificationDaemon = null;
|
||||||
let windowAttentionHandler = null;
|
let windowAttentionHandler = null;
|
||||||
let telepathyClient = null;
|
let telepathyClient = null;
|
||||||
|
let goaClient = null;
|
||||||
let ctrlAltTabManager = null;
|
let ctrlAltTabManager = null;
|
||||||
let recorder = null;
|
let recorder = null;
|
||||||
let shellDBusService = null;
|
let shellDBusService = null;
|
||||||
@ -75,12 +69,7 @@ let _cssStylesheet = null;
|
|||||||
let background = null;
|
let background = null;
|
||||||
|
|
||||||
function start() {
|
function start() {
|
||||||
// Add a binding for 'global' in the global JS namespace; (gjs
|
// Monkey patch utility functions into the global proxy;
|
||||||
// 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
|
// This is easier and faster than indirecting down into global
|
||||||
// if we want to call back up into JS.
|
// if we want to call back up into JS.
|
||||||
global.logError = _logError;
|
global.logError = _logError;
|
||||||
@ -102,8 +91,6 @@ function start() {
|
|||||||
// not loading any events until the user presses the clock
|
// not loading any events until the user presses the clock
|
||||||
global.launch_calendar_server();
|
global.launch_calendar_server();
|
||||||
|
|
||||||
Environment.init();
|
|
||||||
|
|
||||||
// Ensure ShellWindowTracker and ShellAppUsage are initialized; this will
|
// Ensure ShellWindowTracker and ShellAppUsage are initialized; this will
|
||||||
// also initialize ShellAppSystem first. ShellAppSystem
|
// also initialize ShellAppSystem first. ShellAppSystem
|
||||||
// needs to load all the .desktop files, and ShellWindowTracker
|
// needs to load all the .desktop files, and ShellWindowTracker
|
||||||
@ -154,6 +141,7 @@ function start() {
|
|||||||
notificationDaemon = new NotificationDaemon.NotificationDaemon();
|
notificationDaemon = new NotificationDaemon.NotificationDaemon();
|
||||||
windowAttentionHandler = new WindowAttentionHandler.WindowAttentionHandler();
|
windowAttentionHandler = new WindowAttentionHandler.WindowAttentionHandler();
|
||||||
telepathyClient = new TelepathyClient.Client();
|
telepathyClient = new TelepathyClient.Client();
|
||||||
|
goaClient = new GoaClient.Client();
|
||||||
|
|
||||||
overview.init();
|
overview.init();
|
||||||
statusIconDispatcher.start(messageTray.actor);
|
statusIconDispatcher.start(messageTray.actor);
|
||||||
|
@ -20,9 +20,6 @@ const Params = imports.misc.params;
|
|||||||
const Tweener = imports.ui.tweener;
|
const Tweener = imports.ui.tweener;
|
||||||
const Util = imports.misc.util;
|
const Util = imports.misc.util;
|
||||||
|
|
||||||
const Gettext = imports.gettext.domain('gnome-shell');
|
|
||||||
const _ = Gettext.gettext;
|
|
||||||
|
|
||||||
const ANIMATION_TIME = 0.2;
|
const ANIMATION_TIME = 0.2;
|
||||||
const NOTIFICATION_TIMEOUT = 4;
|
const NOTIFICATION_TIMEOUT = 4;
|
||||||
const SUMMARY_TIMEOUT = 1;
|
const SUMMARY_TIMEOUT = 1;
|
||||||
@ -411,6 +408,7 @@ Notification.prototype = {
|
|||||||
this._bannerBodyText = null;
|
this._bannerBodyText = null;
|
||||||
this._bannerBodyMarkup = false;
|
this._bannerBodyMarkup = false;
|
||||||
this._titleFitsInBannerMode = true;
|
this._titleFitsInBannerMode = true;
|
||||||
|
this._titleDirection = St.TextDirection.NONE;
|
||||||
this._spacing = 0;
|
this._spacing = 0;
|
||||||
this._scrollPolicy = Gtk.PolicyType.AUTOMATIC;
|
this._scrollPolicy = Gtk.PolicyType.AUTOMATIC;
|
||||||
|
|
||||||
@ -510,6 +508,19 @@ Notification.prototype = {
|
|||||||
title = title ? _fixMarkup(title.replace(/\n/g, ' '), params.titleMarkup) : '';
|
title = title ? _fixMarkup(title.replace(/\n/g, ' '), params.titleMarkup) : '';
|
||||||
this._titleLabel.clutter_text.set_markup('<b>' + title + '</b>');
|
this._titleLabel.clutter_text.set_markup('<b>' + title + '</b>');
|
||||||
|
|
||||||
|
if (Pango.find_base_dir(title, -1) == Pango.Direction.RTL)
|
||||||
|
this._titleDirection = St.TextDirection.RTL;
|
||||||
|
else
|
||||||
|
this._titleDirection = St.TextDirection.LTR;
|
||||||
|
|
||||||
|
// Let the title's text direction control the overall direction
|
||||||
|
// of the notification - in case where different scripts are used
|
||||||
|
// in the notification, this is the right thing for the icon, and
|
||||||
|
// arguably for action buttons as well. Labels other than the title
|
||||||
|
// will be allocated at the available width, so that their alignment
|
||||||
|
// is done correctly automatically.
|
||||||
|
this._table.set_direction(this._titleDirection);
|
||||||
|
|
||||||
// Unless the notification has custom content, we save this._bannerBodyText
|
// Unless the notification has custom content, we save this._bannerBodyText
|
||||||
// to add it to the content of the notification if the notification is
|
// to add it to the content of the notification if the notification is
|
||||||
// expandable due to other elements in its content area or due to the banner
|
// expandable due to other elements in its content area or due to the banner
|
||||||
@ -711,23 +722,39 @@ Notification.prototype = {
|
|||||||
let availWidth = box.x2 - box.x1;
|
let availWidth = box.x2 - box.x1;
|
||||||
|
|
||||||
let titleBox = new Clutter.ActorBox();
|
let titleBox = new Clutter.ActorBox();
|
||||||
titleBox.x1 = titleBox.y1 = 0;
|
let titleBoxW = Math.min(titleNatW, availWidth);
|
||||||
titleBox.x2 = Math.min(titleNatW, availWidth);
|
if (this._titleDirection == St.TextDirection.RTL) {
|
||||||
|
titleBox.x1 = availWidth - titleBoxW;
|
||||||
|
titleBox.x2 = availWidth;
|
||||||
|
} else {
|
||||||
|
titleBox.x1 = 0;
|
||||||
|
titleBox.x2 = titleBoxW;
|
||||||
|
}
|
||||||
|
titleBox.y1 = 0;
|
||||||
titleBox.y2 = titleNatH;
|
titleBox.y2 = titleNatH;
|
||||||
this._titleLabel.allocate(titleBox, flags);
|
this._titleLabel.allocate(titleBox, flags);
|
||||||
this._titleFitsInBannerMode = (titleNatW <= availWidth);
|
this._titleFitsInBannerMode = (titleNatW <= availWidth);
|
||||||
|
|
||||||
let bannerFits = true;
|
let bannerFits = true;
|
||||||
if (titleBox.x2 + this._spacing > availWidth) {
|
if (titleBoxW + this._spacing > availWidth) {
|
||||||
this._bannerLabel.opacity = 0;
|
this._bannerLabel.opacity = 0;
|
||||||
bannerFits = false;
|
bannerFits = false;
|
||||||
} else {
|
} else {
|
||||||
let bannerBox = new Clutter.ActorBox();
|
let bannerBox = new Clutter.ActorBox();
|
||||||
bannerBox.x1 = titleBox.x2 + this._spacing;
|
|
||||||
|
if (this._titleDirection == St.TextDirection.RTL) {
|
||||||
|
bannerBox.x1 = 0;
|
||||||
|
bannerBox.x2 = titleBox.x1 - this._spacing;
|
||||||
|
|
||||||
|
bannerFits = (bannerBox.x2 - bannerNatW >= 0);
|
||||||
|
} else {
|
||||||
|
bannerBox.x1 = titleBox.x2 + this._spacing;
|
||||||
|
bannerBox.x2 = availWidth;
|
||||||
|
|
||||||
|
bannerFits = (bannerBox.x1 + bannerNatW <= availWidth);
|
||||||
|
}
|
||||||
bannerBox.y1 = 0;
|
bannerBox.y1 = 0;
|
||||||
bannerBox.x2 = Math.min(bannerBox.x1 + bannerNatW, availWidth);
|
|
||||||
bannerBox.y2 = titleNatH;
|
bannerBox.y2 = titleNatH;
|
||||||
bannerFits = (bannerBox.x1 + bannerNatW <= availWidth);
|
|
||||||
this._bannerLabel.allocate(bannerBox, flags);
|
this._bannerLabel.allocate(bannerBox, flags);
|
||||||
|
|
||||||
// Make _bannerLabel visible if the entire notification
|
// Make _bannerLabel visible if the entire notification
|
||||||
@ -1274,6 +1301,10 @@ MessageTray.prototype = {
|
|||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
getBusy: function(source) {
|
||||||
|
return this._busy;
|
||||||
|
},
|
||||||
|
|
||||||
contains: function(source) {
|
contains: function(source) {
|
||||||
return this._getIndexOfSummaryItemForSource(source) >= 0;
|
return this._getIndexOfSummaryItemForSource(source) >= 0;
|
||||||
},
|
},
|
||||||
|
@ -10,8 +10,6 @@ const Pango = imports.gi.Pango;
|
|||||||
const St = imports.gi.St;
|
const St = imports.gi.St;
|
||||||
const Shell = imports.gi.Shell;
|
const Shell = imports.gi.Shell;
|
||||||
const Signals = imports.signals;
|
const Signals = imports.signals;
|
||||||
const Gettext = imports.gettext.domain('gnome-shell');
|
|
||||||
const _ = Gettext.gettext;
|
|
||||||
|
|
||||||
const Params = imports.misc.params;
|
const Params = imports.misc.params;
|
||||||
|
|
||||||
@ -50,10 +48,6 @@ ModalDialog.prototype = {
|
|||||||
coordinate: Clutter.BindCoordinate.POSITION | Clutter.BindCoordinate.SIZE });
|
coordinate: Clutter.BindCoordinate.POSITION | Clutter.BindCoordinate.SIZE });
|
||||||
this._group.add_constraint(constraint);
|
this._group.add_constraint(constraint);
|
||||||
|
|
||||||
global.focus_manager.add_group(this._group);
|
|
||||||
this._initialKeyFocus = this._group;
|
|
||||||
this._savedKeyFocus = null;
|
|
||||||
|
|
||||||
this._group.connect('destroy', Lang.bind(this, this._onGroupDestroy));
|
this._group.connect('destroy', Lang.bind(this, this._onGroupDestroy));
|
||||||
|
|
||||||
this._actionKeys = {};
|
this._actionKeys = {};
|
||||||
@ -94,6 +88,10 @@ ModalDialog.prototype = {
|
|||||||
{ expand: true,
|
{ expand: true,
|
||||||
x_align: St.Align.MIDDLE,
|
x_align: St.Align.MIDDLE,
|
||||||
y_align: St.Align.END });
|
y_align: St.Align.END });
|
||||||
|
|
||||||
|
global.focus_manager.add_group(this._dialogLayout);
|
||||||
|
this._initialKeyFocus = this._dialogLayout;
|
||||||
|
this._savedKeyFocus = null;
|
||||||
},
|
},
|
||||||
|
|
||||||
setButtons: function(buttons) {
|
setButtons: function(buttons) {
|
||||||
@ -195,6 +193,7 @@ ModalDialog.prototype = {
|
|||||||
|
|
||||||
this.state = State.CLOSING;
|
this.state = State.CLOSING;
|
||||||
this.popModal(timestamp);
|
this.popModal(timestamp);
|
||||||
|
this._savedKeyFocus = null;
|
||||||
|
|
||||||
Tweener.addTween(this._group,
|
Tweener.addTween(this._group,
|
||||||
{ opacity: 0,
|
{ opacity: 0,
|
||||||
|
@ -7,8 +7,6 @@ const Lang = imports.lang;
|
|||||||
const Shell = imports.gi.Shell;
|
const Shell = imports.gi.Shell;
|
||||||
const Mainloop = imports.mainloop;
|
const Mainloop = imports.mainloop;
|
||||||
const St = imports.gi.St;
|
const St = imports.gi.St;
|
||||||
const Gettext = imports.gettext.domain('gnome-shell');
|
|
||||||
const _ = Gettext.gettext;
|
|
||||||
|
|
||||||
const Config = imports.misc.config;
|
const Config = imports.misc.config;
|
||||||
const Main = imports.ui.main;
|
const Main = imports.ui.main;
|
||||||
|
@ -8,8 +8,6 @@ const Signals = imports.signals;
|
|||||||
const Lang = imports.lang;
|
const Lang = imports.lang;
|
||||||
const St = imports.gi.St;
|
const St = imports.gi.St;
|
||||||
const Shell = imports.gi.Shell;
|
const Shell = imports.gi.Shell;
|
||||||
const Gettext = imports.gettext.domain('gnome-shell');
|
|
||||||
const _ = Gettext.gettext;
|
|
||||||
const Gdk = imports.gi.Gdk;
|
const Gdk = imports.gi.Gdk;
|
||||||
|
|
||||||
const AppDisplay = imports.ui.appDisplay;
|
const AppDisplay = imports.ui.appDisplay;
|
||||||
|
@ -9,8 +9,6 @@ const Pango = imports.gi.Pango;
|
|||||||
const Shell = imports.gi.Shell;
|
const Shell = imports.gi.Shell;
|
||||||
const St = imports.gi.St;
|
const St = imports.gi.St;
|
||||||
const Signals = imports.signals;
|
const Signals = imports.signals;
|
||||||
const Gettext = imports.gettext.domain('gnome-shell');
|
|
||||||
const _ = Gettext.gettext;
|
|
||||||
|
|
||||||
const Config = imports.misc.config;
|
const Config = imports.misc.config;
|
||||||
const CtrlAltTab = imports.ui.ctrlAltTab;
|
const CtrlAltTab = imports.ui.ctrlAltTab;
|
||||||
@ -260,10 +258,14 @@ AppMenuButton.prototype = {
|
|||||||
this._iconBox = new Shell.Slicer({ name: 'appMenuIcon' });
|
this._iconBox = new Shell.Slicer({ name: 'appMenuIcon' });
|
||||||
this._iconBox.connect('style-changed',
|
this._iconBox.connect('style-changed',
|
||||||
Lang.bind(this, this._onIconBoxStyleChanged));
|
Lang.bind(this, this._onIconBoxStyleChanged));
|
||||||
|
this._iconBox.connect('notify::allocation',
|
||||||
|
Lang.bind(this, this._updateIconBoxClip));
|
||||||
this._container.add_actor(this._iconBox);
|
this._container.add_actor(this._iconBox);
|
||||||
this._label = new TextShadower();
|
this._label = new TextShadower();
|
||||||
this._container.add_actor(this._label.actor);
|
this._container.add_actor(this._label.actor);
|
||||||
|
|
||||||
|
this._iconBottomClip = 0;
|
||||||
|
|
||||||
this._quitMenu = new PopupMenu.PopupMenuItem('');
|
this._quitMenu = new PopupMenu.PopupMenuItem('');
|
||||||
this.menu.addMenuItem(this._quitMenu);
|
this.menu.addMenuItem(this._quitMenu);
|
||||||
this._quitMenu.connect('activate', Lang.bind(this, this._onQuit));
|
this._quitMenu.connect('activate', Lang.bind(this, this._onQuit));
|
||||||
@ -334,11 +336,16 @@ AppMenuButton.prototype = {
|
|||||||
|
|
||||||
_onIconBoxStyleChanged: function() {
|
_onIconBoxStyleChanged: function() {
|
||||||
let node = this._iconBox.get_theme_node();
|
let node = this._iconBox.get_theme_node();
|
||||||
let bottomClip = node.get_length('app-icon-bottom-clip');
|
this._iconBottomClip = node.get_length('app-icon-bottom-clip');
|
||||||
if (bottomClip > 0)
|
this._updateIconBoxClip();
|
||||||
|
},
|
||||||
|
|
||||||
|
_updateIconBoxClip: function() {
|
||||||
|
let allocation = this._iconBox.allocation;
|
||||||
|
if (this._iconBottomClip > 0)
|
||||||
this._iconBox.set_clip(0, 0,
|
this._iconBox.set_clip(0, 0,
|
||||||
this._iconBox.width,
|
allocation.x2 - allocation.x1,
|
||||||
this._iconBox.height - bottomClip);
|
allocation.y2 - allocation.y1 - this._iconBottomClip);
|
||||||
else
|
else
|
||||||
this._iconBox.remove_clip();
|
this._iconBox.remove_clip();
|
||||||
},
|
},
|
||||||
@ -808,6 +815,8 @@ Panel.prototype = {
|
|||||||
reactive: true });
|
reactive: true });
|
||||||
this.actor._delegate = this;
|
this.actor._delegate = this;
|
||||||
|
|
||||||
|
this._statusArea = {};
|
||||||
|
|
||||||
Main.overview.connect('shown', Lang.bind(this, function () {
|
Main.overview.connect('shown', Lang.bind(this, function () {
|
||||||
this.actor.add_style_class_name('in-overview');
|
this.actor.add_style_class_name('in-overview');
|
||||||
}));
|
}));
|
||||||
@ -904,6 +913,7 @@ Panel.prototype = {
|
|||||||
style_class: 'panel-button',
|
style_class: 'panel-button',
|
||||||
reactive: true,
|
reactive: true,
|
||||||
can_focus: true });
|
can_focus: true });
|
||||||
|
this._activities = this.button;
|
||||||
this.button.set_child(label);
|
this.button.set_child(label);
|
||||||
this.button._delegate = this.button;
|
this.button._delegate = this.button;
|
||||||
this.button._xdndTimeOut = 0;
|
this.button._xdndTimeOut = 0;
|
||||||
@ -932,10 +942,10 @@ Panel.prototype = {
|
|||||||
|
|
||||||
this._hotCorner = null;
|
this._hotCorner = null;
|
||||||
|
|
||||||
let appMenuButton = new AppMenuButton();
|
this._appMenu = new AppMenuButton();
|
||||||
this._leftBox.add(appMenuButton.actor);
|
this._leftBox.add(this._appMenu.actor);
|
||||||
|
|
||||||
this._menus.addMenu(appMenuButton.menu);
|
this._menus.addMenu(this._appMenu.menu);
|
||||||
|
|
||||||
/* center */
|
/* center */
|
||||||
this._dateMenu = new DateMenu.DateMenuButton();
|
this._dateMenu = new DateMenu.DateMenuButton();
|
||||||
@ -954,12 +964,12 @@ Panel.prototype = {
|
|||||||
this._rightBox.add(this._trayBox);
|
this._rightBox.add(this._trayBox);
|
||||||
this._rightBox.add(this._statusBox);
|
this._rightBox.add(this._statusBox);
|
||||||
|
|
||||||
this._statusmenu = new StatusMenu.StatusMenuButton();
|
this._userMenu = new StatusMenu.StatusMenuButton();
|
||||||
this._statusmenu.actor.name = 'panelStatus';
|
this._userMenu.actor.name = 'panelStatus';
|
||||||
this._rightBox.add(this._statusmenu.actor);
|
this._rightBox.add(this._userMenu.actor);
|
||||||
|
|
||||||
// Synchronize the buttons pseudo classes with its corner
|
// Synchronize the buttons pseudo classes with its corner
|
||||||
this._statusmenu.actor.connect('style-changed', Lang.bind(this,
|
this._userMenu.actor.connect('style-changed', Lang.bind(this,
|
||||||
function(actor) {
|
function(actor) {
|
||||||
let rtl = actor.get_direction() == St.TextDirection.RTL;
|
let rtl = actor.get_direction() == St.TextDirection.RTL;
|
||||||
let corner = rtl ? this._leftCorner : this._rightCorner;
|
let corner = rtl ? this._leftCorner : this._rightCorner;
|
||||||
@ -1042,11 +1052,13 @@ Panel.prototype = {
|
|||||||
let indicator = new constructor();
|
let indicator = new constructor();
|
||||||
this._statusBox.add(indicator.actor);
|
this._statusBox.add(indicator.actor);
|
||||||
this._menus.addMenu(indicator.menu);
|
this._menus.addMenu(indicator.menu);
|
||||||
|
|
||||||
|
this._statusArea[role] = indicator;
|
||||||
}
|
}
|
||||||
|
|
||||||
// PopupMenuManager depends on menus being added in order for
|
// PopupMenuManager depends on menus being added in order for
|
||||||
// keyboard navigation
|
// keyboard navigation
|
||||||
this._menus.addMenu(this._statusmenu.menu);
|
this._menus.addMenu(this._userMenu.menu);
|
||||||
},
|
},
|
||||||
|
|
||||||
startupAnimation: function() {
|
startupAnimation: function() {
|
||||||
|
@ -7,8 +7,6 @@ const Lang = imports.lang;
|
|||||||
const Mainloop = imports.mainloop;
|
const Mainloop = imports.mainloop;
|
||||||
const Signals = imports.signals;
|
const Signals = imports.signals;
|
||||||
const St = imports.gi.St;
|
const St = imports.gi.St;
|
||||||
const Gettext = imports.gettext.domain('gnome-shell');
|
|
||||||
const _ = Gettext.gettext;
|
|
||||||
|
|
||||||
const DND = imports.ui.dnd;
|
const DND = imports.ui.dnd;
|
||||||
const Main = imports.ui.main;
|
const Main = imports.ui.main;
|
||||||
|
@ -22,8 +22,6 @@
|
|||||||
|
|
||||||
const Lang = imports.lang;
|
const Lang = imports.lang;
|
||||||
const Signals = imports.signals;
|
const Signals = imports.signals;
|
||||||
const Gettext = imports.gettext.domain('gnome-shell');
|
|
||||||
const _ = Gettext.gettext;
|
|
||||||
const Shell = imports.gi.Shell;
|
const Shell = imports.gi.Shell;
|
||||||
const Clutter = imports.gi.Clutter;
|
const Clutter = imports.gi.Clutter;
|
||||||
const St = imports.gi.St;
|
const St = imports.gi.St;
|
||||||
|
@ -13,9 +13,6 @@ const Main = imports.ui.main;
|
|||||||
const Params = imports.misc.params;
|
const Params = imports.misc.params;
|
||||||
const Tweener = imports.ui.tweener;
|
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 % */
|
const SLIDER_SCROLL_STEP = 0.05; /* Slider scrolling step in % */
|
||||||
|
|
||||||
function PopupBaseMenuItem(params) {
|
function PopupBaseMenuItem(params) {
|
||||||
@ -498,7 +495,7 @@ PopupSliderMenuItem.prototype = {
|
|||||||
this._slider = new St.DrawingArea({ style_class: 'popup-slider-menu-item', reactive: true });
|
this._slider = new St.DrawingArea({ style_class: 'popup-slider-menu-item', reactive: true });
|
||||||
this.addActor(this._slider, { span: -1, expand: true });
|
this.addActor(this._slider, { span: -1, expand: true });
|
||||||
this._slider.connect('repaint', Lang.bind(this, this._sliderRepaint));
|
this._slider.connect('repaint', Lang.bind(this, this._sliderRepaint));
|
||||||
this._slider.connect('button-press-event', Lang.bind(this, this._startDragging));
|
this.actor.connect('button-press-event', Lang.bind(this, this._startDragging));
|
||||||
this.actor.connect('scroll-event', Lang.bind(this, this._onScrollEvent));
|
this.actor.connect('scroll-event', Lang.bind(this, this._onScrollEvent));
|
||||||
|
|
||||||
this._releaseId = this._motionId = 0;
|
this._releaseId = this._motionId = 0;
|
||||||
@ -766,6 +763,7 @@ PopupMenuBase.prototype = {
|
|||||||
this.box = new St.BoxLayout({ vertical: true });
|
this.box = new St.BoxLayout({ vertical: true });
|
||||||
}
|
}
|
||||||
this.box.connect_after('queue-relayout', Lang.bind(this, this._menuQueueRelayout));
|
this.box.connect_after('queue-relayout', Lang.bind(this, this._menuQueueRelayout));
|
||||||
|
this.length = 0;
|
||||||
|
|
||||||
this.isOpen = false;
|
this.isOpen = false;
|
||||||
|
|
||||||
@ -855,6 +853,8 @@ PopupMenuBase.prototype = {
|
|||||||
menuItem.connect('destroy', Lang.bind(this, function() {
|
menuItem.connect('destroy', Lang.bind(this, function() {
|
||||||
menuItem.disconnect(menuItem._subMenuActivateId);
|
menuItem.disconnect(menuItem._subMenuActivateId);
|
||||||
menuItem.disconnect(menuItem._subMenuActiveChangeId);
|
menuItem.disconnect(menuItem._subMenuActiveChangeId);
|
||||||
|
|
||||||
|
this.length--;
|
||||||
}));
|
}));
|
||||||
} else if (menuItem instanceof PopupSubMenuMenuItem) {
|
} else if (menuItem instanceof PopupSubMenuMenuItem) {
|
||||||
if (before_item == null)
|
if (before_item == null)
|
||||||
@ -871,6 +871,8 @@ PopupMenuBase.prototype = {
|
|||||||
this._connectItemSignals(menuItem);
|
this._connectItemSignals(menuItem);
|
||||||
else
|
else
|
||||||
throw TypeError("Invalid argument to PopupMenuBase.addMenuItem()");
|
throw TypeError("Invalid argument to PopupMenuBase.addMenuItem()");
|
||||||
|
|
||||||
|
this.length++;
|
||||||
},
|
},
|
||||||
|
|
||||||
getColumnWidths: function() {
|
getColumnWidths: function() {
|
||||||
|
@ -8,8 +8,6 @@ const Meta = imports.gi.Meta;
|
|||||||
const St = imports.gi.St;
|
const St = imports.gi.St;
|
||||||
const Shell = imports.gi.Shell;
|
const Shell = imports.gi.Shell;
|
||||||
const Signals = imports.signals;
|
const Signals = imports.signals;
|
||||||
const Gettext = imports.gettext.domain('gnome-shell');
|
|
||||||
const _ = Gettext.gettext;
|
|
||||||
|
|
||||||
const FileUtils = imports.misc.fileUtils;
|
const FileUtils = imports.misc.fileUtils;
|
||||||
const Main = imports.ui.main;
|
const Main = imports.ui.main;
|
||||||
|
@ -7,9 +7,6 @@ const Signals = imports.signals;
|
|||||||
const Shell = imports.gi.Shell;
|
const Shell = imports.gi.Shell;
|
||||||
const Util = imports.misc.util;
|
const Util = imports.misc.util;
|
||||||
|
|
||||||
const Gettext = imports.gettext.domain('gnome-shell');
|
|
||||||
const _ = Gettext.gettext;
|
|
||||||
|
|
||||||
const FileUtils = imports.misc.fileUtils;
|
const FileUtils = imports.misc.fileUtils;
|
||||||
const Main = imports.ui.main;
|
const Main = imports.ui.main;
|
||||||
|
|
||||||
@ -276,7 +273,7 @@ OpenSearchSystem.prototype = {
|
|||||||
_addProvider: function(fileName) {
|
_addProvider: function(fileName) {
|
||||||
let path = global.datadir + '/search_providers/' + fileName;
|
let path = global.datadir + '/search_providers/' + fileName;
|
||||||
let source = Shell.get_file_contents_utf8_sync(path);
|
let source = Shell.get_file_contents_utf8_sync(path);
|
||||||
let [success, name, url, langs, icon_uri] = global.parse_search_provider(source);
|
let [success, name, url, langs, icon_uri] = Shell.parse_search_provider(source);
|
||||||
let provider ={ name: name,
|
let provider ={ name: name,
|
||||||
url: url,
|
url: url,
|
||||||
id: this._providers.length,
|
id: this._providers.length,
|
||||||
|
@ -2,8 +2,6 @@
|
|||||||
|
|
||||||
const Clutter = imports.gi.Clutter;
|
const Clutter = imports.gi.Clutter;
|
||||||
const Lang = imports.lang;
|
const Lang = imports.lang;
|
||||||
const Gettext = imports.gettext.domain('gnome-shell');
|
|
||||||
const _ = Gettext.gettext;
|
|
||||||
const Gtk = imports.gi.Gtk;
|
const Gtk = imports.gi.Gtk;
|
||||||
const Meta = imports.gi.Meta;
|
const Meta = imports.gi.Meta;
|
||||||
const St = imports.gi.St;
|
const St = imports.gi.St;
|
||||||
@ -39,6 +37,7 @@ SearchResult.prototype = {
|
|||||||
let icon = new IconGrid.BaseIcon(this.metaInfo['name'],
|
let icon = new IconGrid.BaseIcon(this.metaInfo['name'],
|
||||||
{ createIcon: this.metaInfo['createIcon'] });
|
{ createIcon: this.metaInfo['createIcon'] });
|
||||||
content.set_child(icon.actor);
|
content.set_child(icon.actor);
|
||||||
|
this.actor.label_actor = icon.label;
|
||||||
}
|
}
|
||||||
this._content = content;
|
this._content = content;
|
||||||
this.actor.set_child(content);
|
this.actor.set_child(content);
|
||||||
@ -259,6 +258,7 @@ SearchResults.prototype = {
|
|||||||
let title = new St.Label({ text: provider.name,
|
let title = new St.Label({ text: provider.name,
|
||||||
style_class: 'dash-search-button-label' });
|
style_class: 'dash-search-button-label' });
|
||||||
|
|
||||||
|
button.label_actor = title;
|
||||||
bin.set_child(title);
|
bin.set_child(title);
|
||||||
button.set_child(bin);
|
button.set_child(bin);
|
||||||
provider.actor = button;
|
provider.actor = button;
|
||||||
@ -333,6 +333,13 @@ SearchResults.prototype = {
|
|||||||
let terms = this._searchSystem.getTerms();
|
let terms = this._searchSystem.getTerms();
|
||||||
this._openSearchSystem.setSearchTerms(terms);
|
this._openSearchSystem.setSearchTerms(terms);
|
||||||
|
|
||||||
|
// To avoid CSS transitions causing flickering
|
||||||
|
// of the selection when the first search result
|
||||||
|
// stays the same, we hide the content while
|
||||||
|
// filling in the results and setting the initial
|
||||||
|
// selection.
|
||||||
|
this._content.hide();
|
||||||
|
|
||||||
for (let i = 0; i < results.length; i++) {
|
for (let i = 0; i < results.length; i++) {
|
||||||
let [provider, providerResults] = results[i];
|
let [provider, providerResults] = results[i];
|
||||||
let meta = this._metaForProvider(provider);
|
let meta = this._metaForProvider(provider);
|
||||||
@ -343,6 +350,8 @@ SearchResults.prototype = {
|
|||||||
if (this._selectedOpenSearchButton == -1)
|
if (this._selectedOpenSearchButton == -1)
|
||||||
this.selectDown(false);
|
this.selectDown(false);
|
||||||
|
|
||||||
|
this._content.show();
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -14,9 +14,6 @@ const PanelMenu = imports.ui.panelMenu;
|
|||||||
const PopupMenu = imports.ui.popupMenu;
|
const PopupMenu = imports.ui.popupMenu;
|
||||||
const Util = imports.misc.util;
|
const Util = imports.misc.util;
|
||||||
|
|
||||||
const Gettext = imports.gettext.domain('gnome-shell');
|
|
||||||
const _ = Gettext.gettext;
|
|
||||||
|
|
||||||
const A11Y_SCHEMA = 'org.gnome.desktop.a11y.keyboard';
|
const A11Y_SCHEMA = 'org.gnome.desktop.a11y.keyboard';
|
||||||
const KEY_STICKY_KEYS_ENABLED = 'stickykeys-enable';
|
const KEY_STICKY_KEYS_ENABLED = 'stickykeys-enable';
|
||||||
const KEY_BOUNCE_KEYS_ENABLED = 'bouncekeys-enable';
|
const KEY_BOUNCE_KEYS_ENABLED = 'bouncekeys-enable';
|
||||||
|
@ -16,9 +16,6 @@ const MessageTray = imports.ui.messageTray;
|
|||||||
const PanelMenu = imports.ui.panelMenu;
|
const PanelMenu = imports.ui.panelMenu;
|
||||||
const PopupMenu = imports.ui.popupMenu;
|
const PopupMenu = imports.ui.popupMenu;
|
||||||
|
|
||||||
const Gettext = imports.gettext.domain('gnome-shell');
|
|
||||||
const _ = Gettext.gettext;
|
|
||||||
|
|
||||||
const ConnectionState = {
|
const ConnectionState = {
|
||||||
DISCONNECTED: 0,
|
DISCONNECTED: 0,
|
||||||
CONNECTED: 1,
|
CONNECTED: 1,
|
||||||
@ -67,7 +64,7 @@ Indicator.prototype = {
|
|||||||
|
|
||||||
this._fullMenuItems = [new PopupMenu.PopupSeparatorMenuItem(),
|
this._fullMenuItems = [new PopupMenu.PopupSeparatorMenuItem(),
|
||||||
new PopupMenu.PopupMenuItem(_("Send Files to Device...")),
|
new PopupMenu.PopupMenuItem(_("Send Files to Device...")),
|
||||||
new PopupMenu.PopupMenuItem(_("Setup a New Device...")),
|
new PopupMenu.PopupMenuItem(_("Set up a New Device...")),
|
||||||
new PopupMenu.PopupSeparatorMenuItem()];
|
new PopupMenu.PopupSeparatorMenuItem()];
|
||||||
this._hasDevices = false;
|
this._hasDevices = false;
|
||||||
this._deviceSep = this._fullMenuItems[0]; // hidden if no device exists
|
this._deviceSep = this._fullMenuItems[0]; // hidden if no device exists
|
||||||
@ -127,13 +124,6 @@ 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() {
|
_updateDevices: function() {
|
||||||
let devices = this._applet.get_devices();
|
let devices = this._applet.get_devices();
|
||||||
|
|
||||||
@ -142,12 +132,8 @@ Indicator.prototype = {
|
|||||||
let item = this._deviceItems[i];
|
let item = this._deviceItems[i];
|
||||||
let destroy = true;
|
let destroy = true;
|
||||||
for (let j = 0; j < devices.length; j++) {
|
for (let j = 0; j < devices.length; j++) {
|
||||||
// we need to deep compare because BluetoothSimpleDevice is a boxed type
|
if (item._device.device_path == devices[j].device_path) {
|
||||||
// (but we take advantage of that, because _skip will disappear the next
|
this._updateDeviceItem(item, devices[j]);
|
||||||
// time get_devices() is called)
|
|
||||||
if (this._deviceCompare(item._device, devices[j])) {
|
|
||||||
item.label.text = devices[j].alias;
|
|
||||||
devices[j]._skip = true;
|
|
||||||
destroy = false;
|
destroy = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -162,7 +148,7 @@ Indicator.prototype = {
|
|||||||
this._hasDevices = newlist.length > 0;
|
this._hasDevices = newlist.length > 0;
|
||||||
for (let i = 0; i < devices.length; i++) {
|
for (let i = 0; i < devices.length; i++) {
|
||||||
let d = devices[i];
|
let d = devices[i];
|
||||||
if (d._skip)
|
if (d._item)
|
||||||
continue;
|
continue;
|
||||||
let item = this._createDeviceItem(d);
|
let item = this._createDeviceItem(d);
|
||||||
if (item) {
|
if (item) {
|
||||||
@ -177,17 +163,55 @@ Indicator.prototype = {
|
|||||||
this._deviceSep.actor.hide();
|
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) {
|
_createDeviceItem: function(device) {
|
||||||
if (!device.can_connect && device.capabilities == GnomeBluetoothApplet.Capabilities.NONE)
|
if (!device.can_connect && device.capabilities == GnomeBluetoothApplet.Capabilities.NONE)
|
||||||
return null;
|
return null;
|
||||||
let item = new PopupMenu.PopupSubMenuMenuItem(device.alias);
|
let item = new PopupMenu.PopupSubMenuMenuItem(device.alias);
|
||||||
item._device = device;
|
|
||||||
|
|
||||||
|
// 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) {
|
if (device.can_connect) {
|
||||||
item._connected = device.connected;
|
item._connected = device.connected;
|
||||||
let menuitem = new PopupMenu.PopupSwitchMenuItem(_("Connection"), device.connected);
|
item._connectedMenuitem = new PopupMenu.PopupSwitchMenuItem(_("Connection"), device.connected);
|
||||||
|
|
||||||
menuitem.connect('toggled', Lang.bind(this, function() {
|
item._connectedMenuitem.connect('toggled', Lang.bind(this, function() {
|
||||||
if (item._connected > ConnectionState.CONNECTED) {
|
if (item._connected > ConnectionState.CONNECTED) {
|
||||||
// operation already in progress, revert
|
// operation already in progress, revert
|
||||||
menuitem.setToggleState(menuitem.state);
|
menuitem.setToggleState(menuitem.state);
|
||||||
@ -217,7 +241,7 @@ Indicator.prototype = {
|
|||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
|
|
||||||
item.menu.addMenuItem(menuitem);
|
item.menu.addMenuItem(item._connectedMenuitem);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (device.capabilities & GnomeBluetoothApplet.Capabilities.OBEX_PUSH) {
|
if (device.capabilities & GnomeBluetoothApplet.Capabilities.OBEX_PUSH) {
|
||||||
@ -263,8 +287,6 @@ Indicator.prototype = {
|
|||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return item;
|
|
||||||
},
|
},
|
||||||
|
|
||||||
_updateFullMenu: function() {
|
_updateFullMenu: function() {
|
||||||
|
@ -13,9 +13,6 @@ const PopupMenu = imports.ui.popupMenu;
|
|||||||
const PanelMenu = imports.ui.panelMenu;
|
const PanelMenu = imports.ui.panelMenu;
|
||||||
const Util = imports.misc.util;
|
const Util = imports.misc.util;
|
||||||
|
|
||||||
const Gettext = imports.gettext.domain('gnome-shell');
|
|
||||||
const _ = Gettext.gettext;
|
|
||||||
|
|
||||||
function LayoutMenuItem() {
|
function LayoutMenuItem() {
|
||||||
this._init.apply(this, arguments);
|
this._init.apply(this, arguments);
|
||||||
}
|
}
|
||||||
|
@ -18,9 +18,6 @@ const MessageTray = imports.ui.messageTray;
|
|||||||
const ModemManager = imports.misc.modemManager;
|
const ModemManager = imports.misc.modemManager;
|
||||||
const Util = imports.misc.util;
|
const Util = imports.misc.util;
|
||||||
|
|
||||||
const Gettext = imports.gettext.domain('gnome-shell');
|
|
||||||
const _ = Gettext.gettext;
|
|
||||||
|
|
||||||
const NMConnectionCategory = {
|
const NMConnectionCategory = {
|
||||||
INVALID: 'invalid',
|
INVALID: 'invalid',
|
||||||
WIRED: 'wired',
|
WIRED: 'wired',
|
||||||
@ -33,8 +30,10 @@ const NMAccessPointSecurity = {
|
|||||||
UNKNOWN: 0,
|
UNKNOWN: 0,
|
||||||
NONE: 1,
|
NONE: 1,
|
||||||
WEP: 2,
|
WEP: 2,
|
||||||
WPA: 3,
|
WPA_PSK: 3,
|
||||||
WPA2: 4
|
WPA2_PSK: 4,
|
||||||
|
WPA_ENT: 5,
|
||||||
|
WPA2_ENT: 6
|
||||||
};
|
};
|
||||||
|
|
||||||
// small optimization, to avoid using [] all the time
|
// small optimization, to avoid using [] all the time
|
||||||
@ -42,6 +41,21 @@ const NM80211Mode = NetworkManager['80211Mode'];
|
|||||||
const NM80211ApFlags = NetworkManager['80211ApFlags'];
|
const NM80211ApFlags = NetworkManager['80211ApFlags'];
|
||||||
const NM80211ApSecurityFlags = NetworkManager['80211ApSecurityFlags'];
|
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: [
|
||||||
|
{ name: 'ConnectToHiddenNetwork', inSignature: '', outSignature: '' },
|
||||||
|
{ name: 'CreateWifiNetwork', inSignature: '', outSignature: '' },
|
||||||
|
{ name: 'ConnectTo8021xNetwork', inSignature: 'oo', outSignature: '' },
|
||||||
|
{ name: 'ConnectTo3gNetwork', inSignature: 'o', outSignature: '' }
|
||||||
|
],
|
||||||
|
};
|
||||||
|
const NMAppletProxy = DBus.makeProxyClass(NMAppletHelperInterface);
|
||||||
|
|
||||||
function macToArray(string) {
|
function macToArray(string) {
|
||||||
return string.split(':').map(function(el) {
|
return string.split(':').map(function(el) {
|
||||||
return parseInt(el, 16);
|
return parseInt(el, 16);
|
||||||
@ -101,8 +115,13 @@ NMNetworkMenuItem.prototype = {
|
|||||||
accessPoints = sortAccessPoints(accessPoints);
|
accessPoints = sortAccessPoints(accessPoints);
|
||||||
this.bestAP = accessPoints[0];
|
this.bestAP = accessPoints[0];
|
||||||
|
|
||||||
let ssid = this.bestAP.get_ssid();
|
if (!title) {
|
||||||
title = title || NetworkManager.utils_ssid_to_utf8(ssid) || _("<unknown>");
|
let ssid = this.bestAP.get_ssid();
|
||||||
|
if (ssid)
|
||||||
|
title = NetworkManager.utils_ssid_to_utf8(ssid);
|
||||||
|
if (!title)
|
||||||
|
title = _("<unknown>");
|
||||||
|
}
|
||||||
|
|
||||||
this._label = new St.Label({ text: title });
|
this._label = new St.Label({ text: title });
|
||||||
this.addActor(this._label);
|
this.addActor(this._label);
|
||||||
@ -132,15 +151,18 @@ NMNetworkMenuItem.prototype = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
_updated: function(ap, strength) {
|
_updated: function(ap) {
|
||||||
if (strength > this.bestAP.strength)
|
if (ap.strength > this.bestAP.strength)
|
||||||
this.bestAP = ap;
|
this.bestAP = ap;
|
||||||
|
|
||||||
this._signalIcon.icon_name = this._getIcon();
|
this._signalIcon.icon_name = this._getIcon();
|
||||||
},
|
},
|
||||||
|
|
||||||
_getIcon: function() {
|
_getIcon: function() {
|
||||||
return 'network-wireless-signal-' + signalToIcon(this.bestAP.strength);
|
if (this.bestAP.mode == NM80211Mode.ADHOC)
|
||||||
|
return 'network-workgroup';
|
||||||
|
else
|
||||||
|
return 'network-wireless-signal-' + signalToIcon(this.bestAP.strength);
|
||||||
},
|
},
|
||||||
|
|
||||||
updateAccessPoints: function(accessPoints) {
|
updateAccessPoints: function(accessPoints) {
|
||||||
@ -200,7 +222,7 @@ NMDeviceTitleMenuItem.prototype = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
setStatus: function(text) {
|
setStatus: function(text) {
|
||||||
if (text) {
|
if (text != null) {
|
||||||
this._statusLabel.text = text;
|
this._statusLabel.text = text;
|
||||||
this._statusBin.child = this._statusLabel;
|
this._statusBin.child = this._statusLabel;
|
||||||
this.actor.reactive = false;
|
this.actor.reactive = false;
|
||||||
@ -367,6 +389,8 @@ NMDevice.prototype = {
|
|||||||
this.deactivate();
|
this.deactivate();
|
||||||
this.emit('enabled-changed');
|
this.emit('enabled-changed');
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
this._updateStatusItem();
|
||||||
}
|
}
|
||||||
this.section = new PopupMenu.PopupMenuSection();
|
this.section = new PopupMenu.PopupMenuSection();
|
||||||
|
|
||||||
@ -383,10 +407,19 @@ NMDevice.prototype = {
|
|||||||
GObject.Object.prototype.disconnect.call(this.device, this._stateChangedId);
|
GObject.Object.prototype.disconnect.call(this.device, this._stateChangedId);
|
||||||
this._stateChangedId = 0;
|
this._stateChangedId = 0;
|
||||||
}
|
}
|
||||||
|
if (this._carrierChangedId) {
|
||||||
|
// see above for why this is needed
|
||||||
|
GObject.Object.prototype.disconnect.call(this.device, this._carrierChangedId);
|
||||||
|
this._carrierChangedId = 0;
|
||||||
|
}
|
||||||
|
if (this._firmwareChangedId) {
|
||||||
|
GObject.Object.prototype.disconnect.call(this.device, this._firmwareChangedId);
|
||||||
|
this._firmwareChangedId = 0;
|
||||||
|
}
|
||||||
|
|
||||||
this._clearSection();
|
this._clearSection();
|
||||||
if (this.titleItem)
|
if (this.statusItem)
|
||||||
this.titleItem.destroy();
|
this.statusItem.destroy();
|
||||||
this.section.destroy();
|
this.section.destroy();
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -405,7 +438,8 @@ NMDevice.prototype = {
|
|||||||
this._client.activate_connection(this._connections[0].connection, this.device, null, null);
|
this._client.activate_connection(this._connections[0].connection, this.device, null, null);
|
||||||
} else if (this._autoConnectionName) {
|
} else if (this._autoConnectionName) {
|
||||||
let connection = this._createAutomaticConnection();
|
let connection = this._createAutomaticConnection();
|
||||||
this._client.add_and_activate_connection(connection, this.device, null, null);
|
if (connection)
|
||||||
|
this._client.add_and_activate_connection(connection, this.device, null, null);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -482,7 +516,7 @@ NMDevice.prototype = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
connectionValid: function(connection) {
|
connectionValid: function(connection) {
|
||||||
throw new TypeError('Invoking pure virtual function NMDevice.connectionValid');
|
return this.device.connection_valid(connection);
|
||||||
},
|
},
|
||||||
|
|
||||||
setEnabled: function(enabled) {
|
setEnabled: function(enabled) {
|
||||||
@ -492,12 +526,16 @@ NMDevice.prototype = {
|
|||||||
|
|
||||||
getStatusLabel: function() {
|
getStatusLabel: function() {
|
||||||
switch(this.device.state) {
|
switch(this.device.state) {
|
||||||
|
case NetworkManager.DeviceState.UNMANAGED:
|
||||||
case NetworkManager.DeviceState.DISCONNECTED:
|
case NetworkManager.DeviceState.DISCONNECTED:
|
||||||
|
case NetworkManager.DeviceState.DEACTIVATING:
|
||||||
case NetworkManager.DeviceState.ACTIVATED:
|
case NetworkManager.DeviceState.ACTIVATED:
|
||||||
return null;
|
return null;
|
||||||
case NetworkManager.DeviceState.PREPARE:
|
case NetworkManager.DeviceState.PREPARE:
|
||||||
case NetworkManager.DeviceState.CONFIG:
|
case NetworkManager.DeviceState.CONFIG:
|
||||||
case NetworkManager.DeviceState.IP_CONFIG:
|
case NetworkManager.DeviceState.IP_CONFIG:
|
||||||
|
case NetworkManager.DeviceState.IP_CHECK:
|
||||||
|
case NetworkManager.DeviceState.SECONDARIES:
|
||||||
return _("connecting...");
|
return _("connecting...");
|
||||||
case NetworkManager.DeviceState.NEED_AUTH:
|
case NetworkManager.DeviceState.NEED_AUTH:
|
||||||
/* Translators: this is for network connections that require some kind of key or password */
|
/* Translators: this is for network connections that require some kind of key or password */
|
||||||
@ -581,7 +619,8 @@ NMDevice.prototype = {
|
|||||||
this._autoConnectionItem = new PopupMenu.PopupMenuItem(this._autoConnectionName);
|
this._autoConnectionItem = new PopupMenu.PopupMenuItem(this._autoConnectionName);
|
||||||
this._autoConnectionItem.connect('activate', Lang.bind(this, function() {
|
this._autoConnectionItem.connect('activate', Lang.bind(this, function() {
|
||||||
let connection = this._createAutomaticConnection();
|
let connection = this._createAutomaticConnection();
|
||||||
this._client.add_and_activate_connection(connection, this.device, null, null);
|
if (connection)
|
||||||
|
this._client.add_and_activate_connection(connection, this.device, null, null);
|
||||||
}));
|
}));
|
||||||
this.section.addMenuItem(this._autoConnectionItem);
|
this.section.addMenuItem(this._autoConnectionItem);
|
||||||
}
|
}
|
||||||
@ -632,6 +671,14 @@ NMDevice.prototype = {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this._updateStatusItem();
|
||||||
|
|
||||||
|
this._clearSection();
|
||||||
|
this._createSection();
|
||||||
|
this.emit('state-changed');
|
||||||
|
},
|
||||||
|
|
||||||
|
_updateStatusItem: function() {
|
||||||
if (this._carrierChangedId) {
|
if (this._carrierChangedId) {
|
||||||
// see above for why this is needed
|
// see above for why this is needed
|
||||||
GObject.Object.prototype.disconnect.call(this.device, this._carrierChangedId);
|
GObject.Object.prototype.disconnect.call(this.device, this._carrierChangedId);
|
||||||
@ -644,10 +691,6 @@ NMDevice.prototype = {
|
|||||||
|
|
||||||
this.statusItem.setStatus(this.getStatusLabel());
|
this.statusItem.setStatus(this.getStatusLabel());
|
||||||
this.statusItem.setToggleState(this.connected);
|
this.statusItem.setToggleState(this.connected);
|
||||||
|
|
||||||
this._clearSection();
|
|
||||||
this._createSection();
|
|
||||||
this.emit('state-changed');
|
|
||||||
},
|
},
|
||||||
|
|
||||||
_substateChanged: function() {
|
_substateChanged: function() {
|
||||||
@ -692,17 +735,6 @@ NMDeviceWired.prototype = {
|
|||||||
NMDevice.prototype._init.call(this, client, device, connections);
|
NMDevice.prototype._init.call(this, client, device, connections);
|
||||||
},
|
},
|
||||||
|
|
||||||
connectionValid: function(connection) {
|
|
||||||
if (connection._type != NetworkManager.SETTING_WIRED_SETTING_NAME)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
let ethernetSettings = connection.get_setting_by_name(NetworkManager.SETTING_WIRED_SETTING_NAME);
|
|
||||||
let fixedMac = ethernetSettings.get_mac_address();
|
|
||||||
if (fixedMac)
|
|
||||||
return macCompare(fixedMac, macToArray(this.device.perm_hw_address));
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
|
|
||||||
_createSection: function() {
|
_createSection: function() {
|
||||||
NMDevice.prototype._createSection.call(this);
|
NMDevice.prototype._createSection.call(this);
|
||||||
|
|
||||||
@ -745,6 +777,10 @@ NMDeviceModem.prototype = {
|
|||||||
this.mobileDevice = null;
|
this.mobileDevice = null;
|
||||||
this._connectionType = 'ppp';
|
this._connectionType = 'ppp';
|
||||||
|
|
||||||
|
this._applet_proxy = new NMAppletProxy(DBus.session,
|
||||||
|
'org.gnome.network_manager_applet',
|
||||||
|
'/org/gnome/network_manager_applet');
|
||||||
|
|
||||||
this._capabilities = device.current_capabilities;
|
this._capabilities = device.current_capabilities;
|
||||||
if (this._capabilities & NetworkManager.DeviceModemCapabilities.GSM_UMTS) {
|
if (this._capabilities & NetworkManager.DeviceModemCapabilities.GSM_UMTS) {
|
||||||
is_wwan = true;
|
is_wwan = true;
|
||||||
@ -823,12 +859,15 @@ NMDeviceModem.prototype = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
_createSection: function() {
|
_createSection: function() {
|
||||||
|
if (!this._shouldShowConnectionList())
|
||||||
|
return;
|
||||||
|
|
||||||
if (this.mobileDevice) {
|
if (this.mobileDevice) {
|
||||||
// If operator_name is null, just pass the empty string, as the item is hidden anyway
|
// If operator_name is null, just pass the empty string, as the item is hidden anyway
|
||||||
this._operatorItem = new PopupMenu.PopupImageMenuItem(this.mobileDevice.operator_name || '',
|
this._operatorItem = new PopupMenu.PopupImageMenuItem(this.mobileDevice.operator_name || '',
|
||||||
this._getSignalIcon(),
|
this._getSignalIcon(),
|
||||||
{ reactive: false });
|
{ reactive: false });
|
||||||
if (this.mobileDevice.operator_name)
|
if (!this.mobileDevice.operator_name)
|
||||||
this._operatorItem.actor.hide();
|
this._operatorItem.actor.hide();
|
||||||
this.section.addMenuItem(this._operatorItem);
|
this.section.addMenuItem(this._operatorItem);
|
||||||
}
|
}
|
||||||
@ -836,30 +875,20 @@ NMDeviceModem.prototype = {
|
|||||||
NMDevice.prototype._createSection.call(this);
|
NMDevice.prototype._createSection.call(this);
|
||||||
},
|
},
|
||||||
|
|
||||||
clearSection: function() {
|
_clearSection: function() {
|
||||||
this._operatorItem = null;
|
this._operatorItem = null;
|
||||||
|
|
||||||
NMDevice.prototype._clearSection.call(this);
|
NMDevice.prototype._clearSection.call(this);
|
||||||
},
|
},
|
||||||
|
|
||||||
connectionValid: function(connection) {
|
|
||||||
return connection._type == this._connectionType;
|
|
||||||
},
|
|
||||||
|
|
||||||
_createAutomaticConnection: function() {
|
_createAutomaticConnection: function() {
|
||||||
// FIXME: we need to summon the mobile wizard here
|
// Mobile wizard is handled by nm-applet for now...
|
||||||
// or NM will not have the necessary parameters to complete the connection
|
this._applet_proxy.ConnectTo3gNetworkRemote(this.device.get_path(),
|
||||||
// pending a DBus method on nm-applet
|
Lang.bind(this, function(results, err) {
|
||||||
|
if (err)
|
||||||
let connection = new NetworkManager.Connection;
|
log(err);
|
||||||
connection._uuid = NetworkManager.utils_uuid_generate();
|
}));
|
||||||
connection.add_setting(new NetworkManager.SettingConnection({
|
return null;
|
||||||
uuid: connection._uuid,
|
|
||||||
id: this._autoConnectionName,
|
|
||||||
type: this._connectionType,
|
|
||||||
autoconnect: false
|
|
||||||
}));
|
|
||||||
return connection;
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -879,18 +908,6 @@ NMDeviceBluetooth.prototype = {
|
|||||||
NMDevice.prototype._init.call(this, client, device, connections);
|
NMDevice.prototype._init.call(this, client, device, connections);
|
||||||
},
|
},
|
||||||
|
|
||||||
connectionValid: function(connection) {
|
|
||||||
if (connection._type != NetworkManager.SETTING_BLUETOOTH_SETTING_NAME)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
let bluetoothSettings = connection.get_setting_by_name(NetworkManager.SETTING_BLUETOOTH_SETTING_NAME);
|
|
||||||
let fixedBdaddr = bluetoothSettings.get_bdaddr();
|
|
||||||
if (fixedBdaddr)
|
|
||||||
return macCompare(fixedBdaddr, macToArray(this.device.hw_address));
|
|
||||||
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
|
|
||||||
_createAutomaticConnection: function() {
|
_createAutomaticConnection: function() {
|
||||||
let connection = new NetworkManager.Connection;
|
let connection = new NetworkManager.Connection;
|
||||||
connection._uuid = NetworkManager.utils_uuid_generate();
|
connection._uuid = NetworkManager.utils_uuid_generate();
|
||||||
@ -913,7 +930,7 @@ NMDeviceBluetooth.prototype = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
_updateAutoConnectionName: function() {
|
_updateAutoConnectionName: function() {
|
||||||
this._autoConnectionName = this._makeConnectioName(this.device);
|
this._autoConnectionName = this._makeConnectionName(this.device);
|
||||||
|
|
||||||
this._clearSection();
|
this._clearSection();
|
||||||
this._createSection();
|
this._createSection();
|
||||||
@ -982,6 +999,10 @@ NMDeviceWireless.prototype = {
|
|||||||
this._overflowItem = null;
|
this._overflowItem = null;
|
||||||
this._networks = [ ];
|
this._networks = [ ];
|
||||||
|
|
||||||
|
this._applet_proxy = new NMAppletProxy(DBus.session,
|
||||||
|
'org.gnome.network_manager_applet',
|
||||||
|
'/org/gnome/network_manager_applet');
|
||||||
|
|
||||||
// breaking the layers with this, but cannot call
|
// breaking the layers with this, but cannot call
|
||||||
// this.connectionValid until I have a device
|
// this.connectionValid until I have a device
|
||||||
this.device = device;
|
this.device = device;
|
||||||
@ -1006,18 +1027,27 @@ NMDeviceWireless.prototype = {
|
|||||||
item: null,
|
item: null,
|
||||||
accessPoints: [ ap ]
|
accessPoints: [ ap ]
|
||||||
};
|
};
|
||||||
|
obj.ssidText = NetworkManager.utils_ssid_to_utf8(obj.ssid);
|
||||||
this._networks.push(obj);
|
this._networks.push(obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if some connection is valid for this AP
|
// Check if some connection is valid for this AP
|
||||||
for (let j = 0; j < validConnections.length; j++) {
|
for (let j = 0; j < validConnections.length; j++) {
|
||||||
let connection = validConnections[j];
|
let connection = validConnections[j];
|
||||||
if (this._connectionValidForAP(connection, ap) &&
|
if (ap.connection_valid(connection) &&
|
||||||
obj.connections.indexOf(connection) == -1) {
|
obj.connections.indexOf(connection) == -1) {
|
||||||
obj.connections.push(connection);
|
obj.connections.push(connection);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
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._apAddedId = device.connect('access-point-added', Lang.bind(this, this._accessPointAdded));
|
||||||
this._apRemovedId = device.connect('access-point-removed', Lang.bind(this, this._accessPointRemoved));
|
this._apRemovedId = device.connect('access-point-removed', Lang.bind(this, this._accessPointRemoved));
|
||||||
|
|
||||||
@ -1025,8 +1055,13 @@ NMDeviceWireless.prototype = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
destroy: function() {
|
destroy: function() {
|
||||||
if (this._apAddedId) {
|
if (this._apChangedId) {
|
||||||
// see above for this HACK
|
// see above for this HACK
|
||||||
|
GObject.Object.prototype.disconnect.call(this.device, this._apChangedId);
|
||||||
|
this._apChangedId = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this._apAddedId) {
|
||||||
GObject.Object.prototype.disconnect.call(this.device, this._apAddedId);
|
GObject.Object.prototype.disconnect.call(this.device, this._apAddedId);
|
||||||
this._apAddedId = 0;
|
this._apAddedId = 0;
|
||||||
}
|
}
|
||||||
@ -1073,7 +1108,7 @@ NMDeviceWireless.prototype = {
|
|||||||
if (best) {
|
if (best) {
|
||||||
for (let i = 0; i < bestApObj.accessPoints.length; i++) {
|
for (let i = 0; i < bestApObj.accessPoints.length; i++) {
|
||||||
let ap = bestApObj.accessPoints[i];
|
let ap = bestApObj.accessPoints[i];
|
||||||
if (this._connectionValidForAP(best, ap)) {
|
if (ap.connection_valid(best)) {
|
||||||
this._client.activate_connection(best, this.device, ap.dbus_path, null);
|
this._client.activate_connection(best, this.device, ap.dbus_path, null);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -1092,35 +1127,76 @@ 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) {
|
_getApSecurityType: function(accessPoint) {
|
||||||
if (accessPoint._secType)
|
if (accessPoint._secType)
|
||||||
return accessPoint._secType;
|
return accessPoint._secType;
|
||||||
// XXX: have this checked by someone familiar with IEEE 802.1x
|
|
||||||
|
|
||||||
let flags = accessPoint.flags;
|
let flags = accessPoint.flags;
|
||||||
let wpa_flags = accessPoint.wpa_flags;
|
let wpa_flags = accessPoint.wpa_flags;
|
||||||
let rsn_flags = accessPoint.rsn_flags;
|
let rsn_flags = accessPoint.rsn_flags;
|
||||||
let type;
|
let type;
|
||||||
if ( !(flags & NM80211ApFlags.PRIVACY)
|
if (rsn_flags != NM80211ApSecurityFlags.NONE) {
|
||||||
&& (wpa_flags == NM80211ApSecurityFlags.NONE)
|
/* RSN check first so that WPA+WPA2 APs are treated as RSN/WPA2 */
|
||||||
&& (rsn_flags == NM80211ApSecurityFlags.NONE))
|
if (rsn_flags & NM80211ApSecurityFlags.KEY_MGMT_802_1X)
|
||||||
type = NMAccessPointSecurity.NONE;
|
type = NMAccessPointSecurity.WPA2_ENT;
|
||||||
else if ( (flags & NM80211ApFlags.PRIVACY)
|
else if (rsn_flags & NM80211ApSecurityFlags.KEY_MGMT_PSK)
|
||||||
&& (wpa_flags == NM80211ApSecurityFlags.NONE)
|
type = NMAccessPointSecurity.WPA2_PSK;
|
||||||
&& (rsn_flags == NM80211ApSecurityFlags.NONE))
|
} else if (wpa_flags != NM80211ApSecurityFlags.NONE) {
|
||||||
type = NMAccessPointSecurity.WEP;
|
if (wpa_flags & NM80211ApSecurityFlags.KEY_MGMT_802_1X)
|
||||||
else if ( !(flags & NM80211ApFlags.PRIVACY)
|
type = NMAccessPointSecurity.WPA_ENT;
|
||||||
&& (wpa_flags != NM80211ApSecurity.NONE)
|
else if (wpa_flags & NM80211ApSecurityFlags.KEY_MGMT_PSK)
|
||||||
&& (rsn_flags != NM80211ApSecurity.NONE))
|
type = NMAccessPointSecurity.WPA_PSK;
|
||||||
type = NMAccessPointSecurity.WPA;
|
} else {
|
||||||
else
|
if (flags & NM80211ApFlags.PRIVACY)
|
||||||
type = NMAccessPointSecurity.WPA2;
|
type = NMAccessPointSecurity.WEP;
|
||||||
|
else
|
||||||
|
type = NMAccessPointSecurity.NONE;
|
||||||
|
}
|
||||||
|
|
||||||
// cache the found value to avoid checking flags all the time
|
// cache the found value to avoid checking flags all the time
|
||||||
accessPoint._secType = type;
|
accessPoint._secType = type;
|
||||||
return type;
|
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) {
|
_networkCompare: function(network, accessPoint) {
|
||||||
if (!ssidCompare(network.ssid, accessPoint.get_ssid()))
|
if (!ssidCompare(network.ssid, accessPoint.get_ssid()))
|
||||||
return false;
|
return false;
|
||||||
@ -1143,6 +1219,8 @@ NMDeviceWireless.prototype = {
|
|||||||
_accessPointAdded: function(device, accessPoint) {
|
_accessPointAdded: function(device, accessPoint) {
|
||||||
let pos = this._findNetwork(accessPoint);
|
let pos = this._findNetwork(accessPoint);
|
||||||
let apObj;
|
let apObj;
|
||||||
|
let needsupdate = false;
|
||||||
|
|
||||||
if (pos != -1) {
|
if (pos != -1) {
|
||||||
apObj = this._networks[pos];
|
apObj = this._networks[pos];
|
||||||
if (apObj.accessPoints.indexOf(accessPoint) != -1) {
|
if (apObj.accessPoints.indexOf(accessPoint) != -1) {
|
||||||
@ -1151,6 +1229,8 @@ NMDeviceWireless.prototype = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
apObj.accessPoints.push(accessPoint);
|
apObj.accessPoints.push(accessPoint);
|
||||||
|
if (apObj.item)
|
||||||
|
apObj.item.updateAccessPoints(apObj.accessPoints);
|
||||||
} else {
|
} else {
|
||||||
apObj = { ssid: accessPoint.get_ssid(),
|
apObj = { ssid: accessPoint.get_ssid(),
|
||||||
mode: accessPoint.mode,
|
mode: accessPoint.mode,
|
||||||
@ -1159,21 +1239,54 @@ NMDeviceWireless.prototype = {
|
|||||||
item: null,
|
item: null,
|
||||||
accessPoints: [ accessPoint ]
|
accessPoints: [ accessPoint ]
|
||||||
};
|
};
|
||||||
this._networks.push(apObj);
|
apObj.ssidText = NetworkManager.utils_ssid_to_utf8(apObj.ssid);
|
||||||
|
needsupdate = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// check if this enables new connections for this group
|
// check if this enables new connections for this group
|
||||||
for (let i = 0; i < this._connections.length; i++) {
|
for (let i = 0; i < this._connections.length; i++) {
|
||||||
let connection = this._connections[i].connection;
|
let connection = this._connections[i].connection;
|
||||||
if (this._connectionValidForAP(connection, accessPoint) &&
|
if (accessPoint.connection_valid(connection) &&
|
||||||
apObj.connections.indexOf(connection) == -1) {
|
apObj.connections.indexOf(connection) == -1) {
|
||||||
apObj.connections.push(connection);
|
apObj.connections.push(connection);
|
||||||
|
|
||||||
|
// this potentially changes the order
|
||||||
|
needsupdate = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// update everything
|
if (needsupdate) {
|
||||||
this._clearSection();
|
if (apObj.item)
|
||||||
this._createSection();
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
_accessPointRemoved: function(device, accessPoint) {
|
_accessPointRemoved: function(device, accessPoint) {
|
||||||
@ -1198,6 +1311,11 @@ NMDeviceWireless.prototype = {
|
|||||||
if (apObj.item)
|
if (apObj.item)
|
||||||
apObj.item.destroy();
|
apObj.item.destroy();
|
||||||
this._networks.splice(pos, 1);
|
this._networks.splice(pos, 1);
|
||||||
|
if (this._overflowItem &&
|
||||||
|
this._overflowItem.menu.length == 0) {
|
||||||
|
this._overflowItem.destroy();
|
||||||
|
this._overflowItem = null;
|
||||||
|
}
|
||||||
} else if (apObj.item)
|
} else if (apObj.item)
|
||||||
apObj.item.updateAccessPoints(apObj.accessPoints);
|
apObj.item.updateAccessPoints(apObj.accessPoints);
|
||||||
},
|
},
|
||||||
@ -1208,7 +1326,7 @@ NMDeviceWireless.prototype = {
|
|||||||
item.connect('activate', Lang.bind(this, function() {
|
item.connect('activate', Lang.bind(this, function() {
|
||||||
let accessPoints = sortAccessPoints(accessPointObj.accessPoints);
|
let accessPoints = sortAccessPoints(accessPointObj.accessPoints);
|
||||||
for (let i = 0; i < accessPoints.length; i++) {
|
for (let i = 0; i < accessPoints.length; i++) {
|
||||||
if (this._connectionValidForAP(connection, accessPoints[i])) {
|
if (accessPoints[i].connection_valid(connection)) {
|
||||||
this._client.activate_connection(connection, this.device, accessPoints[i].dbus_path, null);
|
this._client.activate_connection(connection, this.device, accessPoints[i].dbus_path, null);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -1217,40 +1335,6 @@ NMDeviceWireless.prototype = {
|
|||||||
return item;
|
return item;
|
||||||
},
|
},
|
||||||
|
|
||||||
connectionValid: function(connection) {
|
|
||||||
if (connection._type != NetworkManager.SETTING_WIRELESS_SETTING_NAME)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
let wirelessSettings = connection.get_setting_by_name(NetworkManager.SETTING_WIRELESS_SETTING_NAME);
|
|
||||||
let wirelessSecuritySettings = connection.get_setting_by_name(NetworkManager.SETTING_WIRELESS_SECURITY_SETTING_NAME);
|
|
||||||
|
|
||||||
let fixedMac = wirelessSettings.get_mac_address();
|
|
||||||
if (fixedMac && !macCompare(fixedMac, macToArray(this.device.perm_hw_address)))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
if (wirelessSecuritySettings &&
|
|
||||||
wirelessSecuritySettings.key_mgmt != 'none' &&
|
|
||||||
wirelessSecuritySettings.key_mgmt != 'ieee8021x') {
|
|
||||||
let capabilities = this.device.wireless_capabilities;
|
|
||||||
if (!(capabilities & NetworkManager.DeviceWifiCapabilities.WPA) ||
|
|
||||||
!(capabilities & NetworkManager.DeviceWifiCapabilities.CIPHER_TKIP))
|
|
||||||
return false;
|
|
||||||
if (wirelessSecuritySettings.get_num_protos() == 1 &&
|
|
||||||
wirelessSecuritySettings.get_proto(0) == 'rsn' &&
|
|
||||||
!(capabilities & NetworkManager.DeviceWifiCapabilities.RSN))
|
|
||||||
return false;
|
|
||||||
if (wirelessSecuritySettings.get_num_pairwise() == 1 &&
|
|
||||||
wirelessSecuritySettings.get_pairwise(0) == 'ccmp' &&
|
|
||||||
!(capabilities & NetworkManager.DeviceWifiCapabilities.CIPHER_CCMP))
|
|
||||||
return false;
|
|
||||||
if (wirelessSecuritySettings.get_num_groups() == 1 &&
|
|
||||||
wirelessSecuritySettings.get_group(0) == 'ccmp' &&
|
|
||||||
!(capabilities & NetworkManager.DeviceWifiCapabilities.CIPHER_CCMP))
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
|
|
||||||
_clearSection: function() {
|
_clearSection: function() {
|
||||||
NMDevice.prototype._clearSection.call(this);
|
NMDevice.prototype._clearSection.call(this);
|
||||||
|
|
||||||
@ -1280,6 +1364,12 @@ NMDeviceWireless.prototype = {
|
|||||||
// remove the connection from the access point group
|
// remove the connection from the access point group
|
||||||
connections.splice(k);
|
connections.splice(k);
|
||||||
anyauto = connections.length == 0;
|
anyauto = connections.length == 0;
|
||||||
|
|
||||||
|
if (anyauto) {
|
||||||
|
// this potentially changes the sorting order
|
||||||
|
forceupdate = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
if (apObj.item) {
|
if (apObj.item) {
|
||||||
if (apObj.item instanceof PopupMenu.PopupSubMenuMenuItem) {
|
if (apObj.item instanceof PopupMenu.PopupSubMenuMenuItem) {
|
||||||
let items = apObj.item.menu.getMenuItems();
|
let items = apObj.item.menu.getMenuItems();
|
||||||
@ -1305,6 +1395,7 @@ NMDeviceWireless.prototype = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (forceupdate || anyauto) {
|
if (forceupdate || anyauto) {
|
||||||
|
this._networks.sort(this._networkSortFunction);
|
||||||
this._clearSection();
|
this._clearSection();
|
||||||
this._createSection();
|
this._createSection();
|
||||||
}
|
}
|
||||||
@ -1320,78 +1411,29 @@ NMDeviceWireless.prototype = {
|
|||||||
this._connections.push(obj);
|
this._connections.push(obj);
|
||||||
|
|
||||||
// find an appropriate access point
|
// find an appropriate access point
|
||||||
let any = false, forceupdate = false;
|
let forceupdate = false;
|
||||||
for (let i = 0; i < this._networks.length; i++) {
|
for (let i = 0; i < this._networks.length; i++) {
|
||||||
let apObj = this._networks[i];
|
let apObj = this._networks[i];
|
||||||
|
|
||||||
// Check if connection is valid for any of these access points
|
// Check if connection is valid for any of these access points
|
||||||
let any = false;
|
|
||||||
for (let k = 0; k < apObj.accessPoints.length; k++) {
|
for (let k = 0; k < apObj.accessPoints.length; k++) {
|
||||||
let ap = apObj.accessPoints[k];
|
let ap = apObj.accessPoints[k];
|
||||||
if (this._connectionValidForAP(connection, ap)) {
|
if (ap.connection_valid(connection)) {
|
||||||
apObj.connections.push(connection);
|
apObj.connections.push(connection);
|
||||||
any = true;
|
// this potentially changes the sorting order
|
||||||
|
forceupdate = true;
|
||||||
break;
|
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) {
|
if (forceupdate) {
|
||||||
|
this._networks.sort(this._networkSortFunction);
|
||||||
this._clearSection();
|
this._clearSection();
|
||||||
this._createSection();
|
this._createSection();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
_connectionValidForAP: function(connection, ap) {
|
|
||||||
// copied and adapted from nm-applet
|
|
||||||
let wirelessSettings = connection.get_setting_by_name(NetworkManager.SETTING_WIRELESS_SETTING_NAME);
|
|
||||||
if (!ssidCompare(wirelessSettings.get_ssid(), ap.get_ssid()))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
let wirelessSecuritySettings = connection.get_setting_by_name(NetworkManager.SETTING_WIRELESS_SECURITY_SETTING_NAME);
|
|
||||||
|
|
||||||
let fixedBssid = wirelessSettings.get_bssid();
|
|
||||||
if (fixedBssid && !macCompare(fixedBssid, macToArray(ap.hw_address)))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
let fixedBand = wirelessSettings.band;
|
|
||||||
if (fixedBand) {
|
|
||||||
let freq = ap.frequency;
|
|
||||||
if (fixedBand == 'a' && (freq < 4915 || freq > 5825))
|
|
||||||
return false;
|
|
||||||
if (fixedBand == 'bg' && (freq < 2412 || freq > 2484))
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
let fixedChannel = wirelessSettings.channel;
|
|
||||||
if (fixedChannel && fixedChannel != NetworkManager.utils_wifi_freq_to_channel(ap.frequency))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
if (!wirelessSecuritySettings)
|
|
||||||
return true;
|
|
||||||
|
|
||||||
return wirelessSettings.ap_security_compatible(wirelessSecuritySettings, ap.flags, ap.wpa_flags, ap.rsn_flags, ap.mode);
|
|
||||||
},
|
|
||||||
|
|
||||||
_createActiveConnectionItem: function() {
|
_createActiveConnectionItem: function() {
|
||||||
let activeAp = this.device.active_access_point;
|
let activeAp = this.device.active_access_point;
|
||||||
let icon, title;
|
let icon, title;
|
||||||
@ -1438,6 +1480,48 @@ NMDeviceWireless.prototype = {
|
|||||||
return connection;
|
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() {
|
_createSection: function() {
|
||||||
if (!this._shouldShowConnectionList())
|
if (!this._shouldShowConnectionList())
|
||||||
return;
|
return;
|
||||||
@ -1447,47 +1531,14 @@ NMDeviceWireless.prototype = {
|
|||||||
this.section.addMenuItem(this._activeConnectionItem);
|
this.section.addMenuItem(this._activeConnectionItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
let activeAp = this.device.active_access_point;
|
let activeOffset = this._activeConnectionItem ? 1 : 0;
|
||||||
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++) {
|
for(let j = 0; j < this._networks.length; j++) {
|
||||||
let apObj = this._networks[j];
|
let apObj = this._networks[j];
|
||||||
if(activeAp && ssidCompare(apObj.ssid, activeApSsid))
|
if (apObj == this._activeNetwork)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
let menuItem;
|
this._createNetworkItem(apObj, j + activeOffset);
|
||||||
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 connection = this._createAutomaticConnection(apObj);
|
|
||||||
let accessPoints = sortAccessPoints(apObj.accessPoints);
|
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
@ -1657,6 +1708,8 @@ NMApplet.prototype = {
|
|||||||
managedDevices.forEach(function(dev) {
|
managedDevices.forEach(function(dev) {
|
||||||
dev.statusItem.actor.show();
|
dev.statusItem.actor.show();
|
||||||
});
|
});
|
||||||
|
// remove status text from the section title item
|
||||||
|
item.updateForDevice(null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -1706,13 +1759,13 @@ NMApplet.prototype = {
|
|||||||
{ icon: icon });
|
{ icon: icon });
|
||||||
this._source.notify(notification);
|
this._source.notify(notification);
|
||||||
})); */
|
})); */
|
||||||
wrapper._stateChangedId = wrapper.connect('state-changed', Lang.bind(this, function(dev) {
|
wrapper._deviceStateChangedId = wrapper.connect('state-changed', Lang.bind(this, function(dev) {
|
||||||
this._syncSectionTitle(dev.category);
|
this._syncSectionTitle(dev.category);
|
||||||
}));
|
}));
|
||||||
wrapper._destroyId = wrapper.connect('destroy', function(wrapper) {
|
wrapper._destroyId = wrapper.connect('destroy', function(wrapper) {
|
||||||
//wrapper.disconnect(wrapper._networkLostId);
|
//wrapper.disconnect(wrapper._networkLostId);
|
||||||
//wrapper.disconnect(wrapper._activationFailedId);
|
//wrapper.disconnect(wrapper._activationFailedId);
|
||||||
wrapper.disconnect(wrapper._stateChangedId);
|
wrapper.disconnect(wrapper._deviceStateChangedId);
|
||||||
});
|
});
|
||||||
let section = this._devices[wrapper.category].section;
|
let section = this._devices[wrapper.category].section;
|
||||||
let devices = this._devices[wrapper.category].devices;
|
let devices = this._devices[wrapper.category].devices;
|
||||||
@ -1753,8 +1806,10 @@ NMApplet.prototype = {
|
|||||||
|
|
||||||
for (let i = 0; i < closedConnections.length; i++) {
|
for (let i = 0; i < closedConnections.length; i++) {
|
||||||
let active = closedConnections[i];
|
let active = closedConnections[i];
|
||||||
if (active._primaryDevice)
|
if (active._primaryDevice) {
|
||||||
active._primaryDevice.setActiveConnection(null);
|
active._primaryDevice.setActiveConnection(null);
|
||||||
|
active._primaryDevice = null;
|
||||||
|
}
|
||||||
if (active._notifyStateId) {
|
if (active._notifyStateId) {
|
||||||
active.disconnect(active._notifyStateId);
|
active.disconnect(active._notifyStateId);
|
||||||
active._notifyStateId = 0;
|
active._notifyStateId = 0;
|
||||||
@ -2047,7 +2102,7 @@ NMApplet.prototype = {
|
|||||||
let ap = dev.device.active_access_point;
|
let ap = dev.device.active_access_point;
|
||||||
let mode = dev.device.mode;
|
let mode = dev.device.mode;
|
||||||
if (!ap) {
|
if (!ap) {
|
||||||
if (mode != NetworkManager['80211Mode'].ADHOC) {
|
if (mode != NM80211Mode.ADHOC) {
|
||||||
log('An active wireless connection, in infrastructure mode, involves no access point?');
|
log('An active wireless connection, in infrastructure mode, involves no access point?');
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -11,9 +11,6 @@ const PanelMenu = imports.ui.panelMenu;
|
|||||||
const PopupMenu = imports.ui.popupMenu;
|
const PopupMenu = imports.ui.popupMenu;
|
||||||
const Util = imports.misc.util;
|
const Util = imports.misc.util;
|
||||||
|
|
||||||
const Gettext = imports.gettext.domain('gnome-shell');
|
|
||||||
const _ = Gettext.gettext;
|
|
||||||
|
|
||||||
const BUS_NAME = 'org.gnome.PowerManager';
|
const BUS_NAME = 'org.gnome.PowerManager';
|
||||||
const OBJECT_PATH = '/org/gnome/PowerManager';
|
const OBJECT_PATH = '/org/gnome/PowerManager';
|
||||||
|
|
||||||
@ -115,15 +112,15 @@ Indicator.prototype = {
|
|||||||
let timestring;
|
let timestring;
|
||||||
if (time > 60) {
|
if (time > 60) {
|
||||||
if (minutes == 0) {
|
if (minutes == 0) {
|
||||||
timestring = Gettext.ngettext("%d hour remaining", "%d hours remaining", hours).format(hours);
|
timestring = ngettext("%d hour remaining", "%d hours remaining", hours).format(hours);
|
||||||
} else {
|
} else {
|
||||||
/* 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" */
|
||||||
let template = _("%d %s %d %s remaining");
|
let template = _("%d %s %d %s remaining");
|
||||||
|
|
||||||
timestring = template.format (hours, Gettext.ngettext("hour", "hours", hours), minutes, Gettext.ngettext("minute", "minutes", minutes));
|
timestring = template.format (hours, ngettext("hour", "hours", hours), minutes, ngettext("minute", "minutes", minutes));
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
timestring = Gettext.ngettext("%d minute remaining", "%d minutes remaining", minutes).format(minutes);
|
timestring = ngettext("%d minute remaining", "%d minutes remaining", minutes).format(minutes);
|
||||||
this._batteryItem.label.text = timestring;
|
this._batteryItem.label.text = timestring;
|
||||||
}
|
}
|
||||||
this._primaryPercentage.text = Math.round(percentage) + '%';
|
this._primaryPercentage.text = Math.round(percentage) + '%';
|
||||||
|
@ -13,9 +13,6 @@ const PanelMenu = imports.ui.panelMenu;
|
|||||||
const PopupMenu = imports.ui.popupMenu;
|
const PopupMenu = imports.ui.popupMenu;
|
||||||
const Util = imports.misc.util;
|
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_ADJUSTMENT_STEP = 0.05; /* Volume adjustment step in % */
|
||||||
|
|
||||||
const VOLUME_NOTIFY_ID = 1;
|
const VOLUME_NOTIFY_ID = 1;
|
||||||
|
@ -9,8 +9,6 @@ const Shell = imports.gi.Shell;
|
|||||||
const St = imports.gi.St;
|
const St = imports.gi.St;
|
||||||
const Tp = imports.gi.TelepathyGLib;
|
const Tp = imports.gi.TelepathyGLib;
|
||||||
const UPowerGlib = imports.gi.UPowerGlib;
|
const UPowerGlib = imports.gi.UPowerGlib;
|
||||||
const Gettext = imports.gettext.domain('gnome-shell');
|
|
||||||
const _ = Gettext.gettext;
|
|
||||||
|
|
||||||
const GnomeSession = imports.misc.gnomeSession;
|
const GnomeSession = imports.misc.gnomeSession;
|
||||||
const Main = imports.ui.main;
|
const Main = imports.ui.main;
|
||||||
|
@ -9,9 +9,6 @@ const Signals = imports.signals;
|
|||||||
const St = imports.gi.St;
|
const St = imports.gi.St;
|
||||||
const Tpl = imports.gi.TelepathyLogger;
|
const Tpl = imports.gi.TelepathyLogger;
|
||||||
const Tp = imports.gi.TelepathyGLib;
|
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 History = imports.misc.history;
|
||||||
const Main = imports.ui.main;
|
const Main = imports.ui.main;
|
||||||
@ -80,14 +77,9 @@ Client.prototype = {
|
|||||||
// The second argument, recover, means _observeChannels will be run
|
// The second argument, recover, means _observeChannels will be run
|
||||||
// for any existing channel as well.
|
// for any existing channel as well.
|
||||||
let dbus = Tp.DBusDaemon.dup();
|
let dbus = Tp.DBusDaemon.dup();
|
||||||
this._observer = Tp.SimpleObserver.new(dbus, true, 'GnomeShell', true,
|
this._observer = Shell.TpClient.new(dbus);
|
||||||
Lang.bind(this, this._observeChannels));
|
this._observer.set_observe_channels_func(
|
||||||
|
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 {
|
try {
|
||||||
this._observer.register();
|
this._observer.register();
|
||||||
@ -294,6 +286,9 @@ Source.prototype = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
_messageReceived: function(channel, message) {
|
_messageReceived: function(channel, message) {
|
||||||
|
if (message.get_message_type() == Tp.ChannelTextMessageType.DELIVERY_REPORT)
|
||||||
|
return;
|
||||||
|
|
||||||
message = makeMessageFromTpMessage(message, NotificationDirection.RECEIVED);
|
message = makeMessageFromTpMessage(message, NotificationDirection.RECEIVED);
|
||||||
this._notification.appendMessage(message);
|
this._notification.appendMessage(message);
|
||||||
this.notify();
|
this.notify();
|
||||||
@ -473,6 +468,8 @@ Notification.prototype = {
|
|||||||
|
|
||||||
var daysAgo = (now.getTime() - date.getTime()) / (24 * 60 * 60 * 1000);
|
var daysAgo = (now.getTime() - date.getTime()) / (24 * 60 * 60 * 1000);
|
||||||
|
|
||||||
|
let format;
|
||||||
|
|
||||||
// Show a week day and time if date is in the last week
|
// Show a week day and time if date is in the last week
|
||||||
if (daysAgo < 1 || (daysAgo < 7 && now.getDay() != date.getDay())) {
|
if (daysAgo < 1 || (daysAgo < 7 && now.getDay() != date.getDay())) {
|
||||||
/* Translators: this is a time format string followed by a date.
|
/* Translators: this is a time format string followed by a date.
|
||||||
@ -519,18 +516,16 @@ Notification.prototype = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
appendAliasChange: function(oldAlias, newAlias) {
|
appendAliasChange: function(oldAlias, newAlias) {
|
||||||
// FIXME: uncomment this after 3.0 string freeze ends
|
oldAlias = GLib.markup_escape_text(oldAlias, -1);
|
||||||
|
newAlias = GLib.markup_escape_text(newAlias, -1);
|
||||||
|
|
||||||
// oldAlias = GLib.markup_escape_text(oldAlias, -1);
|
/* Translators: this is the other person changing their old IM name to their new
|
||||||
// newAlias = GLib.markup_escape_text(newAlias, -1);
|
IM name. */
|
||||||
|
let message = '<i>' + _("%s is now known as %s").format(oldAlias, newAlias) + '</i>';
|
||||||
// /* Translators: this is the other person changing their old IM name to their new
|
let label = this.addBody(message, true);
|
||||||
// IM name. */
|
label.add_style_class_name('chat-meta-message');
|
||||||
// let message = '<i>' + _("%s is now known as %s").format(oldAlias, newAlias) + '</i>';
|
this._history.unshift({ actor: label, time: (Date.now() / 1000), realMessage: false });
|
||||||
// let label = this.addBody(message, true);
|
this.update(newAlias, null, { customContent: 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() {
|
_onEntryActivated: function() {
|
||||||
|
@ -8,8 +8,6 @@ const Signals = imports.signals;
|
|||||||
const Lang = imports.lang;
|
const Lang = imports.lang;
|
||||||
const Shell = imports.gi.Shell;
|
const Shell = imports.gi.Shell;
|
||||||
const St = imports.gi.St;
|
const St = imports.gi.St;
|
||||||
const Gettext = imports.gettext.domain('gnome-shell');
|
|
||||||
const _ = Gettext.gettext;
|
|
||||||
|
|
||||||
const Main = imports.ui.main;
|
const Main = imports.ui.main;
|
||||||
const Search = imports.ui.search;
|
const Search = imports.ui.search;
|
||||||
@ -152,10 +150,6 @@ SearchTab.prototype = {
|
|||||||
return true;
|
return true;
|
||||||
}));
|
}));
|
||||||
|
|
||||||
this._entry.connect('secondary-icon-clicked', Lang.bind(this,
|
|
||||||
function() {
|
|
||||||
this._reset();
|
|
||||||
}));
|
|
||||||
this._entry.connect('notify::mapped', Lang.bind(this, this._onMapped));
|
this._entry.connect('notify::mapped', Lang.bind(this, this._onMapped));
|
||||||
|
|
||||||
global.stage.connect('notify::key-focus', Lang.bind(this, this._updateCursorVisibility));
|
global.stage.connect('notify::key-focus', Lang.bind(this, this._updateCursorVisibility));
|
||||||
@ -166,7 +160,14 @@ SearchTab.prototype = {
|
|||||||
hide: function() {
|
hide: function() {
|
||||||
BaseTab.prototype.hide.call(this);
|
BaseTab.prototype.hide.call(this);
|
||||||
|
|
||||||
this._reset();
|
// Leave the entry focused when it doesn't have any text;
|
||||||
|
// when replacing a selected search term, Clutter emits
|
||||||
|
// two 'text-changed' signals, one for deleting the previous
|
||||||
|
// text and one for the new one - the second one is handled
|
||||||
|
// incorrectly when we remove focus
|
||||||
|
// (https://bugzilla.gnome.org/show_bug.cgi?id=636341) */
|
||||||
|
if (this._text.text != '')
|
||||||
|
this._reset();
|
||||||
},
|
},
|
||||||
|
|
||||||
_reset: function () {
|
_reset: function () {
|
||||||
@ -226,7 +227,7 @@ SearchTab.prototype = {
|
|||||||
if (this._iconClickedId == 0) {
|
if (this._iconClickedId == 0) {
|
||||||
this._iconClickedId = this._entry.connect('secondary-icon-clicked',
|
this._iconClickedId = this._entry.connect('secondary-icon-clicked',
|
||||||
Lang.bind(this, function() {
|
Lang.bind(this, function() {
|
||||||
this.reset();
|
this._reset();
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
this._activate();
|
this._activate();
|
||||||
|
@ -2,8 +2,6 @@
|
|||||||
|
|
||||||
const Lang = imports.lang;
|
const Lang = imports.lang;
|
||||||
const Shell = imports.gi.Shell;
|
const Shell = imports.gi.Shell;
|
||||||
const Gettext = imports.gettext.domain('gnome-shell');
|
|
||||||
const _ = Gettext.gettext;
|
|
||||||
|
|
||||||
const Main = imports.ui.main;
|
const Main = imports.ui.main;
|
||||||
const MessageTray = imports.ui.messageTray;
|
const MessageTray = imports.ui.messageTray;
|
||||||
|
@ -237,7 +237,7 @@ WindowClone.prototype = {
|
|||||||
this.emit('zoom-start');
|
this.emit('zoom-start');
|
||||||
|
|
||||||
if (!this._zoomLightbox)
|
if (!this._zoomLightbox)
|
||||||
this._zoomLightbox = new Lightbox.Lightbox(global.stage,
|
this._zoomLightbox = new Lightbox.Lightbox(Main.uiGroup,
|
||||||
{ fadeTime: LIGHTBOX_FADE_TIME });
|
{ fadeTime: LIGHTBOX_FADE_TIME });
|
||||||
this._zoomLightbox.show();
|
this._zoomLightbox.show();
|
||||||
|
|
||||||
@ -248,7 +248,7 @@ WindowClone.prototype = {
|
|||||||
this._zoomGlobalOrig.setPosition.apply(this._zoomGlobalOrig, this.actor.get_transformed_position());
|
this._zoomGlobalOrig.setPosition.apply(this._zoomGlobalOrig, this.actor.get_transformed_position());
|
||||||
this._zoomGlobalOrig.setScale(width / this.actor.width, height / this.actor.height);
|
this._zoomGlobalOrig.setScale(width / this.actor.width, height / this.actor.height);
|
||||||
|
|
||||||
this.actor.reparent(global.stage);
|
this.actor.reparent(Main.uiGroup);
|
||||||
this._zoomLightbox.highlight(this.actor);
|
this._zoomLightbox.highlight(this.actor);
|
||||||
|
|
||||||
[this.actor.x, this.actor.y] = this._zoomGlobalOrig.getPosition();
|
[this.actor.x, this.actor.y] = this._zoomGlobalOrig.getPosition();
|
||||||
@ -296,6 +296,9 @@ WindowClone.prototype = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
_onDragBegin : function (draggable, time) {
|
_onDragBegin : function (draggable, time) {
|
||||||
|
if (this._zooming)
|
||||||
|
this._zoomEnd();
|
||||||
|
|
||||||
[this.dragOrigX, this.dragOrigY] = this.actor.get_position();
|
[this.dragOrigX, this.dragOrigY] = this.actor.get_position();
|
||||||
this.dragOrigScale = this.actor.scale_x;
|
this.dragOrigScale = this.actor.scale_x;
|
||||||
this.inDrag = true;
|
this.inDrag = true;
|
||||||
@ -394,6 +397,8 @@ WindowOverlay.prototype = {
|
|||||||
|
|
||||||
show: function() {
|
show: function() {
|
||||||
this._hidden = false;
|
this._hidden = false;
|
||||||
|
if (this._windowClone.actor.has_pointer)
|
||||||
|
this.closeButton.show();
|
||||||
this.title.show();
|
this.title.show();
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -1113,7 +1118,9 @@ Workspace.prototype = {
|
|||||||
// the compositor finds out about them...
|
// the compositor finds out about them...
|
||||||
Mainloop.idle_add(Lang.bind(this,
|
Mainloop.idle_add(Lang.bind(this,
|
||||||
function () {
|
function () {
|
||||||
if (this.actor && metaWin.get_compositor_private())
|
if (this.actor &&
|
||||||
|
metaWin.get_compositor_private() &&
|
||||||
|
metaWin.get_workspace() == this.metaWorkspace)
|
||||||
this._doAddWindow(metaWin);
|
this._doAddWindow(metaWin);
|
||||||
return false;
|
return false;
|
||||||
}));
|
}));
|
||||||
|
@ -276,7 +276,9 @@ WorkspaceThumbnail.prototype = {
|
|||||||
// the compositor finds out about them...
|
// the compositor finds out about them...
|
||||||
Mainloop.idle_add(Lang.bind(this,
|
Mainloop.idle_add(Lang.bind(this,
|
||||||
function () {
|
function () {
|
||||||
if (this.actor && metaWin.get_compositor_private())
|
if (this.actor &&
|
||||||
|
metaWin.get_compositor_private() &&
|
||||||
|
metaWin.get_workspace() == this.metaWorkspace)
|
||||||
this._doAddWindow(metaWin);
|
this._doAddWindow(metaWin);
|
||||||
return false;
|
return false;
|
||||||
}));
|
}));
|
||||||
|
@ -7,8 +7,6 @@ const Meta = imports.gi.Meta;
|
|||||||
const Shell = imports.gi.Shell;
|
const Shell = imports.gi.Shell;
|
||||||
const St = imports.gi.St;
|
const St = imports.gi.St;
|
||||||
const Signals = imports.signals;
|
const Signals = imports.signals;
|
||||||
const Gettext = imports.gettext.domain('gnome-shell');
|
|
||||||
const _ = Gettext.gettext;
|
|
||||||
|
|
||||||
const DND = imports.ui.dnd;
|
const DND = imports.ui.dnd;
|
||||||
const Main = imports.ui.main;
|
const Main = imports.ui.main;
|
||||||
@ -201,12 +199,10 @@ WorkspacesView.prototype = {
|
|||||||
|
|
||||||
Tweener.removeTweens(workspace.actor);
|
Tweener.removeTweens(workspace.actor);
|
||||||
|
|
||||||
let opacity = (this._inDrag && w != active) ? 200 : 255;
|
|
||||||
let y = (w - active) * (this._height + this._spacing + this._workspaceRatioSpacing);
|
let y = (w - active) * (this._height + this._spacing + this._workspaceRatioSpacing);
|
||||||
|
|
||||||
if (showAnimation) {
|
if (showAnimation) {
|
||||||
let params = { y: y,
|
let params = { y: y,
|
||||||
opacity: opacity,
|
|
||||||
time: WORKSPACE_SWITCH_TIME,
|
time: WORKSPACE_SWITCH_TIME,
|
||||||
transition: 'easeOutQuad'
|
transition: 'easeOutQuad'
|
||||||
};
|
};
|
||||||
@ -224,7 +220,6 @@ WorkspacesView.prototype = {
|
|||||||
Tweener.addTween(workspace.actor, params);
|
Tweener.addTween(workspace.actor, params);
|
||||||
} else {
|
} else {
|
||||||
workspace.actor.set_position(0, y);
|
workspace.actor.set_position(0, y);
|
||||||
workspace.actor.opacity = opacity;
|
|
||||||
if (w == 0)
|
if (w == 0)
|
||||||
this._updateVisibility();
|
this._updateVisibility();
|
||||||
}
|
}
|
||||||
@ -439,20 +434,14 @@ WorkspacesView.prototype = {
|
|||||||
if (topWorkspace) {
|
if (topWorkspace) {
|
||||||
if (topWorkspace.actor.contains(dragEvent.targetActor)) {
|
if (topWorkspace.actor.contains(dragEvent.targetActor)) {
|
||||||
hoverWorkspace = topWorkspace;
|
hoverWorkspace = topWorkspace;
|
||||||
topWorkspace.opacity = topWorkspace.actor.opacity = 255;
|
|
||||||
result = topWorkspace.handleDragOver(dragEvent.source, dragEvent.dragActor);
|
result = topWorkspace.handleDragOver(dragEvent.source, dragEvent.dragActor);
|
||||||
} else {
|
|
||||||
topWorkspace.opacity = topWorkspace.actor.opacity = 200;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (bottomWorkspace) {
|
if (bottomWorkspace) {
|
||||||
if (bottomWorkspace.actor.contains(dragEvent.targetActor)) {
|
if (bottomWorkspace.actor.contains(dragEvent.targetActor)) {
|
||||||
hoverWorkspace = bottomWorkspace;
|
hoverWorkspace = bottomWorkspace;
|
||||||
bottomWorkspace.opacity = bottomWorkspace.actor.opacity = 255;
|
|
||||||
result = bottomWorkspace.handleDragOver(dragEvent.source, dragEvent.dragActor);
|
result = bottomWorkspace.handleDragOver(dragEvent.source, dragEvent.dragActor);
|
||||||
} else {
|
|
||||||
bottomWorkspace.opacity = bottomWorkspace.actor.opacity = 200;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
af
|
af
|
||||||
|
an
|
||||||
ar
|
ar
|
||||||
bg
|
bg
|
||||||
bn
|
bn
|
||||||
@ -9,6 +10,7 @@ da
|
|||||||
de
|
de
|
||||||
el
|
el
|
||||||
en_GB
|
en_GB
|
||||||
|
eo
|
||||||
es
|
es
|
||||||
et
|
et
|
||||||
eu
|
eu
|
||||||
@ -38,6 +40,7 @@ pt
|
|||||||
pt_BR
|
pt_BR
|
||||||
ro
|
ro
|
||||||
ru
|
ru
|
||||||
|
sk
|
||||||
sl
|
sl
|
||||||
sr
|
sr
|
||||||
sr@latin
|
sr@latin
|
||||||
|
20
po/de.po
@ -5,7 +5,7 @@
|
|||||||
# workspace - Arbeitsfläche
|
# workspace - Arbeitsfläche
|
||||||
#
|
#
|
||||||
# Hendrik Brandt <heb@gnome-de.org>, 2009.
|
# Hendrik Brandt <heb@gnome-de.org>, 2009.
|
||||||
# Hendrik Richter <hendrikr@gnome.org>, 2009.
|
# Hendrik Richter <hendrikr@gnome.org>, 2009, 2010, 2011.
|
||||||
# Mario Blättermann <mariobl@gnome.org>, 2009, 2010, 2011.
|
# Mario Blättermann <mariobl@gnome.org>, 2009, 2010, 2011.
|
||||||
# Mario Klug <mario@klug.me>, 2010.
|
# Mario Klug <mario@klug.me>, 2010.
|
||||||
# Jakob Kramer <jakob.kramer@gmx.de>, 2010.
|
# Jakob Kramer <jakob.kramer@gmx.de>, 2010.
|
||||||
@ -18,8 +18,8 @@ msgstr ""
|
|||||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||||
"shell&keywords=I18N+L10N&component=general\n"
|
"shell&keywords=I18N+L10N&component=general\n"
|
||||||
"POT-Creation-Date: 2011-03-27 14:43+0000\n"
|
"POT-Creation-Date: 2011-03-27 14:43+0000\n"
|
||||||
"PO-Revision-Date: 2011-03-27 15:45+0200\n"
|
"PO-Revision-Date: 2011-04-22 14:23+0200\n"
|
||||||
"Last-Translator: Christian Kirbach <Christian.Kirbach@googlemail.com>\n"
|
"Last-Translator: Hendrik Richter <hendrikr@gnome.org>\n"
|
||||||
"Language-Team: Deutsch <gnome-de@gnome.org>\n"
|
"Language-Team: Deutsch <gnome-de@gnome.org>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
@ -249,11 +249,15 @@ msgctxt "event list time"
|
|||||||
msgid "%H:%M"
|
msgid "%H:%M"
|
||||||
msgstr "%H:%M"
|
msgstr "%H:%M"
|
||||||
|
|
||||||
|
#
|
||||||
|
# Da wir keine AM/PM-Suffixe haben, die Zeit von Terminen aber eindeutig
|
||||||
|
# angezeigt werden soll, wird im Kalender stets das 24h-Format verwendet.
|
||||||
|
#
|
||||||
#. Transators: Shown in calendar event list, if 12h format
|
#. Transators: Shown in calendar event list, if 12h format
|
||||||
#: ../js/ui/calendar.js:78
|
#: ../js/ui/calendar.js:78
|
||||||
msgctxt "event list time"
|
msgctxt "event list time"
|
||||||
msgid "%l:%M %p"
|
msgid "%l:%M %p"
|
||||||
msgstr "%l:%M"
|
msgstr "%H:%M"
|
||||||
|
|
||||||
#. Translators: Calendar grid abbreviation for Sunday.
|
#. Translators: Calendar grid abbreviation for Sunday.
|
||||||
#. *
|
#. *
|
||||||
@ -417,21 +421,21 @@ msgstr "%a %R"
|
|||||||
#. for AM/PM.
|
#. for AM/PM.
|
||||||
#: ../js/ui/dateMenu.js:177
|
#: ../js/ui/dateMenu.js:177
|
||||||
msgid "%a %b %e, %l:%M:%S %p"
|
msgid "%a %b %e, %l:%M:%S %p"
|
||||||
msgstr "%a, %e. %b, %H:%M:%S"
|
msgstr "%a, %e. %b, %l:%M:%S"
|
||||||
|
|
||||||
#: ../js/ui/dateMenu.js:178
|
#: ../js/ui/dateMenu.js:178
|
||||||
msgid "%a %b %e, %l:%M %p"
|
msgid "%a %b %e, %l:%M %p"
|
||||||
msgstr "%a, %e. %b, %H:%M"
|
msgstr "%a, %e. %b, %l:%M"
|
||||||
|
|
||||||
#. Translators: This is a time format without date used
|
#. Translators: This is a time format without date used
|
||||||
#. for AM/PM.
|
#. for AM/PM.
|
||||||
#: ../js/ui/dateMenu.js:182
|
#: ../js/ui/dateMenu.js:182
|
||||||
msgid "%a %l:%M:%S %p"
|
msgid "%a %l:%M:%S %p"
|
||||||
msgstr "%a %H:%M:%S"
|
msgstr "%a %l:%M:%S"
|
||||||
|
|
||||||
#: ../js/ui/dateMenu.js:183
|
#: ../js/ui/dateMenu.js:183
|
||||||
msgid "%a %l:%M %p"
|
msgid "%a %l:%M %p"
|
||||||
msgstr "%a %H:%M"
|
msgstr "%a %l:%M"
|
||||||
|
|
||||||
#. Translators: This is the date format to use when the calendar popup is
|
#. Translators: This is the date format to use when the calendar popup is
|
||||||
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
|
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
|
||||||
|
287
po/es.po
@ -2,17 +2,17 @@
|
|||||||
# Copyright (C) 2009 gnome-shell's COPYRIGHT HOLDER
|
# Copyright (C) 2009 gnome-shell's COPYRIGHT HOLDER
|
||||||
# This file is distributed under the same license as the gnome-shell package.
|
# This file is distributed under the same license as the gnome-shell package.
|
||||||
# Benjamín Valero Espinosa <benjavalero@gmail.com>, 2011.
|
# Benjamín Valero Espinosa <benjavalero@gmail.com>, 2011.
|
||||||
# Daniel Mustieles <daniel.mustieles@gmail.com>, 2010, 2011.
|
|
||||||
# Jorge González <jorgegonz@svn.gnome.org>, 2009, 2010, 2011.
|
# Jorge González <jorgegonz@svn.gnome.org>, 2009, 2010, 2011.
|
||||||
|
# Daniel Mustieles <daniel.mustieles@gmail.com>, 2010, 2011.
|
||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: gnome-shell.master\n"
|
"Project-Id-Version: gnome-shell.master\n"
|
||||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||||
"shell&keywords=I18N+L10N&component=general\n"
|
"shell&keywords=I18N+L10N&component=general\n"
|
||||||
"POT-Creation-Date: 2011-03-25 20:20+0000\n"
|
"POT-Creation-Date: 2011-04-28 21:32+0000\n"
|
||||||
"PO-Revision-Date: 2011-03-25 21:35+0100\n"
|
"PO-Revision-Date: 2011-04-29 11:09+0200\n"
|
||||||
"Last-Translator: Jorge González <jorgegonz@svn.gnome.org>\n"
|
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
|
||||||
"Language-Team: Español <gnome-es-list@gnome.org>\n"
|
"Language-Team: Español <gnome-es-list@gnome.org>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
@ -96,16 +96,16 @@ msgid ""
|
|||||||
"at the optimal thread count on the system."
|
"at the optimal thread count on the system."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Establece la tubería GStreamer usada para codificar grabaciones. Sigue la "
|
"Establece la tubería GStreamer usada para codificar grabaciones. Sigue la "
|
||||||
"sintaxis usada para gst-launch. La tubería debería tener un sumidero "
|
"sintaxis usada para gst-launch. La tubería debería tener un sumidero («sink») "
|
||||||
"(«sink») de ensamblaje/sesensamblaje donde el vídeo que se está grabando se "
|
"de ensamblaje/sesensamblaje donde el vídeo que se está grabando se graba. "
|
||||||
"graba. Generalmente tendrá un origen de ensamblado/desensamblado; la salida "
|
"Generalmente tendrá un origen de ensamblado/desensamblado; la salida de ese "
|
||||||
"de ese punto se escibirá en el archivo de salida. No obstante la tubería "
|
"punto se escibirá en el archivo de salida. No obstante la tubería también "
|
||||||
"también puede tomar parte en su propia salida; esto se puede usar para "
|
"puede tomar parte en su propia salida; esto se puede usar para enviar la "
|
||||||
"enviar la salida a un servidor «icecast» a través de shout2send o similar. "
|
"salida a un servidor «icecast» a través de shout2send o similar. Cuando no "
|
||||||
"Cuando no está establecido o lo está a un valor vacío, se usará la tubería "
|
"está establecido o lo está a un valor vacío, se usará la tubería "
|
||||||
"predeterminada. Actualmente es «videorate ! vp8enc quality=10 speed=2 "
|
"predeterminada. Actualmente es «videorate ! vp8enc quality=10 speed=2 threads="
|
||||||
"threads=%T ! queue ! webmmux» y greba en WEBM usando el códec VP8. Se usa %T "
|
"%T ! queue ! webmmux» y greba en WEBM usando el códec VP8. Se usa %T como "
|
||||||
"como suposición para el número de hilos óptimos en el sistema."
|
"suposición para el número de hilos óptimos en el sistema."
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:14
|
#: ../data/org.gnome.shell.gschema.xml.in.h:14
|
||||||
msgid "Show date in clock"
|
msgid "Show date in clock"
|
||||||
@ -190,27 +190,27 @@ msgid "Execution of '%s' failed:"
|
|||||||
msgstr "Falló la ejecución de «%s»:"
|
msgstr "Falló la ejecución de «%s»:"
|
||||||
|
|
||||||
#. Translators: Filter to display all applications
|
#. Translators: Filter to display all applications
|
||||||
#: ../js/ui/appDisplay.js:230
|
#: ../js/ui/appDisplay.js:260
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Todas"
|
msgstr "Todas"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:328
|
#: ../js/ui/appDisplay.js:359
|
||||||
msgid "APPLICATIONS"
|
msgid "APPLICATIONS"
|
||||||
msgstr "APLICACIONES"
|
msgstr "APLICACIONES"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:354
|
#: ../js/ui/appDisplay.js:385
|
||||||
msgid "SETTINGS"
|
msgid "SETTINGS"
|
||||||
msgstr "CONFIGURACIÓN"
|
msgstr "CONFIGURACIÓN"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:625
|
#: ../js/ui/appDisplay.js:658
|
||||||
msgid "New Window"
|
msgid "New Window"
|
||||||
msgstr "Ventana nueva"
|
msgstr "Ventana nueva"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:628
|
#: ../js/ui/appDisplay.js:661
|
||||||
msgid "Remove from Favorites"
|
msgid "Remove from Favorites"
|
||||||
msgstr "Quitar de los favoritos"
|
msgstr "Quitar de los favoritos"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:629
|
#: ../js/ui/appDisplay.js:662
|
||||||
msgid "Add to Favorites"
|
msgid "Add to Favorites"
|
||||||
msgstr "Añadir a los favoritos"
|
msgstr "Añadir a los favoritos"
|
||||||
|
|
||||||
@ -343,13 +343,13 @@ msgid "Nothing Scheduled"
|
|||||||
msgstr "Nada programado"
|
msgstr "Nada programado"
|
||||||
|
|
||||||
#. Translators: Shown on calendar heading when selected day occurs on current year
|
#. Translators: Shown on calendar heading when selected day occurs on current year
|
||||||
#: ../js/ui/calendar.js:720
|
#: ../js/ui/calendar.js:720 ../js/ui/telepathyClient.js:487
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d"
|
msgid "%A, %B %d"
|
||||||
msgstr "%A, %d de %B"
|
msgstr "%A, %d de %B"
|
||||||
|
|
||||||
#. Translators: Shown on calendar heading when selected day occurs on different year
|
#. Translators: Shown on calendar heading when selected day occurs on different year
|
||||||
#: ../js/ui/calendar.js:723
|
#: ../js/ui/calendar.js:723 ../js/ui/telepathyClient.js:490
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d, %Y"
|
msgid "%A, %B %d, %Y"
|
||||||
msgstr "%A, %d de %B de %Y"
|
msgstr "%A, %d de %B de %Y"
|
||||||
@ -370,7 +370,7 @@ msgstr "Esta semana"
|
|||||||
msgid "Next week"
|
msgid "Next week"
|
||||||
msgstr "La semana que viene"
|
msgstr "La semana que viene"
|
||||||
|
|
||||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:994
|
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1037
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr "Quitar"
|
msgstr "Quitar"
|
||||||
|
|
||||||
@ -498,8 +498,8 @@ msgstr "El sistema se reiniciará automáticamente en %d segundos."
|
|||||||
msgid "Restarting the system."
|
msgid "Restarting the system."
|
||||||
msgstr "Reiniciando el sistema."
|
msgstr "Reiniciando el sistema."
|
||||||
|
|
||||||
#: ../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
|
#: ../js/ui/status/bluetooth.js:491
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Cancelar"
|
msgstr "Cancelar"
|
||||||
|
|
||||||
@ -533,11 +533,11 @@ msgstr "Ver fuente"
|
|||||||
msgid "Web Page"
|
msgid "Web Page"
|
||||||
msgstr "Página web"
|
msgstr "Página web"
|
||||||
|
|
||||||
#: ../js/ui/messageTray.js:987
|
#: ../js/ui/messageTray.js:1030
|
||||||
msgid "Open"
|
msgid "Open"
|
||||||
msgstr "Abrir"
|
msgstr "Abrir"
|
||||||
|
|
||||||
#: ../js/ui/messageTray.js:2145
|
#: ../js/ui/messageTray.js:2194
|
||||||
msgid "System Information"
|
msgid "System Information"
|
||||||
msgstr "Información del sistema"
|
msgstr "Información del sistema"
|
||||||
|
|
||||||
@ -557,21 +557,21 @@ msgstr "Aplicaciones"
|
|||||||
#. the left of the overview
|
#. the left of the overview
|
||||||
#: ../js/ui/overview.js:205
|
#: ../js/ui/overview.js:205
|
||||||
msgid "Dash"
|
msgid "Dash"
|
||||||
msgstr "Plano"
|
msgstr "Tablero"
|
||||||
|
|
||||||
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
||||||
#: ../js/ui/panel.js:515
|
#: ../js/ui/panel.js:533
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Quit %s"
|
msgid "Quit %s"
|
||||||
msgstr "Salir de %s"
|
msgstr "Salir de %s"
|
||||||
|
|
||||||
#. Button on the left side of the panel.
|
#. 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".
|
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
|
||||||
#: ../js/ui/panel.js:878
|
#: ../js/ui/panel.js:913
|
||||||
msgid "Activities"
|
msgid "Activities"
|
||||||
msgstr "Actividades"
|
msgstr "Actividades"
|
||||||
|
|
||||||
#: ../js/ui/panel.js:979
|
#: ../js/ui/panel.js:1015
|
||||||
msgid "Top Bar"
|
msgid "Top Bar"
|
||||||
msgstr "Barra superior"
|
msgstr "Barra superior"
|
||||||
|
|
||||||
@ -604,11 +604,15 @@ msgstr "Administrador"
|
|||||||
msgid "Authenticate"
|
msgid "Authenticate"
|
||||||
msgstr "Autenticar"
|
msgstr "Autenticar"
|
||||||
|
|
||||||
#: ../js/ui/polkitAuthenticationAgent.js:260
|
#. 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
|
||||||
msgid "Sorry, that didn't work. Please try again."
|
msgid "Sorry, that didn't work. Please try again."
|
||||||
msgstr "Inténtelo de nuevo,"
|
msgstr "Inténtelo de nuevo,"
|
||||||
|
|
||||||
#: ../js/ui/polkitAuthenticationAgent.js:272
|
#: ../js/ui/polkitAuthenticationAgent.js:276
|
||||||
msgid "Password:"
|
msgid "Password:"
|
||||||
msgstr "Contraseña:"
|
msgstr "Contraseña:"
|
||||||
|
|
||||||
@ -625,11 +629,11 @@ msgstr "toggle-switch-intl"
|
|||||||
msgid "Please enter a command:"
|
msgid "Please enter a command:"
|
||||||
msgstr "Introduzca un comando:"
|
msgstr "Introduzca un comando:"
|
||||||
|
|
||||||
#: ../js/ui/searchDisplay.js:310
|
#: ../js/ui/searchDisplay.js:313
|
||||||
msgid "Searching..."
|
msgid "Searching..."
|
||||||
msgstr "Buscando…"
|
msgstr "Buscando…"
|
||||||
|
|
||||||
#: ../js/ui/searchDisplay.js:324
|
#: ../js/ui/searchDisplay.js:327
|
||||||
msgid "No matching results."
|
msgid "No matching results."
|
||||||
msgstr "No se encontró ningún resultado coincidente."
|
msgstr "No se encontró ningún resultado coincidente."
|
||||||
|
|
||||||
@ -712,9 +716,9 @@ msgstr "Contraste alto"
|
|||||||
msgid "Large Text"
|
msgid "Large Text"
|
||||||
msgstr "Texto grande"
|
msgstr "Texto grande"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:237
|
#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:264
|
||||||
#: ../js/ui/status/bluetooth.js:333 ../js/ui/status/bluetooth.js:367
|
#: ../js/ui/status/bluetooth.js:358 ../js/ui/status/bluetooth.js:392
|
||||||
#: ../js/ui/status/bluetooth.js:407 ../js/ui/status/bluetooth.js:440
|
#: ../js/ui/status/bluetooth.js:432 ../js/ui/status/bluetooth.js:465
|
||||||
msgid "Bluetooth"
|
msgid "Bluetooth"
|
||||||
msgstr "Bluetooth"
|
msgstr "Bluetooth"
|
||||||
|
|
||||||
@ -727,101 +731,102 @@ msgid "Send Files to Device..."
|
|||||||
msgstr "Enviar archivos al dispositivo…"
|
msgstr "Enviar archivos al dispositivo…"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:70
|
#: ../js/ui/status/bluetooth.js:70
|
||||||
msgid "Setup a New Device..."
|
#| msgid "Setup a New Device..."
|
||||||
|
msgid "Set up a New Device..."
|
||||||
msgstr "Configurar un dispositivo nuevo…"
|
msgstr "Configurar un dispositivo nuevo…"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:95
|
#: ../js/ui/status/bluetooth.js:95
|
||||||
msgid "Bluetooth Settings"
|
msgid "Bluetooth Settings"
|
||||||
msgstr "Configuración de Bluetooth"
|
msgstr "Configuración de Bluetooth"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:188
|
#: ../js/ui/status/bluetooth.js:215
|
||||||
msgid "Connection"
|
msgid "Connection"
|
||||||
msgstr "Conexión"
|
msgstr "Conexión"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:224
|
#: ../js/ui/status/bluetooth.js:251
|
||||||
msgid "Send Files..."
|
msgid "Send Files..."
|
||||||
msgstr "Enviar archivos…"
|
msgstr "Enviar archivos…"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:229
|
#: ../js/ui/status/bluetooth.js:256
|
||||||
msgid "Browse Files..."
|
msgid "Browse Files..."
|
||||||
msgstr "Examinar archivos…"
|
msgstr "Examinar archivos…"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:238
|
#: ../js/ui/status/bluetooth.js:265
|
||||||
msgid "Error browsing device"
|
msgid "Error browsing device"
|
||||||
msgstr "Error al examinar el dispositivo"
|
msgstr "Error al examinar el dispositivo"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:239
|
#: ../js/ui/status/bluetooth.js:266
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "The requested device cannot be browsed, error is '%s'"
|
msgid "The requested device cannot be browsed, error is '%s'"
|
||||||
msgstr "No se puede examinar el dispositivo solicitado, el error es «%s»"
|
msgstr "No se puede examinar el dispositivo solicitado, el error es «%s»"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:247
|
#: ../js/ui/status/bluetooth.js:274
|
||||||
msgid "Keyboard Settings"
|
msgid "Keyboard Settings"
|
||||||
msgstr "Configuración del teclado"
|
msgstr "Configuración del teclado"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:252
|
#: ../js/ui/status/bluetooth.js:279
|
||||||
msgid "Mouse Settings"
|
msgid "Mouse Settings"
|
||||||
msgstr "Ajustes del ratón…"
|
msgstr "Ajustes del ratón…"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:259 ../js/ui/status/volume.js:66
|
#: ../js/ui/status/bluetooth.js:286 ../js/ui/status/volume.js:66
|
||||||
msgid "Sound Settings"
|
msgid "Sound Settings"
|
||||||
msgstr "Configuración del sonido"
|
msgstr "Configuración del sonido"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:368
|
#: ../js/ui/status/bluetooth.js:393
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Authorization request from %s"
|
msgid "Authorization request from %s"
|
||||||
msgstr "Solicitud de autorización de %s"
|
msgstr "Solicitud de autorización de %s"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:374
|
#: ../js/ui/status/bluetooth.js:399
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Device %s wants access to the service '%s'"
|
msgid "Device %s wants access to the service '%s'"
|
||||||
msgstr "El dispositivo %s quiere acceder al servicio «%s»"
|
msgstr "El dispositivo %s quiere acceder al servicio «%s»"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:376
|
#: ../js/ui/status/bluetooth.js:401
|
||||||
msgid "Always grant access"
|
msgid "Always grant access"
|
||||||
msgstr "Conceder acceso siempre"
|
msgstr "Conceder acceso siempre"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:377
|
#: ../js/ui/status/bluetooth.js:402
|
||||||
msgid "Grant this time only"
|
msgid "Grant this time only"
|
||||||
msgstr "Conceder sólo esta vez"
|
msgstr "Conceder sólo esta vez"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:378
|
#: ../js/ui/status/bluetooth.js:403
|
||||||
msgid "Reject"
|
msgid "Reject"
|
||||||
msgstr "Rechazar"
|
msgstr "Rechazar"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:408
|
#: ../js/ui/status/bluetooth.js:433
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Pairing confirmation for %s"
|
msgid "Pairing confirmation for %s"
|
||||||
msgstr "Confirmación de emparejamiento para «%s»"
|
msgstr "Confirmación de emparejamiento para «%s»"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:448
|
#: ../js/ui/status/bluetooth.js:439 ../js/ui/status/bluetooth.js:473
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Device %s wants to pair with this computer"
|
msgid "Device %s wants to pair with this computer"
|
||||||
msgstr "El dispositivo «%s» quiere emparejarse con este equipo"
|
msgstr "El dispositivo «%s» quiere emparejarse con este equipo"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:415
|
#: ../js/ui/status/bluetooth.js:440
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Please confirm whether the PIN '%s' matches the one on the device."
|
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."
|
msgstr "Confirme que el PIN mostrado en «%s» coincide con el del dispositivo."
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:417
|
#: ../js/ui/status/bluetooth.js:442
|
||||||
msgid "Matches"
|
msgid "Matches"
|
||||||
msgstr "Coincide"
|
msgstr "Coincide"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:418
|
#: ../js/ui/status/bluetooth.js:443
|
||||||
msgid "Does not match"
|
msgid "Does not match"
|
||||||
msgstr "No coincide"
|
msgstr "No coincide"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:441
|
#: ../js/ui/status/bluetooth.js:466
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Pairing request for %s"
|
msgid "Pairing request for %s"
|
||||||
msgstr "Solicitud de emparejamiento para «%s»"
|
msgstr "Solicitud de emparejamiento para «%s»"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:449
|
#: ../js/ui/status/bluetooth.js:474
|
||||||
msgid "Please enter the PIN mentioned on the device."
|
msgid "Please enter the PIN mentioned on the device."
|
||||||
msgstr "Introduzca el PIN mencionado en el dispositivo."
|
msgstr "Introduzca el PIN mencionado en el dispositivo."
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:465
|
#: ../js/ui/status/bluetooth.js:490
|
||||||
msgid "OK"
|
msgid "OK"
|
||||||
msgstr "Aceptar"
|
msgstr "Aceptar"
|
||||||
|
|
||||||
@ -833,139 +838,139 @@ msgstr "Mostrar la distribución del teclado…"
|
|||||||
msgid "Localization Settings"
|
msgid "Localization Settings"
|
||||||
msgstr "Configuración regional"
|
msgstr "Configuración regional"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:102 ../js/ui/status/network.js:1437
|
#: ../js/ui/status/network.js:113
|
||||||
msgid "<unknown>"
|
msgid "<unknown>"
|
||||||
msgstr "<desconocido>"
|
msgstr "<desconocido>"
|
||||||
|
|
||||||
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
||||||
#: ../js/ui/status/network.js:295
|
#: ../js/ui/status/network.js:330
|
||||||
msgid "disabled"
|
msgid "disabled"
|
||||||
msgstr "desactivada"
|
msgstr "desactivada"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:478
|
#: ../js/ui/status/network.js:528
|
||||||
msgid "connecting..."
|
msgid "connecting..."
|
||||||
msgstr "conectando…"
|
msgstr "conectando…"
|
||||||
|
|
||||||
#. Translators: this is for network connections that require some kind of key or password
|
#. Translators: this is for network connections that require some kind of key or password
|
||||||
#: ../js/ui/status/network.js:481
|
#: ../js/ui/status/network.js:531
|
||||||
msgid "authentication required"
|
msgid "authentication required"
|
||||||
msgstr "se necesita autenticación"
|
msgstr "se necesita autenticación"
|
||||||
|
|
||||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||||
#. module, which is missing
|
#. module, which is missing
|
||||||
#: ../js/ui/status/network.js:491
|
#: ../js/ui/status/network.js:541
|
||||||
msgid "firmware missing"
|
msgid "firmware missing"
|
||||||
msgstr "falta el «firmware»"
|
msgstr "falta el «firmware»"
|
||||||
|
|
||||||
#. Translators: this is for wired network devices that are physically disconnected
|
#. Translators: this is for wired network devices that are physically disconnected
|
||||||
#: ../js/ui/status/network.js:498
|
#: ../js/ui/status/network.js:548
|
||||||
msgid "cable unplugged"
|
msgid "cable unplugged"
|
||||||
msgstr "cable desconectado"
|
msgstr "cable desconectado"
|
||||||
|
|
||||||
#. Translators: this is for a network device that cannot be activated (for example it
|
#. Translators: this is for a network device that cannot be activated (for example it
|
||||||
#. is disabled by rfkill, or it has no coverage
|
#. is disabled by rfkill, or it has no coverage
|
||||||
#: ../js/ui/status/network.js:503
|
#: ../js/ui/status/network.js:553
|
||||||
msgid "unavailable"
|
msgid "unavailable"
|
||||||
msgstr "no disponible"
|
msgstr "no disponible"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:505
|
#: ../js/ui/status/network.js:555
|
||||||
msgid "connection failed"
|
msgid "connection failed"
|
||||||
msgstr "falló la conexión"
|
msgstr "falló la conexión"
|
||||||
|
|
||||||
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
||||||
#. and we cannot access its settings (including the name)
|
#. and we cannot access its settings (including the name)
|
||||||
#: ../js/ui/status/network.js:585 ../js/ui/status/network.js:1385
|
#: ../js/ui/status/network.js:635 ../js/ui/status/network.js:1532
|
||||||
msgid "Connected (private)"
|
msgid "Connected (private)"
|
||||||
msgstr "Conectada (privada)"
|
msgstr "Conectada (privada)"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:666
|
#: ../js/ui/status/network.js:720
|
||||||
msgid "Auto Ethernet"
|
msgid "Auto Ethernet"
|
||||||
msgstr "Ethernet automática"
|
msgstr "Ethernet automática"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:741
|
#: ../js/ui/status/network.js:795
|
||||||
msgid "Auto broadband"
|
msgid "Auto broadband"
|
||||||
msgstr "Banda ancha automática"
|
msgstr "Banda ancha automática"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:744
|
#: ../js/ui/status/network.js:798
|
||||||
msgid "Auto dial-up"
|
msgid "Auto dial-up"
|
||||||
msgstr "Marcado automático"
|
msgstr "Marcado automático"
|
||||||
|
|
||||||
#. TRANSLATORS: this the automatic wireless connection name (including the network name)
|
#. TRANSLATORS: this the automatic wireless connection name (including the network name)
|
||||||
#: ../js/ui/status/network.js:887 ../js/ui/status/network.js:1397
|
#: ../js/ui/status/network.js:944 ../js/ui/status/network.js:1544
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Auto %s"
|
msgid "Auto %s"
|
||||||
msgstr "%s automática"
|
msgstr "%s automática"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:889
|
#: ../js/ui/status/network.js:946
|
||||||
msgid "Auto bluetooth"
|
msgid "Auto bluetooth"
|
||||||
msgstr "Bluetooth automático"
|
msgstr "Bluetooth automático"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1399
|
#: ../js/ui/status/network.js:1546
|
||||||
msgid "Auto wireless"
|
msgid "Auto wireless"
|
||||||
msgstr "Inalámbrica automática"
|
msgstr "Inalámbrica automática"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1457
|
#: ../js/ui/status/network.js:1583
|
||||||
msgid "More..."
|
msgid "More..."
|
||||||
msgstr "Más…"
|
msgstr "Más…"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1480
|
#: ../js/ui/status/network.js:1625
|
||||||
msgid "Enable networking"
|
msgid "Enable networking"
|
||||||
msgstr "Activar red"
|
msgstr "Activar red"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1492
|
#: ../js/ui/status/network.js:1637
|
||||||
msgid "Wired"
|
msgid "Wired"
|
||||||
msgstr "Cableada"
|
msgstr "Cableada"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1503
|
#: ../js/ui/status/network.js:1648
|
||||||
msgid "Wireless"
|
msgid "Wireless"
|
||||||
msgstr "Inalámbrica"
|
msgstr "Inalámbrica"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1513
|
#: ../js/ui/status/network.js:1658
|
||||||
msgid "Mobile broadband"
|
msgid "Mobile broadband"
|
||||||
msgstr "Banda ancha móvil"
|
msgstr "Banda ancha móvil"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1523
|
#: ../js/ui/status/network.js:1668
|
||||||
msgid "VPN Connections"
|
msgid "VPN Connections"
|
||||||
msgstr "Conexiones VPN"
|
msgstr "Conexiones VPN"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1532
|
#: ../js/ui/status/network.js:1680
|
||||||
msgid "Network Settings"
|
msgid "Network Settings"
|
||||||
msgstr "Configuración de la red"
|
msgstr "Configuración de la red"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1827
|
#: ../js/ui/status/network.js:1974
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to mobile broadband connection '%s'"
|
msgid "You're now connected to mobile broadband connection '%s'"
|
||||||
msgstr "Ahora está conectado a la red de banda ancha móvil «%s»"
|
msgstr "Ahora está conectado a la red de banda ancha móvil «%s»"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1831
|
#: ../js/ui/status/network.js:1978
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to wireless network '%s'"
|
msgid "You're now connected to wireless network '%s'"
|
||||||
msgstr "Ahora está conectado a la red inalámbrica «%s»"
|
msgstr "Ahora está conectado a la red inalámbrica «%s»"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1835
|
#: ../js/ui/status/network.js:1982
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to wired network '%s'"
|
msgid "You're now connected to wired network '%s'"
|
||||||
msgstr "Ahora está conectado a la red cableada «%s»"
|
msgstr "Ahora está conectado a la red cableada «%s»"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1839
|
#: ../js/ui/status/network.js:1986
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to VPN network '%s'"
|
msgid "You're now connected to VPN network '%s'"
|
||||||
msgstr "Ahora está conectado a la VPN «%s»"
|
msgstr "Ahora está conectado a la VPN «%s»"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1844
|
#: ../js/ui/status/network.js:1991
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to '%s'"
|
msgid "You're now connected to '%s'"
|
||||||
msgstr "Ahora está conectado a «%s»"
|
msgstr "Ahora está conectado a «%s»"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1852
|
#: ../js/ui/status/network.js:1999
|
||||||
msgid "Connection established"
|
msgid "Connection established"
|
||||||
msgstr "Conexión establecida"
|
msgstr "Conexión establecida"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1974
|
#: ../js/ui/status/network.js:2125
|
||||||
msgid "Networking is disabled"
|
msgid "Networking is disabled"
|
||||||
msgstr "La red está desactivada"
|
msgstr "La red está desactivada"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:2099
|
#: ../js/ui/status/network.js:2250
|
||||||
msgid "Network Manager"
|
msgid "Network Manager"
|
||||||
msgstr "Gestor de la red"
|
msgstr "Gestor de la red"
|
||||||
|
|
||||||
@ -1067,22 +1072,22 @@ msgstr "Volumen"
|
|||||||
msgid "Microphone"
|
msgid "Microphone"
|
||||||
msgstr "Micrófono"
|
msgstr "Micrófono"
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:332
|
#: ../js/ui/telepathyClient.js:330
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is online."
|
msgid "%s is online."
|
||||||
msgstr "%s está conectado/a."
|
msgstr "%s está conectado/a."
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:337
|
#: ../js/ui/telepathyClient.js:335
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is offline."
|
msgid "%s is offline."
|
||||||
msgstr "%s está desconectado/a."
|
msgstr "%s está desconectado/a."
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:340
|
#: ../js/ui/telepathyClient.js:338
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is away."
|
msgid "%s is away."
|
||||||
msgstr "%s está ausente."
|
msgstr "%s está ausente."
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:343
|
#: ../js/ui/telepathyClient.js:341
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is busy."
|
msgid "%s is busy."
|
||||||
msgstr "%s está ocupado/a."
|
msgstr "%s está ocupado/a."
|
||||||
@ -1090,11 +1095,18 @@ msgstr "%s está ocupado/a."
|
|||||||
#. Translators: this is a time format string followed by a date.
|
#. Translators: this is a time format string followed by a date.
|
||||||
#. If applicable, replace %X with a strftime format valid for your
|
#. If applicable, replace %X with a strftime format valid for your
|
||||||
#. locale, without seconds.
|
#. locale, without seconds.
|
||||||
#: ../js/ui/telepathyClient.js:474
|
#: ../js/ui/telepathyClient.js:479
|
||||||
#, no-c-format
|
#, no-c-format
|
||||||
msgid "Sent at %X on %A"
|
msgid "Sent at %X on %A"
|
||||||
msgstr "Enviado a las %X el %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
|
#. Translators: this is the text displayed
|
||||||
#. in the search entry when no search is
|
#. in the search entry when no search is
|
||||||
#. active; it should not exceed ~30
|
#. active; it should not exceed ~30
|
||||||
@ -1139,7 +1151,7 @@ msgstr[1] "%u entradas"
|
|||||||
msgid "System Sounds"
|
msgid "System Sounds"
|
||||||
msgstr "Sonidos del sistema"
|
msgstr "Sonidos del sistema"
|
||||||
|
|
||||||
#: ../src/main.c:446
|
#: ../src/main.c:445
|
||||||
msgid "Print version"
|
msgid "Print version"
|
||||||
msgstr "Imprimir versión"
|
msgstr "Imprimir versión"
|
||||||
|
|
||||||
@ -1148,38 +1160,6 @@ msgstr "Imprimir versión"
|
|||||||
msgid "Failed to launch '%s'"
|
msgid "Failed to launch '%s'"
|
||||||
msgstr "Falló al lanzar «%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
|
#: ../src/shell-mobile-providers.c:80
|
||||||
msgid "United Kingdom"
|
msgid "United Kingdom"
|
||||||
msgstr "Reino Unido"
|
msgstr "Reino Unido"
|
||||||
@ -1212,6 +1192,29 @@ msgstr "Sistema de archivos"
|
|||||||
msgid "%1$s: %2$s"
|
msgid "%1$s: %2$s"
|
||||||
msgstr "%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"
|
#~ msgid "Shut Down"
|
||||||
#~ msgstr "Apagar"
|
#~ msgstr "Apagar"
|
||||||
|
|
||||||
@ -1239,9 +1242,6 @@ msgstr "%1$s: %2$s"
|
|||||||
#~ msgid "Screen Keyboard"
|
#~ msgid "Screen Keyboard"
|
||||||
#~ msgstr "Teclado en pantalla"
|
#~ msgstr "Teclado en pantalla"
|
||||||
|
|
||||||
#~ msgid "%s is now known as %s"
|
|
||||||
#~ msgstr "Ahora %s se llama %s"
|
|
||||||
|
|
||||||
#~ msgid "PREFERENCES"
|
#~ msgid "PREFERENCES"
|
||||||
#~ msgstr "PREFERENCIAS"
|
#~ msgstr "PREFERENCIAS"
|
||||||
|
|
||||||
@ -1416,8 +1416,8 @@ msgstr "%1$s: %2$s"
|
|||||||
#~ "If true and format is either \"12-hour\" or \"24-hour\", display seconds "
|
#~ "If true and format is either \"12-hour\" or \"24-hour\", display seconds "
|
||||||
#~ "in time."
|
#~ "in time."
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
#~ "Si es cierta y el formato es «12-horas» o «24-horas», muestra los "
|
#~ "Si es cierta y el formato es «12-horas» o «24-horas», muestra los segundos "
|
||||||
#~ "segundos en la hora."
|
#~ "en la hora."
|
||||||
|
|
||||||
#~ msgid ""
|
#~ msgid ""
|
||||||
#~ "This key specifies the format used by the panel clock when the format key "
|
#~ "This key specifies the format used by the panel clock when the format key "
|
||||||
@ -1434,19 +1434,18 @@ msgstr "%1$s: %2$s"
|
|||||||
#~ msgid ""
|
#~ msgid ""
|
||||||
#~ "This key specifies the hour format used by the panel clock. Possible "
|
#~ "This key specifies the hour format used by the panel clock. Possible "
|
||||||
#~ "values are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to "
|
#~ "values are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to "
|
||||||
#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. "
|
#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. 1970-"
|
||||||
#~ "1970-01-01. If set to \"custom\", the clock will display time according "
|
#~ "01-01. If set to \"custom\", the clock will display time according to the "
|
||||||
#~ "to the format specified in the custom_format key. Note that if set to "
|
#~ "format specified in the custom_format key. Note that if set to either "
|
||||||
#~ "either \"unix\" or \"custom\", the show_date and show_seconds keys are "
|
#~ "\"unix\" or \"custom\", the show_date and show_seconds keys are ignored."
|
||||||
#~ "ignored."
|
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
#~ "Esta clave especifica el formato de la hora especificado por el reloj del "
|
#~ "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 "
|
#~ "panel. Los valores posibles son «12-hour» (12 horas), «24-hour» (24 horas), "
|
||||||
#~ "horas), «unix» y «custom» (personalizado).Si se establece a «unix» el "
|
#~ "«unix» y «custom» (personalizado).Si se establece a «unix» el reloj mostrará "
|
||||||
#~ "reloj mostrará la hora en segundos desde la época (1 de enero de 1970). "
|
#~ "la hora en segundos desde la época (1 de enero de 1970). Si se establece "
|
||||||
#~ "Si se establece a «custom» el reloj mostrará la hora según el formato "
|
#~ "a «custom» el reloj mostrará la hora según el formato especificado en la "
|
||||||
#~ "especificado en la clave «custom_format». Note que si se establece a "
|
#~ "clave «custom_format». Note que si se establece a «unix» o «custom» se "
|
||||||
#~ "«unix» o «custom» se ignoran las claves «show_date» y «show_seconds»."
|
#~ "ignoran las claves «show_date» y «show_seconds»."
|
||||||
|
|
||||||
#~ msgid "Clock Format"
|
#~ msgid "Clock Format"
|
||||||
#~ msgstr "Formato del reloj"
|
#~ msgstr "Formato del reloj"
|
||||||
|
114
po/gl.po
@ -12,8 +12,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: gnome-shell master\n"
|
"Project-Id-Version: gnome-shell master\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2011-03-27 20:33+0200\n"
|
"POT-Creation-Date: 2011-04-22 17:56+0200\n"
|
||||||
"PO-Revision-Date: 2011-03-27 20:33+0200\n"
|
"PO-Revision-Date: 2011-04-22 17:57+0200\n"
|
||||||
"Last-Translator: Fran Diéguez <frandieguez@gnome.org>\n"
|
"Last-Translator: Fran Diéguez <frandieguez@gnome.org>\n"
|
||||||
"Language-Team: Galician <gnome-l10n-gl@gnome.org>\n"
|
"Language-Team: Galician <gnome-l10n-gl@gnome.org>\n"
|
||||||
"Language: gl\n"
|
"Language: gl\n"
|
||||||
@ -197,23 +197,23 @@ msgstr "Produciuse un fallo na execución de «%s»:"
|
|||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Todos"
|
msgstr "Todos"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:328
|
#: ../js/ui/appDisplay.js:329
|
||||||
msgid "APPLICATIONS"
|
msgid "APPLICATIONS"
|
||||||
msgstr "APLICATIVOS"
|
msgstr "APLICATIVOS"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:354
|
#: ../js/ui/appDisplay.js:355
|
||||||
msgid "SETTINGS"
|
msgid "SETTINGS"
|
||||||
msgstr "CONFIGURACIÓN"
|
msgstr "CONFIGURACIÓN"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:625
|
#: ../js/ui/appDisplay.js:626
|
||||||
msgid "New Window"
|
msgid "New Window"
|
||||||
msgstr "Xanela nova"
|
msgstr "Xanela nova"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:628
|
#: ../js/ui/appDisplay.js:629
|
||||||
msgid "Remove from Favorites"
|
msgid "Remove from Favorites"
|
||||||
msgstr "Eliminar dos favoritos"
|
msgstr "Eliminar dos favoritos"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:629
|
#: ../js/ui/appDisplay.js:630
|
||||||
msgid "Add to Favorites"
|
msgid "Add to Favorites"
|
||||||
msgstr "Engadir aos favoritos"
|
msgstr "Engadir aos favoritos"
|
||||||
|
|
||||||
@ -346,13 +346,13 @@ msgid "Nothing Scheduled"
|
|||||||
msgstr "Nada programado"
|
msgstr "Nada programado"
|
||||||
|
|
||||||
#. Translators: Shown on calendar heading when selected day occurs on current year
|
#. Translators: Shown on calendar heading when selected day occurs on current year
|
||||||
#: ../js/ui/calendar.js:720
|
#: ../js/ui/calendar.js:720 ../js/ui/telepathyClient.js:492
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d"
|
msgid "%A, %B %d"
|
||||||
msgstr "%A, %d de %B"
|
msgstr "%A, %d de %B"
|
||||||
|
|
||||||
#. Translators: Shown on calendar heading when selected day occurs on different year
|
#. Translators: Shown on calendar heading when selected day occurs on different year
|
||||||
#: ../js/ui/calendar.js:723
|
#: ../js/ui/calendar.js:723 ../js/ui/telepathyClient.js:495
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d, %Y"
|
msgid "%A, %B %d, %Y"
|
||||||
msgstr "%A, %d de %B de %Y"
|
msgstr "%A, %d de %B de %Y"
|
||||||
@ -373,7 +373,7 @@ msgstr "Esta semana"
|
|||||||
msgid "Next week"
|
msgid "Next week"
|
||||||
msgstr "A vindeira semana"
|
msgstr "A vindeira semana"
|
||||||
|
|
||||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1000
|
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1037
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr "Eliminar"
|
msgstr "Eliminar"
|
||||||
|
|
||||||
@ -409,17 +409,17 @@ msgstr "%a %R"
|
|||||||
#. for AM/PM.
|
#. for AM/PM.
|
||||||
#: ../js/ui/dateMenu.js:177
|
#: ../js/ui/dateMenu.js:177
|
||||||
msgid "%a %b %e, %l:%M:%S %p"
|
msgid "%a %b %e, %l:%M:%S %p"
|
||||||
msgstr "%a %e de %b, %H:%M:%S"
|
msgstr "%a %e de %b, %l:%M:%S"
|
||||||
|
|
||||||
#: ../js/ui/dateMenu.js:178
|
#: ../js/ui/dateMenu.js:178
|
||||||
msgid "%a %b %e, %l:%M %p"
|
msgid "%a %b %e, %l:%M %p"
|
||||||
msgstr "%a %e de %b, %H:%M"
|
msgstr "%a %e de %b, %l:%M %p"
|
||||||
|
|
||||||
#. Translators: This is a time format without date used
|
#. Translators: This is a time format without date used
|
||||||
#. for AM/PM.
|
#. for AM/PM.
|
||||||
#: ../js/ui/dateMenu.js:182
|
#: ../js/ui/dateMenu.js:182
|
||||||
msgid "%a %l:%M:%S %p"
|
msgid "%a %l:%M:%S %p"
|
||||||
msgstr "%a %H:%M:%S"
|
msgstr "%a %l:%M:%S %p"
|
||||||
|
|
||||||
#: ../js/ui/dateMenu.js:183
|
#: ../js/ui/dateMenu.js:183
|
||||||
msgid "%a %l:%M %p"
|
msgid "%a %l:%M %p"
|
||||||
@ -502,7 +502,7 @@ msgstr "O seu computador reiniciarase automaticamente en %d segundos."
|
|||||||
msgid "Restarting the system."
|
msgid "Restarting the system."
|
||||||
msgstr "Reiniciando o computador."
|
msgstr "Reiniciando o computador."
|
||||||
|
|
||||||
#: ../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
|
#: ../js/ui/status/bluetooth.js:466
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Cancelar"
|
msgstr "Cancelar"
|
||||||
@ -537,11 +537,11 @@ msgstr "Ver fonte"
|
|||||||
msgid "Web Page"
|
msgid "Web Page"
|
||||||
msgstr "Páxina web"
|
msgstr "Páxina web"
|
||||||
|
|
||||||
#: ../js/ui/messageTray.js:993
|
#: ../js/ui/messageTray.js:1030
|
||||||
msgid "Open"
|
msgid "Open"
|
||||||
msgstr "Abrir"
|
msgstr "Abrir"
|
||||||
|
|
||||||
#: ../js/ui/messageTray.js:2151
|
#: ../js/ui/messageTray.js:2194
|
||||||
msgid "System Information"
|
msgid "System Information"
|
||||||
msgstr "Información do sistema"
|
msgstr "Información do sistema"
|
||||||
|
|
||||||
@ -564,18 +564,18 @@ msgid "Dash"
|
|||||||
msgstr "Panel"
|
msgstr "Panel"
|
||||||
|
|
||||||
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
||||||
#: ../js/ui/panel.js:515
|
#: ../js/ui/panel.js:524
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Quit %s"
|
msgid "Quit %s"
|
||||||
msgstr "Saír de %s"
|
msgstr "Saír de %s"
|
||||||
|
|
||||||
#. Button on the left side of the panel.
|
#. 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".
|
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
|
||||||
#: ../js/ui/panel.js:878
|
#: ../js/ui/panel.js:902
|
||||||
msgid "Activities"
|
msgid "Activities"
|
||||||
msgstr "Actividades"
|
msgstr "Actividades"
|
||||||
|
|
||||||
#: ../js/ui/panel.js:979
|
#: ../js/ui/panel.js:1003
|
||||||
msgid "Top Bar"
|
msgid "Top Bar"
|
||||||
msgstr "Barra superior"
|
msgstr "Barra superior"
|
||||||
|
|
||||||
@ -633,11 +633,11 @@ msgstr "toggle-switch-intl"
|
|||||||
msgid "Please enter a command:"
|
msgid "Please enter a command:"
|
||||||
msgstr "Insira unha orde:"
|
msgstr "Insira unha orde:"
|
||||||
|
|
||||||
#: ../js/ui/searchDisplay.js:310
|
#: ../js/ui/searchDisplay.js:311
|
||||||
msgid "Searching..."
|
msgid "Searching..."
|
||||||
msgstr "Buscando..."
|
msgstr "Buscando..."
|
||||||
|
|
||||||
#: ../js/ui/searchDisplay.js:324
|
#: ../js/ui/searchDisplay.js:325
|
||||||
msgid "No matching results."
|
msgid "No matching results."
|
||||||
msgstr "Non hai resultados que coincidan."
|
msgstr "Non hai resultados que coincidan."
|
||||||
|
|
||||||
@ -841,139 +841,139 @@ msgstr "Mostrar a distribución do teclado…"
|
|||||||
msgid "Localization Settings"
|
msgid "Localization Settings"
|
||||||
msgstr "Configuracións do son"
|
msgstr "Configuracións do son"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:104 ../js/ui/status/network.js:1454
|
#: ../js/ui/status/network.js:109 ../js/ui/status/network.js:1498
|
||||||
msgid "<unknown>"
|
msgid "<unknown>"
|
||||||
msgstr "<descoñecida>"
|
msgstr "<descoñecida>"
|
||||||
|
|
||||||
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
||||||
#: ../js/ui/status/network.js:311
|
#: ../js/ui/status/network.js:326
|
||||||
msgid "disabled"
|
msgid "disabled"
|
||||||
msgstr "desactivada"
|
msgstr "desactivada"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:494
|
#: ../js/ui/status/network.js:521
|
||||||
msgid "connecting..."
|
msgid "connecting..."
|
||||||
msgstr "conectando..."
|
msgstr "conectando..."
|
||||||
|
|
||||||
#. Translators: this is for network connections that require some kind of key or password
|
#. Translators: this is for network connections that require some kind of key or password
|
||||||
#: ../js/ui/status/network.js:497
|
#: ../js/ui/status/network.js:524
|
||||||
msgid "authentication required"
|
msgid "authentication required"
|
||||||
msgstr "autenticación requirida"
|
msgstr "autenticación requirida"
|
||||||
|
|
||||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||||
#. module, which is missing
|
#. module, which is missing
|
||||||
#: ../js/ui/status/network.js:507
|
#: ../js/ui/status/network.js:534
|
||||||
msgid "firmware missing"
|
msgid "firmware missing"
|
||||||
msgstr "falta o «firmware»"
|
msgstr "falta o «firmware»"
|
||||||
|
|
||||||
#. Translators: this is for wired network devices that are physically disconnected
|
#. Translators: this is for wired network devices that are physically disconnected
|
||||||
#: ../js/ui/status/network.js:514
|
#: ../js/ui/status/network.js:541
|
||||||
msgid "cable unplugged"
|
msgid "cable unplugged"
|
||||||
msgstr "cable desconectado"
|
msgstr "cable desconectado"
|
||||||
|
|
||||||
#. Translators: this is for a network device that cannot be activated (for example it
|
#. Translators: this is for a network device that cannot be activated (for example it
|
||||||
#. is disabled by rfkill, or it has no coverage
|
#. is disabled by rfkill, or it has no coverage
|
||||||
#: ../js/ui/status/network.js:519
|
#: ../js/ui/status/network.js:546
|
||||||
msgid "unavailable"
|
msgid "unavailable"
|
||||||
msgstr "non dispoñíbel"
|
msgstr "non dispoñíbel"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:521
|
#: ../js/ui/status/network.js:548
|
||||||
msgid "connection failed"
|
msgid "connection failed"
|
||||||
msgstr "conexión fallida"
|
msgstr "conexión fallida"
|
||||||
|
|
||||||
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
||||||
#. and we cannot access its settings (including the name)
|
#. 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:628 ../js/ui/status/network.js:1446
|
||||||
msgid "Connected (private)"
|
msgid "Connected (private)"
|
||||||
msgstr "Conectado (privado)"
|
msgstr "Conectado (privado)"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:683
|
#: ../js/ui/status/network.js:713
|
||||||
msgid "Auto Ethernet"
|
msgid "Auto Ethernet"
|
||||||
msgstr "Ethernet automática"
|
msgstr "Ethernet automática"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:758
|
#: ../js/ui/status/network.js:788
|
||||||
msgid "Auto broadband"
|
msgid "Auto broadband"
|
||||||
msgstr "Banda larga automática"
|
msgstr "Banda larga automática"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:761
|
#: ../js/ui/status/network.js:791
|
||||||
msgid "Auto dial-up"
|
msgid "Auto dial-up"
|
||||||
msgstr "Por liña conmutada automática"
|
msgstr "Por liña conmutada automática"
|
||||||
|
|
||||||
#. TRANSLATORS: this the automatic wireless connection name (including the network name)
|
#. 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:937 ../js/ui/status/network.js:1458
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Auto %s"
|
msgid "Auto %s"
|
||||||
msgstr "%s automática"
|
msgstr "%s automática"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:906
|
#: ../js/ui/status/network.js:939
|
||||||
msgid "Auto bluetooth"
|
msgid "Auto bluetooth"
|
||||||
msgstr "Bluetooth automática"
|
msgstr "Bluetooth automática"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1416
|
#: ../js/ui/status/network.js:1460
|
||||||
msgid "Auto wireless"
|
msgid "Auto wireless"
|
||||||
msgstr "Sen fíos automática"
|
msgstr "Sen fíos automática"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1474
|
#: ../js/ui/status/network.js:1518
|
||||||
msgid "More..."
|
msgid "More..."
|
||||||
msgstr "Máis..."
|
msgstr "Máis..."
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1497
|
#: ../js/ui/status/network.js:1541
|
||||||
msgid "Enable networking"
|
msgid "Enable networking"
|
||||||
msgstr "Activar rede"
|
msgstr "Activar rede"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1509
|
#: ../js/ui/status/network.js:1553
|
||||||
msgid "Wired"
|
msgid "Wired"
|
||||||
msgstr "Con fíos"
|
msgstr "Con fíos"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1520
|
#: ../js/ui/status/network.js:1564
|
||||||
msgid "Wireless"
|
msgid "Wireless"
|
||||||
msgstr "Sen fíos"
|
msgstr "Sen fíos"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1530
|
#: ../js/ui/status/network.js:1574
|
||||||
msgid "Mobile broadband"
|
msgid "Mobile broadband"
|
||||||
msgstr "Banda larga móbil"
|
msgstr "Banda larga móbil"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1540
|
#: ../js/ui/status/network.js:1584
|
||||||
msgid "VPN Connections"
|
msgid "VPN Connections"
|
||||||
msgstr "Conexións VPN"
|
msgstr "Conexións VPN"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1549
|
#: ../js/ui/status/network.js:1596
|
||||||
msgid "Network Settings"
|
msgid "Network Settings"
|
||||||
msgstr "Configuracións da rede"
|
msgstr "Configuracións da rede"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1844
|
#: ../js/ui/status/network.js:1890
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to mobile broadband connection '%s'"
|
msgid "You're now connected to mobile broadband connection '%s'"
|
||||||
msgstr "Vostede está conectado agora á conexión de banda larga móbil «%s»"
|
msgstr "Vostede está conectado agora á conexión de banda larga móbil «%s»"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1848
|
#: ../js/ui/status/network.js:1894
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to wireless network '%s'"
|
msgid "You're now connected to wireless network '%s'"
|
||||||
msgstr "Vostede está conectado agora á conexión sen fíos «%s»"
|
msgstr "Vostede está conectado agora á conexión sen fíos «%s»"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1852
|
#: ../js/ui/status/network.js:1898
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to wired network '%s'"
|
msgid "You're now connected to wired network '%s'"
|
||||||
msgstr "Vostede está conectado agora á conexión con fíos «%s»"
|
msgstr "Vostede está conectado agora á conexión con fíos «%s»"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1856
|
#: ../js/ui/status/network.js:1902
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to VPN network '%s'"
|
msgid "You're now connected to VPN network '%s'"
|
||||||
msgstr "Vostede está conectado agora á conexión VPN «%s»"
|
msgstr "Vostede está conectado agora á conexión VPN «%s»"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1861
|
#: ../js/ui/status/network.js:1907
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to '%s'"
|
msgid "You're now connected to '%s'"
|
||||||
msgstr "Vostede está conectado agora a «%s»"
|
msgstr "Vostede está conectado agora a «%s»"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1869
|
#: ../js/ui/status/network.js:1915
|
||||||
msgid "Connection established"
|
msgid "Connection established"
|
||||||
msgstr "Conexión estabelecida"
|
msgstr "Conexión estabelecida"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1991
|
#: ../js/ui/status/network.js:2041
|
||||||
msgid "Networking is disabled"
|
msgid "Networking is disabled"
|
||||||
msgstr "A rede está desactivada"
|
msgstr "A rede está desactivada"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:2116
|
#: ../js/ui/status/network.js:2166
|
||||||
msgid "Network Manager"
|
msgid "Network Manager"
|
||||||
msgstr "Xestor de rede"
|
msgstr "Xestor de rede"
|
||||||
|
|
||||||
@ -1075,22 +1075,22 @@ msgstr "Volume"
|
|||||||
msgid "Microphone"
|
msgid "Microphone"
|
||||||
msgstr "Micrófono"
|
msgstr "Micrófono"
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:331
|
#: ../js/ui/telepathyClient.js:335
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is online."
|
msgid "%s is online."
|
||||||
msgstr "%s está conectado/a."
|
msgstr "%s está conectado/a."
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:336
|
#: ../js/ui/telepathyClient.js:340
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is offline."
|
msgid "%s is offline."
|
||||||
msgstr "%s está desconectado/a."
|
msgstr "%s está desconectado/a."
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:339
|
#: ../js/ui/telepathyClient.js:343
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is away."
|
msgid "%s is away."
|
||||||
msgstr "%s está ausente."
|
msgstr "%s está ausente."
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:342
|
#: ../js/ui/telepathyClient.js:346
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is busy."
|
msgid "%s is busy."
|
||||||
msgstr "%s está ocupado/a."
|
msgstr "%s está ocupado/a."
|
||||||
@ -1098,7 +1098,7 @@ msgstr "%s está ocupado/a."
|
|||||||
#. Translators: this is a time format string followed by a date.
|
#. Translators: this is a time format string followed by a date.
|
||||||
#. If applicable, replace %X with a strftime format valid for your
|
#. If applicable, replace %X with a strftime format valid for your
|
||||||
#. locale, without seconds.
|
#. locale, without seconds.
|
||||||
#: ../js/ui/telepathyClient.js:473
|
#: ../js/ui/telepathyClient.js:484
|
||||||
#, no-c-format
|
#, no-c-format
|
||||||
msgid "Sent at %X on %A"
|
msgid "Sent at %X on %A"
|
||||||
msgstr "Enviado ás %X o %A"
|
msgstr "Enviado ás %X o %A"
|
||||||
@ -1147,7 +1147,7 @@ msgstr[1] "%u entradas"
|
|||||||
msgid "System Sounds"
|
msgid "System Sounds"
|
||||||
msgstr "Sons do sistema"
|
msgstr "Sons do sistema"
|
||||||
|
|
||||||
#: ../src/main.c:446
|
#: ../src/main.c:445
|
||||||
msgid "Print version"
|
msgid "Print version"
|
||||||
msgstr "Imprimir versión"
|
msgstr "Imprimir versión"
|
||||||
|
|
||||||
|
265
po/he.po
@ -8,10 +8,11 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: gnome-shell master\n"
|
"Project-Id-Version: gnome-shell master\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2011-03-26 00:54+0200\n"
|
"POT-Creation-Date: 2011-05-13 13:23+0300\n"
|
||||||
"PO-Revision-Date: 2011-03-26 00:55+0200\n"
|
"PO-Revision-Date: 2011-05-13 13:23+0200\n"
|
||||||
"Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>\n"
|
"Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>\n"
|
||||||
"Language-Team: Hebrew <sh.yaron@gmail.com>\n"
|
"Language-Team: Hebrew <sh.yaron@gmail.com>\n"
|
||||||
|
"Language: he\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
@ -62,7 +63,7 @@ msgstr "History for command (Alt-F2) dialog"
|
|||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:7
|
#: ../data/org.gnome.shell.gschema.xml.in.h:7
|
||||||
msgid "History for the looking glass dialog"
|
msgid "History for the looking glass dialog"
|
||||||
msgstr "היסטוריית תיבת הדו־שיח של זכוכית המגדלת"
|
msgstr "History for the looking glass dialog"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:8
|
#: ../data/org.gnome.shell.gschema.xml.in.h:8
|
||||||
msgid "If true, display date in the clock, in addition to time."
|
msgid "If true, display date in the clock, in addition to time."
|
||||||
@ -187,27 +188,27 @@ msgid "Execution of '%s' failed:"
|
|||||||
msgstr "ההרצה של '%s' נכשלה:"
|
msgstr "ההרצה של '%s' נכשלה:"
|
||||||
|
|
||||||
#. Translators: Filter to display all applications
|
#. Translators: Filter to display all applications
|
||||||
#: ../js/ui/appDisplay.js:230
|
#: ../js/ui/appDisplay.js:260
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "הכול"
|
msgstr "הכול"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:328
|
#: ../js/ui/appDisplay.js:359
|
||||||
msgid "APPLICATIONS"
|
msgid "APPLICATIONS"
|
||||||
msgstr "יישומים"
|
msgstr "יישומים"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:354
|
#: ../js/ui/appDisplay.js:385
|
||||||
msgid "SETTINGS"
|
msgid "SETTINGS"
|
||||||
msgstr "הגדרות"
|
msgstr "הגדרות"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:625
|
#: ../js/ui/appDisplay.js:658
|
||||||
msgid "New Window"
|
msgid "New Window"
|
||||||
msgstr "חלון חדש"
|
msgstr "חלון חדש"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:628
|
#: ../js/ui/appDisplay.js:661
|
||||||
msgid "Remove from Favorites"
|
msgid "Remove from Favorites"
|
||||||
msgstr "הסרה מהמועדפים"
|
msgstr "הסרה מהמועדפים"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:629
|
#: ../js/ui/appDisplay.js:662
|
||||||
msgid "Add to Favorites"
|
msgid "Add to Favorites"
|
||||||
msgstr "הוספה למועדפים"
|
msgstr "הוספה למועדפים"
|
||||||
|
|
||||||
@ -340,13 +341,13 @@ msgid "Nothing Scheduled"
|
|||||||
msgstr "היומן ריק"
|
msgstr "היומן ריק"
|
||||||
|
|
||||||
#. Translators: Shown on calendar heading when selected day occurs on current year
|
#. Translators: Shown on calendar heading when selected day occurs on current year
|
||||||
#: ../js/ui/calendar.js:720
|
#: ../js/ui/calendar.js:720 ../js/ui/telepathyClient.js:490
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d"
|
msgid "%A, %B %d"
|
||||||
msgstr "%A, ה־%e ב%B"
|
msgstr "%A, ה־%e ב%B"
|
||||||
|
|
||||||
#. Translators: Shown on calendar heading when selected day occurs on different year
|
#. Translators: Shown on calendar heading when selected day occurs on different year
|
||||||
#: ../js/ui/calendar.js:723
|
#: ../js/ui/calendar.js:723 ../js/ui/telepathyClient.js:493
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d, %Y"
|
msgid "%A, %B %d, %Y"
|
||||||
msgstr "%A, ה־%e ב%B, %Y"
|
msgstr "%A, ה־%e ב%B, %Y"
|
||||||
@ -367,7 +368,7 @@ msgstr "השבוע"
|
|||||||
msgid "Next week"
|
msgid "Next week"
|
||||||
msgstr "בשבוע הבא"
|
msgstr "בשבוע הבא"
|
||||||
|
|
||||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1000
|
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1037
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr "הסרה"
|
msgstr "הסרה"
|
||||||
|
|
||||||
@ -492,8 +493,8 @@ msgstr "המערכת תופעל מחדש בעוד %d שניות."
|
|||||||
msgid "Restarting the system."
|
msgid "Restarting the system."
|
||||||
msgstr "המערכת מופעלת מחדש"
|
msgstr "המערכת מופעלת מחדש"
|
||||||
|
|
||||||
#: ../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
|
#: ../js/ui/status/bluetooth.js:491
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "ביטול"
|
msgstr "ביטול"
|
||||||
|
|
||||||
@ -527,11 +528,11 @@ msgstr "צפייה במקור"
|
|||||||
msgid "Web Page"
|
msgid "Web Page"
|
||||||
msgstr "דף אינטרנט"
|
msgstr "דף אינטרנט"
|
||||||
|
|
||||||
#: ../js/ui/messageTray.js:993
|
#: ../js/ui/messageTray.js:1030
|
||||||
msgid "Open"
|
msgid "Open"
|
||||||
msgstr "פתיחה"
|
msgstr "פתיחה"
|
||||||
|
|
||||||
#: ../js/ui/messageTray.js:2151
|
#: ../js/ui/messageTray.js:2194
|
||||||
msgid "System Information"
|
msgid "System Information"
|
||||||
msgstr "פרטי המערכת"
|
msgstr "פרטי המערכת"
|
||||||
|
|
||||||
@ -554,18 +555,18 @@ msgid "Dash"
|
|||||||
msgstr "חלונית"
|
msgstr "חלונית"
|
||||||
|
|
||||||
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
||||||
#: ../js/ui/panel.js:515
|
#: ../js/ui/panel.js:533
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Quit %s"
|
msgid "Quit %s"
|
||||||
msgstr "יציאה מ־%s"
|
msgstr "יציאה מ־%s"
|
||||||
|
|
||||||
#. Button on the left side of the panel.
|
#. 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".
|
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
|
||||||
#: ../js/ui/panel.js:878
|
#: ../js/ui/panel.js:913
|
||||||
msgid "Activities"
|
msgid "Activities"
|
||||||
msgstr "פעילויות"
|
msgstr "פעילויות"
|
||||||
|
|
||||||
#: ../js/ui/panel.js:979
|
#: ../js/ui/panel.js:1015
|
||||||
msgid "Top Bar"
|
msgid "Top Bar"
|
||||||
msgstr "הסרגל העליון"
|
msgstr "הסרגל העליון"
|
||||||
|
|
||||||
@ -598,11 +599,15 @@ msgstr "מנהל"
|
|||||||
msgid "Authenticate"
|
msgid "Authenticate"
|
||||||
msgstr "אימות"
|
msgstr "אימות"
|
||||||
|
|
||||||
#: ../js/ui/polkitAuthenticationAgent.js:260
|
#. 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
|
||||||
msgid "Sorry, that didn't work. Please try again."
|
msgid "Sorry, that didn't work. Please try again."
|
||||||
msgstr "פעולה זו לא הצליחה, נא לנסות שוב. עמך הסליחה."
|
msgstr "פעולה זו לא הצליחה, נא לנסות שוב. עמך הסליחה."
|
||||||
|
|
||||||
#: ../js/ui/polkitAuthenticationAgent.js:272
|
#: ../js/ui/polkitAuthenticationAgent.js:276
|
||||||
msgid "Password:"
|
msgid "Password:"
|
||||||
msgstr "ססמה:"
|
msgstr "ססמה:"
|
||||||
|
|
||||||
@ -619,11 +624,11 @@ msgstr "toggle-switch-intl"
|
|||||||
msgid "Please enter a command:"
|
msgid "Please enter a command:"
|
||||||
msgstr "נא להזין פקודה:"
|
msgstr "נא להזין פקודה:"
|
||||||
|
|
||||||
#: ../js/ui/searchDisplay.js:310
|
#: ../js/ui/searchDisplay.js:313
|
||||||
msgid "Searching..."
|
msgid "Searching..."
|
||||||
msgstr "בחיפוש..."
|
msgstr "בחיפוש..."
|
||||||
|
|
||||||
#: ../js/ui/searchDisplay.js:324
|
#: ../js/ui/searchDisplay.js:327
|
||||||
msgid "No matching results."
|
msgid "No matching results."
|
||||||
msgstr "אין תוצאות תואמות."
|
msgstr "אין תוצאות תואמות."
|
||||||
|
|
||||||
@ -638,7 +643,7 @@ msgstr "השהיה"
|
|||||||
|
|
||||||
#: ../js/ui/statusMenu.js:184
|
#: ../js/ui/statusMenu.js:184
|
||||||
msgid "Available"
|
msgid "Available"
|
||||||
msgstr "זמין"
|
msgstr "פנוי"
|
||||||
|
|
||||||
#: ../js/ui/statusMenu.js:189
|
#: ../js/ui/statusMenu.js:189
|
||||||
msgid "Busy"
|
msgid "Busy"
|
||||||
@ -706,9 +711,9 @@ msgstr "ניגודיות גבוהה"
|
|||||||
msgid "Large Text"
|
msgid "Large Text"
|
||||||
msgstr "טקסט גדול"
|
msgstr "טקסט גדול"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:237
|
#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:264
|
||||||
#: ../js/ui/status/bluetooth.js:333 ../js/ui/status/bluetooth.js:367
|
#: ../js/ui/status/bluetooth.js:358 ../js/ui/status/bluetooth.js:392
|
||||||
#: ../js/ui/status/bluetooth.js:407 ../js/ui/status/bluetooth.js:440
|
#: ../js/ui/status/bluetooth.js:432 ../js/ui/status/bluetooth.js:465
|
||||||
msgid "Bluetooth"
|
msgid "Bluetooth"
|
||||||
msgstr "Bluetooth"
|
msgstr "Bluetooth"
|
||||||
|
|
||||||
@ -721,101 +726,101 @@ msgid "Send Files to Device..."
|
|||||||
msgstr "שליחת קובץ להתקן..."
|
msgstr "שליחת קובץ להתקן..."
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:70
|
#: ../js/ui/status/bluetooth.js:70
|
||||||
msgid "Setup a New Device..."
|
msgid "Set up a New Device..."
|
||||||
msgstr "הגדרת התקן חדש..."
|
msgstr "הגדרת התקן חדש..."
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:95
|
#: ../js/ui/status/bluetooth.js:95
|
||||||
msgid "Bluetooth Settings"
|
msgid "Bluetooth Settings"
|
||||||
msgstr "הגדרות Bluetooth"
|
msgstr "הגדרות Bluetooth"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:188
|
#: ../js/ui/status/bluetooth.js:215
|
||||||
msgid "Connection"
|
msgid "Connection"
|
||||||
msgstr "חיבור"
|
msgstr "חיבור"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:224
|
#: ../js/ui/status/bluetooth.js:251
|
||||||
msgid "Send Files..."
|
msgid "Send Files..."
|
||||||
msgstr "שליחת קבצים..."
|
msgstr "שליחת קבצים..."
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:229
|
#: ../js/ui/status/bluetooth.js:256
|
||||||
msgid "Browse Files..."
|
msgid "Browse Files..."
|
||||||
msgstr "עיון בקבצים..."
|
msgstr "עיון בקבצים..."
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:238
|
#: ../js/ui/status/bluetooth.js:265
|
||||||
msgid "Error browsing device"
|
msgid "Error browsing device"
|
||||||
msgstr "שגיאה בעיון בהתקן"
|
msgstr "שגיאה בעיון בהתקן"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:239
|
#: ../js/ui/status/bluetooth.js:266
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "The requested device cannot be browsed, error is '%s'"
|
msgid "The requested device cannot be browsed, error is '%s'"
|
||||||
msgstr "לא ניתן לעיין בהתקן הנבחר, השגיאה היא '%s'"
|
msgstr "לא ניתן לעיין בהתקן הנבחר, השגיאה היא '%s'"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:247
|
#: ../js/ui/status/bluetooth.js:274
|
||||||
msgid "Keyboard Settings"
|
msgid "Keyboard Settings"
|
||||||
msgstr "הגדרות מקלדת"
|
msgstr "הגדרות מקלדת"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:252
|
#: ../js/ui/status/bluetooth.js:279
|
||||||
msgid "Mouse Settings"
|
msgid "Mouse Settings"
|
||||||
msgstr "הגדרות עכבר"
|
msgstr "הגדרות עכבר"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:259 ../js/ui/status/volume.js:66
|
#: ../js/ui/status/bluetooth.js:286 ../js/ui/status/volume.js:66
|
||||||
msgid "Sound Settings"
|
msgid "Sound Settings"
|
||||||
msgstr "הגדרות שמע"
|
msgstr "הגדרות שמע"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:368
|
#: ../js/ui/status/bluetooth.js:393
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Authorization request from %s"
|
msgid "Authorization request from %s"
|
||||||
msgstr "בקשת אישור מאת %s"
|
msgstr "בקשת אישור מאת %s"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:374
|
#: ../js/ui/status/bluetooth.js:399
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Device %s wants access to the service '%s'"
|
msgid "Device %s wants access to the service '%s'"
|
||||||
msgstr "ההתקן %s מעוניין לגשת אל השירות '%s'"
|
msgstr "ההתקן %s מעוניין לגשת אל השירות '%s'"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:376
|
#: ../js/ui/status/bluetooth.js:401
|
||||||
msgid "Always grant access"
|
msgid "Always grant access"
|
||||||
msgstr "תמיד להעניק גישה"
|
msgstr "תמיד להעניק גישה"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:377
|
#: ../js/ui/status/bluetooth.js:402
|
||||||
msgid "Grant this time only"
|
msgid "Grant this time only"
|
||||||
msgstr "הענקת גישה הפעם בלבד"
|
msgstr "הענקת גישה הפעם בלבד"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:378
|
#: ../js/ui/status/bluetooth.js:403
|
||||||
msgid "Reject"
|
msgid "Reject"
|
||||||
msgstr "סירוב"
|
msgstr "סירוב"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:408
|
#: ../js/ui/status/bluetooth.js:433
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Pairing confirmation for %s"
|
msgid "Pairing confirmation for %s"
|
||||||
msgstr "אישור צימוד עבור %s"
|
msgstr "אישור צימוד עבור %s"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:448
|
#: ../js/ui/status/bluetooth.js:439 ../js/ui/status/bluetooth.js:473
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Device %s wants to pair with this computer"
|
msgid "Device %s wants to pair with this computer"
|
||||||
msgstr "ההתקן %s מעוניין בצימוד עם מחשב זה"
|
msgstr "ההתקן %s מעוניין בצימוד עם מחשב זה"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:415
|
#: ../js/ui/status/bluetooth.js:440
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Please confirm whether the PIN '%s' matches the one on the device."
|
msgid "Please confirm whether the PIN '%s' matches the one on the device."
|
||||||
msgstr "נא לאשר האם קוד ה־PIN '%s' תואם את זה שמופיע בהתקן."
|
msgstr "נא לאשר האם קוד ה־PIN '%s' תואם את זה שמופיע בהתקן."
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:417
|
#: ../js/ui/status/bluetooth.js:442
|
||||||
msgid "Matches"
|
msgid "Matches"
|
||||||
msgstr "התאמות"
|
msgstr "התאמות"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:418
|
#: ../js/ui/status/bluetooth.js:443
|
||||||
msgid "Does not match"
|
msgid "Does not match"
|
||||||
msgstr "אינו תואם"
|
msgstr "אינו תואם"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:441
|
#: ../js/ui/status/bluetooth.js:466
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Pairing request for %s"
|
msgid "Pairing request for %s"
|
||||||
msgstr "בקשת צימוד עבור %s"
|
msgstr "בקשת צימוד עבור %s"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:449
|
#: ../js/ui/status/bluetooth.js:474
|
||||||
msgid "Please enter the PIN mentioned on the device."
|
msgid "Please enter the PIN mentioned on the device."
|
||||||
msgstr "נא להזין את קוד ה־PIN המוזכר בהתקן."
|
msgstr "נא להזין את קוד ה־PIN המוזכר בהתקן."
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:465
|
#: ../js/ui/status/bluetooth.js:490
|
||||||
msgid "OK"
|
msgid "OK"
|
||||||
msgstr "אישור"
|
msgstr "אישור"
|
||||||
|
|
||||||
@ -827,139 +832,139 @@ msgstr "הצגת פריסת המקלדת..."
|
|||||||
msgid "Localization Settings"
|
msgid "Localization Settings"
|
||||||
msgstr "הגדרות אזוריות"
|
msgstr "הגדרות אזוריות"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:104 ../js/ui/status/network.js:1453
|
#: ../js/ui/status/network.js:126
|
||||||
msgid "<unknown>"
|
msgid "<unknown>"
|
||||||
msgstr "<לא ידוע>"
|
msgstr "<לא ידוע>"
|
||||||
|
|
||||||
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
||||||
#: ../js/ui/status/network.js:311
|
#: ../js/ui/status/network.js:343
|
||||||
msgid "disabled"
|
msgid "disabled"
|
||||||
msgstr "מנוטרל"
|
msgstr "מנוטרל"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:494
|
#: ../js/ui/status/network.js:542
|
||||||
msgid "connecting..."
|
msgid "connecting..."
|
||||||
msgstr "בהתחברות..."
|
msgstr "בהתחברות..."
|
||||||
|
|
||||||
#. Translators: this is for network connections that require some kind of key or password
|
#. Translators: this is for network connections that require some kind of key or password
|
||||||
#: ../js/ui/status/network.js:497
|
#: ../js/ui/status/network.js:545
|
||||||
msgid "authentication required"
|
msgid "authentication required"
|
||||||
msgstr "נדרש אימות"
|
msgstr "נדרש אימות"
|
||||||
|
|
||||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||||
#. module, which is missing
|
#. module, which is missing
|
||||||
#: ../js/ui/status/network.js:507
|
#: ../js/ui/status/network.js:555
|
||||||
msgid "firmware missing"
|
msgid "firmware missing"
|
||||||
msgstr "הקושחה חסרה"
|
msgstr "הקושחה חסרה"
|
||||||
|
|
||||||
#. Translators: this is for wired network devices that are physically disconnected
|
#. Translators: this is for wired network devices that are physically disconnected
|
||||||
#: ../js/ui/status/network.js:514
|
#: ../js/ui/status/network.js:562
|
||||||
msgid "cable unplugged"
|
msgid "cable unplugged"
|
||||||
msgstr "הכבל מנותק"
|
msgstr "הכבל מנותק"
|
||||||
|
|
||||||
#. Translators: this is for a network device that cannot be activated (for example it
|
#. Translators: this is for a network device that cannot be activated (for example it
|
||||||
#. is disabled by rfkill, or it has no coverage
|
#. is disabled by rfkill, or it has no coverage
|
||||||
#: ../js/ui/status/network.js:519
|
#: ../js/ui/status/network.js:567
|
||||||
msgid "unavailable"
|
msgid "unavailable"
|
||||||
msgstr "לא זמין"
|
msgstr "לא זמין"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:521
|
#: ../js/ui/status/network.js:569
|
||||||
msgid "connection failed"
|
msgid "connection failed"
|
||||||
msgstr "החיבור נכשל"
|
msgstr "החיבור נכשל"
|
||||||
|
|
||||||
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
||||||
#. and we cannot access its settings (including the name)
|
#. and we cannot access its settings (including the name)
|
||||||
#: ../js/ui/status/network.js:601 ../js/ui/status/network.js:1401
|
#: ../js/ui/status/network.js:650 ../js/ui/status/network.js:1459
|
||||||
msgid "Connected (private)"
|
msgid "Connected (private)"
|
||||||
msgstr "מחובר (פרטי)"
|
msgstr "מחובר (פרטי)"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:682
|
#: ../js/ui/status/network.js:735
|
||||||
msgid "Auto Ethernet"
|
msgid "Auto Ethernet"
|
||||||
msgstr "אתרנט אוטומטי"
|
msgstr "אתרנט אוטומטי"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:757
|
#: ../js/ui/status/network.js:803
|
||||||
msgid "Auto broadband"
|
msgid "Auto broadband"
|
||||||
msgstr "פס רחב אוטומטי"
|
msgstr "פס רחב אוטומטי"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:760
|
#: ../js/ui/status/network.js:806
|
||||||
msgid "Auto dial-up"
|
msgid "Auto dial-up"
|
||||||
msgstr "חיוג אוטומטי"
|
msgstr "חיוג אוטומטי"
|
||||||
|
|
||||||
#. TRANSLATORS: this the automatic wireless connection name (including the network name)
|
#. TRANSLATORS: this the automatic wireless connection name (including the network name)
|
||||||
#: ../js/ui/status/network.js:903 ../js/ui/status/network.js:1413
|
#: ../js/ui/status/network.js:930 ../js/ui/status/network.js:1471
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Auto %s"
|
msgid "Auto %s"
|
||||||
msgstr "%s אוטומטי"
|
msgstr "%s אוטומטי"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:905
|
#: ../js/ui/status/network.js:932
|
||||||
msgid "Auto bluetooth"
|
msgid "Auto bluetooth"
|
||||||
msgstr "Bluetooth אוטומטי"
|
msgstr "Bluetooth אוטומטי"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1415
|
#: ../js/ui/status/network.js:1473
|
||||||
msgid "Auto wireless"
|
msgid "Auto wireless"
|
||||||
msgstr "אלחוטי אוטומטי"
|
msgstr "אלחוטי אוטומטי"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1473
|
#: ../js/ui/status/network.js:1521
|
||||||
msgid "More..."
|
msgid "More..."
|
||||||
msgstr "עוד..."
|
msgstr "עוד..."
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1496
|
#: ../js/ui/status/network.js:1563
|
||||||
msgid "Enable networking"
|
msgid "Enable networking"
|
||||||
msgstr "הפעלת תכונת הרשת"
|
msgstr "הפעלת תכונת הרשת"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1508
|
#: ../js/ui/status/network.js:1575
|
||||||
msgid "Wired"
|
msgid "Wired"
|
||||||
msgstr "קווי"
|
msgstr "קווי"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1519
|
#: ../js/ui/status/network.js:1586
|
||||||
msgid "Wireless"
|
msgid "Wireless"
|
||||||
msgstr "אלחוטי"
|
msgstr "אלחוטי"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1529
|
#: ../js/ui/status/network.js:1596
|
||||||
msgid "Mobile broadband"
|
msgid "Mobile broadband"
|
||||||
msgstr "פס־רחב נייד"
|
msgstr "פס־רחב נייד"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1539
|
#: ../js/ui/status/network.js:1606
|
||||||
msgid "VPN Connections"
|
msgid "VPN Connections"
|
||||||
msgstr "חיבורי VPN"
|
msgstr "חיבורי VPN"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1548
|
#: ../js/ui/status/network.js:1618
|
||||||
msgid "Network Settings"
|
msgid "Network Settings"
|
||||||
msgstr "הגדרות הרשת"
|
msgstr "הגדרות הרשת"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1843
|
#: ../js/ui/status/network.js:1912
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to mobile broadband connection '%s'"
|
msgid "You're now connected to mobile broadband connection '%s'"
|
||||||
msgstr "כרגע ישנו חיבור בינך ובין רשת הפס הרחב הניידת '%s'"
|
msgstr "כרגע ישנו חיבור בינך ובין רשת הפס הרחב הניידת '%s'"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1847
|
#: ../js/ui/status/network.js:1916
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to wireless network '%s'"
|
msgid "You're now connected to wireless network '%s'"
|
||||||
msgstr "כרגע ישנו חיבור בינך ובין הרשת האלחוטית '%s'"
|
msgstr "כרגע ישנו חיבור בינך ובין הרשת האלחוטית '%s'"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1851
|
#: ../js/ui/status/network.js:1920
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to wired network '%s'"
|
msgid "You're now connected to wired network '%s'"
|
||||||
msgstr "כרגע ישנו חיבור בינך ובין הרשת הקווית '%s'"
|
msgstr "כרגע ישנו חיבור בינך ובין הרשת הקווית '%s'"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1855
|
#: ../js/ui/status/network.js:1924
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to VPN network '%s'"
|
msgid "You're now connected to VPN network '%s'"
|
||||||
msgstr "כרגע ישנו חיבור בינך ובין רשת ה־VPN '%s'"
|
msgstr "כרגע ישנו חיבור בינך ובין רשת ה־VPN '%s'"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1860
|
#: ../js/ui/status/network.js:1929
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to '%s'"
|
msgid "You're now connected to '%s'"
|
||||||
msgstr "כעת ישנו חיבור בינך ובין '%s'"
|
msgstr "כעת ישנו חיבור בינך ובין '%s'"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1868
|
#: ../js/ui/status/network.js:1937
|
||||||
msgid "Connection established"
|
msgid "Connection established"
|
||||||
msgstr "ההתחברות הצליחה"
|
msgstr "ההתחברות הצליחה"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1990
|
#: ../js/ui/status/network.js:2063
|
||||||
msgid "Networking is disabled"
|
msgid "Networking is disabled"
|
||||||
msgstr "תכונת הרשת מנוטרלת"
|
msgstr "תכונת הרשת מנוטרלת"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:2115
|
#: ../js/ui/status/network.js:2188
|
||||||
msgid "Network Manager"
|
msgid "Network Manager"
|
||||||
msgstr "מנהל הרשתות"
|
msgstr "מנהל הרשתות"
|
||||||
|
|
||||||
@ -1065,22 +1070,22 @@ msgstr "עצמה"
|
|||||||
msgid "Microphone"
|
msgid "Microphone"
|
||||||
msgstr "מיקרופון"
|
msgstr "מיקרופון"
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:331
|
#: ../js/ui/telepathyClient.js:333
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is online."
|
msgid "%s is online."
|
||||||
msgstr "%s התחבר/ה."
|
msgstr "%s התחבר/ה."
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:336
|
#: ../js/ui/telepathyClient.js:338
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is offline."
|
msgid "%s is offline."
|
||||||
msgstr "%s התנתק/ה."
|
msgstr "%s התנתק/ה."
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:339
|
#: ../js/ui/telepathyClient.js:341
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is away."
|
msgid "%s is away."
|
||||||
msgstr "'%s' מרוחק/ת."
|
msgstr "'%s' מרוחק/ת."
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:342
|
#: ../js/ui/telepathyClient.js:344
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is busy."
|
msgid "%s is busy."
|
||||||
msgstr "%s עסוק/ה."
|
msgstr "%s עסוק/ה."
|
||||||
@ -1088,11 +1093,18 @@ msgstr "%s עסוק/ה."
|
|||||||
#. Translators: this is a time format string followed by a date.
|
#. Translators: this is a time format string followed by a date.
|
||||||
#. If applicable, replace %X with a strftime format valid for your
|
#. If applicable, replace %X with a strftime format valid for your
|
||||||
#. locale, without seconds.
|
#. locale, without seconds.
|
||||||
#: ../js/ui/telepathyClient.js:473
|
#: ../js/ui/telepathyClient.js:482
|
||||||
#, no-c-format
|
#, no-c-format
|
||||||
msgid "Sent at %X on %A"
|
msgid "Sent at %X on %A"
|
||||||
msgstr "נשלח ב־%X בשעה %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
|
#. Translators: this is the text displayed
|
||||||
#. in the search entry when no search is
|
#. in the search entry when no search is
|
||||||
#. active; it should not exceed ~30
|
#. active; it should not exceed ~30
|
||||||
@ -1139,51 +1151,15 @@ msgstr[2] "2 קלטים"
|
|||||||
msgid "System Sounds"
|
msgid "System Sounds"
|
||||||
msgstr "צלילי מערכת"
|
msgstr "צלילי מערכת"
|
||||||
|
|
||||||
#: ../src/main.c:446
|
#: ../src/main.c:445
|
||||||
msgid "Print version"
|
msgid "Print version"
|
||||||
msgstr "Print version"
|
msgstr "Print version"
|
||||||
|
|
||||||
#: ../src/shell-app.c:454
|
#: ../src/shell-app.c:464
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to launch '%s'"
|
msgid "Failed to launch '%s'"
|
||||||
msgstr "אירע כשל בטעינת '%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
|
#: ../src/shell-mobile-providers.c:80
|
||||||
msgid "United Kingdom"
|
msgid "United Kingdom"
|
||||||
msgstr "בריטניה"
|
msgstr "בריטניה"
|
||||||
@ -1216,6 +1192,33 @@ msgstr "מערכת הקבצים"
|
|||||||
msgid "%1$s: %2$s"
|
msgid "%1$s: %2$s"
|
||||||
msgstr "%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"
|
#~ msgid "Shut Down"
|
||||||
#~ msgstr "כיבוי"
|
#~ msgstr "כיבוי"
|
||||||
|
|
||||||
@ -1428,17 +1431,19 @@ msgstr "%1$s: %2$s"
|
|||||||
#~ msgid ""
|
#~ msgid ""
|
||||||
#~ "This key specifies the hour format used by the panel clock. Possible "
|
#~ "This key specifies the hour format used by the panel clock. Possible "
|
||||||
#~ "values are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to "
|
#~ "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-"
|
#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. "
|
||||||
#~ "01-01. If set to \"custom\", the clock will display time according to the "
|
#~ "1970-01-01. If set to \"custom\", the clock will display time according "
|
||||||
#~ "format specified in the custom_format key. Note that if set to either "
|
#~ "to the format specified in the custom_format key. Note that if set to "
|
||||||
#~ "\"unix\" or \"custom\", the show_date and show_seconds keys are ignored."
|
#~ "either \"unix\" or \"custom\", the show_date and show_seconds keys are "
|
||||||
|
#~ "ignored."
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
#~ "This key specifies the hour format used by the panel clock. Possible "
|
#~ "This key specifies the hour format used by the panel clock. Possible "
|
||||||
#~ "values are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to "
|
#~ "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-"
|
#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. "
|
||||||
#~ "01-01. If set to \"custom\", the clock will display time according to the "
|
#~ "1970-01-01. If set to \"custom\", the clock will display time according "
|
||||||
#~ "format specified in the custom_format key. Note that if set to either "
|
#~ "to the format specified in the custom_format key. Note that if set to "
|
||||||
#~ "\"unix\" or \"custom\", the show_date and show_seconds keys are ignored."
|
#~ "either \"unix\" or \"custom\", the show_date and show_seconds keys are "
|
||||||
|
#~ "ignored."
|
||||||
|
|
||||||
#~ msgid "Clock Format"
|
#~ msgid "Clock Format"
|
||||||
#~ msgstr "מבנה השעון"
|
#~ msgstr "מבנה השעון"
|
||||||
|
94
po/ja.po
@ -11,9 +11,9 @@ msgstr ""
|
|||||||
"Project-Id-Version: gnome-shell master\n"
|
"Project-Id-Version: gnome-shell master\n"
|
||||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||||
"shell&keywords=I18N+L10N&component=general\n"
|
"shell&keywords=I18N+L10N&component=general\n"
|
||||||
"POT-Creation-Date: 2011-04-04 14:08+0000\n"
|
"POT-Creation-Date: 2011-04-22 21:34+0000\n"
|
||||||
"PO-Revision-Date: 2011-03-30 00:26+0900\n"
|
"PO-Revision-Date: 2011-04-19 23:13+0900\n"
|
||||||
"Last-Translator: Kiyotaka NISHIBORI <ml.nishibori.kiyotaka@gmail.com>\n"
|
"Last-Translator: Jiro Matsuzawa <matsuzawa.jr@gmail.com>\n"
|
||||||
"Language-Team: Japanese <gnome-translation@gnome.gr.jp>\n"
|
"Language-Team: Japanese <gnome-translation@gnome.gr.jp>\n"
|
||||||
"Language: ja\n"
|
"Language: ja\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@ -187,23 +187,23 @@ msgstr "'%s'の実行に失敗しました:"
|
|||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "すべて"
|
msgstr "すべて"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:328
|
#: ../js/ui/appDisplay.js:329
|
||||||
msgid "APPLICATIONS"
|
msgid "APPLICATIONS"
|
||||||
msgstr "アプリケーション"
|
msgstr "アプリケーション"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:354
|
#: ../js/ui/appDisplay.js:355
|
||||||
msgid "SETTINGS"
|
msgid "SETTINGS"
|
||||||
msgstr "設定"
|
msgstr "設定"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:625
|
#: ../js/ui/appDisplay.js:626
|
||||||
msgid "New Window"
|
msgid "New Window"
|
||||||
msgstr "新しいウィンドウで開く"
|
msgstr "新しいウィンドウで開く"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:628
|
#: ../js/ui/appDisplay.js:629
|
||||||
msgid "Remove from Favorites"
|
msgid "Remove from Favorites"
|
||||||
msgstr "お気に入りから削除"
|
msgstr "お気に入りから削除"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:629
|
#: ../js/ui/appDisplay.js:630
|
||||||
msgid "Add to Favorites"
|
msgid "Add to Favorites"
|
||||||
msgstr "お気に入りに追加"
|
msgstr "お気に入りに追加"
|
||||||
|
|
||||||
@ -336,13 +336,13 @@ msgid "Nothing Scheduled"
|
|||||||
msgstr "予定がありません"
|
msgstr "予定がありません"
|
||||||
|
|
||||||
#. Translators: Shown on calendar heading when selected day occurs on current year
|
#. 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:492
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d"
|
msgid "%A, %B %d"
|
||||||
msgstr "%B%e日 (%a)"
|
msgstr "%B%e日 (%a)"
|
||||||
|
|
||||||
#. Translators: Shown on calendar heading when selected day occurs on different year
|
#. 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:495
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d, %Y"
|
msgid "%A, %B %d, %Y"
|
||||||
msgstr "%Y年%B%e日 (%a)"
|
msgstr "%Y年%B%e日 (%a)"
|
||||||
@ -363,7 +363,7 @@ msgstr "今週"
|
|||||||
msgid "Next week"
|
msgid "Next week"
|
||||||
msgstr "来週"
|
msgstr "来週"
|
||||||
|
|
||||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1007
|
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1037
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr "削除"
|
msgstr "削除"
|
||||||
|
|
||||||
@ -490,7 +490,7 @@ msgstr "%d 秒後にシステムを再起動します。"
|
|||||||
msgid "Restarting the system."
|
msgid "Restarting the system."
|
||||||
msgstr "システムを再起動します。"
|
msgstr "システムを再起動します。"
|
||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:417 ../js/ui/polkitAuthenticationAgent.js:172
|
#: ../js/ui/endSessionDialog.js:413 ../js/ui/polkitAuthenticationAgent.js:172
|
||||||
#: ../js/ui/status/bluetooth.js:466
|
#: ../js/ui/status/bluetooth.js:466
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "キャンセル"
|
msgstr "キャンセル"
|
||||||
@ -525,11 +525,11 @@ msgstr "ソースの表示"
|
|||||||
msgid "Web Page"
|
msgid "Web Page"
|
||||||
msgstr "ウェブページ"
|
msgstr "ウェブページ"
|
||||||
|
|
||||||
#: ../js/ui/messageTray.js:1000
|
#: ../js/ui/messageTray.js:1030
|
||||||
msgid "Open"
|
msgid "Open"
|
||||||
msgstr "開く"
|
msgstr "開く"
|
||||||
|
|
||||||
#: ../js/ui/messageTray.js:2164
|
#: ../js/ui/messageTray.js:2194
|
||||||
msgid "System Information"
|
msgid "System Information"
|
||||||
msgstr "システム情報"
|
msgstr "システム情報"
|
||||||
|
|
||||||
@ -829,139 +829,139 @@ msgstr "キーボードレイアウトの表示..."
|
|||||||
msgid "Localization Settings"
|
msgid "Localization Settings"
|
||||||
msgstr "ローカライズ設定"
|
msgstr "ローカライズ設定"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:105 ../js/ui/status/network.js:1466
|
#: ../js/ui/status/network.js:109 ../js/ui/status/network.js:1498
|
||||||
msgid "<unknown>"
|
msgid "<unknown>"
|
||||||
msgstr "< 不明 >"
|
msgstr "< 不明 >"
|
||||||
|
|
||||||
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
||||||
#: ../js/ui/status/network.js:318
|
#: ../js/ui/status/network.js:326
|
||||||
msgid "disabled"
|
msgid "disabled"
|
||||||
msgstr "利用不可"
|
msgstr "利用不可"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:501
|
#: ../js/ui/status/network.js:521
|
||||||
msgid "connecting..."
|
msgid "connecting..."
|
||||||
msgstr "接続中..."
|
msgstr "接続中..."
|
||||||
|
|
||||||
#. Translators: this is for network connections that require some kind of key or password
|
#. Translators: this is for network connections that require some kind of key or password
|
||||||
#: ../js/ui/status/network.js:504
|
#: ../js/ui/status/network.js:524
|
||||||
msgid "authentication required"
|
msgid "authentication required"
|
||||||
msgstr "認証要求"
|
msgstr "認証要求"
|
||||||
|
|
||||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||||
#. module, which is missing
|
#. module, which is missing
|
||||||
#: ../js/ui/status/network.js:514
|
#: ../js/ui/status/network.js:534
|
||||||
msgid "firmware missing"
|
msgid "firmware missing"
|
||||||
msgstr "ファームウェア無し"
|
msgstr "ファームウェア無し"
|
||||||
|
|
||||||
#. Translators: this is for wired network devices that are physically disconnected
|
#. Translators: this is for wired network devices that are physically disconnected
|
||||||
#: ../js/ui/status/network.js:521
|
#: ../js/ui/status/network.js:541
|
||||||
msgid "cable unplugged"
|
msgid "cable unplugged"
|
||||||
msgstr "ケーブル抜け"
|
msgstr "ケーブル抜け"
|
||||||
|
|
||||||
#. Translators: this is for a network device that cannot be activated (for example it
|
#. Translators: this is for a network device that cannot be activated (for example it
|
||||||
#. is disabled by rfkill, or it has no coverage
|
#. is disabled by rfkill, or it has no coverage
|
||||||
#: ../js/ui/status/network.js:526
|
#: ../js/ui/status/network.js:546
|
||||||
msgid "unavailable"
|
msgid "unavailable"
|
||||||
msgstr "利用不可"
|
msgstr "利用不可"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:528
|
#: ../js/ui/status/network.js:548
|
||||||
msgid "connection failed"
|
msgid "connection failed"
|
||||||
msgstr "接続失敗"
|
msgstr "接続失敗"
|
||||||
|
|
||||||
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
||||||
#. and we cannot access its settings (including the name)
|
#. and we cannot access its settings (including the name)
|
||||||
#: ../js/ui/status/network.js:608 ../js/ui/status/network.js:1414
|
#: ../js/ui/status/network.js:628 ../js/ui/status/network.js:1446
|
||||||
msgid "Connected (private)"
|
msgid "Connected (private)"
|
||||||
msgstr "接続 (制限付)"
|
msgstr "接続 (制限付)"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:689
|
#: ../js/ui/status/network.js:713
|
||||||
msgid "Auto Ethernet"
|
msgid "Auto Ethernet"
|
||||||
msgstr "自動イーサネット接続"
|
msgstr "自動イーサネット接続"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:764
|
#: ../js/ui/status/network.js:788
|
||||||
msgid "Auto broadband"
|
msgid "Auto broadband"
|
||||||
msgstr "自動ブロードバンド接続"
|
msgstr "自動ブロードバンド接続"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:767
|
#: ../js/ui/status/network.js:791
|
||||||
msgid "Auto dial-up"
|
msgid "Auto dial-up"
|
||||||
msgstr "自動ダイヤルアップ"
|
msgstr "自動ダイヤルアップ"
|
||||||
|
|
||||||
#. TRANSLATORS: this the automatic wireless connection name (including the network name)
|
#. TRANSLATORS: this the automatic wireless connection name (including the network name)
|
||||||
#: ../js/ui/status/network.js:910 ../js/ui/status/network.js:1426
|
#: ../js/ui/status/network.js:937 ../js/ui/status/network.js:1458
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Auto %s"
|
msgid "Auto %s"
|
||||||
msgstr "自動 %s"
|
msgstr "自動 %s"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:912
|
#: ../js/ui/status/network.js:939
|
||||||
msgid "Auto bluetooth"
|
msgid "Auto bluetooth"
|
||||||
msgstr "自動 Bluetooth 接続"
|
msgstr "自動 Bluetooth 接続"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1428
|
#: ../js/ui/status/network.js:1460
|
||||||
msgid "Auto wireless"
|
msgid "Auto wireless"
|
||||||
msgstr "自動無線接続"
|
msgstr "自動無線接続"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1486
|
#: ../js/ui/status/network.js:1518
|
||||||
msgid "More..."
|
msgid "More..."
|
||||||
msgstr "その他..."
|
msgstr "その他..."
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1509
|
#: ../js/ui/status/network.js:1541
|
||||||
msgid "Enable networking"
|
msgid "Enable networking"
|
||||||
msgstr "ネットワークを利用可能にする"
|
msgstr "ネットワークを利用可能にする"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1521
|
#: ../js/ui/status/network.js:1553
|
||||||
msgid "Wired"
|
msgid "Wired"
|
||||||
msgstr "有線接続"
|
msgstr "有線接続"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1532
|
#: ../js/ui/status/network.js:1564
|
||||||
msgid "Wireless"
|
msgid "Wireless"
|
||||||
msgstr "無線接続"
|
msgstr "無線接続"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1542
|
#: ../js/ui/status/network.js:1574
|
||||||
msgid "Mobile broadband"
|
msgid "Mobile broadband"
|
||||||
msgstr "モバイルブロードバンド"
|
msgstr "モバイルブロードバンド"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1552
|
#: ../js/ui/status/network.js:1584
|
||||||
msgid "VPN Connections"
|
msgid "VPN Connections"
|
||||||
msgstr "VPN 接続"
|
msgstr "VPN 接続"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1564
|
#: ../js/ui/status/network.js:1596
|
||||||
msgid "Network Settings"
|
msgid "Network Settings"
|
||||||
msgstr "ネットワーク設定"
|
msgstr "ネットワークの設定"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1854
|
#: ../js/ui/status/network.js:1890
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to mobile broadband connection '%s'"
|
msgid "You're now connected to mobile broadband connection '%s'"
|
||||||
msgstr "モバイルブロードバンド '%s' に接続しました"
|
msgstr "モバイルブロードバンド '%s' に接続しました"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1858
|
#: ../js/ui/status/network.js:1894
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to wireless network '%s'"
|
msgid "You're now connected to wireless network '%s'"
|
||||||
msgstr "無線ネットワーク '%s' に接続しました"
|
msgstr "無線ネットワーク '%s' に接続しました"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1862
|
#: ../js/ui/status/network.js:1898
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to wired network '%s'"
|
msgid "You're now connected to wired network '%s'"
|
||||||
msgstr "有線ネットワーク '%s' に接続しました"
|
msgstr "有線ネットワーク '%s' に接続しました"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1866
|
#: ../js/ui/status/network.js:1902
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to VPN network '%s'"
|
msgid "You're now connected to VPN network '%s'"
|
||||||
msgstr "VPN ネットワーク '%s' に接続しました"
|
msgstr "VPN ネットワーク '%s' に接続しました"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1871
|
#: ../js/ui/status/network.js:1907
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to '%s'"
|
msgid "You're now connected to '%s'"
|
||||||
msgstr "'%s' に接続しました"
|
msgstr "'%s' に接続しました"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1879
|
#: ../js/ui/status/network.js:1915
|
||||||
msgid "Connection established"
|
msgid "Connection established"
|
||||||
msgstr "接続を確立しました"
|
msgstr "接続を確立しました"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:2005
|
#: ../js/ui/status/network.js:2041
|
||||||
msgid "Networking is disabled"
|
msgid "Networking is disabled"
|
||||||
msgstr "ネットワークを利用できません"
|
msgstr "ネットワークを利用できません"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:2130
|
#: ../js/ui/status/network.js:2166
|
||||||
msgid "Network Manager"
|
msgid "Network Manager"
|
||||||
msgstr "ネットワークマネージャ"
|
msgstr "ネットワークマネージャ"
|
||||||
|
|
||||||
@ -1082,7 +1082,7 @@ msgstr "%s は離席中です。"
|
|||||||
#. Translators: this is a time format string followed by a date.
|
#. Translators: this is a time format string followed by a date.
|
||||||
#. If applicable, replace %X with a strftime format valid for your
|
#. If applicable, replace %X with a strftime format valid for your
|
||||||
#. locale, without seconds.
|
#. locale, without seconds.
|
||||||
#: ../js/ui/telepathyClient.js:482
|
#: ../js/ui/telepathyClient.js:484
|
||||||
#, no-c-format
|
#, no-c-format
|
||||||
msgid "Sent at %X on %A"
|
msgid "Sent at %X on %A"
|
||||||
msgstr "%Aの%Xに送信"
|
msgstr "%Aの%Xに送信"
|
||||||
@ -1129,7 +1129,7 @@ msgstr[0] "入力数: %u"
|
|||||||
msgid "System Sounds"
|
msgid "System Sounds"
|
||||||
msgstr "システムのサウンド"
|
msgstr "システムのサウンド"
|
||||||
|
|
||||||
#: ../src/main.c:446
|
#: ../src/main.c:445
|
||||||
msgid "Print version"
|
msgid "Print version"
|
||||||
msgstr "バージョンを表示"
|
msgstr "バージョンを表示"
|
||||||
|
|
||||||
|
254
po/nb.po
@ -8,8 +8,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: gnome-shell 2.91.x\n"
|
"Project-Id-Version: gnome-shell 2.91.x\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2011-04-01 09:43+0200\n"
|
"POT-Creation-Date: 2011-05-11 00:12+0200\n"
|
||||||
"PO-Revision-Date: 2011-04-01 09:45+0200\n"
|
"PO-Revision-Date: 2011-05-11 21:20+0200\n"
|
||||||
"Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
|
"Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
|
||||||
"Language-Team: Norwegian Bokmål <i18n-nb@lister.ping.uio.no>\n"
|
"Language-Team: Norwegian Bokmål <i18n-nb@lister.ping.uio.no>\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
@ -32,26 +32,28 @@ msgid ""
|
|||||||
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
|
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
|
||||||
"dialog."
|
"dialog."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Tillat tilgang til interne feilsøkings og overvåkingsverktøy ved å bruke Alt-"
|
"Tillat tilgang til interne feilsøkings- og overvåkingsverktøy ved å bruke "
|
||||||
"F2-dialogen."
|
"Alt-F2-dialogen."
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:2
|
#: ../data/org.gnome.shell.gschema.xml.in.h:2
|
||||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
|
msgid "Enable internal tools useful for developers and testers from Alt-F2"
|
||||||
msgstr ""
|
msgstr "Aktiver interne verktøy for utviklere og testere fra Alt-F2"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:3
|
#: ../data/org.gnome.shell.gschema.xml.in.h:3
|
||||||
msgid "File extension used for storing the screencast"
|
msgid "File extension used for storing the screencast"
|
||||||
msgstr ""
|
msgstr "Filendelse i bruk ved lagring av skjermvideo"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:4
|
#: ../data/org.gnome.shell.gschema.xml.in.h:4
|
||||||
msgid "Framerate used for recording screencasts."
|
msgid "Framerate used for recording screencasts."
|
||||||
msgstr ""
|
msgstr "Bildefrekvens i bruk ved lagring av skjermvideoer."
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:5
|
#: ../data/org.gnome.shell.gschema.xml.in.h:5
|
||||||
msgid ""
|
msgid ""
|
||||||
"GNOME Shell extensions have a uuid property; this key lists extensions which "
|
"GNOME Shell extensions have a uuid property; this key lists extensions which "
|
||||||
"should not be loaded."
|
"should not be loaded."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"GNOME Shell-utvidelser har en uuid-egenskap. Denne nøkkelen lister "
|
||||||
|
"utvidelser som ikke bør lastes."
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:6
|
#: ../data/org.gnome.shell.gschema.xml.in.h:6
|
||||||
msgid "History for command (Alt-F2) dialog"
|
msgid "History for command (Alt-F2) dialog"
|
||||||
@ -59,11 +61,11 @@ msgstr "Historikk for kommandodialog (Alt-F2)"
|
|||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:7
|
#: ../data/org.gnome.shell.gschema.xml.in.h:7
|
||||||
msgid "History for the looking glass dialog"
|
msgid "History for the looking glass dialog"
|
||||||
msgstr ""
|
msgstr "Historikk for forstørrelsesglass-dialogen"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:8
|
#: ../data/org.gnome.shell.gschema.xml.in.h:8
|
||||||
msgid "If true, display date in the clock, in addition to time."
|
msgid "If true, display date in the clock, in addition to time."
|
||||||
msgstr ""
|
msgstr "Viser dato i tillegg til tid i klokken hvis «true»."
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:9
|
#: ../data/org.gnome.shell.gschema.xml.in.h:9
|
||||||
msgid "If true, display seconds in time."
|
msgid "If true, display seconds in time."
|
||||||
@ -71,14 +73,14 @@ msgstr "Viser sekunder i klokken hvis «true»."
|
|||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:10
|
#: ../data/org.gnome.shell.gschema.xml.in.h:10
|
||||||
msgid "If true, display the ISO week date in the calendar."
|
msgid "If true, display the ISO week date in the calendar."
|
||||||
msgstr ""
|
msgstr "Viser ISO-ukedato i kalenderen hvis «true»."
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:11
|
#: ../data/org.gnome.shell.gschema.xml.in.h:11
|
||||||
msgid "List of desktop file IDs for favorite applications"
|
msgid "List of desktop file IDs for favorite applications"
|
||||||
msgstr ""
|
msgstr "Liste av skrivebordfil-ider for favorittprogrammer"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:13
|
#: ../data/org.gnome.shell.gschema.xml.in.h:13
|
||||||
#, no-c-format
|
#, no-c-format, fuzzy
|
||||||
msgid ""
|
msgid ""
|
||||||
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
|
"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 "
|
"used for gst-launch. The pipeline should have an unconnected sink pad where "
|
||||||
@ -90,7 +92,7 @@ msgid ""
|
|||||||
"'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' and "
|
"'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 "
|
"records to WEBM using the VP8 codec. %T is used as a placeholder for a guess "
|
||||||
"at the optimal thread count on the system."
|
"at the optimal thread count on the system."
|
||||||
msgstr ""
|
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
|
#: ../data/org.gnome.shell.gschema.xml.in.h:14
|
||||||
msgid "Show date in clock"
|
msgid "Show date in clock"
|
||||||
@ -109,6 +111,8 @@ msgid ""
|
|||||||
"The applications corresponding to these identifiers will be displayed in the "
|
"The applications corresponding to these identifiers will be displayed in the "
|
||||||
"favorites area."
|
"favorites area."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Programmene som passer til disse identifikatorene vil bli vist i "
|
||||||
|
"favorittområdet."
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:18
|
#: ../data/org.gnome.shell.gschema.xml.in.h:18
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -116,16 +120,21 @@ msgid ""
|
|||||||
"current date, and use this extension. It should be changed when recording to "
|
"current date, and use this extension. It should be changed when recording to "
|
||||||
"a different container format."
|
"a different container format."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Filnavnet for skjermvideoopptak vil være unikt og bestå av gjeldende dato, "
|
||||||
|
"og bruke denne filendelsen. Den bør endres når du gjør opptak til et nytt "
|
||||||
|
"oppbevaringsformat."
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:19
|
#: ../data/org.gnome.shell.gschema.xml.in.h:19
|
||||||
msgid ""
|
msgid ""
|
||||||
"The framerate of the resulting screencast recordered by GNOME Shell's "
|
"The framerate of the resulting screencast recordered by GNOME Shell's "
|
||||||
"screencast recorder in frames-per-second."
|
"screencast recorder in frames-per-second."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Bildefrekvensen i den ferdige skjermvideoen tatt opp med GNOME Shells "
|
||||||
|
"skjermvideoopptaker i bilder per sekund."
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:20
|
#: ../data/org.gnome.shell.gschema.xml.in.h:20
|
||||||
msgid "The gstreamer pipeline used to encode the screencast"
|
msgid "The gstreamer pipeline used to encode the screencast"
|
||||||
msgstr ""
|
msgstr "Gstreamer-kommandokø brukt til å kode skjermvideoen"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:21
|
#: ../data/org.gnome.shell.gschema.xml.in.h:21
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -134,6 +143,10 @@ msgid ""
|
|||||||
"want to disable this for privacy reasons. Please note that doing so won't "
|
"want to disable this for privacy reasons. Please note that doing so won't "
|
||||||
"remove already saved data."
|
"remove already saved data."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"GNOME Shell vil normalt holde øye med åpne programmer for å kunne vise de "
|
||||||
|
"mest bruke (for eksempel i oppstartsmenyer). Denne informasjonen vil bli "
|
||||||
|
"holdt privat, men du kan deaktivere denne lagringen av personvernårsaker. "
|
||||||
|
"Hvis du slår det av, vil det ikke fjerne allerede lagret informasjon."
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:22
|
#: ../data/org.gnome.shell.gschema.xml.in.h:22
|
||||||
msgid "Uuids of extensions to disable"
|
msgid "Uuids of extensions to disable"
|
||||||
@ -163,27 +176,27 @@ msgid "Execution of '%s' failed:"
|
|||||||
msgstr "Kjøring av «%s» feilet:"
|
msgstr "Kjøring av «%s» feilet:"
|
||||||
|
|
||||||
#. Translators: Filter to display all applications
|
#. Translators: Filter to display all applications
|
||||||
#: ../js/ui/appDisplay.js:230
|
#: ../js/ui/appDisplay.js:260
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Alle"
|
msgstr "Alle"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:328
|
#: ../js/ui/appDisplay.js:359
|
||||||
msgid "APPLICATIONS"
|
msgid "APPLICATIONS"
|
||||||
msgstr "PROGRAMMER"
|
msgstr "PROGRAMMER"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:354
|
#: ../js/ui/appDisplay.js:385
|
||||||
msgid "SETTINGS"
|
msgid "SETTINGS"
|
||||||
msgstr "INNSTILLINGER"
|
msgstr "INNSTILLINGER"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:625
|
#: ../js/ui/appDisplay.js:658
|
||||||
msgid "New Window"
|
msgid "New Window"
|
||||||
msgstr "Nytt vindu"
|
msgstr "Nytt vindu"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:628
|
#: ../js/ui/appDisplay.js:661
|
||||||
msgid "Remove from Favorites"
|
msgid "Remove from Favorites"
|
||||||
msgstr "Fjern fra favoritter"
|
msgstr "Fjern fra favoritter"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:629
|
#: ../js/ui/appDisplay.js:662
|
||||||
msgid "Add to Favorites"
|
msgid "Add to Favorites"
|
||||||
msgstr "Legg til i favoritter"
|
msgstr "Legg til i favoritter"
|
||||||
|
|
||||||
@ -261,7 +274,7 @@ msgstr "F"
|
|||||||
#: ../js/ui/calendar.js:130
|
#: ../js/ui/calendar.js:130
|
||||||
msgctxt "grid saturday"
|
msgctxt "grid saturday"
|
||||||
msgid "S"
|
msgid "S"
|
||||||
msgstr "S"
|
msgstr "L"
|
||||||
|
|
||||||
#. Translators: Event list abbreviation for Sunday.
|
#. Translators: Event list abbreviation for Sunday.
|
||||||
#. *
|
#. *
|
||||||
@ -278,19 +291,19 @@ msgstr "Sø"
|
|||||||
#: ../js/ui/calendar.js:145
|
#: ../js/ui/calendar.js:145
|
||||||
msgctxt "list monday"
|
msgctxt "list monday"
|
||||||
msgid "M"
|
msgid "M"
|
||||||
msgstr "M"
|
msgstr "Ma"
|
||||||
|
|
||||||
#. Translators: Event list abbreviation for Tuesday
|
#. Translators: Event list abbreviation for Tuesday
|
||||||
#: ../js/ui/calendar.js:147
|
#: ../js/ui/calendar.js:147
|
||||||
msgctxt "list tuesday"
|
msgctxt "list tuesday"
|
||||||
msgid "T"
|
msgid "T"
|
||||||
msgstr "T"
|
msgstr "Ti"
|
||||||
|
|
||||||
#. Translators: Event list abbreviation for Wednesday
|
#. Translators: Event list abbreviation for Wednesday
|
||||||
#: ../js/ui/calendar.js:149
|
#: ../js/ui/calendar.js:149
|
||||||
msgctxt "list wednesday"
|
msgctxt "list wednesday"
|
||||||
msgid "W"
|
msgid "W"
|
||||||
msgstr "O"
|
msgstr "On"
|
||||||
|
|
||||||
#. Translators: Event list abbreviation for Thursday
|
#. Translators: Event list abbreviation for Thursday
|
||||||
#: ../js/ui/calendar.js:151
|
#: ../js/ui/calendar.js:151
|
||||||
@ -302,13 +315,13 @@ msgstr "To"
|
|||||||
#: ../js/ui/calendar.js:153
|
#: ../js/ui/calendar.js:153
|
||||||
msgctxt "list friday"
|
msgctxt "list friday"
|
||||||
msgid "F"
|
msgid "F"
|
||||||
msgstr "F"
|
msgstr "Fr"
|
||||||
|
|
||||||
#. Translators: Event list abbreviation for Saturday
|
#. Translators: Event list abbreviation for Saturday
|
||||||
#: ../js/ui/calendar.js:155
|
#: ../js/ui/calendar.js:155
|
||||||
msgctxt "list saturday"
|
msgctxt "list saturday"
|
||||||
msgid "S"
|
msgid "S"
|
||||||
msgstr "S"
|
msgstr "Lø"
|
||||||
|
|
||||||
#. Translators: Text to show if there are no events
|
#. Translators: Text to show if there are no events
|
||||||
#: ../js/ui/calendar.js:704
|
#: ../js/ui/calendar.js:704
|
||||||
@ -316,13 +329,13 @@ msgid "Nothing Scheduled"
|
|||||||
msgstr "Ingenting planlagt"
|
msgstr "Ingenting planlagt"
|
||||||
|
|
||||||
#. Translators: Shown on calendar heading when selected day occurs on current year
|
#. 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:487
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d"
|
msgid "%A, %B %d"
|
||||||
msgstr "%A %B %d"
|
msgstr "%A %B %d"
|
||||||
|
|
||||||
#. Translators: Shown on calendar heading when selected day occurs on different year
|
#. 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:490
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d, %Y"
|
msgid "%A, %B %d, %Y"
|
||||||
msgstr "%A %B %d, %Y"
|
msgstr "%A %B %d, %Y"
|
||||||
@ -343,7 +356,7 @@ msgstr "Denne uken"
|
|||||||
msgid "Next week"
|
msgid "Next week"
|
||||||
msgstr "Neste uke"
|
msgstr "Neste uke"
|
||||||
|
|
||||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1007
|
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1037
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr "Fjern"
|
msgstr "Fjern"
|
||||||
|
|
||||||
@ -472,8 +485,8 @@ msgstr "Systemet vil starte på nytt automatisk om %d sekunder."
|
|||||||
msgid "Restarting the system."
|
msgid "Restarting the system."
|
||||||
msgstr "Starter systemet på nytt."
|
msgstr "Starter systemet på nytt."
|
||||||
|
|
||||||
#: ../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
|
#: ../js/ui/status/bluetooth.js:491
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Avbryt"
|
msgstr "Avbryt"
|
||||||
|
|
||||||
@ -507,11 +520,11 @@ msgstr "Vis kildekode"
|
|||||||
msgid "Web Page"
|
msgid "Web Page"
|
||||||
msgstr "Nettside"
|
msgstr "Nettside"
|
||||||
|
|
||||||
#: ../js/ui/messageTray.js:1000
|
#: ../js/ui/messageTray.js:1030
|
||||||
msgid "Open"
|
msgid "Open"
|
||||||
msgstr "Åpne"
|
msgstr "Åpne"
|
||||||
|
|
||||||
#: ../js/ui/messageTray.js:2164
|
#: ../js/ui/messageTray.js:2194
|
||||||
msgid "System Information"
|
msgid "System Information"
|
||||||
msgstr "Systeminformasjon"
|
msgstr "Systeminformasjon"
|
||||||
|
|
||||||
@ -534,18 +547,18 @@ msgid "Dash"
|
|||||||
msgstr "Favoritter"
|
msgstr "Favoritter"
|
||||||
|
|
||||||
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
||||||
#: ../js/ui/panel.js:524
|
#: ../js/ui/panel.js:533
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Quit %s"
|
msgid "Quit %s"
|
||||||
msgstr "Avslutt %s"
|
msgstr "Avslutt %s"
|
||||||
|
|
||||||
#. Button on the left side of the panel.
|
#. 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".
|
#. 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:913
|
||||||
msgid "Activities"
|
msgid "Activities"
|
||||||
msgstr "Aktiviteter"
|
msgstr "Aktiviteter"
|
||||||
|
|
||||||
#: ../js/ui/panel.js:1003
|
#: ../js/ui/panel.js:1015
|
||||||
msgid "Top Bar"
|
msgid "Top Bar"
|
||||||
msgstr "Topp-panel"
|
msgstr "Topp-panel"
|
||||||
|
|
||||||
@ -603,11 +616,11 @@ msgstr "toggle-switch-intl"
|
|||||||
msgid "Please enter a command:"
|
msgid "Please enter a command:"
|
||||||
msgstr "Oppgi en kommando:"
|
msgstr "Oppgi en kommando:"
|
||||||
|
|
||||||
#: ../js/ui/searchDisplay.js:310
|
#: ../js/ui/searchDisplay.js:313
|
||||||
msgid "Searching..."
|
msgid "Searching..."
|
||||||
msgstr "Søker …"
|
msgstr "Søker …"
|
||||||
|
|
||||||
#: ../js/ui/searchDisplay.js:324
|
#: ../js/ui/searchDisplay.js:327
|
||||||
msgid "No matching results."
|
msgid "No matching results."
|
||||||
msgstr "Ingen treff."
|
msgstr "Ingen treff."
|
||||||
|
|
||||||
@ -690,9 +703,9 @@ msgstr "Høy kontrast"
|
|||||||
msgid "Large Text"
|
msgid "Large Text"
|
||||||
msgstr "Stor tekst"
|
msgstr "Stor tekst"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:237
|
#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:264
|
||||||
#: ../js/ui/status/bluetooth.js:333 ../js/ui/status/bluetooth.js:367
|
#: ../js/ui/status/bluetooth.js:358 ../js/ui/status/bluetooth.js:392
|
||||||
#: ../js/ui/status/bluetooth.js:407 ../js/ui/status/bluetooth.js:440
|
#: ../js/ui/status/bluetooth.js:432 ../js/ui/status/bluetooth.js:465
|
||||||
msgid "Bluetooth"
|
msgid "Bluetooth"
|
||||||
msgstr "Bluetooth"
|
msgstr "Bluetooth"
|
||||||
|
|
||||||
@ -705,101 +718,101 @@ msgid "Send Files to Device..."
|
|||||||
msgstr "Send filer til enhet …"
|
msgstr "Send filer til enhet …"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:70
|
#: ../js/ui/status/bluetooth.js:70
|
||||||
msgid "Setup a New Device..."
|
msgid "Set up a New Device..."
|
||||||
msgstr "Sett opp en ny enhet …"
|
msgstr "Sett opp en ny enhet …"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:95
|
#: ../js/ui/status/bluetooth.js:95
|
||||||
msgid "Bluetooth Settings"
|
msgid "Bluetooth Settings"
|
||||||
msgstr "Innstillinger for Bluetooth"
|
msgstr "Innstillinger for Bluetooth"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:188
|
#: ../js/ui/status/bluetooth.js:215
|
||||||
msgid "Connection"
|
msgid "Connection"
|
||||||
msgstr "Tilkobling"
|
msgstr "Tilkobling"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:224
|
#: ../js/ui/status/bluetooth.js:251
|
||||||
msgid "Send Files..."
|
msgid "Send Files..."
|
||||||
msgstr "Send filer …"
|
msgstr "Send filer …"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:229
|
#: ../js/ui/status/bluetooth.js:256
|
||||||
msgid "Browse Files..."
|
msgid "Browse Files..."
|
||||||
msgstr "Bla gjennom filer …"
|
msgstr "Bla gjennom filer …"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:238
|
#: ../js/ui/status/bluetooth.js:265
|
||||||
msgid "Error browsing device"
|
msgid "Error browsing device"
|
||||||
msgstr "Feil under lesing av enhet"
|
msgstr "Feil under lesing av enhet"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:239
|
#: ../js/ui/status/bluetooth.js:266
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "The requested device cannot be browsed, error is '%s'"
|
msgid "The requested device cannot be browsed, error is '%s'"
|
||||||
msgstr "Kan ikke bla gjennom forespurt enhet. Feilen er «%s»"
|
msgstr "Kan ikke bla gjennom forespurt enhet. Feilen er «%s»"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:247
|
#: ../js/ui/status/bluetooth.js:274
|
||||||
msgid "Keyboard Settings"
|
msgid "Keyboard Settings"
|
||||||
msgstr "Innstillinger for tastatur"
|
msgstr "Innstillinger for tastatur"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:252
|
#: ../js/ui/status/bluetooth.js:279
|
||||||
msgid "Mouse Settings"
|
msgid "Mouse Settings"
|
||||||
msgstr "Innstillinger for mus"
|
msgstr "Innstillinger for mus"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:259 ../js/ui/status/volume.js:66
|
#: ../js/ui/status/bluetooth.js:286 ../js/ui/status/volume.js:66
|
||||||
msgid "Sound Settings"
|
msgid "Sound Settings"
|
||||||
msgstr "Innstillinger for lyd"
|
msgstr "Innstillinger for lyd"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:368
|
#: ../js/ui/status/bluetooth.js:393
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Authorization request from %s"
|
msgid "Authorization request from %s"
|
||||||
msgstr "Forespørsel om autorisering fra %s"
|
msgstr "Forespørsel om autorisering fra %s"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:374
|
#: ../js/ui/status/bluetooth.js:399
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Device %s wants access to the service '%s'"
|
msgid "Device %s wants access to the service '%s'"
|
||||||
msgstr "Enhet %s vil ha tilgang til tjenesten «%s»"
|
msgstr "Enhet %s vil ha tilgang til tjenesten «%s»"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:376
|
#: ../js/ui/status/bluetooth.js:401
|
||||||
msgid "Always grant access"
|
msgid "Always grant access"
|
||||||
msgstr "Alltid gi tilgang"
|
msgstr "Alltid gi tilgang"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:377
|
#: ../js/ui/status/bluetooth.js:402
|
||||||
msgid "Grant this time only"
|
msgid "Grant this time only"
|
||||||
msgstr "Gi tilgang kun denne ene gangen"
|
msgstr "Gi tilgang kun denne ene gangen"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:378
|
#: ../js/ui/status/bluetooth.js:403
|
||||||
msgid "Reject"
|
msgid "Reject"
|
||||||
msgstr "Avvis"
|
msgstr "Avvis"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:408
|
#: ../js/ui/status/bluetooth.js:433
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Pairing confirmation for %s"
|
msgid "Pairing confirmation for %s"
|
||||||
msgstr "Bekreftelse for tilkobling for %s"
|
msgstr "Bekreftelse for tilkobling for %s"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:448
|
#: ../js/ui/status/bluetooth.js:439 ../js/ui/status/bluetooth.js:473
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Device %s wants to pair with this computer"
|
msgid "Device %s wants to pair with this computer"
|
||||||
msgstr "Enhet %s vil koble seg sammen med denne datamaskinen"
|
msgstr "Enhet %s vil koble seg sammen med denne datamaskinen"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:415
|
#: ../js/ui/status/bluetooth.js:440
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Please confirm whether the PIN '%s' matches the one on the device."
|
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."
|
msgstr "Vennligst bekreft om PIN «%s» er lik den som brukes på enheten."
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:417
|
#: ../js/ui/status/bluetooth.js:442
|
||||||
msgid "Matches"
|
msgid "Matches"
|
||||||
msgstr "Stemmer overens"
|
msgstr "Stemmer overens"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:418
|
#: ../js/ui/status/bluetooth.js:443
|
||||||
msgid "Does not match"
|
msgid "Does not match"
|
||||||
msgstr "Stemmer ikke overens"
|
msgstr "Stemmer ikke overens"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:441
|
#: ../js/ui/status/bluetooth.js:466
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Pairing request for %s"
|
msgid "Pairing request for %s"
|
||||||
msgstr "Forespørsel om tilkobling for %s"
|
msgstr "Forespørsel om tilkobling for %s"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:449
|
#: ../js/ui/status/bluetooth.js:474
|
||||||
msgid "Please enter the PIN mentioned on the device."
|
msgid "Please enter the PIN mentioned on the device."
|
||||||
msgstr "Vennligst oppgi PIN som oppgitt på enheten."
|
msgstr "Vennligst oppgi PIN som oppgitt på enheten."
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:465
|
#: ../js/ui/status/bluetooth.js:490
|
||||||
msgid "OK"
|
msgid "OK"
|
||||||
msgstr "OK"
|
msgstr "OK"
|
||||||
|
|
||||||
@ -811,139 +824,139 @@ msgstr "Vis tastaturutforming …"
|
|||||||
msgid "Localization Settings"
|
msgid "Localization Settings"
|
||||||
msgstr "Innstillinger for lokalisering"
|
msgstr "Innstillinger for lokalisering"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:104 ../js/ui/status/network.js:1454
|
#: ../js/ui/status/network.js:126
|
||||||
msgid "<unknown>"
|
msgid "<unknown>"
|
||||||
msgstr "<ukjent>"
|
msgstr "<ukjent>"
|
||||||
|
|
||||||
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
||||||
#: ../js/ui/status/network.js:311
|
#: ../js/ui/status/network.js:343
|
||||||
msgid "disabled"
|
msgid "disabled"
|
||||||
msgstr "slått av"
|
msgstr "slått av"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:494
|
#: ../js/ui/status/network.js:542
|
||||||
msgid "connecting..."
|
msgid "connecting..."
|
||||||
msgstr "kobler til …"
|
msgstr "kobler til …"
|
||||||
|
|
||||||
#. Translators: this is for network connections that require some kind of key or password
|
#. Translators: this is for network connections that require some kind of key or password
|
||||||
#: ../js/ui/status/network.js:497
|
#: ../js/ui/status/network.js:545
|
||||||
msgid "authentication required"
|
msgid "authentication required"
|
||||||
msgstr "autentisering kreves"
|
msgstr "autentisering kreves"
|
||||||
|
|
||||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||||
#. module, which is missing
|
#. module, which is missing
|
||||||
#: ../js/ui/status/network.js:507
|
#: ../js/ui/status/network.js:555
|
||||||
msgid "firmware missing"
|
msgid "firmware missing"
|
||||||
msgstr "fastvare mangler"
|
msgstr "fastvare mangler"
|
||||||
|
|
||||||
#. Translators: this is for wired network devices that are physically disconnected
|
#. Translators: this is for wired network devices that are physically disconnected
|
||||||
#: ../js/ui/status/network.js:514
|
#: ../js/ui/status/network.js:562
|
||||||
msgid "cable unplugged"
|
msgid "cable unplugged"
|
||||||
msgstr "kabel koblet fra"
|
msgstr "kabel koblet fra"
|
||||||
|
|
||||||
#. Translators: this is for a network device that cannot be activated (for example it
|
#. Translators: this is for a network device that cannot be activated (for example it
|
||||||
#. is disabled by rfkill, or it has no coverage
|
#. is disabled by rfkill, or it has no coverage
|
||||||
#: ../js/ui/status/network.js:519
|
#: ../js/ui/status/network.js:567
|
||||||
msgid "unavailable"
|
msgid "unavailable"
|
||||||
msgstr "ikke tilgjengelig"
|
msgstr "ikke tilgjengelig"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:521
|
#: ../js/ui/status/network.js:569
|
||||||
msgid "connection failed"
|
msgid "connection failed"
|
||||||
msgstr "tilkobling feilet"
|
msgstr "tilkobling feilet"
|
||||||
|
|
||||||
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
||||||
#. and we cannot access its settings (including the name)
|
#. 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:650 ../js/ui/status/network.js:1459
|
||||||
msgid "Connected (private)"
|
msgid "Connected (private)"
|
||||||
msgstr "Tilkoblet (privat)"
|
msgstr "Tilkoblet (privat)"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:683
|
#: ../js/ui/status/network.js:735
|
||||||
msgid "Auto Ethernet"
|
msgid "Auto Ethernet"
|
||||||
msgstr "Automatisk Ethernet"
|
msgstr "Automatisk Ethernet"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:758
|
#: ../js/ui/status/network.js:803
|
||||||
msgid "Auto broadband"
|
msgid "Auto broadband"
|
||||||
msgstr "Automatisk bredbånd"
|
msgstr "Automatisk bredbånd"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:761
|
#: ../js/ui/status/network.js:806
|
||||||
msgid "Auto dial-up"
|
msgid "Auto dial-up"
|
||||||
msgstr "Automatisk oppringt"
|
msgstr "Automatisk oppringt"
|
||||||
|
|
||||||
#. TRANSLATORS: this the automatic wireless connection name (including the network name)
|
#. 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:930 ../js/ui/status/network.js:1471
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Auto %s"
|
msgid "Auto %s"
|
||||||
msgstr "Automatisk %s"
|
msgstr "Automatisk %s"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:906
|
#: ../js/ui/status/network.js:932
|
||||||
msgid "Auto bluetooth"
|
msgid "Auto bluetooth"
|
||||||
msgstr "Automatisk Bluetooth"
|
msgstr "Automatisk Bluetooth"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1416
|
#: ../js/ui/status/network.js:1473
|
||||||
msgid "Auto wireless"
|
msgid "Auto wireless"
|
||||||
msgstr "Automatisk trådløst"
|
msgstr "Automatisk trådløst"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1474
|
#: ../js/ui/status/network.js:1521
|
||||||
msgid "More..."
|
msgid "More..."
|
||||||
msgstr "Mer …"
|
msgstr "Mer …"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1497
|
#: ../js/ui/status/network.js:1563
|
||||||
msgid "Enable networking"
|
msgid "Enable networking"
|
||||||
msgstr "Slå på nettverk"
|
msgstr "Slå på nettverk"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1509
|
#: ../js/ui/status/network.js:1575
|
||||||
msgid "Wired"
|
msgid "Wired"
|
||||||
msgstr "Kablet"
|
msgstr "Kablet"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1520
|
#: ../js/ui/status/network.js:1586
|
||||||
msgid "Wireless"
|
msgid "Wireless"
|
||||||
msgstr "Trådløst"
|
msgstr "Trådløst"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1530
|
#: ../js/ui/status/network.js:1596
|
||||||
msgid "Mobile broadband"
|
msgid "Mobile broadband"
|
||||||
msgstr "Mobilt bredbånd"
|
msgstr "Mobilt bredbånd"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1540
|
#: ../js/ui/status/network.js:1606
|
||||||
msgid "VPN Connections"
|
msgid "VPN Connections"
|
||||||
msgstr "VPN-tilkoblinger"
|
msgstr "VPN-tilkoblinger"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1549
|
#: ../js/ui/status/network.js:1618
|
||||||
msgid "Network Settings"
|
msgid "Network Settings"
|
||||||
msgstr "Innstillinger for nettverk"
|
msgstr "Innstillinger for nettverk"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1844
|
#: ../js/ui/status/network.js:1912
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to mobile broadband connection '%s'"
|
msgid "You're now connected to mobile broadband connection '%s'"
|
||||||
msgstr "Du er nå koblet til mobil bredbåndstilkobling «%s»"
|
msgstr "Du er nå koblet til mobil bredbåndstilkobling «%s»"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1848
|
#: ../js/ui/status/network.js:1916
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to wireless network '%s'"
|
msgid "You're now connected to wireless network '%s'"
|
||||||
msgstr "Du er nå koblet til trådløst nettverk «%s»"
|
msgstr "Du er nå koblet til trådløst nettverk «%s»"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1852
|
#: ../js/ui/status/network.js:1920
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to wired network '%s'"
|
msgid "You're now connected to wired network '%s'"
|
||||||
msgstr "Du er nå koblet til kablet nettverk «%s»"
|
msgstr "Du er nå koblet til kablet nettverk «%s»"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1856
|
#: ../js/ui/status/network.js:1924
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to VPN network '%s'"
|
msgid "You're now connected to VPN network '%s'"
|
||||||
msgstr "Du er nå koblet til virtuelt privat nettverk «%s»"
|
msgstr "Du er nå koblet til virtuelt privat nettverk «%s»"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1861
|
#: ../js/ui/status/network.js:1929
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to '%s'"
|
msgid "You're now connected to '%s'"
|
||||||
msgstr "Du er nå koblet til «%s»"
|
msgstr "Du er nå koblet til «%s»"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1869
|
#: ../js/ui/status/network.js:1937
|
||||||
msgid "Connection established"
|
msgid "Connection established"
|
||||||
msgstr "Tilkobling etablert"
|
msgstr "Tilkobling etablert"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1991
|
#: ../js/ui/status/network.js:2063
|
||||||
msgid "Networking is disabled"
|
msgid "Networking is disabled"
|
||||||
msgstr "Nettverk er slått av"
|
msgstr "Nettverk er slått av"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:2116
|
#: ../js/ui/status/network.js:2188
|
||||||
msgid "Network Manager"
|
msgid "Network Manager"
|
||||||
msgstr "Nettverkshåndtering"
|
msgstr "Nettverkshåndtering"
|
||||||
|
|
||||||
@ -1045,22 +1058,22 @@ msgstr "Volum"
|
|||||||
msgid "Microphone"
|
msgid "Microphone"
|
||||||
msgstr "Mikrofon"
|
msgstr "Mikrofon"
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:335
|
#: ../js/ui/telepathyClient.js:330
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is online."
|
msgid "%s is online."
|
||||||
msgstr "%s er tilkoblet."
|
msgstr "%s er tilkoblet."
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:340
|
#: ../js/ui/telepathyClient.js:335
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is offline."
|
msgid "%s is offline."
|
||||||
msgstr "%s er frakoblet."
|
msgstr "%s er frakoblet."
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:343
|
#: ../js/ui/telepathyClient.js:338
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is away."
|
msgid "%s is away."
|
||||||
msgstr "«%s» er borte."
|
msgstr "«%s» er borte."
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:346
|
#: ../js/ui/telepathyClient.js:341
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is busy."
|
msgid "%s is busy."
|
||||||
msgstr "%s er opptatt."
|
msgstr "%s er opptatt."
|
||||||
@ -1068,11 +1081,18 @@ msgstr "%s er opptatt."
|
|||||||
#. Translators: this is a time format string followed by a date.
|
#. Translators: this is a time format string followed by a date.
|
||||||
#. If applicable, replace %X with a strftime format valid for your
|
#. If applicable, replace %X with a strftime format valid for your
|
||||||
#. locale, without seconds.
|
#. locale, without seconds.
|
||||||
#: ../js/ui/telepathyClient.js:482
|
#: ../js/ui/telepathyClient.js:479
|
||||||
#, no-c-format
|
#, no-c-format
|
||||||
msgid "Sent at %X on %A"
|
msgid "Sent at %X on %A"
|
||||||
msgstr "Sendt %X på %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
|
#. Translators: this is the text displayed
|
||||||
#. in the search entry when no search is
|
#. in the search entry when no search is
|
||||||
#. active; it should not exceed ~30
|
#. active; it should not exceed ~30
|
||||||
@ -1117,50 +1137,18 @@ msgstr[1] "%u innganger"
|
|||||||
msgid "System Sounds"
|
msgid "System Sounds"
|
||||||
msgstr "Systemlyder"
|
msgstr "Systemlyder"
|
||||||
|
|
||||||
#: ../src/main.c:446
|
#: ../src/main.c:445
|
||||||
msgid "Print version"
|
msgid "Print version"
|
||||||
msgstr "Skriv ut versjon"
|
msgstr "Skriv ut versjon"
|
||||||
|
|
||||||
#: ../src/shell-app.c:454
|
#: ../src/shell-app.c:464
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to launch '%s'"
|
msgid "Failed to launch '%s'"
|
||||||
msgstr "Klarte ikke å starte «%s»"
|
msgstr "Klarte ikke å starte «%s»"
|
||||||
|
|
||||||
#: ../src/shell-global.c:1395
|
|
||||||
msgid "Less than a minute ago"
|
|
||||||
msgstr "Mindre enn ett 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
|
#: ../src/shell-mobile-providers.c:80
|
||||||
msgid "United Kingdom"
|
msgid "United Kingdom"
|
||||||
msgstr "England"
|
msgstr "Storbritannia"
|
||||||
|
|
||||||
#: ../src/shell-mobile-providers.c:526
|
#: ../src/shell-mobile-providers.c:526
|
||||||
msgid "Default"
|
msgid "Default"
|
||||||
|
114
po/pl.po
@ -8,8 +8,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: gnome-shell\n"
|
"Project-Id-Version: gnome-shell\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2011-03-28 20:21+0200\n"
|
"POT-Creation-Date: 2011-04-22 16:23+0200\n"
|
||||||
"PO-Revision-Date: 2011-03-28 20:22+0200\n"
|
"PO-Revision-Date: 2011-04-22 16:27+0200\n"
|
||||||
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
|
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
|
||||||
"Language-Team: Polish <gnomepl@aviary.pl>\n"
|
"Language-Team: Polish <gnomepl@aviary.pl>\n"
|
||||||
"Language: pl\n"
|
"Language: pl\n"
|
||||||
@ -196,23 +196,23 @@ msgstr "Wykonanie polecenia \"%s\" się nie powiodło:"
|
|||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Wszystkie"
|
msgstr "Wszystkie"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:328
|
#: ../js/ui/appDisplay.js:329
|
||||||
msgid "APPLICATIONS"
|
msgid "APPLICATIONS"
|
||||||
msgstr "Programy"
|
msgstr "Programy"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:354
|
#: ../js/ui/appDisplay.js:355
|
||||||
msgid "SETTINGS"
|
msgid "SETTINGS"
|
||||||
msgstr "Ustawienia"
|
msgstr "Ustawienia"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:625
|
#: ../js/ui/appDisplay.js:626
|
||||||
msgid "New Window"
|
msgid "New Window"
|
||||||
msgstr "Nowe okno"
|
msgstr "Nowe okno"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:628
|
#: ../js/ui/appDisplay.js:629
|
||||||
msgid "Remove from Favorites"
|
msgid "Remove from Favorites"
|
||||||
msgstr "Usuń z ulubionych"
|
msgstr "Usuń z ulubionych"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:629
|
#: ../js/ui/appDisplay.js:630
|
||||||
msgid "Add to Favorites"
|
msgid "Add to Favorites"
|
||||||
msgstr "Dodaj do ulubionych"
|
msgstr "Dodaj do ulubionych"
|
||||||
|
|
||||||
@ -345,13 +345,13 @@ msgid "Nothing Scheduled"
|
|||||||
msgstr "Nic nie zaplanowano"
|
msgstr "Nic nie zaplanowano"
|
||||||
|
|
||||||
#. Translators: Shown on calendar heading when selected day occurs on current year
|
#. Translators: Shown on calendar heading when selected day occurs on current year
|
||||||
#: ../js/ui/calendar.js:720
|
#: ../js/ui/calendar.js:720 ../js/ui/telepathyClient.js:492
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d"
|
msgid "%A, %B %d"
|
||||||
msgstr "%A, %e %B"
|
msgstr "%A, %e %B"
|
||||||
|
|
||||||
#. Translators: Shown on calendar heading when selected day occurs on different year
|
#. Translators: Shown on calendar heading when selected day occurs on different year
|
||||||
#: ../js/ui/calendar.js:723
|
#: ../js/ui/calendar.js:723 ../js/ui/telepathyClient.js:495
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d, %Y"
|
msgid "%A, %B %d, %Y"
|
||||||
msgstr "%A, %e %B %Y"
|
msgstr "%A, %e %B %Y"
|
||||||
@ -372,7 +372,7 @@ msgstr "Ten tydzień"
|
|||||||
msgid "Next week"
|
msgid "Next week"
|
||||||
msgstr "Następny tydzień"
|
msgstr "Następny tydzień"
|
||||||
|
|
||||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1000
|
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1037
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr "Usuń"
|
msgstr "Usuń"
|
||||||
|
|
||||||
@ -408,7 +408,7 @@ msgstr "%a, %R"
|
|||||||
#. for AM/PM.
|
#. for AM/PM.
|
||||||
#: ../js/ui/dateMenu.js:177
|
#: ../js/ui/dateMenu.js:177
|
||||||
msgid "%a %b %e, %l:%M:%S %p"
|
msgid "%a %b %e, %l:%M:%S %p"
|
||||||
msgstr "%a %e %b, %H:%M:%S %p"
|
msgstr "%a %e %b, %l:%M:%S %p"
|
||||||
|
|
||||||
#: ../js/ui/dateMenu.js:178
|
#: ../js/ui/dateMenu.js:178
|
||||||
msgid "%a %b %e, %l:%M %p"
|
msgid "%a %b %e, %l:%M %p"
|
||||||
@ -499,7 +499,7 @@ msgstr "System zostanie automatycznie uruchomiony ponownie za %d sekund."
|
|||||||
msgid "Restarting the system."
|
msgid "Restarting the system."
|
||||||
msgstr "Ponowne uruchamianie systemu."
|
msgstr "Ponowne uruchamianie systemu."
|
||||||
|
|
||||||
#: ../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
|
#: ../js/ui/status/bluetooth.js:466
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Anuluj"
|
msgstr "Anuluj"
|
||||||
@ -534,11 +534,11 @@ msgstr "Wyświetl źródło"
|
|||||||
msgid "Web Page"
|
msgid "Web Page"
|
||||||
msgstr "Strona WWW"
|
msgstr "Strona WWW"
|
||||||
|
|
||||||
#: ../js/ui/messageTray.js:993
|
#: ../js/ui/messageTray.js:1030
|
||||||
msgid "Open"
|
msgid "Open"
|
||||||
msgstr "Otwórz"
|
msgstr "Otwórz"
|
||||||
|
|
||||||
#: ../js/ui/messageTray.js:2151
|
#: ../js/ui/messageTray.js:2194
|
||||||
msgid "System Information"
|
msgid "System Information"
|
||||||
msgstr "Informacje systemowe"
|
msgstr "Informacje systemowe"
|
||||||
|
|
||||||
@ -561,18 +561,18 @@ msgid "Dash"
|
|||||||
msgstr "Ulubione"
|
msgstr "Ulubione"
|
||||||
|
|
||||||
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
||||||
#: ../js/ui/panel.js:515
|
#: ../js/ui/panel.js:524
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Quit %s"
|
msgid "Quit %s"
|
||||||
msgstr "Zakończ program %s"
|
msgstr "Zakończ program %s"
|
||||||
|
|
||||||
#. Button on the left side of the panel.
|
#. 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".
|
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
|
||||||
#: ../js/ui/panel.js:878
|
#: ../js/ui/panel.js:902
|
||||||
msgid "Activities"
|
msgid "Activities"
|
||||||
msgstr "Podgląd"
|
msgstr "Podgląd"
|
||||||
|
|
||||||
#: ../js/ui/panel.js:979
|
#: ../js/ui/panel.js:1003
|
||||||
msgid "Top Bar"
|
msgid "Top Bar"
|
||||||
msgstr "Górny pasek"
|
msgstr "Górny pasek"
|
||||||
|
|
||||||
@ -630,11 +630,11 @@ msgstr "toggle-switch-intl"
|
|||||||
msgid "Please enter a command:"
|
msgid "Please enter a command:"
|
||||||
msgstr "Proszę wprowadzić polecenie:"
|
msgstr "Proszę wprowadzić polecenie:"
|
||||||
|
|
||||||
#: ../js/ui/searchDisplay.js:310
|
#: ../js/ui/searchDisplay.js:311
|
||||||
msgid "Searching..."
|
msgid "Searching..."
|
||||||
msgstr "Wyszukiwanie..."
|
msgstr "Wyszukiwanie..."
|
||||||
|
|
||||||
#: ../js/ui/searchDisplay.js:324
|
#: ../js/ui/searchDisplay.js:325
|
||||||
msgid "No matching results."
|
msgid "No matching results."
|
||||||
msgstr "Brak wyników."
|
msgstr "Brak wyników."
|
||||||
|
|
||||||
@ -838,139 +838,139 @@ msgstr "Wyświetl układ klawiatury..."
|
|||||||
msgid "Localization Settings"
|
msgid "Localization Settings"
|
||||||
msgstr "Ustawienia lokalizacji"
|
msgstr "Ustawienia lokalizacji"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:104 ../js/ui/status/network.js:1454
|
#: ../js/ui/status/network.js:109 ../js/ui/status/network.js:1498
|
||||||
msgid "<unknown>"
|
msgid "<unknown>"
|
||||||
msgstr "<nieznane>"
|
msgstr "<nieznane>"
|
||||||
|
|
||||||
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
||||||
#: ../js/ui/status/network.js:311
|
#: ../js/ui/status/network.js:326
|
||||||
msgid "disabled"
|
msgid "disabled"
|
||||||
msgstr "wyłączone"
|
msgstr "wyłączone"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:494
|
#: ../js/ui/status/network.js:521
|
||||||
msgid "connecting..."
|
msgid "connecting..."
|
||||||
msgstr "łączenie..."
|
msgstr "łączenie..."
|
||||||
|
|
||||||
#. Translators: this is for network connections that require some kind of key or password
|
#. Translators: this is for network connections that require some kind of key or password
|
||||||
#: ../js/ui/status/network.js:497
|
#: ../js/ui/status/network.js:524
|
||||||
msgid "authentication required"
|
msgid "authentication required"
|
||||||
msgstr "wymagane jest uwierzytelnienie"
|
msgstr "wymagane jest uwierzytelnienie"
|
||||||
|
|
||||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||||
#. module, which is missing
|
#. module, which is missing
|
||||||
#: ../js/ui/status/network.js:507
|
#: ../js/ui/status/network.js:534
|
||||||
msgid "firmware missing"
|
msgid "firmware missing"
|
||||||
msgstr "brak oprogramowania wbudowanego"
|
msgstr "brak oprogramowania wbudowanego"
|
||||||
|
|
||||||
#. Translators: this is for wired network devices that are physically disconnected
|
#. Translators: this is for wired network devices that are physically disconnected
|
||||||
#: ../js/ui/status/network.js:514
|
#: ../js/ui/status/network.js:541
|
||||||
msgid "cable unplugged"
|
msgid "cable unplugged"
|
||||||
msgstr "kabel jest niepodłączony"
|
msgstr "kabel jest niepodłączony"
|
||||||
|
|
||||||
#. Translators: this is for a network device that cannot be activated (for example it
|
#. Translators: this is for a network device that cannot be activated (for example it
|
||||||
#. is disabled by rfkill, or it has no coverage
|
#. is disabled by rfkill, or it has no coverage
|
||||||
#: ../js/ui/status/network.js:519
|
#: ../js/ui/status/network.js:546
|
||||||
msgid "unavailable"
|
msgid "unavailable"
|
||||||
msgstr "niedostępne"
|
msgstr "niedostępne"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:521
|
#: ../js/ui/status/network.js:548
|
||||||
msgid "connection failed"
|
msgid "connection failed"
|
||||||
msgstr "połączenie się nie powiodło"
|
msgstr "połączenie się nie powiodło"
|
||||||
|
|
||||||
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
||||||
#. and we cannot access its settings (including the name)
|
#. 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:628 ../js/ui/status/network.js:1446
|
||||||
msgid "Connected (private)"
|
msgid "Connected (private)"
|
||||||
msgstr "Połączono (prywatne)"
|
msgstr "Połączono (prywatne)"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:683
|
#: ../js/ui/status/network.js:713
|
||||||
msgid "Auto Ethernet"
|
msgid "Auto Ethernet"
|
||||||
msgstr "Automatyczne Ethernet"
|
msgstr "Automatyczne Ethernet"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:758
|
#: ../js/ui/status/network.js:788
|
||||||
msgid "Auto broadband"
|
msgid "Auto broadband"
|
||||||
msgstr "Automatyczne komórkowe"
|
msgstr "Automatyczne komórkowe"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:761
|
#: ../js/ui/status/network.js:791
|
||||||
msgid "Auto dial-up"
|
msgid "Auto dial-up"
|
||||||
msgstr "Automatyczne wdzwaniane"
|
msgstr "Automatyczne wdzwaniane"
|
||||||
|
|
||||||
#. TRANSLATORS: this the automatic wireless connection name (including the network name)
|
#. 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:937 ../js/ui/status/network.js:1458
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Auto %s"
|
msgid "Auto %s"
|
||||||
msgstr "Automatyczne %s"
|
msgstr "Automatyczne %s"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:906
|
#: ../js/ui/status/network.js:939
|
||||||
msgid "Auto bluetooth"
|
msgid "Auto bluetooth"
|
||||||
msgstr "Automatyczne Bluetooth"
|
msgstr "Automatyczne Bluetooth"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1416
|
#: ../js/ui/status/network.js:1460
|
||||||
msgid "Auto wireless"
|
msgid "Auto wireless"
|
||||||
msgstr "Automatyczne bezprzewodowe"
|
msgstr "Automatyczne bezprzewodowe"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1474
|
#: ../js/ui/status/network.js:1518
|
||||||
msgid "More..."
|
msgid "More..."
|
||||||
msgstr "Więcej..."
|
msgstr "Więcej..."
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1497
|
#: ../js/ui/status/network.js:1541
|
||||||
msgid "Enable networking"
|
msgid "Enable networking"
|
||||||
msgstr "Włącz sieć"
|
msgstr "Włącz sieć"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1509
|
#: ../js/ui/status/network.js:1553
|
||||||
msgid "Wired"
|
msgid "Wired"
|
||||||
msgstr "Przewodowe"
|
msgstr "Przewodowe"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1520
|
#: ../js/ui/status/network.js:1564
|
||||||
msgid "Wireless"
|
msgid "Wireless"
|
||||||
msgstr "Bezprzewodowe"
|
msgstr "Bezprzewodowe"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1530
|
#: ../js/ui/status/network.js:1574
|
||||||
msgid "Mobile broadband"
|
msgid "Mobile broadband"
|
||||||
msgstr "Komórkowe"
|
msgstr "Komórkowe"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1540
|
#: ../js/ui/status/network.js:1584
|
||||||
msgid "VPN Connections"
|
msgid "VPN Connections"
|
||||||
msgstr "Połączenia VPN"
|
msgstr "Połączenia VPN"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1549
|
#: ../js/ui/status/network.js:1596
|
||||||
msgid "Network Settings"
|
msgid "Network Settings"
|
||||||
msgstr "Ustawienia sieci"
|
msgstr "Ustawienia sieci"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1844
|
#: ../js/ui/status/network.js:1890
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to mobile broadband connection '%s'"
|
msgid "You're now connected to mobile broadband connection '%s'"
|
||||||
msgstr "Połączono z siecią komórkową \"%s\""
|
msgstr "Połączono z siecią komórkową \"%s\""
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1848
|
#: ../js/ui/status/network.js:1894
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to wireless network '%s'"
|
msgid "You're now connected to wireless network '%s'"
|
||||||
msgstr "Połączono z siecią bezprzewodową \"%s\""
|
msgstr "Połączono z siecią bezprzewodową \"%s\""
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1852
|
#: ../js/ui/status/network.js:1898
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to wired network '%s'"
|
msgid "You're now connected to wired network '%s'"
|
||||||
msgstr "Połączono z siecią przewodową \"%s\""
|
msgstr "Połączono z siecią przewodową \"%s\""
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1856
|
#: ../js/ui/status/network.js:1902
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to VPN network '%s'"
|
msgid "You're now connected to VPN network '%s'"
|
||||||
msgstr "Połączono z siecią VPN \"%s\""
|
msgstr "Połączono z siecią VPN \"%s\""
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1861
|
#: ../js/ui/status/network.js:1907
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to '%s'"
|
msgid "You're now connected to '%s'"
|
||||||
msgstr "Połączono z siecią \"%s\""
|
msgstr "Połączono z siecią \"%s\""
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1869
|
#: ../js/ui/status/network.js:1915
|
||||||
msgid "Connection established"
|
msgid "Connection established"
|
||||||
msgstr "Nawiązano połączenie"
|
msgstr "Nawiązano połączenie"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1991
|
#: ../js/ui/status/network.js:2041
|
||||||
msgid "Networking is disabled"
|
msgid "Networking is disabled"
|
||||||
msgstr "Sieć jest wyłączona"
|
msgstr "Sieć jest wyłączona"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:2116
|
#: ../js/ui/status/network.js:2166
|
||||||
msgid "Network Manager"
|
msgid "Network Manager"
|
||||||
msgstr "Menedżer sieci"
|
msgstr "Menedżer sieci"
|
||||||
|
|
||||||
@ -1076,22 +1076,22 @@ msgstr "Głośność"
|
|||||||
msgid "Microphone"
|
msgid "Microphone"
|
||||||
msgstr "Mikrofon"
|
msgstr "Mikrofon"
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:331
|
#: ../js/ui/telepathyClient.js:335
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is online."
|
msgid "%s is online."
|
||||||
msgstr "Użytkownik %s jest online."
|
msgstr "Użytkownik %s jest w trybie online."
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:336
|
#: ../js/ui/telepathyClient.js:340
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is offline."
|
msgid "%s is offline."
|
||||||
msgstr "Użytkownik %s jest offline."
|
msgstr "Użytkownik %s jest w trybie offline."
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:339
|
#: ../js/ui/telepathyClient.js:343
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is away."
|
msgid "%s is away."
|
||||||
msgstr "Użytkownik %s jest nieobecny."
|
msgstr "Użytkownik %s jest nieobecny."
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:342
|
#: ../js/ui/telepathyClient.js:346
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is busy."
|
msgid "%s is busy."
|
||||||
msgstr "Użytkownik %s jest zajęty."
|
msgstr "Użytkownik %s jest zajęty."
|
||||||
@ -1099,7 +1099,7 @@ msgstr "Użytkownik %s jest zajęty."
|
|||||||
#. Translators: this is a time format string followed by a date.
|
#. Translators: this is a time format string followed by a date.
|
||||||
#. If applicable, replace %X with a strftime format valid for your
|
#. If applicable, replace %X with a strftime format valid for your
|
||||||
#. locale, without seconds.
|
#. locale, without seconds.
|
||||||
#: ../js/ui/telepathyClient.js:473
|
#: ../js/ui/telepathyClient.js:484
|
||||||
#, no-c-format
|
#, no-c-format
|
||||||
msgid "Sent at %X on %A"
|
msgid "Sent at %X on %A"
|
||||||
msgstr "Wysłano o %H:%M w dniu %e %b"
|
msgstr "Wysłano o %H:%M w dniu %e %b"
|
||||||
@ -1150,7 +1150,7 @@ msgstr[2] "%u wejść"
|
|||||||
msgid "System Sounds"
|
msgid "System Sounds"
|
||||||
msgstr "Dźwięki systemowe"
|
msgstr "Dźwięki systemowe"
|
||||||
|
|
||||||
#: ../src/main.c:446
|
#: ../src/main.c:445
|
||||||
msgid "Print version"
|
msgid "Print version"
|
||||||
msgstr "Wyświetla wersję"
|
msgstr "Wyświetla wersję"
|
||||||
|
|
||||||
|
347
po/sl.po
@ -8,14 +8,14 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: gnome-shell master\n"
|
"Project-Id-Version: gnome-shell master\n"
|
||||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&keywords=I18N+L10N&component=general\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-03-26 15:31+0000\n"
|
"POT-Creation-Date: 2011-05-09 08:37+0000\n"
|
||||||
"PO-Revision-Date: 2011-03-26 20:24+0100\n"
|
"PO-Revision-Date: 2011-05-09 12:27+0100\n"
|
||||||
"Last-Translator: Matej Urbančič <mateju@svn.gnome.org>\n"
|
"Last-Translator: Matej Urbančič <mateju@svn.gnome.org>\n"
|
||||||
"Language-Team: Slovenian GNOME Translation Team <gnome-si@googlegroups.com>\n"
|
"Language-Team: Slovenian GNOME Translation Team <gnome-si@googlegroups.com>\n"
|
||||||
"Language: Slovenian\n"
|
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"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"
|
"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-Language: Slovenian\n"
|
||||||
"X-Poedit-Country: SLOVENIA\n"
|
"X-Poedit-Country: SLOVENIA\n"
|
||||||
@ -138,27 +138,27 @@ msgid "Execution of '%s' failed:"
|
|||||||
msgstr "Izvedba '%s' je spodletela:"
|
msgstr "Izvedba '%s' je spodletela:"
|
||||||
|
|
||||||
#. Translators: Filter to display all applications
|
#. Translators: Filter to display all applications
|
||||||
#: ../js/ui/appDisplay.js:230
|
#: ../js/ui/appDisplay.js:260
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Vse"
|
msgstr "Vse"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:328
|
#: ../js/ui/appDisplay.js:359
|
||||||
msgid "APPLICATIONS"
|
msgid "APPLICATIONS"
|
||||||
msgstr "Programi"
|
msgstr "Programi"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:354
|
#: ../js/ui/appDisplay.js:385
|
||||||
msgid "SETTINGS"
|
msgid "SETTINGS"
|
||||||
msgstr "NASTAVITVE"
|
msgstr "NASTAVITVE"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:625
|
#: ../js/ui/appDisplay.js:658
|
||||||
msgid "New Window"
|
msgid "New Window"
|
||||||
msgstr "Novo okno"
|
msgstr "Novo okno"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:628
|
#: ../js/ui/appDisplay.js:661
|
||||||
msgid "Remove from Favorites"
|
msgid "Remove from Favorites"
|
||||||
msgstr "Odstrani iz priljubljenih"
|
msgstr "Odstrani iz priljubljenih"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:629
|
#: ../js/ui/appDisplay.js:662
|
||||||
msgid "Add to Favorites"
|
msgid "Add to Favorites"
|
||||||
msgstr "Dodaj med priljubljene"
|
msgstr "Dodaj med priljubljene"
|
||||||
|
|
||||||
@ -292,12 +292,14 @@ msgstr "Nič ni razporejeno"
|
|||||||
|
|
||||||
#. Translators: Shown on calendar heading when selected day occurs on current year
|
#. Translators: Shown on calendar heading when selected day occurs on current year
|
||||||
#: ../js/ui/calendar.js:720
|
#: ../js/ui/calendar.js:720
|
||||||
|
#: ../js/ui/telepathyClient.js:487
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d"
|
msgid "%A, %B %d"
|
||||||
msgstr "%A, %d. %m."
|
msgstr "%A, %d. %m."
|
||||||
|
|
||||||
#. Translators: Shown on calendar heading when selected day occurs on different year
|
#. Translators: Shown on calendar heading when selected day occurs on different year
|
||||||
#: ../js/ui/calendar.js:723
|
#: ../js/ui/calendar.js:723
|
||||||
|
#: ../js/ui/telepathyClient.js:490
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d, %Y"
|
msgid "%A, %B %d, %Y"
|
||||||
msgstr "%A, %d %B %Y"
|
msgstr "%A, %d %B %Y"
|
||||||
@ -319,7 +321,7 @@ msgid "Next week"
|
|||||||
msgstr "Naslednji teden"
|
msgstr "Naslednji teden"
|
||||||
|
|
||||||
#: ../js/ui/dash.js:174
|
#: ../js/ui/dash.js:174
|
||||||
#: ../js/ui/messageTray.js:1000
|
#: ../js/ui/messageTray.js:1037
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr "Odstrani"
|
msgstr "Odstrani"
|
||||||
|
|
||||||
@ -447,9 +449,9 @@ msgstr "Sistem se bo samodejno ponovno zagnal čez %d sekund."
|
|||||||
msgid "Restarting the system."
|
msgid "Restarting the system."
|
||||||
msgstr "Ponoven zagon sistema."
|
msgstr "Ponoven zagon sistema."
|
||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:415
|
#: ../js/ui/endSessionDialog.js:413
|
||||||
#: ../js/ui/polkitAuthenticationAgent.js:172
|
#: ../js/ui/polkitAuthenticationAgent.js:172
|
||||||
#: ../js/ui/status/bluetooth.js:466
|
#: ../js/ui/status/bluetooth.js:491
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Prekliči"
|
msgstr "Prekliči"
|
||||||
|
|
||||||
@ -484,11 +486,11 @@ msgstr "Poglej vir"
|
|||||||
msgid "Web Page"
|
msgid "Web Page"
|
||||||
msgstr "Spletna stran"
|
msgstr "Spletna stran"
|
||||||
|
|
||||||
#: ../js/ui/messageTray.js:993
|
#: ../js/ui/messageTray.js:1030
|
||||||
msgid "Open"
|
msgid "Open"
|
||||||
msgstr "Odpri"
|
msgstr "Odpri"
|
||||||
|
|
||||||
#: ../js/ui/messageTray.js:2151
|
#: ../js/ui/messageTray.js:2194
|
||||||
msgid "System Information"
|
msgid "System Information"
|
||||||
msgstr "Podrobnosti sistema"
|
msgstr "Podrobnosti sistema"
|
||||||
|
|
||||||
@ -511,18 +513,18 @@ msgid "Dash"
|
|||||||
msgstr "Armaturna plošča"
|
msgstr "Armaturna plošča"
|
||||||
|
|
||||||
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
||||||
#: ../js/ui/panel.js:515
|
#: ../js/ui/panel.js:533
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Quit %s"
|
msgid "Quit %s"
|
||||||
msgstr "Končaj %s"
|
msgstr "Končaj %s"
|
||||||
|
|
||||||
#. Button on the left side of the panel.
|
#. 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".
|
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
|
||||||
#: ../js/ui/panel.js:878
|
#: ../js/ui/panel.js:913
|
||||||
msgid "Activities"
|
msgid "Activities"
|
||||||
msgstr "Dejavnosti"
|
msgstr "Dejavnosti"
|
||||||
|
|
||||||
#: ../js/ui/panel.js:979
|
#: ../js/ui/panel.js:1015
|
||||||
msgid "Top Bar"
|
msgid "Top Bar"
|
||||||
msgstr "Vrhnja vrstica"
|
msgstr "Vrhnja vrstica"
|
||||||
|
|
||||||
@ -555,11 +557,15 @@ msgstr "Skrbnik"
|
|||||||
msgid "Authenticate"
|
msgid "Authenticate"
|
||||||
msgstr "Overi"
|
msgstr "Overi"
|
||||||
|
|
||||||
#: ../js/ui/polkitAuthenticationAgent.js:260
|
#. 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
|
||||||
msgid "Sorry, that didn't work. Please try again."
|
msgid "Sorry, that didn't work. Please try again."
|
||||||
msgstr "Dejanje je spodletelo. Poskusite znova."
|
msgstr "Dejanje je spodletelo. Poskusite znova."
|
||||||
|
|
||||||
#: ../js/ui/polkitAuthenticationAgent.js:272
|
#: ../js/ui/polkitAuthenticationAgent.js:276
|
||||||
msgid "Password:"
|
msgid "Password:"
|
||||||
msgstr "Geslo:"
|
msgstr "Geslo:"
|
||||||
|
|
||||||
@ -576,11 +582,11 @@ msgstr "toggle-switch-intl"
|
|||||||
msgid "Please enter a command:"
|
msgid "Please enter a command:"
|
||||||
msgstr "Vnos ukaza:"
|
msgstr "Vnos ukaza:"
|
||||||
|
|
||||||
#: ../js/ui/searchDisplay.js:310
|
#: ../js/ui/searchDisplay.js:313
|
||||||
msgid "Searching..."
|
msgid "Searching..."
|
||||||
msgstr "Iskanje ..."
|
msgstr "Iskanje ..."
|
||||||
|
|
||||||
#: ../js/ui/searchDisplay.js:324
|
#: ../js/ui/searchDisplay.js:327
|
||||||
msgid "No matching results."
|
msgid "No matching results."
|
||||||
msgstr "Ni zadetkov iskanja"
|
msgstr "Ni zadetkov iskanja"
|
||||||
|
|
||||||
@ -666,11 +672,11 @@ msgid "Large Text"
|
|||||||
msgstr "Veliko besedilo"
|
msgstr "Veliko besedilo"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:42
|
#: ../js/ui/status/bluetooth.js:42
|
||||||
#: ../js/ui/status/bluetooth.js:237
|
#: ../js/ui/status/bluetooth.js:264
|
||||||
#: ../js/ui/status/bluetooth.js:333
|
#: ../js/ui/status/bluetooth.js:358
|
||||||
#: ../js/ui/status/bluetooth.js:367
|
#: ../js/ui/status/bluetooth.js:392
|
||||||
#: ../js/ui/status/bluetooth.js:407
|
#: ../js/ui/status/bluetooth.js:432
|
||||||
#: ../js/ui/status/bluetooth.js:440
|
#: ../js/ui/status/bluetooth.js:465
|
||||||
msgid "Bluetooth"
|
msgid "Bluetooth"
|
||||||
msgstr "Bluetooth"
|
msgstr "Bluetooth"
|
||||||
|
|
||||||
@ -683,103 +689,103 @@ msgid "Send Files to Device..."
|
|||||||
msgstr "Pošilji datoteke na napravo ..."
|
msgstr "Pošilji datoteke na napravo ..."
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:70
|
#: ../js/ui/status/bluetooth.js:70
|
||||||
msgid "Setup a New Device..."
|
msgid "Set up a New Device..."
|
||||||
msgstr "Namestitev nove naprave ..."
|
msgstr "Nastavitev nove naprave ..."
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:95
|
#: ../js/ui/status/bluetooth.js:95
|
||||||
msgid "Bluetooth Settings"
|
msgid "Bluetooth Settings"
|
||||||
msgstr "Nastavitve za Bluetooth"
|
msgstr "Nastavitve za Bluetooth"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:188
|
#: ../js/ui/status/bluetooth.js:215
|
||||||
msgid "Connection"
|
msgid "Connection"
|
||||||
msgstr "Povezava"
|
msgstr "Povezava"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:224
|
#: ../js/ui/status/bluetooth.js:251
|
||||||
msgid "Send Files..."
|
msgid "Send Files..."
|
||||||
msgstr "Pošlji datoteke ..."
|
msgstr "Pošlji datoteke ..."
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:229
|
#: ../js/ui/status/bluetooth.js:256
|
||||||
msgid "Browse Files..."
|
msgid "Browse Files..."
|
||||||
msgstr "Brskanje datotek ..."
|
msgstr "Brskanje datotek ..."
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:238
|
#: ../js/ui/status/bluetooth.js:265
|
||||||
msgid "Error browsing device"
|
msgid "Error browsing device"
|
||||||
msgstr "Napaka med brskanjem po napravi"
|
msgstr "Napaka med brskanjem po napravi"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:239
|
#: ../js/ui/status/bluetooth.js:266
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "The requested device cannot be browsed, error is '%s'"
|
msgid "The requested device cannot be browsed, error is '%s'"
|
||||||
msgstr "Po zahtevani naprave ni mogoče brskati, napaka je '%s'"
|
msgstr "Po zahtevani naprave ni mogoče brskati, napaka je '%s'"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:247
|
#: ../js/ui/status/bluetooth.js:274
|
||||||
msgid "Keyboard Settings"
|
msgid "Keyboard Settings"
|
||||||
msgstr "Nastavitve tipkovnice"
|
msgstr "Nastavitve tipkovnice"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:252
|
#: ../js/ui/status/bluetooth.js:279
|
||||||
msgid "Mouse Settings"
|
msgid "Mouse Settings"
|
||||||
msgstr "Nastavitve miške"
|
msgstr "Nastavitve miške"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:259
|
#: ../js/ui/status/bluetooth.js:286
|
||||||
#: ../js/ui/status/volume.js:66
|
#: ../js/ui/status/volume.js:66
|
||||||
msgid "Sound Settings"
|
msgid "Sound Settings"
|
||||||
msgstr "Nastavitve zvoka"
|
msgstr "Nastavitve zvoka"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:368
|
#: ../js/ui/status/bluetooth.js:393
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Authorization request from %s"
|
msgid "Authorization request from %s"
|
||||||
msgstr "Zahteva za pooblastitev od %s"
|
msgstr "Zahteva za pooblastitev od %s"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:374
|
#: ../js/ui/status/bluetooth.js:399
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Device %s wants access to the service '%s'"
|
msgid "Device %s wants access to the service '%s'"
|
||||||
msgstr "Naprava %s želi dostop do storitve '%s'."
|
msgstr "Naprava %s želi dostop do storitve '%s'."
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:376
|
#: ../js/ui/status/bluetooth.js:401
|
||||||
msgid "Always grant access"
|
msgid "Always grant access"
|
||||||
msgstr "Vedno odobri dostop"
|
msgstr "Vedno odobri dostop"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:377
|
#: ../js/ui/status/bluetooth.js:402
|
||||||
msgid "Grant this time only"
|
msgid "Grant this time only"
|
||||||
msgstr "Odobri le tokrat"
|
msgstr "Odobri le tokrat"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:378
|
#: ../js/ui/status/bluetooth.js:403
|
||||||
msgid "Reject"
|
msgid "Reject"
|
||||||
msgstr "Zavrni"
|
msgstr "Zavrni"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:408
|
#: ../js/ui/status/bluetooth.js:433
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Pairing confirmation for %s"
|
msgid "Pairing confirmation for %s"
|
||||||
msgstr "Potrditev razčlenjevanja za %s"
|
msgstr "Potrditev razčlenjevanja za %s"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:414
|
#: ../js/ui/status/bluetooth.js:439
|
||||||
#: ../js/ui/status/bluetooth.js:448
|
#: ../js/ui/status/bluetooth.js:473
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Device %s wants to pair with this computer"
|
msgid "Device %s wants to pair with this computer"
|
||||||
msgstr "Naprava %s se skuša povezati s tem računalnikom"
|
msgstr "Naprava %s se skuša povezati s tem računalnikom"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:415
|
#: ../js/ui/status/bluetooth.js:440
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Please confirm whether the PIN '%s' matches the one on the device."
|
msgid "Please confirm whether the PIN '%s' matches the one on the device."
|
||||||
msgstr "Potrdite, ali se PIN '%s' ujema s tistim na napravi."
|
msgstr "Potrdite, ali se PIN '%s' ujema s tistim na napravi."
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:417
|
#: ../js/ui/status/bluetooth.js:442
|
||||||
msgid "Matches"
|
msgid "Matches"
|
||||||
msgstr "Ujemanja"
|
msgstr "Ujemanja"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:418
|
#: ../js/ui/status/bluetooth.js:443
|
||||||
msgid "Does not match"
|
msgid "Does not match"
|
||||||
msgstr "Se ne ujema"
|
msgstr "Se ne ujema"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:441
|
#: ../js/ui/status/bluetooth.js:466
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Pairing request for %s"
|
msgid "Pairing request for %s"
|
||||||
msgstr "Zahteva razčlenjevanja za %s"
|
msgstr "Zahteva razčlenjevanja za %s"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:449
|
#: ../js/ui/status/bluetooth.js:474
|
||||||
msgid "Please enter the PIN mentioned on the device."
|
msgid "Please enter the PIN mentioned on the device."
|
||||||
msgstr "Vnesite PIN, ki je naveden na napravi."
|
msgstr "Vnesite PIN, ki je naveden na napravi."
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:465
|
#: ../js/ui/status/bluetooth.js:490
|
||||||
msgid "OK"
|
msgid "OK"
|
||||||
msgstr "V redu"
|
msgstr "V redu"
|
||||||
|
|
||||||
@ -791,142 +797,141 @@ msgstr "Pokaži razporeditev tipkovnice ..."
|
|||||||
msgid "Localization Settings"
|
msgid "Localization Settings"
|
||||||
msgstr "Krajevne nastavitve"
|
msgstr "Krajevne nastavitve"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:104
|
#: ../js/ui/status/network.js:126
|
||||||
#: ../js/ui/status/network.js:1454
|
|
||||||
msgid "<unknown>"
|
msgid "<unknown>"
|
||||||
msgstr "<neznano>"
|
msgstr "<neznano>"
|
||||||
|
|
||||||
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
||||||
#: ../js/ui/status/network.js:311
|
#: ../js/ui/status/network.js:343
|
||||||
msgid "disabled"
|
msgid "disabled"
|
||||||
msgstr "onemogočeno"
|
msgstr "onemogočeno"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:494
|
#: ../js/ui/status/network.js:542
|
||||||
msgid "connecting..."
|
msgid "connecting..."
|
||||||
msgstr "povezovanje ..."
|
msgstr "povezovanje ..."
|
||||||
|
|
||||||
#. Translators: this is for network connections that require some kind of key or password
|
#. Translators: this is for network connections that require some kind of key or password
|
||||||
#: ../js/ui/status/network.js:497
|
#: ../js/ui/status/network.js:545
|
||||||
msgid "authentication required"
|
msgid "authentication required"
|
||||||
msgstr "zahtevana je overitev"
|
msgstr "zahtevana je overitev"
|
||||||
|
|
||||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||||
#. module, which is missing
|
#. module, which is missing
|
||||||
#: ../js/ui/status/network.js:507
|
#: ../js/ui/status/network.js:555
|
||||||
msgid "firmware missing"
|
msgid "firmware missing"
|
||||||
msgstr "manjka strojna programska oprema"
|
msgstr "manjka strojna programska oprema"
|
||||||
|
|
||||||
#. Translators: this is for wired network devices that are physically disconnected
|
#. Translators: this is for wired network devices that are physically disconnected
|
||||||
#: ../js/ui/status/network.js:514
|
#: ../js/ui/status/network.js:562
|
||||||
msgid "cable unplugged"
|
msgid "cable unplugged"
|
||||||
msgstr "kabel ni priklopljen"
|
msgstr "kabel ni priklopljen"
|
||||||
|
|
||||||
#. Translators: this is for a network device that cannot be activated (for example it
|
#. Translators: this is for a network device that cannot be activated (for example it
|
||||||
#. is disabled by rfkill, or it has no coverage
|
#. is disabled by rfkill, or it has no coverage
|
||||||
#: ../js/ui/status/network.js:519
|
#: ../js/ui/status/network.js:567
|
||||||
msgid "unavailable"
|
msgid "unavailable"
|
||||||
msgstr "ni na voljo"
|
msgstr "ni na voljo"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:521
|
#: ../js/ui/status/network.js:569
|
||||||
msgid "connection failed"
|
msgid "connection failed"
|
||||||
msgstr "povezovanje je spodletelo"
|
msgstr "povezovanje je spodletelo"
|
||||||
|
|
||||||
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
||||||
#. and we cannot access its settings (including the name)
|
#. and we cannot access its settings (including the name)
|
||||||
#: ../js/ui/status/network.js:602
|
#: ../js/ui/status/network.js:650
|
||||||
#: ../js/ui/status/network.js:1402
|
#: ../js/ui/status/network.js:1459
|
||||||
msgid "Connected (private)"
|
msgid "Connected (private)"
|
||||||
msgstr "Povezano (zasebna povezava)"
|
msgstr "Povezano (zasebna povezava)"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:683
|
#: ../js/ui/status/network.js:735
|
||||||
msgid "Auto Ethernet"
|
msgid "Auto Ethernet"
|
||||||
msgstr "Samodejni eternet"
|
msgstr "Samodejni eternet"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:758
|
#: ../js/ui/status/network.js:803
|
||||||
msgid "Auto broadband"
|
msgid "Auto broadband"
|
||||||
msgstr "Samodejni širokopasovni dostop"
|
msgstr "Samodejni širokopasovni dostop"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:761
|
#: ../js/ui/status/network.js:806
|
||||||
msgid "Auto dial-up"
|
msgid "Auto dial-up"
|
||||||
msgstr "Samodejni klicni dostop"
|
msgstr "Samodejni klicni dostop"
|
||||||
|
|
||||||
#. TRANSLATORS: this the automatic wireless connection name (including the network name)
|
#. TRANSLATORS: this the automatic wireless connection name (including the network name)
|
||||||
#: ../js/ui/status/network.js:904
|
#: ../js/ui/status/network.js:930
|
||||||
#: ../js/ui/status/network.js:1414
|
#: ../js/ui/status/network.js:1471
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Auto %s"
|
msgid "Auto %s"
|
||||||
msgstr "Samodejna povezava z %s"
|
msgstr "Samodejna povezava z %s"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:906
|
#: ../js/ui/status/network.js:932
|
||||||
msgid "Auto bluetooth"
|
msgid "Auto bluetooth"
|
||||||
msgstr "Samodejna povezava z Bluetooth"
|
msgstr "Samodejna povezava z Bluetooth"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1416
|
#: ../js/ui/status/network.js:1473
|
||||||
msgid "Auto wireless"
|
msgid "Auto wireless"
|
||||||
msgstr "Samodejni brezžični dostop"
|
msgstr "Samodejni brezžični dostop"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1474
|
#: ../js/ui/status/network.js:1521
|
||||||
msgid "More..."
|
msgid "More..."
|
||||||
msgstr "Več ..."
|
msgstr "Več ..."
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1497
|
#: ../js/ui/status/network.js:1563
|
||||||
msgid "Enable networking"
|
msgid "Enable networking"
|
||||||
msgstr "Omogoči omrežje"
|
msgstr "Omogoči omrežje"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1509
|
#: ../js/ui/status/network.js:1575
|
||||||
msgid "Wired"
|
msgid "Wired"
|
||||||
msgstr "Žično"
|
msgstr "Žično"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1520
|
#: ../js/ui/status/network.js:1586
|
||||||
msgid "Wireless"
|
msgid "Wireless"
|
||||||
msgstr "Brezžično"
|
msgstr "Brezžično"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1530
|
#: ../js/ui/status/network.js:1596
|
||||||
msgid "Mobile broadband"
|
msgid "Mobile broadband"
|
||||||
msgstr "Mobilni širokopasovni dostop"
|
msgstr "Mobilni širokopasovni dostop"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1540
|
#: ../js/ui/status/network.js:1606
|
||||||
msgid "VPN Connections"
|
msgid "VPN Connections"
|
||||||
msgstr "Povezave VPN"
|
msgstr "Povezave VPN"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1549
|
#: ../js/ui/status/network.js:1618
|
||||||
msgid "Network Settings"
|
msgid "Network Settings"
|
||||||
msgstr "Omrežne nastavitve"
|
msgstr "Omrežne nastavitve"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1844
|
#: ../js/ui/status/network.js:1912
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to mobile broadband connection '%s'"
|
msgid "You're now connected to mobile broadband connection '%s'"
|
||||||
msgstr "Vzpostavljena je povezava z mobilnim širokopasovnim omrežjem '%s'."
|
msgstr "Vzpostavljena je povezava z mobilnim širokopasovnim omrežjem '%s'."
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1848
|
#: ../js/ui/status/network.js:1916
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to wireless network '%s'"
|
msgid "You're now connected to wireless network '%s'"
|
||||||
msgstr "Vzpostavljena je povezava z brezžičnim omrežjem '%s'."
|
msgstr "Vzpostavljena je povezava z brezžičnim omrežjem '%s'."
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1852
|
#: ../js/ui/status/network.js:1920
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to wired network '%s'"
|
msgid "You're now connected to wired network '%s'"
|
||||||
msgstr "Vzpostavljena je povezava z žičnim omrežjem '%s'."
|
msgstr "Vzpostavljena je povezava z žičnim omrežjem '%s'."
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1856
|
#: ../js/ui/status/network.js:1924
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to VPN network '%s'"
|
msgid "You're now connected to VPN network '%s'"
|
||||||
msgstr "Vzpostavljena je povezava z omrežjem VPN '%s'"
|
msgstr "Vzpostavljena je povezava z omrežjem VPN '%s'"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1861
|
#: ../js/ui/status/network.js:1929
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to '%s'"
|
msgid "You're now connected to '%s'"
|
||||||
msgstr "Vzpostavljena je povezava z '%s'."
|
msgstr "Vzpostavljena je povezava z '%s'."
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1869
|
#: ../js/ui/status/network.js:1937
|
||||||
msgid "Connection established"
|
msgid "Connection established"
|
||||||
msgstr "Povezava je vzpostavljena"
|
msgstr "Povezava je vzpostavljena"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1991
|
#: ../js/ui/status/network.js:2063
|
||||||
msgid "Networking is disabled"
|
msgid "Networking is disabled"
|
||||||
msgstr "Omrežje je onemogočeno"
|
msgstr "Omrežje je onemogočeno"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:2116
|
#: ../js/ui/status/network.js:2188
|
||||||
msgid "Network Manager"
|
msgid "Network Manager"
|
||||||
msgstr "Upravljalnik omrežij"
|
msgstr "Upravljalnik omrežij"
|
||||||
|
|
||||||
@ -1037,22 +1042,22 @@ msgstr "Glasnost"
|
|||||||
msgid "Microphone"
|
msgid "Microphone"
|
||||||
msgstr "Mikrofon"
|
msgstr "Mikrofon"
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:331
|
#: ../js/ui/telepathyClient.js:330
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is online."
|
msgid "%s is online."
|
||||||
msgstr "%s je povezan."
|
msgstr "%s je povezan."
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:336
|
#: ../js/ui/telepathyClient.js:335
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is offline."
|
msgid "%s is offline."
|
||||||
msgstr "%s ni povezan."
|
msgstr "%s ni povezan."
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:339
|
#: ../js/ui/telepathyClient.js:338
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is away."
|
msgid "%s is away."
|
||||||
msgstr "%s je odsoten."
|
msgstr "%s je odsoten."
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:342
|
#: ../js/ui/telepathyClient.js:341
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is busy."
|
msgid "%s is busy."
|
||||||
msgstr "%s je zaposlen."
|
msgstr "%s je zaposlen."
|
||||||
@ -1060,11 +1065,18 @@ msgstr "%s je zaposlen."
|
|||||||
#. Translators: this is a time format string followed by a date.
|
#. Translators: this is a time format string followed by a date.
|
||||||
#. If applicable, replace %X with a strftime format valid for your
|
#. If applicable, replace %X with a strftime format valid for your
|
||||||
#. locale, without seconds.
|
#. locale, without seconds.
|
||||||
#: ../js/ui/telepathyClient.js:473
|
#: ../js/ui/telepathyClient.js:479
|
||||||
#, no-c-format
|
#, no-c-format
|
||||||
msgid "Sent at %X on %A"
|
msgid "Sent at %X on %A"
|
||||||
msgstr "Poslano na %X ob %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
|
#. Translators: this is the text displayed
|
||||||
#. in the search entry when no search is
|
#. in the search entry when no search is
|
||||||
#. active; it should not exceed ~30
|
#. active; it should not exceed ~30
|
||||||
@ -1114,55 +1126,15 @@ msgstr[3] "%u dovodi naprave"
|
|||||||
msgid "System Sounds"
|
msgid "System Sounds"
|
||||||
msgstr "Sistemski zvoki"
|
msgstr "Sistemski zvoki"
|
||||||
|
|
||||||
#: ../src/main.c:446
|
#: ../src/main.c:445
|
||||||
msgid "Print version"
|
msgid "Print version"
|
||||||
msgstr "Izpiši različico"
|
msgstr "Izpiši različico"
|
||||||
|
|
||||||
#: ../src/shell-app.c:454
|
#: ../src/shell-app.c:464
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to launch '%s'"
|
msgid "Failed to launch '%s'"
|
||||||
msgstr "Zaganjanje '%s' je spodletelo"
|
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
|
#: ../src/shell-mobile-providers.c:80
|
||||||
msgid "United Kingdom"
|
msgid "United Kingdom"
|
||||||
msgstr "Velika Britanija"
|
msgstr "Velika Britanija"
|
||||||
@ -1195,46 +1167,96 @@ msgstr "Datotečni sistem"
|
|||||||
msgid "%1$s: %2$s"
|
msgid "%1$s: %2$s"
|
||||||
msgstr "%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"
|
#~ msgid "Shut Down"
|
||||||
#~ msgstr "Izklopi"
|
#~ msgstr "Izklopi"
|
||||||
|
|
||||||
#~ msgid "Click Shut Down to quit these applications and shut down the system."
|
#~ msgid "Click Shut Down to quit these applications and shut down the system."
|
||||||
#~ msgstr "Kliknite Izklop za končanje teh programov in izklop sistema."
|
#~ msgstr "Kliknite Izklop za končanje teh programov in izklop sistema."
|
||||||
|
|
||||||
#~ msgid "The system will shut down automatically in %d seconds."
|
#~ msgid "The system will shut down automatically in %d seconds."
|
||||||
#~ msgstr "Sistem se bo samodejno izklopil čez %d sekund."
|
#~ msgstr "Sistem se bo samodejno izklopil čez %d sekund."
|
||||||
|
|
||||||
#~ msgid "Shutting down the system."
|
#~ msgid "Shutting down the system."
|
||||||
#~ msgstr "Izklapljanje sistema."
|
#~ msgstr "Izklapljanje sistema."
|
||||||
|
|
||||||
#~ msgid "Confirm"
|
#~ msgid "Confirm"
|
||||||
#~ msgstr "Potrdi"
|
#~ msgstr "Potrdi"
|
||||||
|
|
||||||
#~ msgid "Panel"
|
#~ msgid "Panel"
|
||||||
#~ msgstr "Pult"
|
#~ msgstr "Pult"
|
||||||
|
|
||||||
#~ msgid "No such application"
|
#~ msgid "No such application"
|
||||||
#~ msgstr "Ni takšnega programa"
|
#~ msgstr "Ni takšnega programa"
|
||||||
|
|
||||||
#~ msgid "Screen Reader"
|
#~ msgid "Screen Reader"
|
||||||
#~ msgstr "Zaslonski bralnik"
|
#~ msgstr "Zaslonski bralnik"
|
||||||
|
|
||||||
#~ msgid "Screen Keyboard"
|
#~ msgid "Screen Keyboard"
|
||||||
#~ msgstr "Zaslonska tipkovnica"
|
#~ msgstr "Zaslonska tipkovnica"
|
||||||
#~ msgid "%s is now known as %s"
|
|
||||||
#~ msgstr "%s je sedaj znan kot v %s"
|
|
||||||
#~ msgid "PREFERENCES"
|
#~ msgid "PREFERENCES"
|
||||||
#~ msgstr "Možnosti"
|
#~ msgstr "Možnosti"
|
||||||
|
|
||||||
#~ msgid "Shut Down..."
|
#~ msgid "Shut Down..."
|
||||||
#~ msgstr "Izklopi ..."
|
#~ msgstr "Izklopi ..."
|
||||||
|
|
||||||
#~ msgid "Search your computer"
|
#~ msgid "Search your computer"
|
||||||
#~ msgstr "Iskanje po računalniku"
|
#~ msgstr "Iskanje po računalniku"
|
||||||
|
|
||||||
#~ msgid "Clip the crosshairs at the center"
|
#~ msgid "Clip the crosshairs at the center"
|
||||||
#~ msgstr "Ali merek prekriva kazalko miške v središču"
|
#~ msgstr "Ali merek prekriva kazalko miške v središču"
|
||||||
|
|
||||||
#~ msgid "Color of the crosshairs"
|
#~ msgid "Color of the crosshairs"
|
||||||
#~ msgstr "Barva merka"
|
#~ msgstr "Barva merka"
|
||||||
|
|
||||||
#~ msgid ""
|
#~ msgid ""
|
||||||
#~ "Determines the length of the vertical and horizontal lines that make up "
|
#~ "Determines the length of the vertical and horizontal lines that make up "
|
||||||
#~ "the crosshairs."
|
#~ "the crosshairs."
|
||||||
#~ msgstr "Določi dolžino navpične in vodoravne črte, ki določata merek."
|
#~ msgstr "Določi dolžino navpične in vodoravne črte, ki določata merek."
|
||||||
|
|
||||||
#~ msgid ""
|
#~ msgid ""
|
||||||
#~ "Determines the transparency of the crosshairs, from fully opaque to fully "
|
#~ "Determines the transparency of the crosshairs, from fully opaque to fully "
|
||||||
#~ "transparent."
|
#~ "transparent."
|
||||||
#~ msgstr "Določi prosojnost merka, od prekrivne to prozorne."
|
#~ msgstr "Določi prosojnost merka, od prekrivne to prozorne."
|
||||||
|
|
||||||
#~ msgid "Enable lens mode"
|
#~ msgid "Enable lens mode"
|
||||||
#~ msgstr "Omogočeni način leče"
|
#~ msgstr "Omogočeni način leče"
|
||||||
|
|
||||||
#~ msgid ""
|
#~ msgid ""
|
||||||
#~ "For centered mouse tracking, when the system pointer is at or near the "
|
#~ "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 "
|
#~ "edge of the screen, the magnified contents continue to scroll such that "
|
||||||
@ -1243,48 +1265,63 @@ msgstr "%1$s: %2$s"
|
|||||||
#~ "Pri usredinjenem sledenju miški, ko je sistemski kazalnik ob robu "
|
#~ "Pri usredinjenem sledenju miški, ko je sistemski kazalnik ob robu "
|
||||||
#~ "zaslona, približanje vsebine drsi naprej tako, da je rob zaslona v "
|
#~ "zaslona, približanje vsebine drsi naprej tako, da je rob zaslona v "
|
||||||
#~ "približanem pogledu."
|
#~ "približanem pogledu."
|
||||||
|
|
||||||
#~ msgid "Length of the crosshairs"
|
#~ msgid "Length of the crosshairs"
|
||||||
#~ msgstr "Dolžina merka"
|
#~ msgstr "Dolžina merka"
|
||||||
|
|
||||||
#~ msgid "Magnification factor"
|
#~ msgid "Magnification factor"
|
||||||
#~ msgstr "Faktor približanja"
|
#~ msgstr "Faktor približanja"
|
||||||
|
|
||||||
#~ msgid "Mouse Tracking Mode"
|
#~ msgid "Mouse Tracking Mode"
|
||||||
#~ msgstr "Način sledenja miške"
|
#~ msgstr "Način sledenja miške"
|
||||||
|
|
||||||
#~ msgid "Opacity of the crosshairs"
|
#~ msgid "Opacity of the crosshairs"
|
||||||
#~ msgstr "Prosojnost merka"
|
#~ msgstr "Prosojnost merka"
|
||||||
|
|
||||||
#~ msgid "Screen position"
|
#~ msgid "Screen position"
|
||||||
#~ msgstr "Položaj zaslona"
|
#~ msgstr "Položaj zaslona"
|
||||||
|
|
||||||
#~ msgid "Scroll magnified contents beyond the edges of the desktop"
|
#~ msgid "Scroll magnified contents beyond the edges of the desktop"
|
||||||
#~ msgstr "Zdrsni približano vsebino preko robov namizja"
|
#~ msgstr "Zdrsni približano vsebino preko robov namizja"
|
||||||
|
|
||||||
#~ msgid "Show or hide crosshairs"
|
#~ msgid "Show or hide crosshairs"
|
||||||
#~ msgstr "Pokaži ali skrij merek"
|
#~ msgstr "Pokaži ali skrij merek"
|
||||||
|
|
||||||
#~ msgid "Show or hide the magnifier"
|
#~ msgid "Show or hide the magnifier"
|
||||||
#~ msgstr "Pokaži ali skrij približevalnik"
|
#~ msgstr "Pokaži ali skrij približevalnik"
|
||||||
|
|
||||||
#~ msgid "Show or hide the magnifier and all of its zoom regions."
|
#~ 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."
|
#~ msgstr "Pokaže ali skrije povečevalo in vsa njegova območja približevanja."
|
||||||
|
|
||||||
#~ msgid ""
|
#~ msgid ""
|
||||||
#~ "The color of the the vertical and horizontal lines that make up the "
|
#~ "The color of the the vertical and horizontal lines that make up the "
|
||||||
#~ "crosshairs."
|
#~ "crosshairs."
|
||||||
#~ msgstr "Barva navpične in vodoravne črte, ki določata merek."
|
#~ msgstr "Barva navpične in vodoravne črte, ki določata merek."
|
||||||
|
|
||||||
#~ msgid ""
|
#~ msgid ""
|
||||||
#~ "The magnified view either fills the entire screen, or occupies the top-"
|
#~ "The magnified view either fills the entire screen, or occupies the top-"
|
||||||
#~ "half, bottom-half, left-half, or right-half of the screen."
|
#~ "half, bottom-half, left-half, or right-half of the screen."
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
#~ "Približan pogled lahko zapolni celoten zaslon, lahko pa zasede zgornjo, "
|
#~ "Približan pogled lahko zapolni celoten zaslon, lahko pa zasede zgornjo, "
|
||||||
#~ "spodnjo, levo ali pa desno polovico zaslona."
|
#~ "spodnjo, levo ali pa desno polovico zaslona."
|
||||||
|
|
||||||
#~ msgid ""
|
#~ msgid ""
|
||||||
#~ "The power of the magnification. A value of 1.0 means no magnification. A "
|
#~ "The power of the magnification. A value of 1.0 means no magnification. A "
|
||||||
#~ "value of 2.0 doubles the size."
|
#~ "value of 2.0 doubles the size."
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
#~ "Vrednost približanja. Vrednost 1.0 pomeni brez približanja, vrednost 2.0 "
|
#~ "Vrednost približanja. Vrednost 1.0 pomeni brez približanja, vrednost 2.0 "
|
||||||
#~ "pa podvoji učinek približanja."
|
#~ "pa podvoji učinek približanja."
|
||||||
|
|
||||||
#~ msgid "Thickness of the crosshairs"
|
#~ msgid "Thickness of the crosshairs"
|
||||||
#~ msgstr "Debelina merka"
|
#~ msgstr "Debelina merka"
|
||||||
|
|
||||||
#~ msgid ""
|
#~ msgid ""
|
||||||
#~ "Whether the magnified view should be centered over the location of the "
|
#~ "Whether the magnified view should be centered over the location of the "
|
||||||
#~ "system mouse and move with it."
|
#~ "system mouse and move with it."
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
#~ "Ali naj bo približan pogled usredinjen na mesto sistemske miške in se z "
|
#~ "Ali naj bo približan pogled usredinjen na mesto sistemske miške in se z "
|
||||||
#~ "njo premika."
|
#~ "njo premika."
|
||||||
|
|
||||||
#~ msgid ""
|
#~ msgid ""
|
||||||
#~ "Width of the vertical and horizontal lines that make up the crosshairs."
|
#~ "Width of the vertical and horizontal lines that make up the crosshairs."
|
||||||
#~ msgstr "Širina navpične in vodoravne čete, ki določata merek."
|
#~ msgstr "Širina navpične in vodoravne čete, ki določata merek."
|
||||||
@ -1292,28 +1329,36 @@ msgstr "%1$s: %2$s"
|
|||||||
#, fuzzy
|
#, fuzzy
|
||||||
#~ msgid "Bluetooth Agent"
|
#~ msgid "Bluetooth Agent"
|
||||||
#~ msgstr "Agent KAOS"
|
#~ msgstr "Agent KAOS"
|
||||||
|
|
||||||
#~ msgid ""
|
#~ msgid ""
|
||||||
#~ "Can't add a new workspace because maximum workspaces limit has been "
|
#~ "Can't add a new workspace because maximum workspaces limit has been "
|
||||||
#~ "reached."
|
#~ "reached."
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
#~ "Ni mogoče dodati nove delovne površine, ker je doseženo njihovo največje "
|
#~ "Ni mogoče dodati nove delovne površine, ker je doseženo njihovo največje "
|
||||||
#~ "dovoljeno število."
|
#~ "dovoljeno število."
|
||||||
|
|
||||||
#~ msgid "Can't remove the first workspace."
|
#~ msgid "Can't remove the first workspace."
|
||||||
#~ msgstr "Ni mogoče odstraniti prve delovne površine."
|
#~ msgstr "Ni mogoče odstraniti prve delovne površine."
|
||||||
|
|
||||||
#~ msgid "Clock"
|
#~ msgid "Clock"
|
||||||
#~ msgstr "Ura"
|
#~ msgstr "Ura"
|
||||||
|
|
||||||
#~ msgid "Customize the panel clock"
|
#~ msgid "Customize the panel clock"
|
||||||
#~ msgstr "Prilagodi uro pladnja"
|
#~ msgstr "Prilagodi uro pladnja"
|
||||||
|
|
||||||
#~ msgid "Custom format of the clock"
|
#~ msgid "Custom format of the clock"
|
||||||
#~ msgstr "Zapis ure po meri"
|
#~ msgstr "Zapis ure po meri"
|
||||||
|
|
||||||
#~ msgid "Hour format"
|
#~ msgid "Hour format"
|
||||||
#~ msgstr "Urni zapis"
|
#~ msgstr "Urni zapis"
|
||||||
|
|
||||||
#~ msgid ""
|
#~ msgid ""
|
||||||
#~ "If true and format is either \"12-hour\" or \"24-hour\", display seconds "
|
#~ "If true and format is either \"12-hour\" or \"24-hour\", display seconds "
|
||||||
#~ "in time."
|
#~ "in time."
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
#~ "Izbrana možnost določa ali \"12-urni\" ali pa \"24-urni\" zapis časa s "
|
#~ "Izbrana možnost določa ali \"12-urni\" ali pa \"24-urni\" zapis časa s "
|
||||||
#~ "prikazanimi sekundami."
|
#~ "prikazanimi sekundami."
|
||||||
|
|
||||||
#~ msgid ""
|
#~ msgid ""
|
||||||
#~ "This key specifies the format used by the panel clock when the format key "
|
#~ "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 "
|
#~ "is set to \"custom\". You can use conversion specifiers understood by "
|
||||||
@ -1324,77 +1369,103 @@ msgstr "%1$s: %2$s"
|
|||||||
#~ "zapisa nastavljen kot \"prikrojen\". Za določitev zapisa lahko uporabite "
|
#~ "zapisa nastavljen kot \"prikrojen\". Za določitev zapisa lahko uporabite "
|
||||||
#~ "tudi oznake funkcije strftime(), ki so podrobneje zapisane v priročniku "
|
#~ "tudi oznake funkcije strftime(), ki so podrobneje zapisane v priročniku "
|
||||||
#~ "funkcije."
|
#~ "funkcije."
|
||||||
|
|
||||||
#~ msgid ""
|
#~ msgid ""
|
||||||
#~ "This key specifies the hour format used by the panel clock. Possible "
|
#~ "This key specifies the hour format used by the panel clock. Possible "
|
||||||
#~ "values are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to "
|
#~ "values are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to "
|
||||||
#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. "
|
#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. 1970-"
|
||||||
#~ "1970-01-01. If set to \"custom\", the clock will display time according "
|
#~ "01-01. If set to \"custom\", the clock will display time according to the "
|
||||||
#~ "to the format specified in the custom_format key. Note that if set to "
|
#~ "format specified in the custom_format key. Note that if set to either "
|
||||||
#~ "either \"unix\" or \"custom\", the show_date and show_seconds keys are "
|
#~ "\"unix\" or \"custom\", the show_date and show_seconds keys are ignored."
|
||||||
#~ "ignored."
|
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
#~ "Ključ določa zapis ure. Mogoče vrednosti so \"12-urni\", \"24-urni\", "
|
#~ "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 "
|
#~ "\"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 "
|
#~ "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 "
|
#~ "prikrojen zapis. Pri izbiri zapisa \"unix\" ali \"po meri\" sta izbiri "
|
||||||
#~ "pokaži datum in pokaži sekunde, prezrti."
|
#~ "pokaži datum in pokaži sekunde, prezrti."
|
||||||
|
|
||||||
#~ msgid "Clock Format"
|
#~ msgid "Clock Format"
|
||||||
#~ msgstr "Zapis ure"
|
#~ msgstr "Zapis ure"
|
||||||
|
|
||||||
#~ msgid "Clock Preferences"
|
#~ msgid "Clock Preferences"
|
||||||
#~ msgstr "Možnosti ure"
|
#~ msgstr "Možnosti ure"
|
||||||
|
|
||||||
#~ msgid "Panel Display"
|
#~ msgid "Panel Display"
|
||||||
#~ msgstr "Prikazovanje pladnja"
|
#~ msgstr "Prikazovanje pladnja"
|
||||||
|
|
||||||
#~ msgid "Show seco_nds"
|
#~ msgid "Show seco_nds"
|
||||||
#~ msgstr "Pokaži _sekunde"
|
#~ msgstr "Pokaži _sekunde"
|
||||||
|
|
||||||
#~ msgid "Show the _date"
|
#~ msgid "Show the _date"
|
||||||
#~ msgstr "Pokaži _datum"
|
#~ msgstr "Pokaži _datum"
|
||||||
|
|
||||||
#~ msgid "_12 hour format"
|
#~ msgid "_12 hour format"
|
||||||
#~ msgstr "_12-urni zapis časa"
|
#~ msgstr "_12-urni zapis časa"
|
||||||
|
|
||||||
#~ msgid "_24 hour format"
|
#~ msgid "_24 hour format"
|
||||||
#~ msgstr "_24-urni zapis časa"
|
#~ msgstr "_24-urni zapis časa"
|
||||||
|
|
||||||
#~ msgid "Preferences"
|
#~ msgid "Preferences"
|
||||||
#~ msgstr "Možnosti"
|
#~ msgstr "Možnosti"
|
||||||
|
|
||||||
#~ msgid "What's using power..."
|
#~ msgid "What's using power..."
|
||||||
#~ msgstr "Kaj porablja napetost ..."
|
#~ msgstr "Kaj porablja napetost ..."
|
||||||
|
|
||||||
#~ msgid "Overview workspace view mode"
|
#~ msgid "Overview workspace view mode"
|
||||||
#~ msgstr "Način pregleda predogleda delovnih površin"
|
#~ msgstr "Način pregleda predogleda delovnih površin"
|
||||||
|
|
||||||
#~ msgid ""
|
#~ msgid ""
|
||||||
#~ "The selected workspace view mode in the overview. Supported values are "
|
#~ "The selected workspace view mode in the overview. Supported values are "
|
||||||
#~ "\"single\" and \"grid\"."
|
#~ "\"single\" and \"grid\"."
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
#~ "Izbrani pogled delovnih površin v predogledu. Podprte vrednosti sta "
|
#~ "Izbrani pogled delovnih površin v predogledu. Podprte vrednosti sta "
|
||||||
#~ "\"enojno\" in \"mrežno\"."
|
#~ "\"enojno\" in \"mrežno\"."
|
||||||
|
|
||||||
#~ msgid "Drag here to add favorites"
|
#~ msgid "Drag here to add favorites"
|
||||||
#~ msgstr "S potegom na to mesto se izbor doda med priljubljene"
|
#~ msgstr "S potegom na to mesto se izbor doda med priljubljene"
|
||||||
|
|
||||||
#~ msgid "Find"
|
#~ msgid "Find"
|
||||||
#~ msgstr "Najdi"
|
#~ msgstr "Najdi"
|
||||||
|
|
||||||
#~ msgid "Invisible"
|
#~ msgid "Invisible"
|
||||||
#~ msgstr "Nevidno"
|
#~ msgstr "Nevidno"
|
||||||
|
|
||||||
#~ msgid "System Preferences..."
|
#~ msgid "System Preferences..."
|
||||||
#~ msgstr "Sistemske možnosti ..."
|
#~ msgstr "Sistemske možnosti ..."
|
||||||
|
|
||||||
#~ msgid "ON"
|
#~ msgid "ON"
|
||||||
#~ msgstr "⚪"
|
#~ msgstr "⚪"
|
||||||
|
|
||||||
#~ msgid "OFF"
|
#~ msgid "OFF"
|
||||||
#~ msgstr "⚫"
|
#~ msgstr "⚫"
|
||||||
|
|
||||||
#~ msgid "Sidebar"
|
#~ msgid "Sidebar"
|
||||||
#~ msgstr "Stranska vrstica"
|
#~ msgstr "Stranska vrstica"
|
||||||
|
|
||||||
#~ msgid "Recent Documents"
|
#~ msgid "Recent Documents"
|
||||||
#~ msgstr "Nedavni dokumenti"
|
#~ msgstr "Nedavni dokumenti"
|
||||||
|
|
||||||
#~ msgid "PLACES"
|
#~ msgid "PLACES"
|
||||||
#~ msgstr "Mesta"
|
#~ msgstr "Mesta"
|
||||||
|
|
||||||
#~ msgid "SEARCH RESULTS"
|
#~ msgid "SEARCH RESULTS"
|
||||||
#~ msgstr "Rezultati iskanja"
|
#~ msgstr "Rezultati iskanja"
|
||||||
|
|
||||||
#~ msgid "Can't lock screen: %s"
|
#~ msgid "Can't lock screen: %s"
|
||||||
#~ msgstr "Ni mogoče zakleniti zaslona: %s"
|
#~ msgstr "Ni mogoče zakleniti zaslona: %s"
|
||||||
|
|
||||||
#~ msgid "Can't temporarily set screensaver to blank screen: %s"
|
#~ msgid "Can't temporarily set screensaver to blank screen: %s"
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
#~ "Ni mogoče začasno nastaviti črnega zaslona za ohranjevalnik zaslona: %s"
|
#~ "Ni mogoče začasno nastaviti črnega zaslona za ohranjevalnik zaslona: %s"
|
||||||
|
|
||||||
#~ msgid "Can't logout: %s"
|
#~ msgid "Can't logout: %s"
|
||||||
#~ msgstr "Ni se mogoče odjaviti: %s"
|
#~ msgstr "Ni se mogoče odjaviti: %s"
|
||||||
|
|
||||||
#~ msgid "Frequent"
|
#~ msgid "Frequent"
|
||||||
#~ msgstr "Pogosto"
|
#~ msgstr "Pogosto"
|
||||||
|
|
||||||
#~ msgid "(see all)"
|
#~ msgid "(see all)"
|
||||||
#~ msgstr "(poglej vse)"
|
#~ msgstr "(poglej vse)"
|
||||||
|
|
||||||
#~ msgid "Browse"
|
#~ msgid "Browse"
|
||||||
#~ msgstr "Prebrskaj"
|
#~ msgstr "Prebrskaj"
|
||||||
|
|
||||||
|
297
po/sv.po
@ -7,8 +7,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: gnome-shell\n"
|
"Project-Id-Version: gnome-shell\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2011-03-25 22:15+0100\n"
|
"POT-Creation-Date: 2011-05-01 09:53+0200\n"
|
||||||
"PO-Revision-Date: 2011-03-25 22:15+0100\n"
|
"PO-Revision-Date: 2011-05-01 09:53+0100\n"
|
||||||
"Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
|
"Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
|
||||||
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
|
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
|
||||||
"Language: sv\n"
|
"Language: sv\n"
|
||||||
@ -134,27 +134,27 @@ msgid "Execution of '%s' failed:"
|
|||||||
msgstr "Körning av \"%s\" misslyckades:"
|
msgstr "Körning av \"%s\" misslyckades:"
|
||||||
|
|
||||||
#. Translators: Filter to display all applications
|
#. Translators: Filter to display all applications
|
||||||
#: ../js/ui/appDisplay.js:230
|
#: ../js/ui/appDisplay.js:260
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Alla"
|
msgstr "Alla"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:328
|
#: ../js/ui/appDisplay.js:359
|
||||||
msgid "APPLICATIONS"
|
msgid "APPLICATIONS"
|
||||||
msgstr "PROGRAM"
|
msgstr "PROGRAM"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:354
|
#: ../js/ui/appDisplay.js:385
|
||||||
msgid "SETTINGS"
|
msgid "SETTINGS"
|
||||||
msgstr "INSTÄLLNINGAR"
|
msgstr "INSTÄLLNINGAR"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:625
|
#: ../js/ui/appDisplay.js:658
|
||||||
msgid "New Window"
|
msgid "New Window"
|
||||||
msgstr "Nytt fönster"
|
msgstr "Nytt fönster"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:628
|
#: ../js/ui/appDisplay.js:661
|
||||||
msgid "Remove from Favorites"
|
msgid "Remove from Favorites"
|
||||||
msgstr "Ta bort från favoriter"
|
msgstr "Ta bort från favoriter"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:629
|
#: ../js/ui/appDisplay.js:662
|
||||||
msgid "Add to Favorites"
|
msgid "Add to Favorites"
|
||||||
msgstr "Lägg till som favorit"
|
msgstr "Lägg till som favorit"
|
||||||
|
|
||||||
@ -186,7 +186,7 @@ msgstr "%H.%M"
|
|||||||
#: ../js/ui/calendar.js:78
|
#: ../js/ui/calendar.js:78
|
||||||
msgctxt "event list time"
|
msgctxt "event list time"
|
||||||
msgid "%l:%M %p"
|
msgid "%l:%M %p"
|
||||||
msgstr "%l.%M %p"
|
msgstr "%I.%M %p"
|
||||||
|
|
||||||
#. Translators: Calendar grid abbreviation for Sunday.
|
#. Translators: Calendar grid abbreviation for Sunday.
|
||||||
#. *
|
#. *
|
||||||
@ -288,12 +288,14 @@ msgstr "Ingenting i schemat"
|
|||||||
|
|
||||||
#. Translators: Shown on calendar heading when selected day occurs on current year
|
#. Translators: Shown on calendar heading when selected day occurs on current year
|
||||||
#: ../js/ui/calendar.js:720
|
#: ../js/ui/calendar.js:720
|
||||||
|
#: ../js/ui/telepathyClient.js:487
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d"
|
msgid "%A, %B %d"
|
||||||
msgstr "%A, %d %B"
|
msgstr "%A, %d %B"
|
||||||
|
|
||||||
#. Translators: Shown on calendar heading when selected day occurs on different year
|
#. Translators: Shown on calendar heading when selected day occurs on different year
|
||||||
#: ../js/ui/calendar.js:723
|
#: ../js/ui/calendar.js:723
|
||||||
|
#: ../js/ui/telepathyClient.js:490
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d, %Y"
|
msgid "%A, %B %d, %Y"
|
||||||
msgstr "%A, %d %B, %Y"
|
msgstr "%A, %d %B, %Y"
|
||||||
@ -304,7 +306,7 @@ msgstr "Idag"
|
|||||||
|
|
||||||
#: ../js/ui/calendar.js:737
|
#: ../js/ui/calendar.js:737
|
||||||
msgid "Tomorrow"
|
msgid "Tomorrow"
|
||||||
msgstr "Igår"
|
msgstr "Imorgon"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:746
|
#: ../js/ui/calendar.js:746
|
||||||
msgid "This week"
|
msgid "This week"
|
||||||
@ -315,7 +317,7 @@ msgid "Next week"
|
|||||||
msgstr "Nästa vecka"
|
msgstr "Nästa vecka"
|
||||||
|
|
||||||
#: ../js/ui/dash.js:174
|
#: ../js/ui/dash.js:174
|
||||||
#: ../js/ui/messageTray.js:994
|
#: ../js/ui/messageTray.js:1037
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr "Ta bort"
|
msgstr "Ta bort"
|
||||||
|
|
||||||
@ -351,21 +353,21 @@ msgstr "%a %R"
|
|||||||
#. for AM/PM.
|
#. for AM/PM.
|
||||||
#: ../js/ui/dateMenu.js:177
|
#: ../js/ui/dateMenu.js:177
|
||||||
msgid "%a %b %e, %l:%M:%S %p"
|
msgid "%a %b %e, %l:%M:%S %p"
|
||||||
msgstr "%a %e %b, %H.%M.%S"
|
msgstr "%a %e %b, %I.%M.%S %p"
|
||||||
|
|
||||||
#: ../js/ui/dateMenu.js:178
|
#: ../js/ui/dateMenu.js:178
|
||||||
msgid "%a %b %e, %l:%M %p"
|
msgid "%a %b %e, %l:%M %p"
|
||||||
msgstr "%a %e %b, %H.%M"
|
msgstr "%a %e %b, %I.%M %p"
|
||||||
|
|
||||||
#. Translators: This is a time format without date used
|
#. Translators: This is a time format without date used
|
||||||
#. for AM/PM.
|
#. for AM/PM.
|
||||||
#: ../js/ui/dateMenu.js:182
|
#: ../js/ui/dateMenu.js:182
|
||||||
msgid "%a %l:%M:%S %p"
|
msgid "%a %l:%M:%S %p"
|
||||||
msgstr "%a %H.%M.%S"
|
msgstr "%a %I.%M.%S %p"
|
||||||
|
|
||||||
#: ../js/ui/dateMenu.js:183
|
#: ../js/ui/dateMenu.js:183
|
||||||
msgid "%a %l:%M %p"
|
msgid "%a %l:%M %p"
|
||||||
msgstr "%a %H.%M"
|
msgstr "%a %I.%M %p"
|
||||||
|
|
||||||
#. Translators: This is the date format to use when the calendar popup is
|
#. Translators: This is the date format to use when the calendar popup is
|
||||||
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
|
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
|
||||||
@ -443,9 +445,9 @@ msgstr "Systemet kommer att startas om automatiskt om %d sekunder."
|
|||||||
msgid "Restarting the system."
|
msgid "Restarting the system."
|
||||||
msgstr "Starta om systemet."
|
msgstr "Starta om systemet."
|
||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:415
|
#: ../js/ui/endSessionDialog.js:413
|
||||||
#: ../js/ui/polkitAuthenticationAgent.js:172
|
#: ../js/ui/polkitAuthenticationAgent.js:172
|
||||||
#: ../js/ui/status/bluetooth.js:466
|
#: ../js/ui/status/bluetooth.js:491
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Avbryt"
|
msgstr "Avbryt"
|
||||||
|
|
||||||
@ -480,11 +482,11 @@ msgstr "Visa källa"
|
|||||||
msgid "Web Page"
|
msgid "Web Page"
|
||||||
msgstr "Webbsida"
|
msgstr "Webbsida"
|
||||||
|
|
||||||
#: ../js/ui/messageTray.js:987
|
#: ../js/ui/messageTray.js:1030
|
||||||
msgid "Open"
|
msgid "Open"
|
||||||
msgstr "Öppna"
|
msgstr "Öppna"
|
||||||
|
|
||||||
#: ../js/ui/messageTray.js:2145
|
#: ../js/ui/messageTray.js:2194
|
||||||
msgid "System Information"
|
msgid "System Information"
|
||||||
msgstr "Systeminformation"
|
msgstr "Systeminformation"
|
||||||
|
|
||||||
@ -507,18 +509,18 @@ msgid "Dash"
|
|||||||
msgstr "Favoriter"
|
msgstr "Favoriter"
|
||||||
|
|
||||||
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
||||||
#: ../js/ui/panel.js:515
|
#: ../js/ui/panel.js:533
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Quit %s"
|
msgid "Quit %s"
|
||||||
msgstr "Avsluta %s"
|
msgstr "Avsluta %s"
|
||||||
|
|
||||||
#. Button on the left side of the panel.
|
#. 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".
|
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
|
||||||
#: ../js/ui/panel.js:878
|
#: ../js/ui/panel.js:913
|
||||||
msgid "Activities"
|
msgid "Activities"
|
||||||
msgstr "Aktiviteter"
|
msgstr "Aktiviteter"
|
||||||
|
|
||||||
#: ../js/ui/panel.js:979
|
#: ../js/ui/panel.js:1015
|
||||||
msgid "Top Bar"
|
msgid "Top Bar"
|
||||||
msgstr "Övre rad"
|
msgstr "Övre rad"
|
||||||
|
|
||||||
@ -551,11 +553,15 @@ msgstr "Administratör"
|
|||||||
msgid "Authenticate"
|
msgid "Authenticate"
|
||||||
msgstr "Autentisera"
|
msgstr "Autentisera"
|
||||||
|
|
||||||
#: ../js/ui/polkitAuthenticationAgent.js:260
|
#. 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
|
||||||
msgid "Sorry, that didn't work. Please try again."
|
msgid "Sorry, that didn't work. Please try again."
|
||||||
msgstr "Tyvärr, det fungerade inte. Försök igen."
|
msgstr "Tyvärr, det fungerade inte. Försök igen."
|
||||||
|
|
||||||
#: ../js/ui/polkitAuthenticationAgent.js:272
|
#: ../js/ui/polkitAuthenticationAgent.js:276
|
||||||
msgid "Password:"
|
msgid "Password:"
|
||||||
msgstr "Lösenord:"
|
msgstr "Lösenord:"
|
||||||
|
|
||||||
@ -572,11 +578,11 @@ msgstr "toggle-switch-intl"
|
|||||||
msgid "Please enter a command:"
|
msgid "Please enter a command:"
|
||||||
msgstr "Ange ett kommando:"
|
msgstr "Ange ett kommando:"
|
||||||
|
|
||||||
#: ../js/ui/searchDisplay.js:310
|
#: ../js/ui/searchDisplay.js:313
|
||||||
msgid "Searching..."
|
msgid "Searching..."
|
||||||
msgstr "Söker..."
|
msgstr "Söker..."
|
||||||
|
|
||||||
#: ../js/ui/searchDisplay.js:324
|
#: ../js/ui/searchDisplay.js:327
|
||||||
msgid "No matching results."
|
msgid "No matching results."
|
||||||
msgstr "Inga sökträffar."
|
msgstr "Inga sökträffar."
|
||||||
|
|
||||||
@ -662,11 +668,11 @@ msgid "Large Text"
|
|||||||
msgstr "Stor text"
|
msgstr "Stor text"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:42
|
#: ../js/ui/status/bluetooth.js:42
|
||||||
#: ../js/ui/status/bluetooth.js:237
|
#: ../js/ui/status/bluetooth.js:264
|
||||||
#: ../js/ui/status/bluetooth.js:333
|
#: ../js/ui/status/bluetooth.js:358
|
||||||
#: ../js/ui/status/bluetooth.js:367
|
#: ../js/ui/status/bluetooth.js:392
|
||||||
#: ../js/ui/status/bluetooth.js:407
|
#: ../js/ui/status/bluetooth.js:432
|
||||||
#: ../js/ui/status/bluetooth.js:440
|
#: ../js/ui/status/bluetooth.js:465
|
||||||
msgid "Bluetooth"
|
msgid "Bluetooth"
|
||||||
msgstr "Bluetooth"
|
msgstr "Bluetooth"
|
||||||
|
|
||||||
@ -679,103 +685,103 @@ msgid "Send Files to Device..."
|
|||||||
msgstr "Skicka filer till enhet..."
|
msgstr "Skicka filer till enhet..."
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:70
|
#: ../js/ui/status/bluetooth.js:70
|
||||||
msgid "Setup a New Device..."
|
msgid "Set up a New Device..."
|
||||||
msgstr "Konfigurera en ny enhet..."
|
msgstr "Konfigurera en ny enhet..."
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:95
|
#: ../js/ui/status/bluetooth.js:95
|
||||||
msgid "Bluetooth Settings"
|
msgid "Bluetooth Settings"
|
||||||
msgstr "Inställningar för Bluetooth"
|
msgstr "Inställningar för Bluetooth"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:188
|
#: ../js/ui/status/bluetooth.js:215
|
||||||
msgid "Connection"
|
msgid "Connection"
|
||||||
msgstr "Anslutning"
|
msgstr "Anslutning"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:224
|
#: ../js/ui/status/bluetooth.js:251
|
||||||
msgid "Send Files..."
|
msgid "Send Files..."
|
||||||
msgstr "Skicka filer..."
|
msgstr "Skicka filer..."
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:229
|
#: ../js/ui/status/bluetooth.js:256
|
||||||
msgid "Browse Files..."
|
msgid "Browse Files..."
|
||||||
msgstr "Bläddra efter filer..."
|
msgstr "Bläddra efter filer..."
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:238
|
#: ../js/ui/status/bluetooth.js:265
|
||||||
msgid "Error browsing device"
|
msgid "Error browsing device"
|
||||||
msgstr "Fel vid bläddring i enheten"
|
msgstr "Fel vid bläddring i enheten"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:239
|
#: ../js/ui/status/bluetooth.js:266
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "The requested device cannot be browsed, error is '%s'"
|
msgid "The requested device cannot be browsed, error is '%s'"
|
||||||
msgstr "Den begärda enheten kan inte bläddras. Felet är \"%s\""
|
msgstr "Den begärda enheten kan inte bläddras. Felet är \"%s\""
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:247
|
#: ../js/ui/status/bluetooth.js:274
|
||||||
msgid "Keyboard Settings"
|
msgid "Keyboard Settings"
|
||||||
msgstr "Tangentbordsinställningar"
|
msgstr "Tangentbordsinställningar"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:252
|
#: ../js/ui/status/bluetooth.js:279
|
||||||
msgid "Mouse Settings"
|
msgid "Mouse Settings"
|
||||||
msgstr "Musinställningar"
|
msgstr "Musinställningar"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:259
|
#: ../js/ui/status/bluetooth.js:286
|
||||||
#: ../js/ui/status/volume.js:66
|
#: ../js/ui/status/volume.js:66
|
||||||
msgid "Sound Settings"
|
msgid "Sound Settings"
|
||||||
msgstr "Ljudinställningar"
|
msgstr "Ljudinställningar"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:368
|
#: ../js/ui/status/bluetooth.js:393
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Authorization request from %s"
|
msgid "Authorization request from %s"
|
||||||
msgstr "Auktoriseringsbegäran från %s"
|
msgstr "Auktoriseringsbegäran från %s"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:374
|
#: ../js/ui/status/bluetooth.js:399
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Device %s wants access to the service '%s'"
|
msgid "Device %s wants access to the service '%s'"
|
||||||
msgstr "Enheten %s vill ha åtkomst till tjänsten \"%s\""
|
msgstr "Enheten %s vill ha åtkomst till tjänsten \"%s\""
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:376
|
#: ../js/ui/status/bluetooth.js:401
|
||||||
msgid "Always grant access"
|
msgid "Always grant access"
|
||||||
msgstr "Tillåt alltid åtkomst"
|
msgstr "Tillåt alltid åtkomst"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:377
|
#: ../js/ui/status/bluetooth.js:402
|
||||||
msgid "Grant this time only"
|
msgid "Grant this time only"
|
||||||
msgstr "Tillåt för denna gång"
|
msgstr "Tillåt för denna gång"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:378
|
#: ../js/ui/status/bluetooth.js:403
|
||||||
msgid "Reject"
|
msgid "Reject"
|
||||||
msgstr "Neka"
|
msgstr "Neka"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:408
|
#: ../js/ui/status/bluetooth.js:433
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Pairing confirmation for %s"
|
msgid "Pairing confirmation for %s"
|
||||||
msgstr "Bekräftelse av ihopparning för %s"
|
msgstr "Bekräftelse av ihopparning för %s"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:414
|
#: ../js/ui/status/bluetooth.js:439
|
||||||
#: ../js/ui/status/bluetooth.js:448
|
#: ../js/ui/status/bluetooth.js:473
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Device %s wants to pair with this computer"
|
msgid "Device %s wants to pair with this computer"
|
||||||
msgstr "Enheten %s vill paras ihop med denna dator"
|
msgstr "Enheten %s vill paras ihop med denna dator"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:415
|
#: ../js/ui/status/bluetooth.js:440
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Please confirm whether the PIN '%s' matches the one on the device."
|
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."
|
msgstr "Bekräfta huruvida PIN-koden \"%s\" stämmer med den på enheten."
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:417
|
#: ../js/ui/status/bluetooth.js:442
|
||||||
msgid "Matches"
|
msgid "Matches"
|
||||||
msgstr "Stämmer"
|
msgstr "Stämmer"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:418
|
#: ../js/ui/status/bluetooth.js:443
|
||||||
msgid "Does not match"
|
msgid "Does not match"
|
||||||
msgstr "Stämmer inte"
|
msgstr "Stämmer inte"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:441
|
#: ../js/ui/status/bluetooth.js:466
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Pairing request for %s"
|
msgid "Pairing request for %s"
|
||||||
msgstr "Ihopparningsbegäran för %s"
|
msgstr "Ihopparningsbegäran för %s"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:449
|
#: ../js/ui/status/bluetooth.js:474
|
||||||
msgid "Please enter the PIN mentioned on the device."
|
msgid "Please enter the PIN mentioned on the device."
|
||||||
msgstr "Ange PIN-koden som anges på enheten."
|
msgstr "Ange PIN-koden som anges på enheten."
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:465
|
#: ../js/ui/status/bluetooth.js:490
|
||||||
msgid "OK"
|
msgid "OK"
|
||||||
msgstr "OK"
|
msgstr "OK"
|
||||||
|
|
||||||
@ -787,142 +793,141 @@ msgstr "Visa tangentbordslayout..."
|
|||||||
msgid "Localization Settings"
|
msgid "Localization Settings"
|
||||||
msgstr "Språkinställningar"
|
msgstr "Språkinställningar"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:102
|
#: ../js/ui/status/network.js:113
|
||||||
#: ../js/ui/status/network.js:1437
|
|
||||||
msgid "<unknown>"
|
msgid "<unknown>"
|
||||||
msgstr "<okänd>"
|
msgstr "<okänd>"
|
||||||
|
|
||||||
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
||||||
#: ../js/ui/status/network.js:295
|
#: ../js/ui/status/network.js:330
|
||||||
msgid "disabled"
|
msgid "disabled"
|
||||||
msgstr "inaktiverad"
|
msgstr "inaktiverad"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:478
|
#: ../js/ui/status/network.js:528
|
||||||
msgid "connecting..."
|
msgid "connecting..."
|
||||||
msgstr "ansluter..."
|
msgstr "ansluter..."
|
||||||
|
|
||||||
#. Translators: this is for network connections that require some kind of key or password
|
#. Translators: this is for network connections that require some kind of key or password
|
||||||
#: ../js/ui/status/network.js:481
|
#: ../js/ui/status/network.js:531
|
||||||
msgid "authentication required"
|
msgid "authentication required"
|
||||||
msgstr "autentisering krävs"
|
msgstr "autentisering krävs"
|
||||||
|
|
||||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||||
#. module, which is missing
|
#. module, which is missing
|
||||||
#: ../js/ui/status/network.js:491
|
#: ../js/ui/status/network.js:541
|
||||||
msgid "firmware missing"
|
msgid "firmware missing"
|
||||||
msgstr "fast programvara saknas"
|
msgstr "fast programvara saknas"
|
||||||
|
|
||||||
#. Translators: this is for wired network devices that are physically disconnected
|
#. Translators: this is for wired network devices that are physically disconnected
|
||||||
#: ../js/ui/status/network.js:498
|
#: ../js/ui/status/network.js:548
|
||||||
msgid "cable unplugged"
|
msgid "cable unplugged"
|
||||||
msgstr "kabeln är inte ansluten"
|
msgstr "kabeln är inte ansluten"
|
||||||
|
|
||||||
#. Translators: this is for a network device that cannot be activated (for example it
|
#. Translators: this is for a network device that cannot be activated (for example it
|
||||||
#. is disabled by rfkill, or it has no coverage
|
#. is disabled by rfkill, or it has no coverage
|
||||||
#: ../js/ui/status/network.js:503
|
#: ../js/ui/status/network.js:553
|
||||||
msgid "unavailable"
|
msgid "unavailable"
|
||||||
msgstr "inte tillgänglig"
|
msgstr "inte tillgänglig"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:505
|
#: ../js/ui/status/network.js:555
|
||||||
msgid "connection failed"
|
msgid "connection failed"
|
||||||
msgstr "anslutningen misslyckades"
|
msgstr "anslutningen misslyckades"
|
||||||
|
|
||||||
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
||||||
#. and we cannot access its settings (including the name)
|
#. and we cannot access its settings (including the name)
|
||||||
#: ../js/ui/status/network.js:585
|
#: ../js/ui/status/network.js:635
|
||||||
#: ../js/ui/status/network.js:1385
|
#: ../js/ui/status/network.js:1532
|
||||||
msgid "Connected (private)"
|
msgid "Connected (private)"
|
||||||
msgstr "Ansluten (privat)"
|
msgstr "Ansluten (privat)"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:666
|
#: ../js/ui/status/network.js:720
|
||||||
msgid "Auto Ethernet"
|
msgid "Auto Ethernet"
|
||||||
msgstr "Automatiskt ethernet"
|
msgstr "Automatiskt ethernet"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:741
|
#: ../js/ui/status/network.js:795
|
||||||
msgid "Auto broadband"
|
msgid "Auto broadband"
|
||||||
msgstr "Automatiskt bredband"
|
msgstr "Automatiskt bredband"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:744
|
#: ../js/ui/status/network.js:798
|
||||||
msgid "Auto dial-up"
|
msgid "Auto dial-up"
|
||||||
msgstr "Automatiskt uppringt nätverk"
|
msgstr "Automatiskt uppringt nätverk"
|
||||||
|
|
||||||
#. TRANSLATORS: this the automatic wireless connection name (including the network name)
|
#. TRANSLATORS: this the automatic wireless connection name (including the network name)
|
||||||
#: ../js/ui/status/network.js:887
|
#: ../js/ui/status/network.js:944
|
||||||
#: ../js/ui/status/network.js:1397
|
#: ../js/ui/status/network.js:1544
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Auto %s"
|
msgid "Auto %s"
|
||||||
msgstr "Automatiskt %s"
|
msgstr "Automatiskt %s"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:889
|
#: ../js/ui/status/network.js:946
|
||||||
msgid "Auto bluetooth"
|
msgid "Auto bluetooth"
|
||||||
msgstr "Automatisk Bluetooth"
|
msgstr "Automatisk Bluetooth"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1399
|
#: ../js/ui/status/network.js:1546
|
||||||
msgid "Auto wireless"
|
msgid "Auto wireless"
|
||||||
msgstr "Automatiskt trådlöst nätverk"
|
msgstr "Automatiskt trådlöst nätverk"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1457
|
#: ../js/ui/status/network.js:1583
|
||||||
msgid "More..."
|
msgid "More..."
|
||||||
msgstr "Mer..."
|
msgstr "Mer..."
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1480
|
#: ../js/ui/status/network.js:1625
|
||||||
msgid "Enable networking"
|
msgid "Enable networking"
|
||||||
msgstr "Aktivera nätverk"
|
msgstr "Aktivera nätverk"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1492
|
#: ../js/ui/status/network.js:1637
|
||||||
msgid "Wired"
|
msgid "Wired"
|
||||||
msgstr "Trådbundet"
|
msgstr "Trådbundet"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1503
|
#: ../js/ui/status/network.js:1648
|
||||||
msgid "Wireless"
|
msgid "Wireless"
|
||||||
msgstr "Trådlöst"
|
msgstr "Trådlöst"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1513
|
#: ../js/ui/status/network.js:1658
|
||||||
msgid "Mobile broadband"
|
msgid "Mobile broadband"
|
||||||
msgstr "Mobilt bredband"
|
msgstr "Mobilt bredband"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1523
|
#: ../js/ui/status/network.js:1668
|
||||||
msgid "VPN Connections"
|
msgid "VPN Connections"
|
||||||
msgstr "VPN-anslutningar"
|
msgstr "VPN-anslutningar"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1532
|
#: ../js/ui/status/network.js:1680
|
||||||
msgid "Network Settings"
|
msgid "Network Settings"
|
||||||
msgstr "Nätverksinställningar"
|
msgstr "Nätverksinställningar"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1827
|
#: ../js/ui/status/network.js:1974
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to mobile broadband connection '%s'"
|
msgid "You're now connected to mobile broadband connection '%s'"
|
||||||
msgstr "Du är nu ansluten till mobila bredbandsanslutningen \"%s\""
|
msgstr "Du är nu ansluten till mobila bredbandsanslutningen \"%s\""
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1831
|
#: ../js/ui/status/network.js:1978
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to wireless network '%s'"
|
msgid "You're now connected to wireless network '%s'"
|
||||||
msgstr "Du är nu ansluten till trådlösa nätverket \"%s\""
|
msgstr "Du är nu ansluten till trådlösa nätverket \"%s\""
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1835
|
#: ../js/ui/status/network.js:1982
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to wired network '%s'"
|
msgid "You're now connected to wired network '%s'"
|
||||||
msgstr "Du är nu ansluten till trådbundna nätverket \"%s\""
|
msgstr "Du är nu ansluten till trådbundna nätverket \"%s\""
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1839
|
#: ../js/ui/status/network.js:1986
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to VPN network '%s'"
|
msgid "You're now connected to VPN network '%s'"
|
||||||
msgstr "Du är nu ansluten till VPN-nätverket \"%s\""
|
msgstr "Du är nu ansluten till VPN-nätverket \"%s\""
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1844
|
#: ../js/ui/status/network.js:1991
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to '%s'"
|
msgid "You're now connected to '%s'"
|
||||||
msgstr "Du är nu ansluten till \"%s\""
|
msgstr "Du är nu ansluten till \"%s\""
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1852
|
#: ../js/ui/status/network.js:1999
|
||||||
msgid "Connection established"
|
msgid "Connection established"
|
||||||
msgstr "Anslutningen etablerad"
|
msgstr "Anslutningen etablerad"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1974
|
#: ../js/ui/status/network.js:2125
|
||||||
msgid "Networking is disabled"
|
msgid "Networking is disabled"
|
||||||
msgstr "Nätverk är inaktiverat"
|
msgstr "Nätverk är inaktiverat"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:2099
|
#: ../js/ui/status/network.js:2250
|
||||||
msgid "Network Manager"
|
msgid "Network Manager"
|
||||||
msgstr "Nätverkshanterare"
|
msgstr "Nätverkshanterare"
|
||||||
|
|
||||||
@ -1025,22 +1030,22 @@ msgstr "Volym"
|
|||||||
msgid "Microphone"
|
msgid "Microphone"
|
||||||
msgstr "Mikrofon"
|
msgstr "Mikrofon"
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:332
|
#: ../js/ui/telepathyClient.js:330
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is online."
|
msgid "%s is online."
|
||||||
msgstr "%s är ansluten."
|
msgstr "%s är ansluten."
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:337
|
#: ../js/ui/telepathyClient.js:335
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is offline."
|
msgid "%s is offline."
|
||||||
msgstr "%s är frånkopplad."
|
msgstr "%s är frånkopplad."
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:340
|
#: ../js/ui/telepathyClient.js:338
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is away."
|
msgid "%s is away."
|
||||||
msgstr "%s är frånvarande."
|
msgstr "%s är frånvarande."
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:343
|
#: ../js/ui/telepathyClient.js:341
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is busy."
|
msgid "%s is busy."
|
||||||
msgstr "%s är upptagen."
|
msgstr "%s är upptagen."
|
||||||
@ -1048,11 +1053,18 @@ msgstr "%s är upptagen."
|
|||||||
#. Translators: this is a time format string followed by a date.
|
#. Translators: this is a time format string followed by a date.
|
||||||
#. If applicable, replace %X with a strftime format valid for your
|
#. If applicable, replace %X with a strftime format valid for your
|
||||||
#. locale, without seconds.
|
#. locale, without seconds.
|
||||||
#: ../js/ui/telepathyClient.js:474
|
#: ../js/ui/telepathyClient.js:479
|
||||||
#, no-c-format
|
#, no-c-format
|
||||||
msgid "Sent at %X on %A"
|
msgid "Sent at %X on %A"
|
||||||
msgstr "Skickades klockan %X på %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
|
#. Translators: this is the text displayed
|
||||||
#. in the search entry when no search is
|
#. in the search entry when no search is
|
||||||
#. active; it should not exceed ~30
|
#. active; it should not exceed ~30
|
||||||
@ -1098,7 +1110,7 @@ msgstr[1] "%u ingångar"
|
|||||||
msgid "System Sounds"
|
msgid "System Sounds"
|
||||||
msgstr "Systemljud"
|
msgstr "Systemljud"
|
||||||
|
|
||||||
#: ../src/main.c:446
|
#: ../src/main.c:445
|
||||||
msgid "Print version"
|
msgid "Print version"
|
||||||
msgstr "Skriv ut version"
|
msgstr "Skriv ut version"
|
||||||
|
|
||||||
@ -1107,38 +1119,6 @@ msgstr "Skriv ut version"
|
|||||||
msgid "Failed to launch '%s'"
|
msgid "Failed to launch '%s'"
|
||||||
msgstr "Misslyckades med att starta \"%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
|
#: ../src/shell-mobile-providers.c:80
|
||||||
msgid "United Kingdom"
|
msgid "United Kingdom"
|
||||||
msgstr "Storbritannien"
|
msgstr "Storbritannien"
|
||||||
@ -1171,6 +1151,33 @@ msgstr "Filsystem"
|
|||||||
msgid "%1$s: %2$s"
|
msgid "%1$s: %2$s"
|
||||||
msgstr "%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
|
#, fuzzy
|
||||||
#~ msgid "No such application"
|
#~ msgid "No such application"
|
||||||
#~ msgstr "Program"
|
#~ msgstr "Program"
|
||||||
@ -1178,90 +1185,128 @@ msgstr "%1$s: %2$s"
|
|||||||
#, fuzzy
|
#, fuzzy
|
||||||
#~ msgid "Shut Down"
|
#~ msgid "Shut Down"
|
||||||
#~ msgstr "Stäng av..."
|
#~ msgstr "Stäng av..."
|
||||||
|
|
||||||
#~ msgid "Screen Reader"
|
#~ msgid "Screen Reader"
|
||||||
#~ msgstr "Skärmläsare"
|
#~ msgstr "Skärmläsare"
|
||||||
|
|
||||||
#~ msgid "Screen Keyboard"
|
#~ msgid "Screen Keyboard"
|
||||||
#~ msgstr "Skärmtangentbord"
|
#~ msgstr "Skärmtangentbord"
|
||||||
|
|
||||||
#~ msgid "Clock"
|
#~ msgid "Clock"
|
||||||
#~ msgstr "Klocka"
|
#~ msgstr "Klocka"
|
||||||
|
|
||||||
#~ msgid "Customize the panel clock"
|
#~ msgid "Customize the panel clock"
|
||||||
#~ msgstr "Anpassa panelklockan"
|
#~ msgstr "Anpassa panelklockan"
|
||||||
|
|
||||||
#~ msgid "Custom format of the clock"
|
#~ msgid "Custom format of the clock"
|
||||||
#~ msgstr "Anpassat format för klockan"
|
#~ msgstr "Anpassat format för klockan"
|
||||||
|
|
||||||
#~ msgid "Hour format"
|
#~ msgid "Hour format"
|
||||||
#~ msgstr "Timmesformat"
|
#~ msgstr "Timmesformat"
|
||||||
|
|
||||||
#~ msgid ""
|
#~ msgid ""
|
||||||
#~ "If true and format is either \"12-hour\" or \"24-hour\", display seconds "
|
#~ "If true and format is either \"12-hour\" or \"24-hour\", display seconds "
|
||||||
#~ "in time."
|
#~ "in time."
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
#~ "Om true och formatet antingen är \"12-hour\" eller \"24-hour\", visa "
|
#~ "Om true och formatet antingen är \"12-hour\" eller \"24-hour\", visa "
|
||||||
#~ "sekunder i tiden."
|
#~ "sekunder i tiden."
|
||||||
|
|
||||||
#~ msgid "Enable lens mode"
|
#~ msgid "Enable lens mode"
|
||||||
#~ msgstr "Aktivera linsläge"
|
#~ msgstr "Aktivera linsläge"
|
||||||
|
|
||||||
#~ msgid "Magnification factor"
|
#~ msgid "Magnification factor"
|
||||||
#~ msgstr "Förstoringsfaktor"
|
#~ msgstr "Förstoringsfaktor"
|
||||||
|
|
||||||
#~ msgid "Screen position"
|
#~ msgid "Screen position"
|
||||||
#~ msgstr "Skärmposition"
|
#~ msgstr "Skärmposition"
|
||||||
|
|
||||||
#~ msgid "Clock Format"
|
#~ msgid "Clock Format"
|
||||||
#~ msgstr "Klockformat"
|
#~ msgstr "Klockformat"
|
||||||
|
|
||||||
#~ msgid "Clock Preferences"
|
#~ msgid "Clock Preferences"
|
||||||
#~ msgstr "Klockinställningar"
|
#~ msgstr "Klockinställningar"
|
||||||
|
|
||||||
#~ msgid "Panel Display"
|
#~ msgid "Panel Display"
|
||||||
#~ msgstr "Panelvisning"
|
#~ msgstr "Panelvisning"
|
||||||
|
|
||||||
#~ msgid "Show seco_nds"
|
#~ msgid "Show seco_nds"
|
||||||
#~ msgstr "Visa seku_nder"
|
#~ msgstr "Visa seku_nder"
|
||||||
|
|
||||||
#~ msgid "Show the _date"
|
#~ msgid "Show the _date"
|
||||||
#~ msgstr "Visa _datum"
|
#~ msgstr "Visa _datum"
|
||||||
|
|
||||||
#~ msgid "_12 hour format"
|
#~ msgid "_12 hour format"
|
||||||
#~ msgstr "_12-timmarsformat"
|
#~ msgstr "_12-timmarsformat"
|
||||||
|
|
||||||
#~ msgid "_24 hour format"
|
#~ msgid "_24 hour format"
|
||||||
#~ msgstr "_24-timmarsformat"
|
#~ msgstr "_24-timmarsformat"
|
||||||
|
|
||||||
#~ msgid "PREFERENCES"
|
#~ msgid "PREFERENCES"
|
||||||
#~ msgstr "INSTÄLLNINGAR"
|
#~ msgstr "INSTÄLLNINGAR"
|
||||||
|
|
||||||
#~ msgid "Preferences"
|
#~ msgid "Preferences"
|
||||||
#~ msgstr "Inställningar"
|
#~ msgstr "Inställningar"
|
||||||
|
|
||||||
#~ msgid "Search your computer"
|
#~ msgid "Search your computer"
|
||||||
#~ msgstr "Sök i din dator"
|
#~ msgstr "Sök i din dator"
|
||||||
|
|
||||||
#~ msgid ""
|
#~ msgid ""
|
||||||
#~ "Can't add a new workspace because maximum workspaces limit has been "
|
#~ "Can't add a new workspace because maximum workspaces limit has been "
|
||||||
#~ "reached."
|
#~ "reached."
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
#~ "Kan inte lägga till en ny arbetsyta eftersom maximalt antal arbetsytor "
|
#~ "Kan inte lägga till en ny arbetsyta eftersom maximalt antal arbetsytor "
|
||||||
#~ "har uppnåtts."
|
#~ "har uppnåtts."
|
||||||
|
|
||||||
#~ msgid "Can't remove the first workspace."
|
#~ msgid "Can't remove the first workspace."
|
||||||
#~ msgstr "Kan inte ta bort första arbetsytan."
|
#~ msgstr "Kan inte ta bort första arbetsytan."
|
||||||
|
|
||||||
#~ msgid "Drag here to add favorites"
|
#~ msgid "Drag here to add favorites"
|
||||||
#~ msgstr "Dra hit för att lägga till favorit"
|
#~ msgstr "Dra hit för att lägga till favorit"
|
||||||
|
|
||||||
#~ msgid "Find"
|
#~ msgid "Find"
|
||||||
#~ msgstr "Sök"
|
#~ msgstr "Sök"
|
||||||
|
|
||||||
#~ msgid "ON"
|
#~ msgid "ON"
|
||||||
#~ msgstr "PÅ"
|
#~ msgstr "PÅ"
|
||||||
|
|
||||||
#~ msgid "OFF"
|
#~ msgid "OFF"
|
||||||
#~ msgstr "AV"
|
#~ msgstr "AV"
|
||||||
|
|
||||||
#~ msgid "Invisible"
|
#~ msgid "Invisible"
|
||||||
#~ msgstr "Osynlig"
|
#~ msgstr "Osynlig"
|
||||||
|
|
||||||
#~ msgid "PLACES"
|
#~ msgid "PLACES"
|
||||||
#~ msgstr "PLATSER"
|
#~ msgstr "PLATSER"
|
||||||
|
|
||||||
#~ msgid "SEARCH RESULTS"
|
#~ msgid "SEARCH RESULTS"
|
||||||
#~ msgstr "SÖKRESULTAT"
|
#~ msgstr "SÖKRESULTAT"
|
||||||
|
|
||||||
#~ msgid "Recent Documents"
|
#~ msgid "Recent Documents"
|
||||||
#~ msgstr "Senaste dokument"
|
#~ msgstr "Senaste dokument"
|
||||||
|
|
||||||
#~ msgid "(see all)"
|
#~ msgid "(see all)"
|
||||||
#~ msgstr "(se alla)"
|
#~ msgstr "(se alla)"
|
||||||
|
|
||||||
#~ msgid "Can't lock screen: %s"
|
#~ msgid "Can't lock screen: %s"
|
||||||
#~ msgstr "Kan inte låsa skärmen: %s"
|
#~ msgstr "Kan inte låsa skärmen: %s"
|
||||||
|
|
||||||
#~ msgid "Can't temporarily set screensaver to blank screen: %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"
|
#~ msgstr "Kan inte temporärt ställa in skärmsläckaren till blank skärm: %s"
|
||||||
|
|
||||||
#~ msgid "Can't logout: %s"
|
#~ msgid "Can't logout: %s"
|
||||||
#~ msgstr "Kan inte logga ut: %s"
|
#~ msgstr "Kan inte logga ut: %s"
|
||||||
|
|
||||||
#~ msgid "Sidebar"
|
#~ msgid "Sidebar"
|
||||||
#~ msgstr "Sidopanel"
|
#~ msgstr "Sidopanel"
|
||||||
|
|
||||||
#~ msgid "Browse"
|
#~ msgid "Browse"
|
||||||
#~ msgstr "Bläddra"
|
#~ msgstr "Bläddra"
|
||||||
|
|
||||||
#~ msgid "Find apps or documents"
|
#~ msgid "Find apps or documents"
|
||||||
#~ msgstr "Hitta program eller dokument"
|
#~ msgstr "Hitta program eller dokument"
|
||||||
|
|
||||||
#~ msgid "DOCUMENTS"
|
#~ msgid "DOCUMENTS"
|
||||||
#~ msgstr "DOKUMENT"
|
#~ msgstr "DOKUMENT"
|
||||||
|
|
||||||
#~ msgid "The user manager object this user is controlled by."
|
#~ msgid "The user manager object this user is controlled by."
|
||||||
#~ msgstr "Användarhanteringsobjektet som denna användare styrs av."
|
#~ msgstr "Användarhanteringsobjektet som denna användare styrs av."
|
||||||
|
|
||||||
|
291
po/ug.po
@ -10,10 +10,11 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: gnome-shell\n"
|
"Project-Id-Version: gnome-shell\n"
|
||||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&keywords=I18N+L10N&component=general\n"
|
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||||
"POT-Creation-Date: 2011-03-24 08:03+0000\n"
|
"shell&keywords=I18N+L10N&component=general\n"
|
||||||
"PO-Revision-Date: 2010-11-25 14:28+0600\n"
|
"POT-Creation-Date: 2011-05-02 05:27+0000\n"
|
||||||
"Last-Translator: Oghlan Temkin <temkin119@gmail.com>\n"
|
"PO-Revision-Date: 2011-04-27 11:38+0600\n"
|
||||||
|
"Last-Translator: Sahran <sahran.ug@gmail.com>\n"
|
||||||
"Language-Team: Uyghur Computer Science Association <UKIJ@yahoogroups.com>\n"
|
"Language-Team: Uyghur Computer Science Association <UKIJ@yahoogroups.com>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
@ -32,34 +33,41 @@ msgstr "كۆزنەك باشقۇرۇش ۋە پروگرامما ئىجرا قىل
|
|||||||
msgid ""
|
msgid ""
|
||||||
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
|
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
|
||||||
"dialog."
|
"dialog."
|
||||||
msgstr "ئىچكى سازلاش ۋە كۆزىتىش قورالىنى زىيارەت قىلىشتا Alt-F2 ئىشلىتىشكە ئىجازەت."
|
msgstr ""
|
||||||
|
"ئىچكى سازلاش ۋە كۆزىتىش قورالىنى زىيارەت قىلىشتا Alt-F2 ئىشلىتىشكە ئىجازەت."
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:2
|
#: ../data/org.gnome.shell.gschema.xml.in.h:2
|
||||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
|
msgid "Enable internal tools useful for developers and testers from Alt-F2"
|
||||||
msgstr "ئىچكى قورال قوزغىتىلسا ئىجادكارلار ۋە سىنىغۇچىلارنىڭ Alt-F2 ئارقىلىق كىرىشىگە قۇلايلىق"
|
msgstr ""
|
||||||
|
"ئىچكى قورال قوزغىتىلسا ئىجادكارلار ۋە سىنىغۇچىلارنىڭ Alt-F2 ئارقىلىق "
|
||||||
|
"كىرىشىگە قۇلايلىق"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:3
|
#: ../data/org.gnome.shell.gschema.xml.in.h:3
|
||||||
msgid "File extension used for storing the screencast"
|
msgid "File extension used for storing the screencast"
|
||||||
msgstr "ئېكران كەسمىسى (screencasts) ساقلاشتا ئىشلىتىلىدىغان ھۆججەتنىڭ كېڭەيتىلگەن ئاتى"
|
msgstr ""
|
||||||
|
"ئېكران كەسمىسى (screencasts) ساقلاشتا ئىشلىتىلىدىغان ھۆججەتنىڭ كېڭەيتىلگەن "
|
||||||
|
"ئاتى"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:4
|
#: ../data/org.gnome.shell.gschema.xml.in.h:4
|
||||||
msgid "Framerate used for recording screencasts."
|
msgid "Framerate used for recording screencasts."
|
||||||
msgstr "ئېكران كەسمىسى (screencasts) خاتىرىلەشتە ئىشلىتىلىدىغان كاندۇك تېزلىكى."
|
msgstr ""
|
||||||
|
"ئېكران كەسمىسى (screencasts) خاتىرىلەشتە ئىشلىتىلىدىغان كاندۇك تېزلىكى."
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:5
|
#: ../data/org.gnome.shell.gschema.xml.in.h:5
|
||||||
msgid ""
|
msgid ""
|
||||||
"GNOME Shell extensions have a uuid property; this key lists extensions which "
|
"GNOME Shell extensions have a uuid property; this key lists extensions which "
|
||||||
"should not be loaded."
|
"should not be loaded."
|
||||||
msgstr "GNOME Shell كېڭەيتىلمىسىنىڭ uuid خاسلىقى بار؛ بۇ كۇنۇپكا يۈكلەنمەيدىغان كېڭەيتىلمىلەر تىزىملىكىنى كۆرسىتىدۇ."
|
msgstr ""
|
||||||
|
"GNOME Shell كېڭەيتىلمىسىنىڭ uuid خاسلىقى بار؛ بۇ كۇنۇپكا يۈكلەنمەيدىغان "
|
||||||
|
"كېڭەيتىلمىلەر تىزىمىنى كۆرسىتىدۇ."
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:6
|
#: ../data/org.gnome.shell.gschema.xml.in.h:6
|
||||||
msgid "History for command (Alt-F2) dialog"
|
msgid "History for command (Alt-F2) dialog"
|
||||||
msgstr "بۇيرۇق (Alt-F2) سۆزلەشكۈنىڭ تارىخى"
|
msgstr "بۇيرۇق (Alt-F2) سۆزلەشكۈنىڭ تارىخى"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:7
|
#: ../data/org.gnome.shell.gschema.xml.in.h:7
|
||||||
#| msgid "History for command (Alt-F2) dialog"
|
|
||||||
msgid "History for the looking glass dialog"
|
msgid "History for the looking glass dialog"
|
||||||
msgstr ""
|
msgstr "looking glass سۆزلەشكۈنىڭ تارىخى"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:8
|
#: ../data/org.gnome.shell.gschema.xml.in.h:8
|
||||||
msgid "If true, display date in the clock, in addition to time."
|
msgid "If true, display date in the clock, in addition to time."
|
||||||
@ -75,7 +83,7 @@ msgstr "ئەگەر راست(true) بولسا يىلنامىدىكى ISO ھەپت
|
|||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:11
|
#: ../data/org.gnome.shell.gschema.xml.in.h:11
|
||||||
msgid "List of desktop file IDs for favorite applications"
|
msgid "List of desktop file IDs for favorite applications"
|
||||||
msgstr "ئامراق پروگراممىلارنىڭ ئۈستەلئۈستى ھۆججەت ID تىزىملىكى"
|
msgstr "ئامراق پروگراممىلارنىڭ ئۈستەلئۈستى ھۆججەت ID تىزىمى"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:13
|
#: ../data/org.gnome.shell.gschema.xml.in.h:13
|
||||||
#, no-c-format
|
#, no-c-format
|
||||||
@ -90,7 +98,18 @@ msgid ""
|
|||||||
"'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' and "
|
"'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 "
|
"records to WEBM using the VP8 codec. %T is used as a placeholder for a guess "
|
||||||
"at the optimal thread count on the system."
|
"at the optimal thread count on the system."
|
||||||
msgstr "ئۈن ئېلىشنى كودلاشتا ئىشلىتىلىدىغان GStreamer ئاقما لىنىيىنى تەڭشەيدۇ. ئۇ gst-launch گرامماتىكىسىغا بوي سۇنىدۇ. بۇ ئاقما لىنىيىدە ئۇلانمىغان sink pad بولۇشى لازىم، خاتىرىلىنىدىغان سىن مۇشۇ جايدا خاتىرىلىنىدۇ. بۇ لىنىيىدە ئادەتتە يەنە بىر ئۇلانمىغان مەنبە pad بولىدۇ؛ بۇ pad چىقارغان ئۇچۇرلار ھۆججەتكە يېزىلىدۇ. ئەمما ئاقما لىنىيە ئۆزىنىڭ چىقىرىشىنى بىر تەرەپ قىلالايدۇ، بۇنداق بولغاندا shout2send ئارقىلىق ياكى شۇنىڭغا ئوخشاش ئۇسۇلدا چىقىرىشنى icecast مۇلازىمېتىرىغا يوللايدۇ. ئاقما لىنىيە تەڭشەلمىگەن ياكى بوش قىممەتكە تەڭشەلگەندە كۆڭۈلدىكى ئاقما لىنىيە قوزغىتىلىدۇ. ئۇنىڭ نۆۋەتتىكى قىممىتى 'videorate ! vp8enc سۈپەت=10 سۈرەت=2 سىزىقلار=%T ! قاتار! webmmux' ۋە WEBM گە خاتىرىلەنگەنلەر VP8 كودىنى ئىشلىتىدۇ. T% بولسا سىستېمىنىڭ ئەڭ ياخشى سىزىق ئېلىپبەسىنى ھېسابلايدىغان ئورۇن بەلگىسى"
|
msgstr ""
|
||||||
|
"ئۈن ئېلىشنى كودلاشتا ئىشلىتىلىدىغان GStreamer ئاقما لىنىيىنى تەڭشەيدۇ. ئۇ "
|
||||||
|
"gst-launch گرامماتىكىسىغا بوي سۇنىدۇ. بۇ ئاقما لىنىيىدە ئۇلانمىغان sink pad "
|
||||||
|
"بولۇشى لازىم، خاتىرىلىنىدىغان سىن مۇشۇ جايدا خاتىرىلىنىدۇ. بۇ لىنىيىدە "
|
||||||
|
"ئادەتتە يەنە بىر ئۇلانمىغان مەنبە pad بولىدۇ؛ بۇ pad چىقارغان ئۇچۇرلار "
|
||||||
|
"ھۆججەتكە يېزىلىدۇ. ئەمما ئاقما لىنىيە ئۆزىنىڭ چىقىرىشىنى بىر تەرەپ "
|
||||||
|
"قىلالايدۇ، بۇنداق بولغاندا shout2send ئارقىلىق ياكى شۇنىڭغا ئوخشاش ئۇسۇلدا "
|
||||||
|
"چىقىرىشنى icecast مۇلازىمېتىرىغا يوللايدۇ. ئاقما لىنىيە تەڭشەلمىگەن ياكى بوش "
|
||||||
|
"قىممەتكە تەڭشەلگەندە كۆڭۈلدىكى ئاقما لىنىيە قوزغىتىلىدۇ. ئۇنىڭ نۆۋەتتىكى "
|
||||||
|
"قىممىتى 'videorate ! vp8enc سۈپەت=10 سۈرەت=2 سىزىقلار=%T ! قاتار! webmmux' "
|
||||||
|
"ۋە WEBM گە خاتىرىلەنگەنلەر VP8 كودىنى ئىشلىتىدۇ. T% بولسا سىستېمىنىڭ ئەڭ "
|
||||||
|
"ياخشى سىزىق ئېلىپبەسىنى ھېسابلايدىغان ئورۇن بەلگىسى"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:14
|
#: ../data/org.gnome.shell.gschema.xml.in.h:14
|
||||||
msgid "Show date in clock"
|
msgid "Show date in clock"
|
||||||
@ -115,13 +134,18 @@ msgid ""
|
|||||||
"The filename for recorded screencasts will be a unique filename based on the "
|
"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 "
|
"current date, and use this extension. It should be changed when recording to "
|
||||||
"a different container format."
|
"a different container format."
|
||||||
msgstr "خاتىرىلەنگەن ئېكراننىڭ ھۆججەت ئاتى نۆۋەتتىكى چېسلا ئاساسىدا بىردىنبىر بولۇپ بۇ كېڭەيتىلگەن ئاتىنى ئىشلىتىدۇ. ئۇ ئۆزگەرسە ئوخشاش بولمىغان قاچا فورماتىدا خاتىرىلەيدۇ."
|
msgstr ""
|
||||||
|
"خاتىرىلەنگەن ئېكراننىڭ ھۆججەت ئاتى نۆۋەتتىكى چېسلا ئاساسىدا بىردىنبىر بولۇپ "
|
||||||
|
"بۇ كېڭەيتىلگەن ئاتىنى ئىشلىتىدۇ. ئۇ ئۆزگەرسە ئوخشاش بولمىغان قاچا فورماتىدا "
|
||||||
|
"خاتىرىلەيدۇ."
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:19
|
#: ../data/org.gnome.shell.gschema.xml.in.h:19
|
||||||
msgid ""
|
msgid ""
|
||||||
"The framerate of the resulting screencast recordered by GNOME Shell's "
|
"The framerate of the resulting screencast recordered by GNOME Shell's "
|
||||||
"screencast recorder in frames-per-second."
|
"screencast recorder in frames-per-second."
|
||||||
msgstr "GNOME Shell ئېكران خاتىرىلىگۈچ ھەر سېكۇنتتا خاتىرىلەيدىغان ئېكران كەسمىسى كاندۇك سۈرىتى(ھەر سېكۇنتتىكى كاندۇك سانى)."
|
msgstr ""
|
||||||
|
"GNOME Shell ئېكران خاتىرىلىگۈچ ھەر سېكۇنتتا خاتىرىلەيدىغان ئېكران كەسمىسى "
|
||||||
|
"كاندۇك سۈرىتى(ھەر سېكۇنتتىكى كاندۇك سانى)."
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:20
|
#: ../data/org.gnome.shell.gschema.xml.in.h:20
|
||||||
msgid "The gstreamer pipeline used to encode the screencast"
|
msgid "The gstreamer pipeline used to encode the screencast"
|
||||||
@ -133,7 +157,11 @@ msgid ""
|
|||||||
"used ones (e.g. in launchers). While this data will be kept private, you may "
|
"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 "
|
"want to disable this for privacy reasons. Please note that doing so won't "
|
||||||
"remove already saved data."
|
"remove already saved data."
|
||||||
msgstr "چاپان (shell) ئادەتتىكى ئەھۋالدا كۆپ ئىشلىتىلىدىغان ئاكتىپ پروگراممىلار(مەسىلەن، ئىجرا قىلىنىۋاتقان)نى كۆزىتىدۇ. گەرچە بۇ سانلىق مەلۇماتلار مەخپىي ساقلانسىمۇ، شەخسىي سىر سەۋەبىدىن بۇنى چەكلىشىڭىز مۇمكىن. دىققەت بۇنداق قىلغاندا ئاللىبۇرۇن ساقلانغان سانلىق مەلۇماتلار چىقىرىۋېتىلمەيدۇ."
|
msgstr ""
|
||||||
|
"چاپان (shell) ئادەتتىكى ئەھۋالدا كۆپ ئىشلىتىلىدىغان ئاكتىپ پروگراممىلار"
|
||||||
|
"(مەسىلەن، ئىجرا قىلىنىۋاتقان)نى كۆزىتىدۇ. گەرچە بۇ سانلىق مەلۇماتلار مەخپىي "
|
||||||
|
"ساقلانسىمۇ، شەخسىي سىر سەۋەبىدىن بۇنى چەكلىشىڭىز مۇمكىن. دىققەت بۇنداق "
|
||||||
|
"قىلغاندا ئاللىبۇرۇن ساقلانغان سانلىق مەلۇماتلار چىقىرىۋېتىلمەيدۇ."
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:22
|
#: ../data/org.gnome.shell.gschema.xml.in.h:22
|
||||||
msgid "Uuids of extensions to disable"
|
msgid "Uuids of extensions to disable"
|
||||||
@ -163,27 +191,27 @@ msgid "Execution of '%s' failed:"
|
|||||||
msgstr "«%s» ئىجرا قىلىش مەغلۇپ بولدى:"
|
msgstr "«%s» ئىجرا قىلىش مەغلۇپ بولدى:"
|
||||||
|
|
||||||
#. Translators: Filter to display all applications
|
#. Translators: Filter to display all applications
|
||||||
#: ../js/ui/appDisplay.js:230
|
#: ../js/ui/appDisplay.js:260
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "ھەممىسى"
|
msgstr "ھەممىسى"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:328
|
#: ../js/ui/appDisplay.js:359
|
||||||
msgid "APPLICATIONS"
|
msgid "APPLICATIONS"
|
||||||
msgstr "پروگراممىلار"
|
msgstr "پروگراممىلار"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:354
|
#: ../js/ui/appDisplay.js:385
|
||||||
msgid "SETTINGS"
|
msgid "SETTINGS"
|
||||||
msgstr ""
|
msgstr "تەڭشەكلەر"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:625
|
#: ../js/ui/appDisplay.js:656
|
||||||
msgid "New Window"
|
msgid "New Window"
|
||||||
msgstr "يېڭى كۆزنەك"
|
msgstr "يېڭى كۆزنەك"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:628
|
#: ../js/ui/appDisplay.js:659
|
||||||
msgid "Remove from Favorites"
|
msgid "Remove from Favorites"
|
||||||
msgstr "يىغقۇچتىن چىقىرىۋەت"
|
msgstr "يىغقۇچتىن چىقىرىۋەت"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:629
|
#: ../js/ui/appDisplay.js:660
|
||||||
msgid "Add to Favorites"
|
msgid "Add to Favorites"
|
||||||
msgstr "يىغقۇچقا قوش"
|
msgstr "يىغقۇچقا قوش"
|
||||||
|
|
||||||
@ -316,13 +344,13 @@ msgid "Nothing Scheduled"
|
|||||||
msgstr "ھېچنېمە پىلانلانمىدى"
|
msgstr "ھېچنېمە پىلانلانمىدى"
|
||||||
|
|
||||||
#. Translators: Shown on calendar heading when selected day occurs on current year
|
#. Translators: Shown on calendar heading when selected day occurs on current year
|
||||||
#: ../js/ui/calendar.js:720
|
#: ../js/ui/calendar.js:720 ../js/ui/telepathyClient.js:492
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d"
|
msgid "%A, %B %d"
|
||||||
msgstr "%A، %B %d"
|
msgstr "%A، %B %d"
|
||||||
|
|
||||||
#. Translators: Shown on calendar heading when selected day occurs on different year
|
#. Translators: Shown on calendar heading when selected day occurs on different year
|
||||||
#: ../js/ui/calendar.js:723
|
#: ../js/ui/calendar.js:723 ../js/ui/telepathyClient.js:495
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d, %Y"
|
msgid "%A, %B %d, %Y"
|
||||||
msgstr "%A، %B %d، %Y"
|
msgstr "%A، %B %d، %Y"
|
||||||
@ -343,7 +371,7 @@ msgstr "بۇ ھەپتە"
|
|||||||
msgid "Next week"
|
msgid "Next week"
|
||||||
msgstr "كېيىنكى ھەپتە"
|
msgstr "كېيىنكى ھەپتە"
|
||||||
|
|
||||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:994
|
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1037
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr "چىقىرىۋەت"
|
msgstr "چىقىرىۋەت"
|
||||||
|
|
||||||
@ -393,7 +421,7 @@ msgstr "%a %l:%M:%S %p"
|
|||||||
|
|
||||||
#: ../js/ui/dateMenu.js:183
|
#: ../js/ui/dateMenu.js:183
|
||||||
msgid "%a %l:%M %p"
|
msgid "%a %l:%M %p"
|
||||||
msgstr "%p%l:%M (%a)"
|
msgstr "%a %l:%M"
|
||||||
|
|
||||||
#. Translators: This is the date format to use when the calendar popup is
|
#. Translators: This is the date format to use when the calendar popup is
|
||||||
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
|
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
|
||||||
@ -417,7 +445,9 @@ msgstr "تىزىمدىن چىق"
|
|||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:65
|
#: ../js/ui/endSessionDialog.js:65
|
||||||
msgid "Click Log Out to quit these applications and log out of the system."
|
msgid "Click Log Out to quit these applications and log out of the system."
|
||||||
msgstr "تىزىمدىن چىقىش (Log Out) نى بېسىپ پروگراممىدىن چېكىنىش ۋە سىستېما تىزىمىدىن چىقىش."
|
msgstr ""
|
||||||
|
"تىزىمدىن چىقىش (Log Out) نى بېسىپ پروگراممىدىن چېكىنىش ۋە سىستېما تىزىمىدىن "
|
||||||
|
"چىقىش."
|
||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:66
|
#: ../js/ui/endSessionDialog.js:66
|
||||||
#, c-format
|
#, c-format
|
||||||
@ -435,23 +465,21 @@ msgstr "سىستېما تىزىمدىن چىقىۋاتىدۇ"
|
|||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:75 ../js/ui/endSessionDialog.js:82
|
#: ../js/ui/endSessionDialog.js:75 ../js/ui/endSessionDialog.js:82
|
||||||
msgid "Power Off"
|
msgid "Power Off"
|
||||||
msgstr ""
|
msgstr "توكنى ئۈز"
|
||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:76
|
#: ../js/ui/endSessionDialog.js:76
|
||||||
#| msgid "Click Log Out to quit these applications and log out of the system."
|
|
||||||
msgid "Click Power Off to quit these applications and power off the system."
|
msgid "Click Power Off to quit these applications and power off the system."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"تۈكنى ئۈز چېكىلسە قوللىنىشچان پروگراممىلاردىن چېكىنىپ سىستېمىنى تاقايدۇ."
|
||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:77
|
#: ../js/ui/endSessionDialog.js:77
|
||||||
#, c-format
|
#, c-format
|
||||||
#| msgid "The system will restart automatically in %d seconds."
|
|
||||||
msgid "The system will power off automatically in %d seconds."
|
msgid "The system will power off automatically in %d seconds."
|
||||||
msgstr ""
|
msgstr "بۇ سىستېما %d سېكۇنتتىن كېيىن ئۆزلۈكىدىن تاقىلىدۇ."
|
||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:78
|
#: ../js/ui/endSessionDialog.js:78
|
||||||
#| msgid "Logging out of the system."
|
|
||||||
msgid "Powering off the system."
|
msgid "Powering off the system."
|
||||||
msgstr ""
|
msgstr "سىستېمىنى تاقاۋاتىدۇ."
|
||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:80 ../js/ui/endSessionDialog.js:88
|
#: ../js/ui/endSessionDialog.js:80 ../js/ui/endSessionDialog.js:88
|
||||||
#: ../js/ui/endSessionDialog.js:93
|
#: ../js/ui/endSessionDialog.js:93
|
||||||
@ -460,7 +488,9 @@ msgstr "قايتا قوزغات"
|
|||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:89
|
#: ../js/ui/endSessionDialog.js:89
|
||||||
msgid "Click Restart to quit these applications and restart the system."
|
msgid "Click Restart to quit these applications and restart the system."
|
||||||
msgstr "قايتا قوزغىتىش (restart) نى بېسىپ پروگراممىدىن چېكىنىش ۋە سىستېمىنى قايتا قوزغىتىش."
|
msgstr ""
|
||||||
|
"قايتا قوزغات (restart) چېكىلسە پروگراممىدىن چېكىنىپ ۋە سىستېمىنى قايتا "
|
||||||
|
"قوزغىتىدۇ."
|
||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:90
|
#: ../js/ui/endSessionDialog.js:90
|
||||||
#, c-format
|
#, c-format
|
||||||
@ -471,7 +501,7 @@ msgstr "بۇ سىستېما %d سېكۇنتتىن كېيىن ئۆزلۈكىدى
|
|||||||
msgid "Restarting the system."
|
msgid "Restarting the system."
|
||||||
msgstr "سىستېما قايتا قوزغىلىۋاتىدۇ."
|
msgstr "سىستېما قايتا قوزغىلىۋاتىدۇ."
|
||||||
|
|
||||||
#: ../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
|
#: ../js/ui/status/bluetooth.js:466
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "ۋاز كەچ"
|
msgstr "ۋاز كەچ"
|
||||||
@ -506,11 +536,11 @@ msgstr "مەنبەنى كۆرسەت"
|
|||||||
msgid "Web Page"
|
msgid "Web Page"
|
||||||
msgstr "توربەت"
|
msgstr "توربەت"
|
||||||
|
|
||||||
#: ../js/ui/messageTray.js:987
|
#: ../js/ui/messageTray.js:1030
|
||||||
msgid "Open"
|
msgid "Open"
|
||||||
msgstr "ئاچ"
|
msgstr "ئاچ"
|
||||||
|
|
||||||
#: ../js/ui/messageTray.js:2145
|
#: ../js/ui/messageTray.js:2194
|
||||||
msgid "System Information"
|
msgid "System Information"
|
||||||
msgstr "سىستېما ئۇچۇرى"
|
msgstr "سىستېما ئۇچۇرى"
|
||||||
|
|
||||||
@ -530,23 +560,23 @@ msgstr "پروگراممىلار"
|
|||||||
#. the left of the overview
|
#. the left of the overview
|
||||||
#: ../js/ui/overview.js:205
|
#: ../js/ui/overview.js:205
|
||||||
msgid "Dash"
|
msgid "Dash"
|
||||||
msgstr ""
|
msgstr "سىزىقچە"
|
||||||
|
|
||||||
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
||||||
#: ../js/ui/panel.js:515
|
#: ../js/ui/panel.js:533
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Quit %s"
|
msgid "Quit %s"
|
||||||
msgstr "%s چېكىن"
|
msgstr "%s چېكىن"
|
||||||
|
|
||||||
#. Button on the left side of the panel.
|
#. 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".
|
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
|
||||||
#: ../js/ui/panel.js:878
|
#: ../js/ui/panel.js:911
|
||||||
msgid "Activities"
|
msgid "Activities"
|
||||||
msgstr "پائالىيەتلەر"
|
msgstr "پائالىيەتلەر"
|
||||||
|
|
||||||
#: ../js/ui/panel.js:979
|
#: ../js/ui/panel.js:1012
|
||||||
msgid "Top Bar"
|
msgid "Top Bar"
|
||||||
msgstr ""
|
msgstr "ئۈستى بالداق"
|
||||||
|
|
||||||
#: ../js/ui/placeDisplay.js:122
|
#: ../js/ui/placeDisplay.js:122
|
||||||
#, c-format
|
#, c-format
|
||||||
@ -575,13 +605,17 @@ msgstr "باشقۇرغۇچى"
|
|||||||
|
|
||||||
#: ../js/ui/polkitAuthenticationAgent.js:176
|
#: ../js/ui/polkitAuthenticationAgent.js:176
|
||||||
msgid "Authenticate"
|
msgid "Authenticate"
|
||||||
msgstr ""
|
msgstr "سالاھىيەت دەلىللەش"
|
||||||
|
|
||||||
#: ../js/ui/polkitAuthenticationAgent.js:260
|
#. 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
|
||||||
msgid "Sorry, that didn't work. Please try again."
|
msgid "Sorry, that didn't work. Please try again."
|
||||||
msgstr ""
|
msgstr "كەچۈرۈڭ، خىزمەت قىلالمايدۇ. قايتا سىناڭ."
|
||||||
|
|
||||||
#: ../js/ui/polkitAuthenticationAgent.js:272
|
#: ../js/ui/polkitAuthenticationAgent.js:276
|
||||||
msgid "Password:"
|
msgid "Password:"
|
||||||
msgstr "ئىم:"
|
msgstr "ئىم:"
|
||||||
|
|
||||||
@ -598,17 +632,18 @@ msgstr "toggle-switch-us"
|
|||||||
msgid "Please enter a command:"
|
msgid "Please enter a command:"
|
||||||
msgstr "بۇيرۇق كىرگۈزۈڭ:"
|
msgstr "بۇيرۇق كىرگۈزۈڭ:"
|
||||||
|
|
||||||
#: ../js/ui/searchDisplay.js:310
|
#: ../js/ui/searchDisplay.js:311
|
||||||
msgid "Searching..."
|
msgid "Searching..."
|
||||||
msgstr "ئىزدەۋاتىدۇ..."
|
msgstr "ئىزدەۋاتىدۇ…"
|
||||||
|
|
||||||
#: ../js/ui/searchDisplay.js:324
|
#: ../js/ui/searchDisplay.js:325
|
||||||
msgid "No matching results."
|
msgid "No matching results."
|
||||||
msgstr "ماس كېلىدىغان نەتىجە يوق."
|
msgstr "ماس كېلىدىغان نەتىجە يوق."
|
||||||
|
|
||||||
#: ../js/ui/statusMenu.js:161 ../js/ui/statusMenu.js:228
|
#: ../js/ui/statusMenu.js:161 ../js/ui/statusMenu.js:163
|
||||||
|
#: ../js/ui/statusMenu.js:228
|
||||||
msgid "Power Off..."
|
msgid "Power Off..."
|
||||||
msgstr ""
|
msgstr "توكنى ئۈز…"
|
||||||
|
|
||||||
#: ../js/ui/statusMenu.js:163 ../js/ui/statusMenu.js:227
|
#: ../js/ui/statusMenu.js:163 ../js/ui/statusMenu.js:227
|
||||||
msgid "Suspend"
|
msgid "Suspend"
|
||||||
@ -658,7 +693,7 @@ msgstr "كۆرۈنمە ئاگاھلاندۇرۇش"
|
|||||||
|
|
||||||
#: ../js/ui/status/accessibility.js:80
|
#: ../js/ui/status/accessibility.js:80
|
||||||
msgid "Sticky Keys"
|
msgid "Sticky Keys"
|
||||||
msgstr "Sticky Keys"
|
msgstr "چاپلاش كۇنۇپكىسى"
|
||||||
|
|
||||||
#: ../js/ui/status/accessibility.js:83
|
#: ../js/ui/status/accessibility.js:83
|
||||||
msgid "Slow Keys"
|
msgid "Slow Keys"
|
||||||
@ -666,11 +701,11 @@ msgstr "Slow Keys"
|
|||||||
|
|
||||||
#: ../js/ui/status/accessibility.js:86
|
#: ../js/ui/status/accessibility.js:86
|
||||||
msgid "Bounce Keys"
|
msgid "Bounce Keys"
|
||||||
msgstr "Bounce Keys"
|
msgstr "قاڭقىش كۇنۇپكىسى"
|
||||||
|
|
||||||
#: ../js/ui/status/accessibility.js:89
|
#: ../js/ui/status/accessibility.js:89
|
||||||
msgid "Mouse Keys"
|
msgid "Mouse Keys"
|
||||||
msgstr "Mouse Keys"
|
msgstr "چاشقىنەك كۇنۇپكا"
|
||||||
|
|
||||||
#: ../js/ui/status/accessibility.js:93
|
#: ../js/ui/status/accessibility.js:93
|
||||||
msgid "Universal Access Settings"
|
msgid "Universal Access Settings"
|
||||||
@ -774,7 +809,8 @@ msgstr "ئۈسكۈنە'%s' كومپيۇتېر بىلەن جۈپلەنمەكچى"
|
|||||||
#: ../js/ui/status/bluetooth.js:415
|
#: ../js/ui/status/bluetooth.js:415
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Please confirm whether the PIN '%s' matches the one on the device."
|
msgid "Please confirm whether the PIN '%s' matches the one on the device."
|
||||||
msgstr "سىز كىرگۈزگەن PIN '%s' نومۇرى ئۈسكىنىدىكىگە ئوخشايدىغانلىقىنى جەزملەڭ."
|
msgstr ""
|
||||||
|
"سىز كىرگۈزگەن PIN '%s' نومۇرى ئۈسكىنىدىكىگە ئوخشايدىغانلىقىنى جەزملەڭ."
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:417
|
#: ../js/ui/status/bluetooth.js:417
|
||||||
msgid "Matches"
|
msgid "Matches"
|
||||||
@ -799,149 +835,145 @@ msgstr "جەزملە"
|
|||||||
|
|
||||||
#: ../js/ui/status/keyboard.js:73
|
#: ../js/ui/status/keyboard.js:73
|
||||||
msgid "Show Keyboard Layout..."
|
msgid "Show Keyboard Layout..."
|
||||||
msgstr ""
|
msgstr "كۇنۇپكا تاختا ئورۇنلاشتۇرۇلۇشىنى كۆرسەت…"
|
||||||
|
|
||||||
#: ../js/ui/status/keyboard.js:76
|
#: ../js/ui/status/keyboard.js:76
|
||||||
msgid "Localization Settings"
|
msgid "Localization Settings"
|
||||||
msgstr "يەرلىكلەشتۈرۈش تەڭشىكى"
|
msgstr "يەرلىكلەشتۈرۈش تەڭشىكى"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:102 ../js/ui/status/network.js:1393
|
#: ../js/ui/status/network.js:109 ../js/ui/status/network.js:1501
|
||||||
#| msgid "Unknown"
|
|
||||||
msgid "<unknown>"
|
msgid "<unknown>"
|
||||||
msgstr ""
|
msgstr "<يوچۇن>"
|
||||||
|
|
||||||
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
||||||
#: ../js/ui/status/network.js:295
|
#: ../js/ui/status/network.js:326
|
||||||
#| msgid "Disabled"
|
|
||||||
msgid "disabled"
|
msgid "disabled"
|
||||||
msgstr ""
|
msgstr "چەكلەنگەن"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:476
|
#: ../js/ui/status/network.js:524
|
||||||
#| msgid "Connection"
|
|
||||||
msgid "connecting..."
|
msgid "connecting..."
|
||||||
msgstr ""
|
msgstr "باغلىنىۋاتىدۇ…"
|
||||||
|
|
||||||
#. Translators: this is for network connections that require some kind of key or password
|
#. Translators: this is for network connections that require some kind of key or password
|
||||||
#: ../js/ui/status/network.js:479
|
#: ../js/ui/status/network.js:527
|
||||||
msgid "authentication required"
|
msgid "authentication required"
|
||||||
msgstr ""
|
msgstr "سالاھىيەت دەلىللەش زۆرۈر"
|
||||||
|
|
||||||
|
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||||
|
#. module, which is missing
|
||||||
|
#: ../js/ui/status/network.js:537
|
||||||
|
msgid "firmware missing"
|
||||||
|
msgstr "مۇقىم دېتال كەم"
|
||||||
|
|
||||||
#. Translators: this is for wired network devices that are physically disconnected
|
#. Translators: this is for wired network devices that are physically disconnected
|
||||||
#: ../js/ui/status/network.js:485
|
#: ../js/ui/status/network.js:544
|
||||||
msgid "cable unplugged"
|
msgid "cable unplugged"
|
||||||
msgstr ""
|
msgstr "كابېل چېتىلمىدى"
|
||||||
|
|
||||||
#. Translators: this is for a network device that cannot be activated (for example it
|
#. Translators: this is for a network device that cannot be activated (for example it
|
||||||
#. is disabled by rfkill, or it has no coverage
|
#. is disabled by rfkill, or it has no coverage
|
||||||
#: ../js/ui/status/network.js:489
|
#: ../js/ui/status/network.js:549
|
||||||
#| msgid "Available"
|
|
||||||
msgid "unavailable"
|
msgid "unavailable"
|
||||||
msgstr ""
|
msgstr "ئىشلەتكىلى بولمايدۇ"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:491
|
#: ../js/ui/status/network.js:551
|
||||||
#| msgid "Connection"
|
|
||||||
msgid "connection failed"
|
msgid "connection failed"
|
||||||
msgstr ""
|
msgstr "باغلىنىش مەغلۇپ بولدى"
|
||||||
|
|
||||||
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
||||||
#. and we cannot access its settings (including the name)
|
#. and we cannot access its settings (including the name)
|
||||||
#: ../js/ui/status/network.js:571 ../js/ui/status/network.js:1341
|
#: ../js/ui/status/network.js:631 ../js/ui/status/network.js:1449
|
||||||
msgid "Connected (private)"
|
msgid "Connected (private)"
|
||||||
msgstr ""
|
msgstr "باغلاندى (شەخسىي)"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:636
|
#: ../js/ui/status/network.js:716
|
||||||
msgid "Auto Ethernet"
|
msgid "Auto Ethernet"
|
||||||
msgstr "ئاپتوماتىك Ethernet"
|
msgstr "ئاپتوماتىك Ethernet"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:697
|
#: ../js/ui/status/network.js:791
|
||||||
msgid "Auto broadband"
|
msgid "Auto broadband"
|
||||||
msgstr ""
|
msgstr "ئاپتوماتىك كۆچمە كەڭ بەلۋاغ"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:700
|
#: ../js/ui/status/network.js:794
|
||||||
msgid "Auto dial-up"
|
msgid "Auto dial-up"
|
||||||
msgstr ""
|
msgstr "ئاپتوماتىك نومۇر بۇرا"
|
||||||
|
|
||||||
#. TRANSLATORS: this the automatic wireless connection name (including the network name)
|
#. TRANSLATORS: this the automatic wireless connection name (including the network name)
|
||||||
#: ../js/ui/status/network.js:843 ../js/ui/status/network.js:1353
|
#: ../js/ui/status/network.js:940 ../js/ui/status/network.js:1461
|
||||||
#, c-format
|
#, c-format
|
||||||
#| msgid "Quit %s"
|
|
||||||
msgid "Auto %s"
|
msgid "Auto %s"
|
||||||
msgstr ""
|
msgstr "ئاپتوماتىك %s"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:845
|
#: ../js/ui/status/network.js:942
|
||||||
#| msgid "Bluetooth"
|
|
||||||
msgid "Auto bluetooth"
|
msgid "Auto bluetooth"
|
||||||
msgstr ""
|
msgstr "ئاپتوماتىك كۆكچىش"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1355
|
#: ../js/ui/status/network.js:1463
|
||||||
msgid "Auto wireless"
|
msgid "Auto wireless"
|
||||||
msgstr ""
|
msgstr "ئاپتوماتىك سىمسىز تور"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1413
|
#: ../js/ui/status/network.js:1521
|
||||||
msgid "More..."
|
msgid "More..."
|
||||||
msgstr "تېخىمۇ كۆپ..."
|
msgstr "تېخىمۇ كۆپ…"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1436
|
#: ../js/ui/status/network.js:1544
|
||||||
msgid "Enable networking"
|
msgid "Enable networking"
|
||||||
msgstr ""
|
msgstr "تور ئۇلاشنى قوزغات"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1448
|
#: ../js/ui/status/network.js:1556
|
||||||
msgid "Wired"
|
msgid "Wired"
|
||||||
msgstr "سىملىق"
|
msgstr "سىملىق"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1459
|
#: ../js/ui/status/network.js:1567
|
||||||
msgid "Wireless"
|
msgid "Wireless"
|
||||||
msgstr "سىمسىز"
|
msgstr "سىمسىز"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1469
|
#: ../js/ui/status/network.js:1577
|
||||||
msgid "Mobile broadband"
|
msgid "Mobile broadband"
|
||||||
msgstr "كۆچمە كەڭ بەلۋاغ"
|
msgstr "كۆچمە كەڭ بەلۋاغ"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1479
|
#: ../js/ui/status/network.js:1587
|
||||||
#| msgid "Connection"
|
|
||||||
msgid "VPN Connections"
|
msgid "VPN Connections"
|
||||||
msgstr ""
|
msgstr "VPN باغلىنىشلىرى"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1488
|
#: ../js/ui/status/network.js:1599
|
||||||
#| msgid "Power Settings"
|
|
||||||
msgid "Network Settings"
|
msgid "Network Settings"
|
||||||
msgstr "تور تەڭشەكلىرى"
|
msgstr "تور تەڭشەكلىرى"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1783
|
#: ../js/ui/status/network.js:1893
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to mobile broadband connection '%s'"
|
msgid "You're now connected to mobile broadband connection '%s'"
|
||||||
msgstr ""
|
msgstr "ھازىر كۆچمە كەڭ بەلۋاغ '%s' غا باغلاندىڭىز"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1787
|
#: ../js/ui/status/network.js:1897
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to wireless network '%s'"
|
msgid "You're now connected to wireless network '%s'"
|
||||||
msgstr ""
|
msgstr "ھازىر سىمسىز تور '%s' غا باغلاندىڭىز"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1791
|
#: ../js/ui/status/network.js:1901
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to wired network '%s'"
|
msgid "You're now connected to wired network '%s'"
|
||||||
msgstr ""
|
msgstr "ھازىر سىملىق تور '%s' غا باغلاندىڭىز"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1795
|
#: ../js/ui/status/network.js:1905
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to VPN network '%s'"
|
msgid "You're now connected to VPN network '%s'"
|
||||||
msgstr ""
|
msgstr "ھازىر VPN تور '%s' غا باغلاندىڭىز"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1800
|
#: ../js/ui/status/network.js:1910
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to '%s'"
|
msgid "You're now connected to '%s'"
|
||||||
msgstr ""
|
msgstr "ھازىر '%s' غا باغلاندىڭىز"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1808
|
#: ../js/ui/status/network.js:1918
|
||||||
#| msgid "Connection"
|
|
||||||
msgid "Connection established"
|
msgid "Connection established"
|
||||||
msgstr ""
|
msgstr "باغلىنىش تۇرغۇزۇلدى"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1930
|
#: ../js/ui/status/network.js:2044
|
||||||
msgid "Networking is disabled"
|
msgid "Networking is disabled"
|
||||||
msgstr ""
|
msgstr "تورغا باغلىنىش چەكلەنگەن"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:2055
|
#: ../js/ui/status/network.js:2169
|
||||||
msgid "Network Manager"
|
msgid "Network Manager"
|
||||||
msgstr "تور باشقۇرغۇچ"
|
msgstr "تور باشقۇرغۇچ"
|
||||||
|
|
||||||
@ -953,7 +985,7 @@ msgstr "توك مەنبە تەڭشىكى"
|
|||||||
#. to estimate battery life
|
#. to estimate battery life
|
||||||
#: ../js/ui/status/power.js:111
|
#: ../js/ui/status/power.js:111
|
||||||
msgid "Estimating..."
|
msgid "Estimating..."
|
||||||
msgstr ""
|
msgstr "مۆلچەرلەۋاتىدۇ…"
|
||||||
|
|
||||||
#: ../js/ui/status/power.js:118
|
#: ../js/ui/status/power.js:118
|
||||||
#, c-format
|
#, c-format
|
||||||
@ -1039,22 +1071,22 @@ msgstr "دىسكا"
|
|||||||
msgid "Microphone"
|
msgid "Microphone"
|
||||||
msgstr "مىكروفون"
|
msgstr "مىكروفون"
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:332
|
#: ../js/ui/telepathyClient.js:335
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is online."
|
msgid "%s is online."
|
||||||
msgstr "%s توردا."
|
msgstr "%s توردا."
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:337
|
#: ../js/ui/telepathyClient.js:340
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is offline."
|
msgid "%s is offline."
|
||||||
msgstr "%s توردا يوق."
|
msgstr "%s توردا يوق."
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:340
|
#: ../js/ui/telepathyClient.js:343
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is away."
|
msgid "%s is away."
|
||||||
msgstr "%s يوق."
|
msgstr "%s يوق."
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:343
|
#: ../js/ui/telepathyClient.js:346
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is busy."
|
msgid "%s is busy."
|
||||||
msgstr "%s ئالدىراش."
|
msgstr "%s ئالدىراش."
|
||||||
@ -1062,7 +1094,7 @@ msgstr "%s ئالدىراش."
|
|||||||
#. Translators: this is a time format string followed by a date.
|
#. Translators: this is a time format string followed by a date.
|
||||||
#. If applicable, replace %X with a strftime format valid for your
|
#. If applicable, replace %X with a strftime format valid for your
|
||||||
#. locale, without seconds.
|
#. locale, without seconds.
|
||||||
#: ../js/ui/telepathyClient.js:474
|
#: ../js/ui/telepathyClient.js:484
|
||||||
#, no-c-format
|
#, no-c-format
|
||||||
msgid "Sent at %X on %A"
|
msgid "Sent at %X on %A"
|
||||||
msgstr "سائەت %X %A غا ئەۋەتتى"
|
msgstr "سائەت %X %A غا ئەۋەتتى"
|
||||||
@ -1073,7 +1105,7 @@ msgstr "سائەت %X %A غا ئەۋەتتى"
|
|||||||
#. characters.
|
#. characters.
|
||||||
#: ../js/ui/viewSelector.js:122
|
#: ../js/ui/viewSelector.js:122
|
||||||
msgid "Type to search..."
|
msgid "Type to search..."
|
||||||
msgstr ""
|
msgstr "كىرگۈزسە ئىزدە…"
|
||||||
|
|
||||||
#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:250
|
#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:250
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
@ -1109,15 +1141,14 @@ msgstr[0] "%u كىرگۈزۈلمە"
|
|||||||
msgid "System Sounds"
|
msgid "System Sounds"
|
||||||
msgstr "سىستېما ئاۋازى"
|
msgstr "سىستېما ئاۋازى"
|
||||||
|
|
||||||
#: ../src/main.c:446
|
#: ../src/main.c:445
|
||||||
msgid "Print version"
|
msgid "Print version"
|
||||||
msgstr "نەشرىنى باس"
|
msgstr "نەشرىنى باس"
|
||||||
|
|
||||||
#: ../src/shell-app.c:454
|
#: ../src/shell-app.c:454
|
||||||
#, c-format
|
#, c-format
|
||||||
#| msgid "Failed to unmount '%s'"
|
|
||||||
msgid "Failed to launch '%s'"
|
msgid "Failed to launch '%s'"
|
||||||
msgstr ""
|
msgstr "'%s' نى قوزغىتالمىدى"
|
||||||
|
|
||||||
#: ../src/shell-global.c:1395
|
#: ../src/shell-global.c:1395
|
||||||
msgid "Less than a minute ago"
|
msgid "Less than a minute ago"
|
||||||
@ -1157,7 +1188,7 @@ msgstr "كۆڭۈلدىكى"
|
|||||||
|
|
||||||
#: ../src/shell-polkit-authentication-agent.c:334
|
#: ../src/shell-polkit-authentication-agent.c:334
|
||||||
msgid "Authentication dialog was dismissed by the user"
|
msgid "Authentication dialog was dismissed by the user"
|
||||||
msgstr ""
|
msgstr "سالاھىيەت دەلىللەش سۆزلەشكۈنى ئىشلەتكۈچى رەت قىلدى"
|
||||||
|
|
||||||
#: ../src/shell-util.c:89
|
#: ../src/shell-util.c:89
|
||||||
msgid "Home Folder"
|
msgid "Home Folder"
|
||||||
|
234
po/uk.po
@ -7,8 +7,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: gnome-shell master\n"
|
"Project-Id-Version: gnome-shell master\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2011-03-27 18:25+0300\n"
|
"POT-Creation-Date: 2011-05-02 02:44+0300\n"
|
||||||
"PO-Revision-Date: 2011-03-27 18:27+0300\n"
|
"PO-Revision-Date: 2011-05-02 02:46+0300\n"
|
||||||
"Last-Translator: Korostil Daniel <ted.korostiled@gmail.com>\n"
|
"Last-Translator: Korostil Daniel <ted.korostiled@gmail.com>\n"
|
||||||
"Language-Team: translation@linux.org.ua\n"
|
"Language-Team: translation@linux.org.ua\n"
|
||||||
"Language: uk\n"
|
"Language: uk\n"
|
||||||
@ -98,7 +98,7 @@ msgstr ""
|
|||||||
"Вказує канал даних GStreamer для кодування запису. Звідси відповідний "
|
"Вказує канал даних GStreamer для кодування запису. Звідси відповідний "
|
||||||
"синтаксис для gst-launch. Канал даних повинен мати нез'єднаний приймальний "
|
"синтаксис для gst-launch. Канал даних повинен мати нез'єднаний приймальний "
|
||||||
"буфер, де відео записано. Зазвичай воно має нез'єднане джерело буфера; вивід "
|
"буфер, де відео записано. Зазвичай воно має нез'єднане джерело буфера; вивід "
|
||||||
"з цього буфера буде записано в вихідний файл. Однак канал даних також "
|
"з цього буфера буде записано в вихідний файл. Однак канал даних також "
|
||||||
"відповідати за власний вивід — це може бути використано для відправлення "
|
"відповідати за власний вивід — це може бути використано для відправлення "
|
||||||
"виводу до сервера через протокол shout2send чи будь-який інший. Коли не "
|
"виводу до сервера через протокол shout2send чи будь-який інший. Коли не "
|
||||||
"вказано або вказано порожнє значення, буде використано типовий канал даних. "
|
"вказано або вказано порожнє значення, буде використано типовий канал даних. "
|
||||||
@ -189,27 +189,27 @@ msgid "Execution of '%s' failed:"
|
|||||||
msgstr "Не вдалось виконати «%s»:"
|
msgstr "Не вдалось виконати «%s»:"
|
||||||
|
|
||||||
#. Translators: Filter to display all applications
|
#. Translators: Filter to display all applications
|
||||||
#: ../js/ui/appDisplay.js:230
|
#: ../js/ui/appDisplay.js:260
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Всі"
|
msgstr "Всі"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:328
|
#: ../js/ui/appDisplay.js:359
|
||||||
msgid "APPLICATIONS"
|
msgid "APPLICATIONS"
|
||||||
msgstr "ПРОГРАМИ"
|
msgstr "ПРОГРАМИ"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:354
|
#: ../js/ui/appDisplay.js:385
|
||||||
msgid "SETTINGS"
|
msgid "SETTINGS"
|
||||||
msgstr "ПАРАМЕТРИ"
|
msgstr "ПАРАМЕТРИ"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:625
|
#: ../js/ui/appDisplay.js:658
|
||||||
msgid "New Window"
|
msgid "New Window"
|
||||||
msgstr "Нове вікно"
|
msgstr "Нове вікно"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:628
|
#: ../js/ui/appDisplay.js:661
|
||||||
msgid "Remove from Favorites"
|
msgid "Remove from Favorites"
|
||||||
msgstr "Вилучити з улюбленого"
|
msgstr "Вилучити з улюбленого"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:629
|
#: ../js/ui/appDisplay.js:662
|
||||||
msgid "Add to Favorites"
|
msgid "Add to Favorites"
|
||||||
msgstr "Додати до улюбленого"
|
msgstr "Додати до улюбленого"
|
||||||
|
|
||||||
@ -342,13 +342,13 @@ msgid "Nothing Scheduled"
|
|||||||
msgstr "Нічого не заплановано"
|
msgstr "Нічого не заплановано"
|
||||||
|
|
||||||
#. Translators: Shown on calendar heading when selected day occurs on current year
|
#. Translators: Shown on calendar heading when selected day occurs on current year
|
||||||
#: ../js/ui/calendar.js:720
|
#: ../js/ui/calendar.js:720 ../js/ui/telepathyClient.js:487
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d"
|
msgid "%A, %B %d"
|
||||||
msgstr "%A, %B %d"
|
msgstr "%A, %B %d"
|
||||||
|
|
||||||
#. Translators: Shown on calendar heading when selected day occurs on different year
|
#. Translators: Shown on calendar heading when selected day occurs on different year
|
||||||
#: ../js/ui/calendar.js:723
|
#: ../js/ui/calendar.js:723 ../js/ui/telepathyClient.js:490
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d, %Y"
|
msgid "%A, %B %d, %Y"
|
||||||
msgstr "%A, %B %d, %Y"
|
msgstr "%A, %B %d, %Y"
|
||||||
@ -369,7 +369,7 @@ msgstr "Цей тиждень"
|
|||||||
msgid "Next week"
|
msgid "Next week"
|
||||||
msgstr "Наступний тиждень"
|
msgstr "Наступний тиждень"
|
||||||
|
|
||||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1000
|
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1037
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr "Вилучити"
|
msgstr "Вилучити"
|
||||||
|
|
||||||
@ -495,8 +495,8 @@ msgstr "Система автоматично перезапуститься ч
|
|||||||
msgid "Restarting the system."
|
msgid "Restarting the system."
|
||||||
msgstr "Перезапуск системи."
|
msgstr "Перезапуск системи."
|
||||||
|
|
||||||
#: ../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
|
#: ../js/ui/status/bluetooth.js:491
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Скасувати"
|
msgstr "Скасувати"
|
||||||
|
|
||||||
@ -530,11 +530,11 @@ msgstr "Переглянути джерело"
|
|||||||
msgid "Web Page"
|
msgid "Web Page"
|
||||||
msgstr "Веб-сторінка"
|
msgstr "Веб-сторінка"
|
||||||
|
|
||||||
#: ../js/ui/messageTray.js:993
|
#: ../js/ui/messageTray.js:1030
|
||||||
msgid "Open"
|
msgid "Open"
|
||||||
msgstr "Відкрити"
|
msgstr "Відкрити"
|
||||||
|
|
||||||
#: ../js/ui/messageTray.js:2151
|
#: ../js/ui/messageTray.js:2194
|
||||||
msgid "System Information"
|
msgid "System Information"
|
||||||
msgstr "Інформація про систему"
|
msgstr "Інформація про систему"
|
||||||
|
|
||||||
@ -557,18 +557,18 @@ msgid "Dash"
|
|||||||
msgstr "Риска"
|
msgstr "Риска"
|
||||||
|
|
||||||
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
||||||
#: ../js/ui/panel.js:515
|
#: ../js/ui/panel.js:533
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Quit %s"
|
msgid "Quit %s"
|
||||||
msgstr "Вийти з %s"
|
msgstr "Вийти з %s"
|
||||||
|
|
||||||
#. Button on the left side of the panel.
|
#. 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".
|
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
|
||||||
#: ../js/ui/panel.js:878
|
#: ../js/ui/panel.js:913
|
||||||
msgid "Activities"
|
msgid "Activities"
|
||||||
msgstr "Діяльність"
|
msgstr "Діяльність"
|
||||||
|
|
||||||
#: ../js/ui/panel.js:979
|
#: ../js/ui/panel.js:1015
|
||||||
msgid "Top Bar"
|
msgid "Top Bar"
|
||||||
msgstr "Верхня панель"
|
msgstr "Верхня панель"
|
||||||
|
|
||||||
@ -626,11 +626,11 @@ msgstr "toggle-switch-intl"
|
|||||||
msgid "Please enter a command:"
|
msgid "Please enter a command:"
|
||||||
msgstr "Будь ласка, введіть команду:"
|
msgstr "Будь ласка, введіть команду:"
|
||||||
|
|
||||||
#: ../js/ui/searchDisplay.js:310
|
#: ../js/ui/searchDisplay.js:313
|
||||||
msgid "Searching..."
|
msgid "Searching..."
|
||||||
msgstr "Пошук…"
|
msgstr "Пошук…"
|
||||||
|
|
||||||
#: ../js/ui/searchDisplay.js:324
|
#: ../js/ui/searchDisplay.js:327
|
||||||
msgid "No matching results."
|
msgid "No matching results."
|
||||||
msgstr "Нема збігів."
|
msgstr "Нема збігів."
|
||||||
|
|
||||||
@ -713,9 +713,9 @@ msgstr "Висока контрастність"
|
|||||||
msgid "Large Text"
|
msgid "Large Text"
|
||||||
msgstr "Більший текст"
|
msgstr "Більший текст"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:237
|
#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:264
|
||||||
#: ../js/ui/status/bluetooth.js:333 ../js/ui/status/bluetooth.js:367
|
#: ../js/ui/status/bluetooth.js:358 ../js/ui/status/bluetooth.js:392
|
||||||
#: ../js/ui/status/bluetooth.js:407 ../js/ui/status/bluetooth.js:440
|
#: ../js/ui/status/bluetooth.js:432 ../js/ui/status/bluetooth.js:465
|
||||||
msgid "Bluetooth"
|
msgid "Bluetooth"
|
||||||
msgstr "Bluetooth"
|
msgstr "Bluetooth"
|
||||||
|
|
||||||
@ -728,101 +728,101 @@ msgid "Send Files to Device..."
|
|||||||
msgstr "Відправити файли до пристрою…"
|
msgstr "Відправити файли до пристрою…"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:70
|
#: ../js/ui/status/bluetooth.js:70
|
||||||
msgid "Setup a New Device..."
|
msgid "Set up a New Device..."
|
||||||
msgstr "Встановити новий пристрій…"
|
msgstr "Встановити новий пристрій…"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:95
|
#: ../js/ui/status/bluetooth.js:95
|
||||||
msgid "Bluetooth Settings"
|
msgid "Bluetooth Settings"
|
||||||
msgstr "Параметри Bluetooth"
|
msgstr "Параметри Bluetooth"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:188
|
#: ../js/ui/status/bluetooth.js:215
|
||||||
msgid "Connection"
|
msgid "Connection"
|
||||||
msgstr "З'єднання"
|
msgstr "З'єднання"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:224
|
#: ../js/ui/status/bluetooth.js:251
|
||||||
msgid "Send Files..."
|
msgid "Send Files..."
|
||||||
msgstr "Відправити файли…"
|
msgstr "Відправити файли…"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:229
|
#: ../js/ui/status/bluetooth.js:256
|
||||||
msgid "Browse Files..."
|
msgid "Browse Files..."
|
||||||
msgstr "Огляд файлів…"
|
msgstr "Огляд файлів…"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:238
|
#: ../js/ui/status/bluetooth.js:265
|
||||||
msgid "Error browsing device"
|
msgid "Error browsing device"
|
||||||
msgstr "Помилка перегляду пристрою…"
|
msgstr "Помилка перегляду пристрою…"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:239
|
#: ../js/ui/status/bluetooth.js:266
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "The requested device cannot be browsed, error is '%s'"
|
msgid "The requested device cannot be browsed, error is '%s'"
|
||||||
msgstr "Потрібний пристрій неможливо переглянути, помилка — «%s»"
|
msgstr "Потрібний пристрій неможливо переглянути, помилка — «%s»"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:247
|
#: ../js/ui/status/bluetooth.js:274
|
||||||
msgid "Keyboard Settings"
|
msgid "Keyboard Settings"
|
||||||
msgstr "Параметри клавіатури"
|
msgstr "Параметри клавіатури"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:252
|
#: ../js/ui/status/bluetooth.js:279
|
||||||
msgid "Mouse Settings"
|
msgid "Mouse Settings"
|
||||||
msgstr "Параметри миші"
|
msgstr "Параметри миші"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:259 ../js/ui/status/volume.js:66
|
#: ../js/ui/status/bluetooth.js:286 ../js/ui/status/volume.js:66
|
||||||
msgid "Sound Settings"
|
msgid "Sound Settings"
|
||||||
msgstr "Параметри звуку"
|
msgstr "Параметри звуку"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:368
|
#: ../js/ui/status/bluetooth.js:393
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Authorization request from %s"
|
msgid "Authorization request from %s"
|
||||||
msgstr "Запит про авторизацію від %s"
|
msgstr "Запит про авторизацію від %s"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:374
|
#: ../js/ui/status/bluetooth.js:399
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Device %s wants access to the service '%s'"
|
msgid "Device %s wants access to the service '%s'"
|
||||||
msgstr "Пристрій %s потребує доступ до служби «%s»"
|
msgstr "Пристрій %s потребує доступ до служби «%s»"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:376
|
#: ../js/ui/status/bluetooth.js:401
|
||||||
msgid "Always grant access"
|
msgid "Always grant access"
|
||||||
msgstr "Завжди надавати доступ"
|
msgstr "Завжди надавати доступ"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:377
|
#: ../js/ui/status/bluetooth.js:402
|
||||||
msgid "Grant this time only"
|
msgid "Grant this time only"
|
||||||
msgstr "Надати лише цього разу"
|
msgstr "Надати лише цього разу"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:378
|
#: ../js/ui/status/bluetooth.js:403
|
||||||
msgid "Reject"
|
msgid "Reject"
|
||||||
msgstr "Відмовити"
|
msgstr "Відмовити"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:408
|
#: ../js/ui/status/bluetooth.js:433
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Pairing confirmation for %s"
|
msgid "Pairing confirmation for %s"
|
||||||
msgstr "Сполучення підтвердження для %s"
|
msgstr "Сполучення підтвердження для %s"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:448
|
#: ../js/ui/status/bluetooth.js:439 ../js/ui/status/bluetooth.js:473
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Device %s wants to pair with this computer"
|
msgid "Device %s wants to pair with this computer"
|
||||||
msgstr "Пристрій %s потребує прив'язання до цього комп'ютера"
|
msgstr "Пристрій %s потребує прив'язання до цього комп'ютера"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:415
|
#: ../js/ui/status/bluetooth.js:440
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Please confirm whether the PIN '%s' matches the one on the device."
|
msgid "Please confirm whether the PIN '%s' matches the one on the device."
|
||||||
msgstr "Будь ласка, підвердьте, чи «%s» збігається з PIN на пристрої."
|
msgstr "Будь ласка, підвердьте, чи «%s» збігається з PIN на пристрої."
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:417
|
#: ../js/ui/status/bluetooth.js:442
|
||||||
msgid "Matches"
|
msgid "Matches"
|
||||||
msgstr "Збігається"
|
msgstr "Збігається"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:418
|
#: ../js/ui/status/bluetooth.js:443
|
||||||
msgid "Does not match"
|
msgid "Does not match"
|
||||||
msgstr "Не збігається"
|
msgstr "Не збігається"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:441
|
#: ../js/ui/status/bluetooth.js:466
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Pairing request for %s"
|
msgid "Pairing request for %s"
|
||||||
msgstr "Запит на сполучення для %s"
|
msgstr "Запит на сполучення для %s"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:449
|
#: ../js/ui/status/bluetooth.js:474
|
||||||
msgid "Please enter the PIN mentioned on the device."
|
msgid "Please enter the PIN mentioned on the device."
|
||||||
msgstr "Будь ласка, введіть PIN, згаданий на пристрої."
|
msgstr "Будь ласка, введіть PIN, згаданий на пристрої."
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:465
|
#: ../js/ui/status/bluetooth.js:490
|
||||||
msgid "OK"
|
msgid "OK"
|
||||||
msgstr "Гаразд"
|
msgstr "Гаразд"
|
||||||
|
|
||||||
@ -834,139 +834,139 @@ msgstr "Показувати розкладку клавіатури…"
|
|||||||
msgid "Localization Settings"
|
msgid "Localization Settings"
|
||||||
msgstr "Параметри локалізації"
|
msgstr "Параметри локалізації"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:104 ../js/ui/status/network.js:1454
|
#: ../js/ui/status/network.js:113
|
||||||
msgid "<unknown>"
|
msgid "<unknown>"
|
||||||
msgstr "<невідомо>"
|
msgstr "<невідомо>"
|
||||||
|
|
||||||
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
||||||
#: ../js/ui/status/network.js:311
|
#: ../js/ui/status/network.js:330
|
||||||
msgid "disabled"
|
msgid "disabled"
|
||||||
msgstr "вимкнено"
|
msgstr "вимкнено"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:494
|
#: ../js/ui/status/network.js:528
|
||||||
msgid "connecting..."
|
msgid "connecting..."
|
||||||
msgstr "з'єднання…"
|
msgstr "з'єднання…"
|
||||||
|
|
||||||
#. Translators: this is for network connections that require some kind of key or password
|
#. Translators: this is for network connections that require some kind of key or password
|
||||||
#: ../js/ui/status/network.js:497
|
#: ../js/ui/status/network.js:531
|
||||||
msgid "authentication required"
|
msgid "authentication required"
|
||||||
msgstr "Потрібна аутентифікація"
|
msgstr "Потрібна аутентифікація"
|
||||||
|
|
||||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||||
#. module, which is missing
|
#. module, which is missing
|
||||||
#: ../js/ui/status/network.js:507
|
#: ../js/ui/status/network.js:541
|
||||||
msgid "firmware missing"
|
msgid "firmware missing"
|
||||||
msgstr "Бракує мікропрограми"
|
msgstr "Бракує мікропрограми"
|
||||||
|
|
||||||
#. Translators: this is for wired network devices that are physically disconnected
|
#. Translators: this is for wired network devices that are physically disconnected
|
||||||
#: ../js/ui/status/network.js:514
|
#: ../js/ui/status/network.js:548
|
||||||
msgid "cable unplugged"
|
msgid "cable unplugged"
|
||||||
msgstr "кабель від'єднано"
|
msgstr "кабель від'єднано"
|
||||||
|
|
||||||
#. Translators: this is for a network device that cannot be activated (for example it
|
#. Translators: this is for a network device that cannot be activated (for example it
|
||||||
#. is disabled by rfkill, or it has no coverage
|
#. is disabled by rfkill, or it has no coverage
|
||||||
#: ../js/ui/status/network.js:519
|
#: ../js/ui/status/network.js:553
|
||||||
msgid "unavailable"
|
msgid "unavailable"
|
||||||
msgstr "недоступний"
|
msgstr "недоступний"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:521
|
#: ../js/ui/status/network.js:555
|
||||||
msgid "connection failed"
|
msgid "connection failed"
|
||||||
msgstr "не вдалось з'єднатись"
|
msgstr "не вдалось з'єднатись"
|
||||||
|
|
||||||
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
||||||
#. and we cannot access its settings (including the name)
|
#. 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:635 ../js/ui/status/network.js:1532
|
||||||
msgid "Connected (private)"
|
msgid "Connected (private)"
|
||||||
msgstr "З'єднано (приватно)"
|
msgstr "З'єднано (приватно)"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:683
|
#: ../js/ui/status/network.js:720
|
||||||
msgid "Auto Ethernet"
|
msgid "Auto Ethernet"
|
||||||
msgstr "Автоматично Ethernet"
|
msgstr "Автоматично Ethernet"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:758
|
#: ../js/ui/status/network.js:795
|
||||||
msgid "Auto broadband"
|
msgid "Auto broadband"
|
||||||
msgstr "Автоматично радіомережа"
|
msgstr "Автоматично радіомережа"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:761
|
#: ../js/ui/status/network.js:798
|
||||||
msgid "Auto dial-up"
|
msgid "Auto dial-up"
|
||||||
msgstr "Автоматично додзвін"
|
msgstr "Автоматично додзвін"
|
||||||
|
|
||||||
#. TRANSLATORS: this the automatic wireless connection name (including the network name)
|
#. 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:944 ../js/ui/status/network.js:1544
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Auto %s"
|
msgid "Auto %s"
|
||||||
msgstr "Автоматично %s"
|
msgstr "Автоматично %s"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:906
|
#: ../js/ui/status/network.js:946
|
||||||
msgid "Auto bluetooth"
|
msgid "Auto bluetooth"
|
||||||
msgstr "Автоматично Bluetooth"
|
msgstr "Автоматично Bluetooth"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1416
|
#: ../js/ui/status/network.js:1546
|
||||||
msgid "Auto wireless"
|
msgid "Auto wireless"
|
||||||
msgstr "Автоматично бездротова мережа"
|
msgstr "Автоматично бездротова мережа"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1474
|
#: ../js/ui/status/network.js:1583
|
||||||
msgid "More..."
|
msgid "More..."
|
||||||
msgstr "Більше…"
|
msgstr "Більше…"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1497
|
#: ../js/ui/status/network.js:1625
|
||||||
msgid "Enable networking"
|
msgid "Enable networking"
|
||||||
msgstr "Увімкнути мережу"
|
msgstr "Увімкнути мережу"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1509
|
#: ../js/ui/status/network.js:1637
|
||||||
msgid "Wired"
|
msgid "Wired"
|
||||||
msgstr "Дротова"
|
msgstr "Дротова"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1520
|
#: ../js/ui/status/network.js:1648
|
||||||
msgid "Wireless"
|
msgid "Wireless"
|
||||||
msgstr "Бездротова"
|
msgstr "Бездротова"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1530
|
#: ../js/ui/status/network.js:1658
|
||||||
msgid "Mobile broadband"
|
msgid "Mobile broadband"
|
||||||
msgstr "Мобільна радіомережа"
|
msgstr "Мобільна радіомережа"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1540
|
#: ../js/ui/status/network.js:1668
|
||||||
msgid "VPN Connections"
|
msgid "VPN Connections"
|
||||||
msgstr "З'єднання VPN"
|
msgstr "З'єднання VPN"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1549
|
#: ../js/ui/status/network.js:1680
|
||||||
msgid "Network Settings"
|
msgid "Network Settings"
|
||||||
msgstr "Налаштування мережі"
|
msgstr "Налаштування мережі"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1844
|
#: ../js/ui/status/network.js:1974
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to mobile broadband connection '%s'"
|
msgid "You're now connected to mobile broadband connection '%s'"
|
||||||
msgstr "Зараз ви з'єднані через мобільну радіомережу «%s»"
|
msgstr "Зараз ви з'єднані через мобільну радіомережу «%s»"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1848
|
#: ../js/ui/status/network.js:1978
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to wireless network '%s'"
|
msgid "You're now connected to wireless network '%s'"
|
||||||
msgstr "Зараз ви з'єднані через бездротову мережу «%s»"
|
msgstr "Зараз ви з'єднані через бездротову мережу «%s»"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1852
|
#: ../js/ui/status/network.js:1982
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to wired network '%s'"
|
msgid "You're now connected to wired network '%s'"
|
||||||
msgstr "Зараз ви з'єднані через дротову мережу «%s»"
|
msgstr "Зараз ви з'єднані через дротову мережу «%s»"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1856
|
#: ../js/ui/status/network.js:1986
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to VPN network '%s'"
|
msgid "You're now connected to VPN network '%s'"
|
||||||
msgstr "Зараз ви з'єднані через мережу VPN «%s»"
|
msgstr "Зараз ви з'єднані через мережу VPN «%s»"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1861
|
#: ../js/ui/status/network.js:1991
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to '%s'"
|
msgid "You're now connected to '%s'"
|
||||||
msgstr "Зараз ви з'єднані через «%s»"
|
msgstr "Зараз ви з'єднані через «%s»"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1869
|
#: ../js/ui/status/network.js:1999
|
||||||
msgid "Connection established"
|
msgid "Connection established"
|
||||||
msgstr "З'єднання встановлено"
|
msgstr "З'єднання встановлено"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1991
|
#: ../js/ui/status/network.js:2125
|
||||||
msgid "Networking is disabled"
|
msgid "Networking is disabled"
|
||||||
msgstr "Мережу вимкнено"
|
msgstr "Мережу вимкнено"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:2116
|
#: ../js/ui/status/network.js:2250
|
||||||
msgid "Network Manager"
|
msgid "Network Manager"
|
||||||
msgstr "Керування мережею"
|
msgstr "Керування мережею"
|
||||||
|
|
||||||
@ -1072,22 +1072,22 @@ msgstr "Гучність"
|
|||||||
msgid "Microphone"
|
msgid "Microphone"
|
||||||
msgstr "Мікрофон"
|
msgstr "Мікрофон"
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:331
|
#: ../js/ui/telepathyClient.js:330
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is online."
|
msgid "%s is online."
|
||||||
msgstr "%s в мережі."
|
msgstr "%s в мережі."
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:336
|
#: ../js/ui/telepathyClient.js:335
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is offline."
|
msgid "%s is offline."
|
||||||
msgstr "%s поза мережею."
|
msgstr "%s поза мережею."
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:339
|
#: ../js/ui/telepathyClient.js:338
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is away."
|
msgid "%s is away."
|
||||||
msgstr "%s відійшов."
|
msgstr "%s відійшов."
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:342
|
#: ../js/ui/telepathyClient.js:341
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is busy."
|
msgid "%s is busy."
|
||||||
msgstr "%s зайнятий."
|
msgstr "%s зайнятий."
|
||||||
@ -1095,11 +1095,18 @@ msgstr "%s зайнятий."
|
|||||||
#. Translators: this is a time format string followed by a date.
|
#. Translators: this is a time format string followed by a date.
|
||||||
#. If applicable, replace %X with a strftime format valid for your
|
#. If applicable, replace %X with a strftime format valid for your
|
||||||
#. locale, without seconds.
|
#. locale, without seconds.
|
||||||
#: ../js/ui/telepathyClient.js:473
|
#: ../js/ui/telepathyClient.js:479
|
||||||
#, no-c-format
|
#, no-c-format
|
||||||
msgid "Sent at %X on %A"
|
msgid "Sent at %X on %A"
|
||||||
msgstr "Відправити на %X в %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
|
#. Translators: this is the text displayed
|
||||||
#. in the search entry when no search is
|
#. in the search entry when no search is
|
||||||
#. active; it should not exceed ~30
|
#. active; it should not exceed ~30
|
||||||
@ -1146,7 +1153,7 @@ msgstr[2] "%u входів"
|
|||||||
msgid "System Sounds"
|
msgid "System Sounds"
|
||||||
msgstr "Системні звуки"
|
msgstr "Системні звуки"
|
||||||
|
|
||||||
#: ../src/main.c:446
|
#: ../src/main.c:445
|
||||||
msgid "Print version"
|
msgid "Print version"
|
||||||
msgstr "Показати версію"
|
msgstr "Показати версію"
|
||||||
|
|
||||||
@ -1155,42 +1162,6 @@ msgstr "Показати версію"
|
|||||||
msgid "Failed to launch '%s'"
|
msgid "Failed to launch '%s'"
|
||||||
msgstr "Не вдалось запустити «%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
|
#: ../src/shell-mobile-providers.c:80
|
||||||
msgid "United Kingdom"
|
msgid "United Kingdom"
|
||||||
msgstr "Великобританія"
|
msgstr "Великобританія"
|
||||||
@ -1223,6 +1194,33 @@ msgstr "Файлова система"
|
|||||||
msgid "%1$s: %2$s"
|
msgid "%1$s: %2$s"
|
||||||
msgstr "%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"
|
#~ msgid "Shut Down"
|
||||||
#~ msgstr "Вимкнути"
|
#~ msgstr "Вимкнути"
|
||||||
|
|
||||||
|
12
po/vi.po
@ -9,7 +9,7 @@ msgstr ""
|
|||||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||||
"shell&keywords=I18N+L10N&component=general\n"
|
"shell&keywords=I18N+L10N&component=general\n"
|
||||||
"POT-Creation-Date: 2011-03-25 20:20+0000\n"
|
"POT-Creation-Date: 2011-03-25 20:20+0000\n"
|
||||||
"PO-Revision-Date: 2011-03-26 13:58+0700\n"
|
"PO-Revision-Date: 2011-04-12 18:34+0700\n"
|
||||||
"Last-Translator: Duy <pclouds@gmail.com>\n"
|
"Last-Translator: Duy <pclouds@gmail.com>\n"
|
||||||
"Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
|
"Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@ -937,27 +937,27 @@ msgstr "Thiết lập mạng"
|
|||||||
#: ../js/ui/status/network.js:1783
|
#: ../js/ui/status/network.js:1783
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to mobile broadband connection '%s'"
|
msgid "You're now connected to mobile broadband connection '%s'"
|
||||||
msgstr "Bạn đã kết nối vào mạng băng thông rộng '%s'"
|
msgstr "Đã nối mạng '%s' (băng thông rộng)"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1787
|
#: ../js/ui/status/network.js:1787
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to wireless network '%s'"
|
msgid "You're now connected to wireless network '%s'"
|
||||||
msgstr "Bạn đã kết nối vào mạng không dây '%s'"
|
msgstr "Đã nối mạng '%s' (không dây)"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1791
|
#: ../js/ui/status/network.js:1791
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to wired network '%s'"
|
msgid "You're now connected to wired network '%s'"
|
||||||
msgstr "Bạn đã kết nối vào mạng (dây) '%s'"
|
msgstr "Đã nối mạng '%s' (dây)"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1795
|
#: ../js/ui/status/network.js:1795
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to VPN network '%s'"
|
msgid "You're now connected to VPN network '%s'"
|
||||||
msgstr "Bạn đã kết nối vào mạng VPN '%s'"
|
msgstr "Đã nối mạng VPN '%s'"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1800
|
#: ../js/ui/status/network.js:1800
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to '%s'"
|
msgid "You're now connected to '%s'"
|
||||||
msgstr "Bạn đã kết nối vào '%s'"
|
msgstr "Đã kết nối '%s'"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1808
|
#: ../js/ui/status/network.js:1808
|
||||||
#| msgid "Connection"
|
#| msgid "Connection"
|
||||||
|
121
po/zh_CN.po
@ -14,10 +14,9 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: gnome-shell master\n"
|
"Project-Id-Version: gnome-shell master\n"
|
||||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"shell&keywords=I18N+L10N&component=general\n"
|
"POT-Creation-Date: 2011-04-15 21:20+0800\n"
|
||||||
"POT-Creation-Date: 2011-03-26 07:02+0000\n"
|
"PO-Revision-Date: 2011-04-15 21:22+0800\n"
|
||||||
"PO-Revision-Date: 2011-03-30 00:38+0800\n"
|
|
||||||
"Last-Translator: Aron Xu <happyaron.xu@gmail.com>\n"
|
"Last-Translator: Aron Xu <happyaron.xu@gmail.com>\n"
|
||||||
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
|
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
|
||||||
"Language: zh_CN\n"
|
"Language: zh_CN\n"
|
||||||
@ -186,23 +185,23 @@ msgstr "运行“%s”失败:"
|
|||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "全部"
|
msgstr "全部"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:328
|
#: ../js/ui/appDisplay.js:329
|
||||||
msgid "APPLICATIONS"
|
msgid "APPLICATIONS"
|
||||||
msgstr "应用程序"
|
msgstr "应用程序"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:354
|
#: ../js/ui/appDisplay.js:355
|
||||||
msgid "SETTINGS"
|
msgid "SETTINGS"
|
||||||
msgstr "设置"
|
msgstr "设置"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:625
|
#: ../js/ui/appDisplay.js:626
|
||||||
msgid "New Window"
|
msgid "New Window"
|
||||||
msgstr "新窗口"
|
msgstr "新窗口"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:628
|
#: ../js/ui/appDisplay.js:629
|
||||||
msgid "Remove from Favorites"
|
msgid "Remove from Favorites"
|
||||||
msgstr "从收藏夹中移除"
|
msgstr "从收藏夹中移除"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:629
|
#: ../js/ui/appDisplay.js:630
|
||||||
msgid "Add to Favorites"
|
msgid "Add to Favorites"
|
||||||
msgstr "添加到收藏夹"
|
msgstr "添加到收藏夹"
|
||||||
|
|
||||||
@ -335,13 +334,13 @@ msgid "Nothing Scheduled"
|
|||||||
msgstr "无计划"
|
msgstr "无计划"
|
||||||
|
|
||||||
#. Translators: Shown on calendar heading when selected day occurs on current year
|
#. Translators: Shown on calendar heading when selected day occurs on current year
|
||||||
#: ../js/ui/calendar.js:720
|
#: ../js/ui/calendar.js:720 ../js/ui/telepathyClient.js:492
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d"
|
msgid "%A, %B %d"
|
||||||
msgstr "%m月%d日%A"
|
msgstr "%m月%d日%A"
|
||||||
|
|
||||||
#. Translators: Shown on calendar heading when selected day occurs on different year
|
#. Translators: Shown on calendar heading when selected day occurs on different year
|
||||||
#: ../js/ui/calendar.js:723
|
#: ../js/ui/calendar.js:723 ../js/ui/telepathyClient.js:495
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d, %Y"
|
msgid "%A, %B %d, %Y"
|
||||||
msgstr "%Y年%m月%d日%A"
|
msgstr "%Y年%m月%d日%A"
|
||||||
@ -362,7 +361,7 @@ msgstr "本周"
|
|||||||
msgid "Next week"
|
msgid "Next week"
|
||||||
msgstr "下周"
|
msgstr "下周"
|
||||||
|
|
||||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1000
|
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1007
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr "移除"
|
msgstr "移除"
|
||||||
|
|
||||||
@ -487,7 +486,7 @@ msgstr "系统将在 %d 秒后自动重启。"
|
|||||||
msgid "Restarting the system."
|
msgid "Restarting the system."
|
||||||
msgstr "重启计算机。"
|
msgstr "重启计算机。"
|
||||||
|
|
||||||
#: ../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
|
#: ../js/ui/status/bluetooth.js:466
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "取消"
|
msgstr "取消"
|
||||||
@ -522,11 +521,11 @@ msgstr "查看源"
|
|||||||
msgid "Web Page"
|
msgid "Web Page"
|
||||||
msgstr "网页"
|
msgstr "网页"
|
||||||
|
|
||||||
#: ../js/ui/messageTray.js:993
|
#: ../js/ui/messageTray.js:1000
|
||||||
msgid "Open"
|
msgid "Open"
|
||||||
msgstr "打开"
|
msgstr "打开"
|
||||||
|
|
||||||
#: ../js/ui/messageTray.js:2151
|
#: ../js/ui/messageTray.js:2164
|
||||||
msgid "System Information"
|
msgid "System Information"
|
||||||
msgstr "系统信息"
|
msgstr "系统信息"
|
||||||
|
|
||||||
@ -546,21 +545,21 @@ msgstr "应用程序"
|
|||||||
#. the left of the overview
|
#. the left of the overview
|
||||||
#: ../js/ui/overview.js:205
|
#: ../js/ui/overview.js:205
|
||||||
msgid "Dash"
|
msgid "Dash"
|
||||||
msgstr "虚线"
|
msgstr "Dash"
|
||||||
|
|
||||||
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
||||||
#: ../js/ui/panel.js:515
|
#: ../js/ui/panel.js:524
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Quit %s"
|
msgid "Quit %s"
|
||||||
msgstr "退出 %s"
|
msgstr "退出 %s"
|
||||||
|
|
||||||
#. Button on the left side of the panel.
|
#. 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".
|
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
|
||||||
#: ../js/ui/panel.js:878
|
#: ../js/ui/panel.js:902
|
||||||
msgid "Activities"
|
msgid "Activities"
|
||||||
msgstr "活动"
|
msgstr "活动"
|
||||||
|
|
||||||
#: ../js/ui/panel.js:979
|
#: ../js/ui/panel.js:1003
|
||||||
msgid "Top Bar"
|
msgid "Top Bar"
|
||||||
msgstr "顶栏"
|
msgstr "顶栏"
|
||||||
|
|
||||||
@ -593,11 +592,15 @@ msgstr "管理员"
|
|||||||
msgid "Authenticate"
|
msgid "Authenticate"
|
||||||
msgstr "认证"
|
msgstr "认证"
|
||||||
|
|
||||||
#: ../js/ui/polkitAuthenticationAgent.js:260
|
#. 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
|
||||||
msgid "Sorry, that didn't work. Please try again."
|
msgid "Sorry, that didn't work. Please try again."
|
||||||
msgstr "抱歉,您的输入有误。请重试。"
|
msgstr "抱歉,您的输入有误。请重试。"
|
||||||
|
|
||||||
#: ../js/ui/polkitAuthenticationAgent.js:272
|
#: ../js/ui/polkitAuthenticationAgent.js:276
|
||||||
msgid "Password:"
|
msgid "Password:"
|
||||||
msgstr "口令:"
|
msgstr "口令:"
|
||||||
|
|
||||||
@ -614,11 +617,11 @@ msgstr "toggle-switch-intl"
|
|||||||
msgid "Please enter a command:"
|
msgid "Please enter a command:"
|
||||||
msgstr "请输入一个命令:"
|
msgstr "请输入一个命令:"
|
||||||
|
|
||||||
#: ../js/ui/searchDisplay.js:310
|
#: ../js/ui/searchDisplay.js:311
|
||||||
msgid "Searching..."
|
msgid "Searching..."
|
||||||
msgstr "正在搜索..."
|
msgstr "正在搜索..."
|
||||||
|
|
||||||
#: ../js/ui/searchDisplay.js:324
|
#: ../js/ui/searchDisplay.js:325
|
||||||
msgid "No matching results."
|
msgid "No matching results."
|
||||||
msgstr "无匹配结果。"
|
msgstr "无匹配结果。"
|
||||||
|
|
||||||
@ -822,139 +825,139 @@ msgstr "显示键盘布局..."
|
|||||||
msgid "Localization Settings"
|
msgid "Localization Settings"
|
||||||
msgstr "本地化设置"
|
msgstr "本地化设置"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:104 ../js/ui/status/network.js:1454
|
#: ../js/ui/status/network.js:109 ../js/ui/status/network.js:1498
|
||||||
msgid "<unknown>"
|
msgid "<unknown>"
|
||||||
msgstr "<未知>"
|
msgstr "<未知>"
|
||||||
|
|
||||||
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
||||||
#: ../js/ui/status/network.js:311
|
#: ../js/ui/status/network.js:326
|
||||||
msgid "disabled"
|
msgid "disabled"
|
||||||
msgstr "已禁用"
|
msgstr "已禁用"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:494
|
#: ../js/ui/status/network.js:521
|
||||||
msgid "connecting..."
|
msgid "connecting..."
|
||||||
msgstr "连接中..."
|
msgstr "连接中..."
|
||||||
|
|
||||||
#. Translators: this is for network connections that require some kind of key or password
|
#. Translators: this is for network connections that require some kind of key or password
|
||||||
#: ../js/ui/status/network.js:497
|
#: ../js/ui/status/network.js:524
|
||||||
msgid "authentication required"
|
msgid "authentication required"
|
||||||
msgstr "需要认证"
|
msgstr "需要认证"
|
||||||
|
|
||||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||||
#. module, which is missing
|
#. module, which is missing
|
||||||
#: ../js/ui/status/network.js:507
|
#: ../js/ui/status/network.js:534
|
||||||
msgid "firmware missing"
|
msgid "firmware missing"
|
||||||
msgstr "固件缺失"
|
msgstr "固件缺失"
|
||||||
|
|
||||||
#. Translators: this is for wired network devices that are physically disconnected
|
#. Translators: this is for wired network devices that are physically disconnected
|
||||||
#: ../js/ui/status/network.js:514
|
#: ../js/ui/status/network.js:541
|
||||||
msgid "cable unplugged"
|
msgid "cable unplugged"
|
||||||
msgstr "线缆被拔出"
|
msgstr "线缆被拔出"
|
||||||
|
|
||||||
#. Translators: this is for a network device that cannot be activated (for example it
|
#. Translators: this is for a network device that cannot be activated (for example it
|
||||||
#. is disabled by rfkill, or it has no coverage
|
#. is disabled by rfkill, or it has no coverage
|
||||||
#: ../js/ui/status/network.js:519
|
#: ../js/ui/status/network.js:546
|
||||||
msgid "unavailable"
|
msgid "unavailable"
|
||||||
msgstr "不可用"
|
msgstr "不可用"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:521
|
#: ../js/ui/status/network.js:548
|
||||||
msgid "connection failed"
|
msgid "connection failed"
|
||||||
msgstr "连接失败"
|
msgstr "连接失败"
|
||||||
|
|
||||||
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
||||||
#. and we cannot access its settings (including the name)
|
#. 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:628 ../js/ui/status/network.js:1446
|
||||||
msgid "Connected (private)"
|
msgid "Connected (private)"
|
||||||
msgstr "已连接(私有网络)"
|
msgstr "已连接(私有网络)"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:683
|
#: ../js/ui/status/network.js:713
|
||||||
msgid "Auto Ethernet"
|
msgid "Auto Ethernet"
|
||||||
msgstr "自动以太网"
|
msgstr "自动以太网"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:758
|
#: ../js/ui/status/network.js:788
|
||||||
msgid "Auto broadband"
|
msgid "Auto broadband"
|
||||||
msgstr "自动移动宽带"
|
msgstr "自动移动宽带"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:761
|
#: ../js/ui/status/network.js:791
|
||||||
msgid "Auto dial-up"
|
msgid "Auto dial-up"
|
||||||
msgstr "自动拨号"
|
msgstr "自动拨号"
|
||||||
|
|
||||||
#. TRANSLATORS: this the automatic wireless connection name (including the network name)
|
#. 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:937 ../js/ui/status/network.js:1458
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Auto %s"
|
msgid "Auto %s"
|
||||||
msgstr "自动 %s"
|
msgstr "自动 %s"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:906
|
#: ../js/ui/status/network.js:939
|
||||||
msgid "Auto bluetooth"
|
msgid "Auto bluetooth"
|
||||||
msgstr "自动蓝牙"
|
msgstr "自动蓝牙"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1416
|
#: ../js/ui/status/network.js:1460
|
||||||
msgid "Auto wireless"
|
msgid "Auto wireless"
|
||||||
msgstr "自动无线"
|
msgstr "自动无线"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1474
|
#: ../js/ui/status/network.js:1518
|
||||||
msgid "More..."
|
msgid "More..."
|
||||||
msgstr "更多..."
|
msgstr "更多..."
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1497
|
#: ../js/ui/status/network.js:1541
|
||||||
msgid "Enable networking"
|
msgid "Enable networking"
|
||||||
msgstr "启用联网"
|
msgstr "启用联网"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1509
|
#: ../js/ui/status/network.js:1553
|
||||||
msgid "Wired"
|
msgid "Wired"
|
||||||
msgstr "有线"
|
msgstr "有线"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1520
|
#: ../js/ui/status/network.js:1564
|
||||||
msgid "Wireless"
|
msgid "Wireless"
|
||||||
msgstr "无线"
|
msgstr "无线"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1530
|
#: ../js/ui/status/network.js:1574
|
||||||
msgid "Mobile broadband"
|
msgid "Mobile broadband"
|
||||||
msgstr "移动宽带"
|
msgstr "移动宽带"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1540
|
#: ../js/ui/status/network.js:1584
|
||||||
msgid "VPN Connections"
|
msgid "VPN Connections"
|
||||||
msgstr "VPN 连接"
|
msgstr "VPN 连接"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1549
|
#: ../js/ui/status/network.js:1596
|
||||||
msgid "Network Settings"
|
msgid "Network Settings"
|
||||||
msgstr "网络设置"
|
msgstr "网络设置"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1844
|
#: ../js/ui/status/network.js:1890
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to mobile broadband connection '%s'"
|
msgid "You're now connected to mobile broadband connection '%s'"
|
||||||
msgstr "您已连接至移动宽带连接 %s"
|
msgstr "您已连接至移动宽带连接 %s"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1848
|
#: ../js/ui/status/network.js:1894
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to wireless network '%s'"
|
msgid "You're now connected to wireless network '%s'"
|
||||||
msgstr "您已连接至无线网络 %s"
|
msgstr "您已连接至无线网络 %s"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1852
|
#: ../js/ui/status/network.js:1898
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to wired network '%s'"
|
msgid "You're now connected to wired network '%s'"
|
||||||
msgstr "您已连接至有线网络 %s"
|
msgstr "您已连接至有线网络 %s"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1856
|
#: ../js/ui/status/network.js:1902
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to VPN network '%s'"
|
msgid "You're now connected to VPN network '%s'"
|
||||||
msgstr "您已连接至 VPN 网络 %s"
|
msgstr "您已连接至 VPN 网络 %s"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1861
|
#: ../js/ui/status/network.js:1907
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to '%s'"
|
msgid "You're now connected to '%s'"
|
||||||
msgstr "您已连接至 %s"
|
msgstr "您已连接至 %s"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1869
|
#: ../js/ui/status/network.js:1915
|
||||||
msgid "Connection established"
|
msgid "Connection established"
|
||||||
msgstr "连接已建立"
|
msgstr "连接已建立"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1991
|
#: ../js/ui/status/network.js:2041
|
||||||
msgid "Networking is disabled"
|
msgid "Networking is disabled"
|
||||||
msgstr "联网已禁用"
|
msgstr "联网已禁用"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:2116
|
#: ../js/ui/status/network.js:2166
|
||||||
msgid "Network Manager"
|
msgid "Network Manager"
|
||||||
msgstr "网络管理器"
|
msgstr "网络管理器"
|
||||||
|
|
||||||
@ -1052,22 +1055,22 @@ msgstr "音量"
|
|||||||
msgid "Microphone"
|
msgid "Microphone"
|
||||||
msgstr "麦克风"
|
msgstr "麦克风"
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:331
|
#: ../js/ui/telepathyClient.js:335
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is online."
|
msgid "%s is online."
|
||||||
msgstr "%s 在线。"
|
msgstr "%s 在线。"
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:336
|
#: ../js/ui/telepathyClient.js:340
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is offline."
|
msgid "%s is offline."
|
||||||
msgstr "%s 离线。"
|
msgstr "%s 离线。"
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:339
|
#: ../js/ui/telepathyClient.js:343
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is away."
|
msgid "%s is away."
|
||||||
msgstr "%s 离开。"
|
msgstr "%s 离开。"
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:342
|
#: ../js/ui/telepathyClient.js:346
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is busy."
|
msgid "%s is busy."
|
||||||
msgstr "%s 忙碌。"
|
msgstr "%s 忙碌。"
|
||||||
@ -1075,7 +1078,7 @@ msgstr "%s 忙碌。"
|
|||||||
#. Translators: this is a time format string followed by a date.
|
#. Translators: this is a time format string followed by a date.
|
||||||
#. If applicable, replace %X with a strftime format valid for your
|
#. If applicable, replace %X with a strftime format valid for your
|
||||||
#. locale, without seconds.
|
#. locale, without seconds.
|
||||||
#: ../js/ui/telepathyClient.js:473
|
#: ../js/ui/telepathyClient.js:484
|
||||||
#, no-c-format
|
#, no-c-format
|
||||||
msgid "Sent at %X on %A"
|
msgid "Sent at %X on %A"
|
||||||
msgstr "发送于 %X,在 %A"
|
msgstr "发送于 %X,在 %A"
|
||||||
@ -1122,7 +1125,7 @@ msgstr[0] "%u 个输入"
|
|||||||
msgid "System Sounds"
|
msgid "System Sounds"
|
||||||
msgstr "系统声音"
|
msgstr "系统声音"
|
||||||
|
|
||||||
#: ../src/main.c:446
|
#: ../src/main.c:445
|
||||||
msgid "Print version"
|
msgid "Print version"
|
||||||
msgstr "打印版本"
|
msgstr "打印版本"
|
||||||
|
|
||||||
|
201
po/zh_HK.po
@ -6,10 +6,10 @@
|
|||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: gnome-shell 2.91.93\n"
|
"Project-Id-Version: gnome-shell 3.0.0.2\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2011-04-04 22:08+0800\n"
|
"POT-Creation-Date: 2011-04-24 05:52+0800\n"
|
||||||
"PO-Revision-Date: 2011-04-04 22:08+0800\n"
|
"PO-Revision-Date: 2011-04-24 05:54+0800\n"
|
||||||
"Last-Translator: Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>\n"
|
"Last-Translator: Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>\n"
|
||||||
"Language-Team: Chinese (Hong Kong) <community@linuxhall.org>\n"
|
"Language-Team: Chinese (Hong Kong) <community@linuxhall.org>\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
@ -27,9 +27,7 @@ msgid "Window management and application launching"
|
|||||||
msgstr "視窗管理與應用程式的執行"
|
msgstr "視窗管理與應用程式的執行"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:1
|
#: ../data/org.gnome.shell.gschema.xml.in.h:1
|
||||||
msgid ""
|
msgid "Allows access to internal debugging and monitoring tools using the Alt-F2 dialog."
|
||||||
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
|
|
||||||
"dialog."
|
|
||||||
msgstr "允許使用 Alt-F2 對話盒存取內部除錯和監控工具。"
|
msgstr "允許使用 Alt-F2 對話盒存取內部除錯和監控工具。"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:2
|
#: ../data/org.gnome.shell.gschema.xml.in.h:2
|
||||||
@ -45,9 +43,7 @@ msgid "Framerate used for recording screencasts."
|
|||||||
msgstr "錄製畫面廣播的框架率。"
|
msgstr "錄製畫面廣播的框架率。"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:5
|
#: ../data/org.gnome.shell.gschema.xml.in.h:5
|
||||||
msgid ""
|
msgid "GNOME Shell extensions have a uuid property; this key lists extensions which should not be loaded."
|
||||||
"GNOME Shell extensions have a uuid property; this key lists extensions which "
|
|
||||||
"should not be loaded."
|
|
||||||
msgstr "GNOME Shell 擴充功能有 uuid 屬性;這個設定鍵列出了不應載入的擴充功能。"
|
msgstr "GNOME Shell 擴充功能有 uuid 屬性;這個設定鍵列出了不應載入的擴充功能。"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:6
|
#: ../data/org.gnome.shell.gschema.xml.in.h:6
|
||||||
@ -76,17 +72,7 @@ msgstr "喜好的應用程式桌面檔案 ID 清單"
|
|||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:13
|
#: ../data/org.gnome.shell.gschema.xml.in.h:13
|
||||||
#, no-c-format
|
#, no-c-format
|
||||||
msgid ""
|
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 the recorded video is recorded. It will normally have a unconnected source pad; output from that pad will be written into the output file. However the pipeline can also take care of its own output - this might be used to send the output to an icecast server via shout2send or similar. When unset or set to an empty value, the default pipeline will be used. This is currently '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."
|
||||||
"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 "
|
|
||||||
"the recorded video is recorded. It will normally have a unconnected source "
|
|
||||||
"pad; output from that pad will be written into the output file. However the "
|
|
||||||
"pipeline can also take care of its own output - this might be used to send "
|
|
||||||
"the output to an icecast server via shout2send or similar. When unset or set "
|
|
||||||
"to an empty value, the default pipeline will be used. This is currently "
|
|
||||||
"'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 "設定用來錄製的 GStreamer 管線。它根據據 gst-launch 使用的語法。管線應該要有未連接的出口(sink pad),提供錄製視像之用。它通常會有未連接的入口(source pad);從出口輸出的資訊就寫入輸出檔案。然而管線本身也會處理它本身的輸出 - 習慣上是透過 shout2send 之類將輸出傳送到 icecast 伺服器。當取消設定或設定為空值時,就會使用預設的管線。這個值目前為 'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' 即使用 VP8 codec 錄製 WEBM。%T 是在系統的最佳化執行緒計數猜測時使用的佔位符。"
|
msgstr "設定用來錄製的 GStreamer 管線。它根據據 gst-launch 使用的語法。管線應該要有未連接的出口(sink pad),提供錄製視像之用。它通常會有未連接的入口(source pad);從出口輸出的資訊就寫入輸出檔案。然而管線本身也會處理它本身的輸出 - 習慣上是透過 shout2send 之類將輸出傳送到 icecast 伺服器。當取消設定或設定為空值時,就會使用預設的管線。這個值目前為 'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' 即使用 VP8 codec 錄製 WEBM。%T 是在系統的最佳化執行緒計數猜測時使用的佔位符。"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:14
|
#: ../data/org.gnome.shell.gschema.xml.in.h:14
|
||||||
@ -102,22 +88,15 @@ msgid "Show time with seconds"
|
|||||||
msgstr "在時刻中顯示秒數"
|
msgstr "在時刻中顯示秒數"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:17
|
#: ../data/org.gnome.shell.gschema.xml.in.h:17
|
||||||
msgid ""
|
msgid "The applications corresponding to these identifiers will be displayed in the favorites area."
|
||||||
"The applications corresponding to these identifiers will be displayed in the "
|
|
||||||
"favorites area."
|
|
||||||
msgstr "對應這些辨別碼的應用程式會顯示在喜好區域。"
|
msgstr "對應這些辨別碼的應用程式會顯示在喜好區域。"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:18
|
#: ../data/org.gnome.shell.gschema.xml.in.h:18
|
||||||
msgid ""
|
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 a different container format."
|
||||||
"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 "
|
|
||||||
"a different container format."
|
|
||||||
msgstr "錄製好的畫面廣播檔案名稱會以目前的時刻作為獨特的檔名,並使用這個延伸檔名。當錄製為不同的容器格式時應該做適當更改。"
|
msgstr "錄製好的畫面廣播檔案名稱會以目前的時刻作為獨特的檔名,並使用這個延伸檔名。當錄製為不同的容器格式時應該做適當更改。"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:19
|
#: ../data/org.gnome.shell.gschema.xml.in.h:19
|
||||||
msgid ""
|
msgid "The framerate of the resulting screencast recordered by GNOME Shell's screencast recorder in frames-per-second."
|
||||||
"The framerate of the resulting screencast recordered by GNOME Shell's "
|
|
||||||
"screencast recorder in frames-per-second."
|
|
||||||
msgstr "由 GNOME Shell 的畫面廣播錄製程式所錄製成果的框架率,以 frames-per-second 計。"
|
msgstr "由 GNOME Shell 的畫面廣播錄製程式所錄製成果的框架率,以 frames-per-second 計。"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:20
|
#: ../data/org.gnome.shell.gschema.xml.in.h:20
|
||||||
@ -125,11 +104,7 @@ msgid "The gstreamer pipeline used to encode the screencast"
|
|||||||
msgstr "用來編碼畫面廣播的 gstreamer 管線"
|
msgstr "用來編碼畫面廣播的 gstreamer 管線"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:21
|
#: ../data/org.gnome.shell.gschema.xml.in.h:21
|
||||||
msgid ""
|
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."
|
||||||
"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 "這個 shell 通常會監控使用中的應用程式以便能顯示出最常使用的(例如,在程式執行器中)。雖然這個資料會保持隱密,但是你可能會基於私隱的理由想要停用這個功能。請注意這麼做並不會移除已儲存的資料。"
|
msgstr "這個 shell 通常會監控使用中的應用程式以便能顯示出最常使用的(例如,在程式執行器中)。雖然這個資料會保持隱密,但是你可能會基於私隱的理由想要停用這個功能。請注意這麼做並不會移除已儲存的資料。"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:22
|
#: ../data/org.gnome.shell.gschema.xml.in.h:22
|
||||||
@ -164,23 +139,23 @@ msgstr "執行「%s」失敗:"
|
|||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "全部"
|
msgstr "全部"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:328
|
#: ../js/ui/appDisplay.js:329
|
||||||
msgid "APPLICATIONS"
|
msgid "APPLICATIONS"
|
||||||
msgstr "程式集"
|
msgstr "程式集"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:354
|
#: ../js/ui/appDisplay.js:355
|
||||||
msgid "SETTINGS"
|
msgid "SETTINGS"
|
||||||
msgstr "設定值"
|
msgstr "設定值"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:625
|
#: ../js/ui/appDisplay.js:626
|
||||||
msgid "New Window"
|
msgid "New Window"
|
||||||
msgstr "新視窗"
|
msgstr "新視窗"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:628
|
#: ../js/ui/appDisplay.js:629
|
||||||
msgid "Remove from Favorites"
|
msgid "Remove from Favorites"
|
||||||
msgstr "自喜好中移除"
|
msgstr "自喜好中移除"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:629
|
#: ../js/ui/appDisplay.js:630
|
||||||
msgid "Add to Favorites"
|
msgid "Add to Favorites"
|
||||||
msgstr "加入喜好"
|
msgstr "加入喜好"
|
||||||
|
|
||||||
@ -313,13 +288,15 @@ msgid "Nothing Scheduled"
|
|||||||
msgstr "沒有預訂行程"
|
msgstr "沒有預訂行程"
|
||||||
|
|
||||||
#. Translators: Shown on calendar heading when selected day occurs on current year
|
#. 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:492
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d"
|
msgid "%A, %B %d"
|
||||||
msgstr "%m月%d日%A"
|
msgstr "%m月%d日%A"
|
||||||
|
|
||||||
#. Translators: Shown on calendar heading when selected day occurs on different year
|
#. 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:495
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d, %Y"
|
msgid "%A, %B %d, %Y"
|
||||||
msgstr "%Y年%m月%d日%A"
|
msgstr "%Y年%m月%d日%A"
|
||||||
@ -340,7 +317,8 @@ msgstr "本週"
|
|||||||
msgid "Next week"
|
msgid "Next week"
|
||||||
msgstr "下週"
|
msgstr "下週"
|
||||||
|
|
||||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1007
|
#: ../js/ui/dash.js:174
|
||||||
|
#: ../js/ui/messageTray.js:1037
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr "移除"
|
msgstr "移除"
|
||||||
|
|
||||||
@ -356,41 +334,41 @@ msgstr "開啟行事曆"
|
|||||||
#. in 24-hour mode.
|
#. in 24-hour mode.
|
||||||
#: ../js/ui/dateMenu.js:164
|
#: ../js/ui/dateMenu.js:164
|
||||||
msgid "%a %b %e, %R:%S"
|
msgid "%a %b %e, %R:%S"
|
||||||
msgstr "%m月%e日%a, %R:%S"
|
msgstr "%m月%e日(%a), %R:%S"
|
||||||
|
|
||||||
#: ../js/ui/dateMenu.js:165
|
#: ../js/ui/dateMenu.js:165
|
||||||
msgid "%a %b %e, %R"
|
msgid "%a %b %e, %R"
|
||||||
msgstr "%m月%e日%a, %R"
|
msgstr "%m月%e日(%a), %R"
|
||||||
|
|
||||||
#. Translators: This is the time format without date used
|
#. Translators: This is the time format without date used
|
||||||
#. in 24-hour mode.
|
#. in 24-hour mode.
|
||||||
#: ../js/ui/dateMenu.js:169
|
#: ../js/ui/dateMenu.js:169
|
||||||
msgid "%a %R:%S"
|
msgid "%a %R:%S"
|
||||||
msgstr "%a %R:%S"
|
msgstr "(%a)%R:%S"
|
||||||
|
|
||||||
#: ../js/ui/dateMenu.js:170
|
#: ../js/ui/dateMenu.js:170
|
||||||
msgid "%a %R"
|
msgid "%a %R"
|
||||||
msgstr "%a %R"
|
msgstr "(%a)%R"
|
||||||
|
|
||||||
#. Translators: This is a time format with date used
|
#. Translators: This is a time format with date used
|
||||||
#. for AM/PM.
|
#. for AM/PM.
|
||||||
#: ../js/ui/dateMenu.js:177
|
#: ../js/ui/dateMenu.js:177
|
||||||
msgid "%a %b %e, %l:%M:%S %p"
|
msgid "%a %b %e, %l:%M:%S %p"
|
||||||
msgstr "%m月%e日%a, %p %l:%M:%S"
|
msgstr "%m月%e日(%a), %p %l:%M:%S"
|
||||||
|
|
||||||
#: ../js/ui/dateMenu.js:178
|
#: ../js/ui/dateMenu.js:178
|
||||||
msgid "%a %b %e, %l:%M %p"
|
msgid "%a %b %e, %l:%M %p"
|
||||||
msgstr "%m月%e日%a, %p %l:%M"
|
msgstr "%m月%e日(%a), %p %l:%M"
|
||||||
|
|
||||||
#. Translators: This is a time format without date used
|
#. Translators: This is a time format without date used
|
||||||
#. for AM/PM.
|
#. for AM/PM.
|
||||||
#: ../js/ui/dateMenu.js:182
|
#: ../js/ui/dateMenu.js:182
|
||||||
msgid "%a %l:%M:%S %p"
|
msgid "%a %l:%M:%S %p"
|
||||||
msgstr "%a %p %l:%M:%S"
|
msgstr "(%a)%p %l:%M:%S"
|
||||||
|
|
||||||
#: ../js/ui/dateMenu.js:183
|
#: ../js/ui/dateMenu.js:183
|
||||||
msgid "%a %l:%M %p"
|
msgid "%a %l:%M %p"
|
||||||
msgstr "%a %p %l:%M"
|
msgstr "(%a)%p %l:%M"
|
||||||
|
|
||||||
#. Translators: This is the date format to use when the calendar popup is
|
#. Translators: This is the date format to use when the calendar popup is
|
||||||
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
|
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
|
||||||
@ -408,7 +386,8 @@ msgstr "最近使用項目"
|
|||||||
msgid "Log Out %s"
|
msgid "Log Out %s"
|
||||||
msgstr "登出 %s"
|
msgstr "登出 %s"
|
||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:70
|
#: ../js/ui/endSessionDialog.js:64
|
||||||
|
#: ../js/ui/endSessionDialog.js:70
|
||||||
msgid "Log Out"
|
msgid "Log Out"
|
||||||
msgstr "登出"
|
msgstr "登出"
|
||||||
|
|
||||||
@ -430,7 +409,8 @@ msgstr "你會在 %d 秒後自動登出。"
|
|||||||
msgid "Logging out of the system."
|
msgid "Logging out of the system."
|
||||||
msgstr "登出系統。"
|
msgstr "登出系統。"
|
||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:75 ../js/ui/endSessionDialog.js:82
|
#: ../js/ui/endSessionDialog.js:75
|
||||||
|
#: ../js/ui/endSessionDialog.js:82
|
||||||
msgid "Power Off"
|
msgid "Power Off"
|
||||||
msgstr "關閉電源"
|
msgstr "關閉電源"
|
||||||
|
|
||||||
@ -447,7 +427,8 @@ msgstr "本系統會在 %d 秒後電源。"
|
|||||||
msgid "Powering off the system."
|
msgid "Powering off the system."
|
||||||
msgstr "關閉系統的電源。"
|
msgstr "關閉系統的電源。"
|
||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:80 ../js/ui/endSessionDialog.js:88
|
#: ../js/ui/endSessionDialog.js:80
|
||||||
|
#: ../js/ui/endSessionDialog.js:88
|
||||||
#: ../js/ui/endSessionDialog.js:93
|
#: ../js/ui/endSessionDialog.js:93
|
||||||
msgid "Restart"
|
msgid "Restart"
|
||||||
msgstr "重新啟動"
|
msgstr "重新啟動"
|
||||||
@ -465,7 +446,8 @@ msgstr "系統會在 %d 秒內自動重新啟動。"
|
|||||||
msgid "Restarting the system."
|
msgid "Restarting the system."
|
||||||
msgstr "重新啟動系統。"
|
msgstr "重新啟動系統。"
|
||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:417 ../js/ui/polkitAuthenticationAgent.js:172
|
#: ../js/ui/endSessionDialog.js:413
|
||||||
|
#: ../js/ui/polkitAuthenticationAgent.js:172
|
||||||
#: ../js/ui/status/bluetooth.js:466
|
#: ../js/ui/status/bluetooth.js:466
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "取消"
|
msgstr "取消"
|
||||||
@ -480,7 +462,8 @@ msgstr "已啟用"
|
|||||||
|
|
||||||
#. translators:
|
#. translators:
|
||||||
#. * The device has been disabled
|
#. * The device has been disabled
|
||||||
#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1091
|
#: ../js/ui/lookingGlass.js:627
|
||||||
|
#: ../src/gvc/gvc-mixer-control.c:1091
|
||||||
msgid "Disabled"
|
msgid "Disabled"
|
||||||
msgstr "已停用"
|
msgstr "已停用"
|
||||||
|
|
||||||
@ -500,11 +483,11 @@ msgstr "檢示來源"
|
|||||||
msgid "Web Page"
|
msgid "Web Page"
|
||||||
msgstr "網頁"
|
msgstr "網頁"
|
||||||
|
|
||||||
#: ../js/ui/messageTray.js:1000
|
#: ../js/ui/messageTray.js:1030
|
||||||
msgid "Open"
|
msgid "Open"
|
||||||
msgstr "開啟"
|
msgstr "開啟"
|
||||||
|
|
||||||
#: ../js/ui/messageTray.js:2164
|
#: ../js/ui/messageTray.js:2194
|
||||||
msgid "System Information"
|
msgid "System Information"
|
||||||
msgstr "系統資訊"
|
msgstr "系統資訊"
|
||||||
|
|
||||||
@ -604,18 +587,20 @@ msgstr "搜尋中…"
|
|||||||
msgid "No matching results."
|
msgid "No matching results."
|
||||||
msgstr "沒有相符的結果。"
|
msgstr "沒有相符的結果。"
|
||||||
|
|
||||||
#: ../js/ui/statusMenu.js:161 ../js/ui/statusMenu.js:163
|
#: ../js/ui/statusMenu.js:161
|
||||||
|
#: ../js/ui/statusMenu.js:163
|
||||||
#: ../js/ui/statusMenu.js:228
|
#: ../js/ui/statusMenu.js:228
|
||||||
msgid "Power Off..."
|
msgid "Power Off..."
|
||||||
msgstr "關閉電源…"
|
msgstr "關閉電源…"
|
||||||
|
|
||||||
#: ../js/ui/statusMenu.js:163 ../js/ui/statusMenu.js:227
|
#: ../js/ui/statusMenu.js:163
|
||||||
|
#: ../js/ui/statusMenu.js:227
|
||||||
msgid "Suspend"
|
msgid "Suspend"
|
||||||
msgstr "暫停"
|
msgstr "暫停"
|
||||||
|
|
||||||
#: ../js/ui/statusMenu.js:184
|
#: ../js/ui/statusMenu.js:184
|
||||||
msgid "Available"
|
msgid "Available"
|
||||||
msgstr "可用"
|
msgstr "有空"
|
||||||
|
|
||||||
#: ../js/ui/statusMenu.js:189
|
#: ../js/ui/statusMenu.js:189
|
||||||
msgid "Busy"
|
msgid "Busy"
|
||||||
@ -683,9 +668,12 @@ msgstr "高反差"
|
|||||||
msgid "Large Text"
|
msgid "Large Text"
|
||||||
msgstr "大型文字"
|
msgstr "大型文字"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:237
|
#: ../js/ui/status/bluetooth.js:42
|
||||||
#: ../js/ui/status/bluetooth.js:333 ../js/ui/status/bluetooth.js:367
|
#: ../js/ui/status/bluetooth.js:237
|
||||||
#: ../js/ui/status/bluetooth.js:407 ../js/ui/status/bluetooth.js:440
|
#: ../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"
|
msgid "Bluetooth"
|
||||||
msgstr "藍牙"
|
msgstr "藍牙"
|
||||||
|
|
||||||
@ -734,7 +722,8 @@ msgstr "鍵盤設定值"
|
|||||||
msgid "Mouse Settings"
|
msgid "Mouse Settings"
|
||||||
msgstr "滑鼠設定值"
|
msgstr "滑鼠設定值"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:259 ../js/ui/status/volume.js:66
|
#: ../js/ui/status/bluetooth.js:259
|
||||||
|
#: ../js/ui/status/volume.js:66
|
||||||
msgid "Sound Settings"
|
msgid "Sound Settings"
|
||||||
msgstr "音效設定值"
|
msgstr "音效設定值"
|
||||||
|
|
||||||
@ -765,7 +754,8 @@ msgstr "拒絕"
|
|||||||
msgid "Pairing confirmation for %s"
|
msgid "Pairing confirmation for %s"
|
||||||
msgstr "%s 的配對確認"
|
msgstr "%s 的配對確認"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:448
|
#: ../js/ui/status/bluetooth.js:414
|
||||||
|
#: ../js/ui/status/bluetooth.js:448
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Device %s wants to pair with this computer"
|
msgid "Device %s wants to pair with this computer"
|
||||||
msgstr "裝置 %s 想要和這個電腦配對"
|
msgstr "裝置 %s 想要和這個電腦配對"
|
||||||
@ -804,139 +794,142 @@ msgstr "顯示鍵盤配置…"
|
|||||||
msgid "Localization Settings"
|
msgid "Localization Settings"
|
||||||
msgstr "本地化設定值"
|
msgstr "本地化設定值"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:105 ../js/ui/status/network.js:1466
|
#: ../js/ui/status/network.js:109
|
||||||
|
#: ../js/ui/status/network.js:1498
|
||||||
msgid "<unknown>"
|
msgid "<unknown>"
|
||||||
msgstr "<不明>"
|
msgstr "<不明>"
|
||||||
|
|
||||||
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
||||||
#: ../js/ui/status/network.js:318
|
#: ../js/ui/status/network.js:326
|
||||||
msgid "disabled"
|
msgid "disabled"
|
||||||
msgstr "已停用"
|
msgstr "已停用"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:501
|
#: ../js/ui/status/network.js:521
|
||||||
msgid "connecting..."
|
msgid "connecting..."
|
||||||
msgstr "連線中…"
|
msgstr "連線中…"
|
||||||
|
|
||||||
#. Translators: this is for network connections that require some kind of key or password
|
#. Translators: this is for network connections that require some kind of key or password
|
||||||
#: ../js/ui/status/network.js:504
|
#: ../js/ui/status/network.js:524
|
||||||
msgid "authentication required"
|
msgid "authentication required"
|
||||||
msgstr "要求驗證"
|
msgstr "要求驗證"
|
||||||
|
|
||||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||||
#. module, which is missing
|
#. module, which is missing
|
||||||
#: ../js/ui/status/network.js:514
|
#: ../js/ui/status/network.js:534
|
||||||
msgid "firmware missing"
|
msgid "firmware missing"
|
||||||
msgstr "缺少韌體"
|
msgstr "缺少韌體"
|
||||||
|
|
||||||
#. Translators: this is for wired network devices that are physically disconnected
|
#. Translators: this is for wired network devices that are physically disconnected
|
||||||
#: ../js/ui/status/network.js:521
|
#: ../js/ui/status/network.js:541
|
||||||
msgid "cable unplugged"
|
msgid "cable unplugged"
|
||||||
msgstr "纜線已拔除"
|
msgstr "纜線已拔除"
|
||||||
|
|
||||||
#. Translators: this is for a network device that cannot be activated (for example it
|
#. Translators: this is for a network device that cannot be activated (for example it
|
||||||
#. is disabled by rfkill, or it has no coverage
|
#. is disabled by rfkill, or it has no coverage
|
||||||
#: ../js/ui/status/network.js:526
|
#: ../js/ui/status/network.js:546
|
||||||
msgid "unavailable"
|
msgid "unavailable"
|
||||||
msgstr "無法使用"
|
msgstr "無法使用"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:528
|
#: ../js/ui/status/network.js:548
|
||||||
msgid "connection failed"
|
msgid "connection failed"
|
||||||
msgstr "連線失敗"
|
msgstr "連線失敗"
|
||||||
|
|
||||||
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
||||||
#. and we cannot access its settings (including the name)
|
#. and we cannot access its settings (including the name)
|
||||||
#: ../js/ui/status/network.js:608 ../js/ui/status/network.js:1414
|
#: ../js/ui/status/network.js:628
|
||||||
|
#: ../js/ui/status/network.js:1446
|
||||||
msgid "Connected (private)"
|
msgid "Connected (private)"
|
||||||
msgstr "已連線 (私人)"
|
msgstr "已連線 (私人)"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:689
|
#: ../js/ui/status/network.js:713
|
||||||
msgid "Auto Ethernet"
|
msgid "Auto Ethernet"
|
||||||
msgstr "自動使用乙太網絡"
|
msgstr "自動使用乙太網絡"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:764
|
#: ../js/ui/status/network.js:788
|
||||||
msgid "Auto broadband"
|
msgid "Auto broadband"
|
||||||
msgstr "自動使用行動寬頻"
|
msgstr "自動使用行動寬頻"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:767
|
#: ../js/ui/status/network.js:791
|
||||||
msgid "Auto dial-up"
|
msgid "Auto dial-up"
|
||||||
msgstr "自動使用撥號"
|
msgstr "自動使用撥號"
|
||||||
|
|
||||||
#. TRANSLATORS: this the automatic wireless connection name (including the network name)
|
#. TRANSLATORS: this the automatic wireless connection name (including the network name)
|
||||||
#: ../js/ui/status/network.js:910 ../js/ui/status/network.js:1426
|
#: ../js/ui/status/network.js:937
|
||||||
|
#: ../js/ui/status/network.js:1458
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Auto %s"
|
msgid "Auto %s"
|
||||||
msgstr "自動使用 %s"
|
msgstr "自動使用 %s"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:912
|
#: ../js/ui/status/network.js:939
|
||||||
msgid "Auto bluetooth"
|
msgid "Auto bluetooth"
|
||||||
msgstr "自動使用藍牙"
|
msgstr "自動使用藍牙"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1428
|
#: ../js/ui/status/network.js:1460
|
||||||
msgid "Auto wireless"
|
msgid "Auto wireless"
|
||||||
msgstr "自動使用無線網絡"
|
msgstr "自動使用無線網絡"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1486
|
#: ../js/ui/status/network.js:1518
|
||||||
msgid "More..."
|
msgid "More..."
|
||||||
msgstr "更多…"
|
msgstr "更多…"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1509
|
#: ../js/ui/status/network.js:1541
|
||||||
msgid "Enable networking"
|
msgid "Enable networking"
|
||||||
msgstr "啟用網絡"
|
msgstr "啟用網絡"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1521
|
#: ../js/ui/status/network.js:1553
|
||||||
msgid "Wired"
|
msgid "Wired"
|
||||||
msgstr "有線"
|
msgstr "有線"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1532
|
#: ../js/ui/status/network.js:1564
|
||||||
msgid "Wireless"
|
msgid "Wireless"
|
||||||
msgstr "無線"
|
msgstr "無線"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1542
|
#: ../js/ui/status/network.js:1574
|
||||||
msgid "Mobile broadband"
|
msgid "Mobile broadband"
|
||||||
msgstr "行動寬頻"
|
msgstr "行動寬頻"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1552
|
#: ../js/ui/status/network.js:1584
|
||||||
msgid "VPN Connections"
|
msgid "VPN Connections"
|
||||||
msgstr "VPN 連線"
|
msgstr "VPN 連線"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1564
|
#: ../js/ui/status/network.js:1596
|
||||||
msgid "Network Settings"
|
msgid "Network Settings"
|
||||||
msgstr "網絡設定值"
|
msgstr "網絡設定值"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1854
|
#: ../js/ui/status/network.js:1890
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to mobile broadband connection '%s'"
|
msgid "You're now connected to mobile broadband connection '%s'"
|
||||||
msgstr "你現在已連線至行動寬頻網絡連線「%s」"
|
msgstr "你現在已連線至行動寬頻網絡連線「%s」"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1858
|
#: ../js/ui/status/network.js:1894
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to wireless network '%s'"
|
msgid "You're now connected to wireless network '%s'"
|
||||||
msgstr "你現在已連線到無線網絡「%s」"
|
msgstr "你現在已連線到無線網絡「%s」"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1862
|
#: ../js/ui/status/network.js:1898
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to wired network '%s'"
|
msgid "You're now connected to wired network '%s'"
|
||||||
msgstr "你現在已連線至有線網絡「%s」"
|
msgstr "你現在已連線至有線網絡「%s」"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1866
|
#: ../js/ui/status/network.js:1902
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to VPN network '%s'"
|
msgid "You're now connected to VPN network '%s'"
|
||||||
msgstr "你現在已連線至 VPN 網絡「%s」"
|
msgstr "你現在已連線至 VPN 網絡「%s」"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1871
|
#: ../js/ui/status/network.js:1907
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to '%s'"
|
msgid "You're now connected to '%s'"
|
||||||
msgstr "你現在已連線至「%s」"
|
msgstr "你現在已連線至「%s」"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1879
|
#: ../js/ui/status/network.js:1915
|
||||||
msgid "Connection established"
|
msgid "Connection established"
|
||||||
msgstr "連線已建立"
|
msgstr "連線已建立"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:2005
|
#: ../js/ui/status/network.js:2041
|
||||||
msgid "Networking is disabled"
|
msgid "Networking is disabled"
|
||||||
msgstr "網絡已停用"
|
msgstr "網絡已停用"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:2130
|
#: ../js/ui/status/network.js:2166
|
||||||
msgid "Network Manager"
|
msgid "Network Manager"
|
||||||
msgstr "網絡管理員"
|
msgstr "網絡管理員"
|
||||||
|
|
||||||
@ -1022,7 +1015,8 @@ msgstr "手寫板"
|
|||||||
msgid "Computer"
|
msgid "Computer"
|
||||||
msgstr "電腦"
|
msgstr "電腦"
|
||||||
|
|
||||||
#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:1088
|
#: ../js/ui/status/power.js:250
|
||||||
|
#: ../src/shell-app-system.c:1088
|
||||||
msgid "Unknown"
|
msgid "Unknown"
|
||||||
msgstr "不明"
|
msgstr "不明"
|
||||||
|
|
||||||
@ -1057,7 +1051,7 @@ msgstr "%s 正忙碌。"
|
|||||||
#. Translators: this is a time format string followed by a date.
|
#. Translators: this is a time format string followed by a date.
|
||||||
#. If applicable, replace %X with a strftime format valid for your
|
#. If applicable, replace %X with a strftime format valid for your
|
||||||
#. locale, without seconds.
|
#. locale, without seconds.
|
||||||
#: ../js/ui/telepathyClient.js:482
|
#: ../js/ui/telepathyClient.js:484
|
||||||
#, no-c-format
|
#, no-c-format
|
||||||
msgid "Sent at %X on %A"
|
msgid "Sent at %X on %A"
|
||||||
msgstr "傳送於 %X %A"
|
msgstr "傳送於 %X %A"
|
||||||
@ -1070,7 +1064,8 @@ msgstr "傳送於 %X %A"
|
|||||||
msgid "Type to search..."
|
msgid "Type to search..."
|
||||||
msgstr "輸入以搜尋…"
|
msgstr "輸入以搜尋…"
|
||||||
|
|
||||||
#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:250
|
#: ../js/ui/viewSelector.js:142
|
||||||
|
#: ../src/shell-util.c:250
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "搜尋"
|
msgstr "搜尋"
|
||||||
|
|
||||||
@ -1104,7 +1099,7 @@ msgstr[0] "%u 輸入"
|
|||||||
msgid "System Sounds"
|
msgid "System Sounds"
|
||||||
msgstr "系統音效"
|
msgstr "系統音效"
|
||||||
|
|
||||||
#: ../src/main.c:446
|
#: ../src/main.c:445
|
||||||
msgid "Print version"
|
msgid "Print version"
|
||||||
msgstr "顯示版本"
|
msgstr "顯示版本"
|
||||||
|
|
||||||
@ -1175,18 +1170,14 @@ msgstr "%1$s:%2$s"
|
|||||||
|
|
||||||
#~ msgid "Shut Down"
|
#~ msgid "Shut Down"
|
||||||
#~ msgstr "關機"
|
#~ msgstr "關機"
|
||||||
|
|
||||||
#~ msgid "Click Shut Down to quit these applications and shut down the system."
|
#~ msgid "Click Shut Down to quit these applications and shut down the system."
|
||||||
#~ msgstr "點選關機以結束這些應用程式並將系統關機。"
|
#~ msgstr "點選關機以結束這些應用程式並將系統關機。"
|
||||||
|
|
||||||
#~ msgid "The system will shut down automatically in %d seconds."
|
#~ msgid "The system will shut down automatically in %d seconds."
|
||||||
#~ msgstr "本系統會在 %d 秒後自動關閉。"
|
#~ msgstr "本系統會在 %d 秒後自動關閉。"
|
||||||
|
|
||||||
#~ msgid "Shutting down the system."
|
#~ msgid "Shutting down the system."
|
||||||
#~ msgstr "正在關閉系統。"
|
#~ msgstr "正在關閉系統。"
|
||||||
|
|
||||||
#~ msgid "Confirm"
|
#~ msgid "Confirm"
|
||||||
#~ msgstr "確認"
|
#~ msgstr "確認"
|
||||||
|
|
||||||
#~ msgid "No such application"
|
#~ msgid "No such application"
|
||||||
#~ msgstr "沒有這個應用程式"
|
#~ msgstr "沒有這個應用程式"
|
||||||
|
|
||||||
|
223
po/zh_TW.po
@ -6,10 +6,10 @@
|
|||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: gnome-shell 2.91.93\n"
|
"Project-Id-Version: gnome-shell 3.0.0.2\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2011-04-04 22:08+0800\n"
|
"POT-Creation-Date: 2011-04-24 05:52+0800\n"
|
||||||
"PO-Revision-Date: 2011-04-04 14:55+0800\n"
|
"PO-Revision-Date: 2011-04-24 05:54+0800\n"
|
||||||
"Last-Translator: Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>\n"
|
"Last-Translator: Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>\n"
|
||||||
"Language-Team: Chinese (Taiwan) <zh-l10n@lists.linux.org.tw>\n"
|
"Language-Team: Chinese (Taiwan) <zh-l10n@lists.linux.org.tw>\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
@ -27,9 +27,7 @@ msgid "Window management and application launching"
|
|||||||
msgstr "視窗管理與應用程式的執行"
|
msgstr "視窗管理與應用程式的執行"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:1
|
#: ../data/org.gnome.shell.gschema.xml.in.h:1
|
||||||
msgid ""
|
msgid "Allows access to internal debugging and monitoring tools using the Alt-F2 dialog."
|
||||||
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
|
|
||||||
"dialog."
|
|
||||||
msgstr "允許使用 Alt-F2 對話盒存取內部除錯和監控工具。"
|
msgstr "允許使用 Alt-F2 對話盒存取內部除錯和監控工具。"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:2
|
#: ../data/org.gnome.shell.gschema.xml.in.h:2
|
||||||
@ -45,9 +43,7 @@ msgid "Framerate used for recording screencasts."
|
|||||||
msgstr "錄製畫面廣播的框架率。"
|
msgstr "錄製畫面廣播的框架率。"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:5
|
#: ../data/org.gnome.shell.gschema.xml.in.h:5
|
||||||
msgid ""
|
msgid "GNOME Shell extensions have a uuid property; this key lists extensions which should not be loaded."
|
||||||
"GNOME Shell extensions have a uuid property; this key lists extensions which "
|
|
||||||
"should not be loaded."
|
|
||||||
msgstr "GNOME Shell 擴充功能有 uuid 屬性;這個設定鍵列出了不應載入的擴充功能。"
|
msgstr "GNOME Shell 擴充功能有 uuid 屬性;這個設定鍵列出了不應載入的擴充功能。"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:6
|
#: ../data/org.gnome.shell.gschema.xml.in.h:6
|
||||||
@ -76,25 +72,8 @@ msgstr "喜好的應用程式桌面檔案 ID 清單"
|
|||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:13
|
#: ../data/org.gnome.shell.gschema.xml.in.h:13
|
||||||
#, no-c-format
|
#, no-c-format
|
||||||
msgid ""
|
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 the recorded video is recorded. It will normally have a unconnected source pad; output from that pad will be written into the output file. However the pipeline can also take care of its own output - this might be used to send the output to an icecast server via shout2send or similar. When unset or set to an empty value, the default pipeline will be used. This is currently '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."
|
||||||
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
|
msgstr "設定用來錄製的 GStreamer 管線。它依據 gst-launch 使用的語法。管線應該要有未連接的出口(sink pad),提供錄製視訊之用。它通常會有未連接的入口(source pad);從出口輸出的資訊就寫入輸出檔案。然而管線本身也會處理它本身的輸出 - 習慣上是透過 shout2send 之類將輸出傳送到 icecast 伺服器。當取消設定或設定為空值時,就會使用預設的管線。這個值目前為 'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' 即使用 VP8 codec 錄製 WEBM。%T 是在系統的最佳化執行緒計數猜測時使用的佔位符。"
|
||||||
"used for gst-launch. The pipeline should have an unconnected sink pad where "
|
|
||||||
"the recorded video is recorded. It will normally have a unconnected source "
|
|
||||||
"pad; output from that pad will be written into the output file. However the "
|
|
||||||
"pipeline can also take care of its own output - this might be used to send "
|
|
||||||
"the output to an icecast server via shout2send or similar. When unset or set "
|
|
||||||
"to an empty value, the default pipeline will be used. This is currently "
|
|
||||||
"'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 ""
|
|
||||||
"設定用來錄製的 GStreamer 管線。它依據 gst-launch 使用的語法。管線應該要有未連"
|
|
||||||
"接的出口(sink pad),提供錄製視訊之用。它通常會有未連接的入口(source pad);從"
|
|
||||||
"出口輸出的資訊就寫入輸出檔案。然而管線本身也會處理它本身的輸出 - 習慣上是透"
|
|
||||||
"過 shout2send 之類將輸出傳送到 icecast 伺服器。當取消設定或設定為空值時,就會"
|
|
||||||
"使用預設的管線。這個值目前為 'videorate ! vp8enc quality=10 speed=2 threads="
|
|
||||||
"%T ! queue ! webmmux' 即使用 VP8 codec 錄製 WEBM。%T 是在系統的最佳化執行緒計"
|
|
||||||
"數猜測時使用的佔位符。"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:14
|
#: ../data/org.gnome.shell.gschema.xml.in.h:14
|
||||||
msgid "Show date in clock"
|
msgid "Show date in clock"
|
||||||
@ -109,42 +88,24 @@ msgid "Show time with seconds"
|
|||||||
msgstr "在時刻中顯示秒數"
|
msgstr "在時刻中顯示秒數"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:17
|
#: ../data/org.gnome.shell.gschema.xml.in.h:17
|
||||||
msgid ""
|
msgid "The applications corresponding to these identifiers will be displayed in the favorites area."
|
||||||
"The applications corresponding to these identifiers will be displayed in the "
|
|
||||||
"favorites area."
|
|
||||||
msgstr "對應這些辨別碼的應用程式會顯示在喜好區域。"
|
msgstr "對應這些辨別碼的應用程式會顯示在喜好區域。"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:18
|
#: ../data/org.gnome.shell.gschema.xml.in.h:18
|
||||||
msgid ""
|
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 a different container format."
|
||||||
"The filename for recorded screencasts will be a unique filename based on the "
|
msgstr "錄製好的畫面廣播檔案名稱會以目前的時刻作為獨特的檔名,並使用這個延伸檔名。當錄製為不同的容器格式時應該做適當變更。"
|
||||||
"current date, and use this extension. It should be changed when recording to "
|
|
||||||
"a different container format."
|
|
||||||
msgstr ""
|
|
||||||
"錄製好的畫面廣播檔案名稱會以目前的時刻作為獨特的檔名,並使用這個延伸檔名。當"
|
|
||||||
"錄製為不同的容器格式時應該做適當變更。"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:19
|
#: ../data/org.gnome.shell.gschema.xml.in.h:19
|
||||||
msgid ""
|
msgid "The framerate of the resulting screencast recordered by GNOME Shell's screencast recorder in frames-per-second."
|
||||||
"The framerate of the resulting screencast recordered by GNOME Shell's "
|
msgstr "由 GNOME Shell 的畫面廣播錄製程式所錄製成果的框架率,以 frames-per-second 計。"
|
||||||
"screencast recorder in frames-per-second."
|
|
||||||
msgstr ""
|
|
||||||
"由 GNOME Shell 的畫面廣播錄製程式所錄製成果的框架率,以 frames-per-second "
|
|
||||||
"計。"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:20
|
#: ../data/org.gnome.shell.gschema.xml.in.h:20
|
||||||
msgid "The gstreamer pipeline used to encode the screencast"
|
msgid "The gstreamer pipeline used to encode the screencast"
|
||||||
msgstr "用來編碼畫面廣播的 gstreamer 管線"
|
msgstr "用來編碼畫面廣播的 gstreamer 管線"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:21
|
#: ../data/org.gnome.shell.gschema.xml.in.h:21
|
||||||
msgid ""
|
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."
|
||||||
"The shell normally monitors active applications in order to present the most "
|
msgstr "這個 shell 通常會監控使用中的應用程式以便能顯示出最常使用的(例如,在程式執行器中)。雖然這個資料會保持隱密,但是您可能會基於隱私的理由想要停用這個功能。請注意這麼做並不會移除已儲存的資料。"
|
||||||
"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 ""
|
|
||||||
"這個 shell 通常會監控使用中的應用程式以便能顯示出最常使用的(例如,在程式執行"
|
|
||||||
"器中)。雖然這個資料會保持隱密,但是您可能會基於隱私的理由想要停用這個功能。"
|
|
||||||
"請注意這麼做並不會移除已儲存的資料。"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:22
|
#: ../data/org.gnome.shell.gschema.xml.in.h:22
|
||||||
msgid "Uuids of extensions to disable"
|
msgid "Uuids of extensions to disable"
|
||||||
@ -178,23 +139,23 @@ msgstr "執行「%s」失敗:"
|
|||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "全部"
|
msgstr "全部"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:328
|
#: ../js/ui/appDisplay.js:329
|
||||||
msgid "APPLICATIONS"
|
msgid "APPLICATIONS"
|
||||||
msgstr "程式集"
|
msgstr "程式集"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:354
|
#: ../js/ui/appDisplay.js:355
|
||||||
msgid "SETTINGS"
|
msgid "SETTINGS"
|
||||||
msgstr "設定值"
|
msgstr "設定值"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:625
|
#: ../js/ui/appDisplay.js:626
|
||||||
msgid "New Window"
|
msgid "New Window"
|
||||||
msgstr "新視窗"
|
msgstr "新視窗"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:628
|
#: ../js/ui/appDisplay.js:629
|
||||||
msgid "Remove from Favorites"
|
msgid "Remove from Favorites"
|
||||||
msgstr "自喜好中移除"
|
msgstr "自喜好中移除"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:629
|
#: ../js/ui/appDisplay.js:630
|
||||||
msgid "Add to Favorites"
|
msgid "Add to Favorites"
|
||||||
msgstr "加入喜好"
|
msgstr "加入喜好"
|
||||||
|
|
||||||
@ -327,13 +288,15 @@ msgid "Nothing Scheduled"
|
|||||||
msgstr "沒有預訂行程"
|
msgstr "沒有預訂行程"
|
||||||
|
|
||||||
#. Translators: Shown on calendar heading when selected day occurs on current year
|
#. 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:492
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d"
|
msgid "%A, %B %d"
|
||||||
msgstr "%m月%d日%A"
|
msgstr "%m月%d日%A"
|
||||||
|
|
||||||
#. Translators: Shown on calendar heading when selected day occurs on different year
|
#. 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:495
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d, %Y"
|
msgid "%A, %B %d, %Y"
|
||||||
msgstr "%Y年%m月%d日%A"
|
msgstr "%Y年%m月%d日%A"
|
||||||
@ -354,7 +317,8 @@ msgstr "本週"
|
|||||||
msgid "Next week"
|
msgid "Next week"
|
||||||
msgstr "下週"
|
msgstr "下週"
|
||||||
|
|
||||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1007
|
#: ../js/ui/dash.js:174
|
||||||
|
#: ../js/ui/messageTray.js:1037
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr "移除"
|
msgstr "移除"
|
||||||
|
|
||||||
@ -370,41 +334,41 @@ msgstr "開啟行事曆"
|
|||||||
#. in 24-hour mode.
|
#. in 24-hour mode.
|
||||||
#: ../js/ui/dateMenu.js:164
|
#: ../js/ui/dateMenu.js:164
|
||||||
msgid "%a %b %e, %R:%S"
|
msgid "%a %b %e, %R:%S"
|
||||||
msgstr "%m月%e日%a, %R:%S"
|
msgstr "%m月%e日(%a), %R:%S"
|
||||||
|
|
||||||
#: ../js/ui/dateMenu.js:165
|
#: ../js/ui/dateMenu.js:165
|
||||||
msgid "%a %b %e, %R"
|
msgid "%a %b %e, %R"
|
||||||
msgstr "%m月%e日%a, %R"
|
msgstr "%m月%e日(%a), %R"
|
||||||
|
|
||||||
#. Translators: This is the time format without date used
|
#. Translators: This is the time format without date used
|
||||||
#. in 24-hour mode.
|
#. in 24-hour mode.
|
||||||
#: ../js/ui/dateMenu.js:169
|
#: ../js/ui/dateMenu.js:169
|
||||||
msgid "%a %R:%S"
|
msgid "%a %R:%S"
|
||||||
msgstr "%a %R:%S"
|
msgstr "(%a)%R:%S"
|
||||||
|
|
||||||
#: ../js/ui/dateMenu.js:170
|
#: ../js/ui/dateMenu.js:170
|
||||||
msgid "%a %R"
|
msgid "%a %R"
|
||||||
msgstr "%a %R"
|
msgstr "(%a)%R"
|
||||||
|
|
||||||
#. Translators: This is a time format with date used
|
#. Translators: This is a time format with date used
|
||||||
#. for AM/PM.
|
#. for AM/PM.
|
||||||
#: ../js/ui/dateMenu.js:177
|
#: ../js/ui/dateMenu.js:177
|
||||||
msgid "%a %b %e, %l:%M:%S %p"
|
msgid "%a %b %e, %l:%M:%S %p"
|
||||||
msgstr "%m月%e日%a, %p %l:%M:%S"
|
msgstr "%m月%e日(%a), %p %l:%M:%S"
|
||||||
|
|
||||||
#: ../js/ui/dateMenu.js:178
|
#: ../js/ui/dateMenu.js:178
|
||||||
msgid "%a %b %e, %l:%M %p"
|
msgid "%a %b %e, %l:%M %p"
|
||||||
msgstr "%m月%e日%a, %p %l:%M"
|
msgstr "%m月%e日(%a), %p %l:%M"
|
||||||
|
|
||||||
#. Translators: This is a time format without date used
|
#. Translators: This is a time format without date used
|
||||||
#. for AM/PM.
|
#. for AM/PM.
|
||||||
#: ../js/ui/dateMenu.js:182
|
#: ../js/ui/dateMenu.js:182
|
||||||
msgid "%a %l:%M:%S %p"
|
msgid "%a %l:%M:%S %p"
|
||||||
msgstr "%a %p %l:%M:%S"
|
msgstr "(%a)%p %l:%M:%S"
|
||||||
|
|
||||||
#: ../js/ui/dateMenu.js:183
|
#: ../js/ui/dateMenu.js:183
|
||||||
msgid "%a %l:%M %p"
|
msgid "%a %l:%M %p"
|
||||||
msgstr "%a %p %l:%M"
|
msgstr "(%a)%p %l:%M"
|
||||||
|
|
||||||
#. Translators: This is the date format to use when the calendar popup is
|
#. Translators: This is the date format to use when the calendar popup is
|
||||||
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
|
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
|
||||||
@ -422,7 +386,8 @@ msgstr "最近使用項目"
|
|||||||
msgid "Log Out %s"
|
msgid "Log Out %s"
|
||||||
msgstr "登出 %s"
|
msgstr "登出 %s"
|
||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:70
|
#: ../js/ui/endSessionDialog.js:64
|
||||||
|
#: ../js/ui/endSessionDialog.js:70
|
||||||
msgid "Log Out"
|
msgid "Log Out"
|
||||||
msgstr "登出"
|
msgstr "登出"
|
||||||
|
|
||||||
@ -444,7 +409,8 @@ msgstr "您會在 %d 秒後自動登出。"
|
|||||||
msgid "Logging out of the system."
|
msgid "Logging out of the system."
|
||||||
msgstr "登出系統。"
|
msgstr "登出系統。"
|
||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:75 ../js/ui/endSessionDialog.js:82
|
#: ../js/ui/endSessionDialog.js:75
|
||||||
|
#: ../js/ui/endSessionDialog.js:82
|
||||||
msgid "Power Off"
|
msgid "Power Off"
|
||||||
msgstr "關閉電源"
|
msgstr "關閉電源"
|
||||||
|
|
||||||
@ -461,7 +427,8 @@ msgstr "本系統會在 %d 秒後電源。"
|
|||||||
msgid "Powering off the system."
|
msgid "Powering off the system."
|
||||||
msgstr "關閉系統的電源。"
|
msgstr "關閉系統的電源。"
|
||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:80 ../js/ui/endSessionDialog.js:88
|
#: ../js/ui/endSessionDialog.js:80
|
||||||
|
#: ../js/ui/endSessionDialog.js:88
|
||||||
#: ../js/ui/endSessionDialog.js:93
|
#: ../js/ui/endSessionDialog.js:93
|
||||||
msgid "Restart"
|
msgid "Restart"
|
||||||
msgstr "重新啟動"
|
msgstr "重新啟動"
|
||||||
@ -479,7 +446,8 @@ msgstr "系統會在 %d 秒內自動重新啟動。"
|
|||||||
msgid "Restarting the system."
|
msgid "Restarting the system."
|
||||||
msgstr "重新啟動系統。"
|
msgstr "重新啟動系統。"
|
||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:417 ../js/ui/polkitAuthenticationAgent.js:172
|
#: ../js/ui/endSessionDialog.js:413
|
||||||
|
#: ../js/ui/polkitAuthenticationAgent.js:172
|
||||||
#: ../js/ui/status/bluetooth.js:466
|
#: ../js/ui/status/bluetooth.js:466
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "取消"
|
msgstr "取消"
|
||||||
@ -494,7 +462,8 @@ msgstr "已啟用"
|
|||||||
|
|
||||||
#. translators:
|
#. translators:
|
||||||
#. * The device has been disabled
|
#. * The device has been disabled
|
||||||
#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1091
|
#: ../js/ui/lookingGlass.js:627
|
||||||
|
#: ../src/gvc/gvc-mixer-control.c:1091
|
||||||
msgid "Disabled"
|
msgid "Disabled"
|
||||||
msgstr "已停用"
|
msgstr "已停用"
|
||||||
|
|
||||||
@ -514,11 +483,11 @@ msgstr "檢示來源"
|
|||||||
msgid "Web Page"
|
msgid "Web Page"
|
||||||
msgstr "網頁"
|
msgstr "網頁"
|
||||||
|
|
||||||
#: ../js/ui/messageTray.js:1000
|
#: ../js/ui/messageTray.js:1030
|
||||||
msgid "Open"
|
msgid "Open"
|
||||||
msgstr "開啟"
|
msgstr "開啟"
|
||||||
|
|
||||||
#: ../js/ui/messageTray.js:2164
|
#: ../js/ui/messageTray.js:2194
|
||||||
msgid "System Information"
|
msgid "System Information"
|
||||||
msgstr "系統資訊"
|
msgstr "系統資訊"
|
||||||
|
|
||||||
@ -618,18 +587,20 @@ msgstr "搜尋中…"
|
|||||||
msgid "No matching results."
|
msgid "No matching results."
|
||||||
msgstr "沒有相符的結果。"
|
msgstr "沒有相符的結果。"
|
||||||
|
|
||||||
#: ../js/ui/statusMenu.js:161 ../js/ui/statusMenu.js:163
|
#: ../js/ui/statusMenu.js:161
|
||||||
|
#: ../js/ui/statusMenu.js:163
|
||||||
#: ../js/ui/statusMenu.js:228
|
#: ../js/ui/statusMenu.js:228
|
||||||
msgid "Power Off..."
|
msgid "Power Off..."
|
||||||
msgstr "關閉電源…"
|
msgstr "關閉電源…"
|
||||||
|
|
||||||
#: ../js/ui/statusMenu.js:163 ../js/ui/statusMenu.js:227
|
#: ../js/ui/statusMenu.js:163
|
||||||
|
#: ../js/ui/statusMenu.js:227
|
||||||
msgid "Suspend"
|
msgid "Suspend"
|
||||||
msgstr "暫停"
|
msgstr "暫停"
|
||||||
|
|
||||||
#: ../js/ui/statusMenu.js:184
|
#: ../js/ui/statusMenu.js:184
|
||||||
msgid "Available"
|
msgid "Available"
|
||||||
msgstr "可用"
|
msgstr "有空"
|
||||||
|
|
||||||
#: ../js/ui/statusMenu.js:189
|
#: ../js/ui/statusMenu.js:189
|
||||||
msgid "Busy"
|
msgid "Busy"
|
||||||
@ -697,9 +668,12 @@ msgstr "高反差"
|
|||||||
msgid "Large Text"
|
msgid "Large Text"
|
||||||
msgstr "大型文字"
|
msgstr "大型文字"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:237
|
#: ../js/ui/status/bluetooth.js:42
|
||||||
#: ../js/ui/status/bluetooth.js:333 ../js/ui/status/bluetooth.js:367
|
#: ../js/ui/status/bluetooth.js:237
|
||||||
#: ../js/ui/status/bluetooth.js:407 ../js/ui/status/bluetooth.js:440
|
#: ../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"
|
msgid "Bluetooth"
|
||||||
msgstr "藍牙"
|
msgstr "藍牙"
|
||||||
|
|
||||||
@ -748,7 +722,8 @@ msgstr "鍵盤設定值"
|
|||||||
msgid "Mouse Settings"
|
msgid "Mouse Settings"
|
||||||
msgstr "滑鼠設定值"
|
msgstr "滑鼠設定值"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:259 ../js/ui/status/volume.js:66
|
#: ../js/ui/status/bluetooth.js:259
|
||||||
|
#: ../js/ui/status/volume.js:66
|
||||||
msgid "Sound Settings"
|
msgid "Sound Settings"
|
||||||
msgstr "音效設定值"
|
msgstr "音效設定值"
|
||||||
|
|
||||||
@ -779,7 +754,8 @@ msgstr "拒絕"
|
|||||||
msgid "Pairing confirmation for %s"
|
msgid "Pairing confirmation for %s"
|
||||||
msgstr "%s 的配對確認"
|
msgstr "%s 的配對確認"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:448
|
#: ../js/ui/status/bluetooth.js:414
|
||||||
|
#: ../js/ui/status/bluetooth.js:448
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Device %s wants to pair with this computer"
|
msgid "Device %s wants to pair with this computer"
|
||||||
msgstr "裝置 %s 想要和這個電腦配對"
|
msgstr "裝置 %s 想要和這個電腦配對"
|
||||||
@ -818,139 +794,142 @@ msgstr "顯示鍵盤配置…"
|
|||||||
msgid "Localization Settings"
|
msgid "Localization Settings"
|
||||||
msgstr "本地化設定值"
|
msgstr "本地化設定值"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:105 ../js/ui/status/network.js:1466
|
#: ../js/ui/status/network.js:109
|
||||||
|
#: ../js/ui/status/network.js:1498
|
||||||
msgid "<unknown>"
|
msgid "<unknown>"
|
||||||
msgstr "<不明>"
|
msgstr "<不明>"
|
||||||
|
|
||||||
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
|
||||||
#: ../js/ui/status/network.js:318
|
#: ../js/ui/status/network.js:326
|
||||||
msgid "disabled"
|
msgid "disabled"
|
||||||
msgstr "已停用"
|
msgstr "已停用"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:501
|
#: ../js/ui/status/network.js:521
|
||||||
msgid "connecting..."
|
msgid "connecting..."
|
||||||
msgstr "連線中…"
|
msgstr "連線中…"
|
||||||
|
|
||||||
#. Translators: this is for network connections that require some kind of key or password
|
#. Translators: this is for network connections that require some kind of key or password
|
||||||
#: ../js/ui/status/network.js:504
|
#: ../js/ui/status/network.js:524
|
||||||
msgid "authentication required"
|
msgid "authentication required"
|
||||||
msgstr "要求驗證"
|
msgstr "要求驗證"
|
||||||
|
|
||||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||||
#. module, which is missing
|
#. module, which is missing
|
||||||
#: ../js/ui/status/network.js:514
|
#: ../js/ui/status/network.js:534
|
||||||
msgid "firmware missing"
|
msgid "firmware missing"
|
||||||
msgstr "缺少韌體"
|
msgstr "缺少韌體"
|
||||||
|
|
||||||
#. Translators: this is for wired network devices that are physically disconnected
|
#. Translators: this is for wired network devices that are physically disconnected
|
||||||
#: ../js/ui/status/network.js:521
|
#: ../js/ui/status/network.js:541
|
||||||
msgid "cable unplugged"
|
msgid "cable unplugged"
|
||||||
msgstr "纜線已拔除"
|
msgstr "纜線已拔除"
|
||||||
|
|
||||||
#. Translators: this is for a network device that cannot be activated (for example it
|
#. Translators: this is for a network device that cannot be activated (for example it
|
||||||
#. is disabled by rfkill, or it has no coverage
|
#. is disabled by rfkill, or it has no coverage
|
||||||
#: ../js/ui/status/network.js:526
|
#: ../js/ui/status/network.js:546
|
||||||
msgid "unavailable"
|
msgid "unavailable"
|
||||||
msgstr "無法使用"
|
msgstr "無法使用"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:528
|
#: ../js/ui/status/network.js:548
|
||||||
msgid "connection failed"
|
msgid "connection failed"
|
||||||
msgstr "連線失敗"
|
msgstr "連線失敗"
|
||||||
|
|
||||||
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
||||||
#. and we cannot access its settings (including the name)
|
#. and we cannot access its settings (including the name)
|
||||||
#: ../js/ui/status/network.js:608 ../js/ui/status/network.js:1414
|
#: ../js/ui/status/network.js:628
|
||||||
|
#: ../js/ui/status/network.js:1446
|
||||||
msgid "Connected (private)"
|
msgid "Connected (private)"
|
||||||
msgstr "已連線 (私人)"
|
msgstr "已連線 (私人)"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:689
|
#: ../js/ui/status/network.js:713
|
||||||
msgid "Auto Ethernet"
|
msgid "Auto Ethernet"
|
||||||
msgstr "自動使用乙太網路"
|
msgstr "自動使用乙太網路"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:764
|
#: ../js/ui/status/network.js:788
|
||||||
msgid "Auto broadband"
|
msgid "Auto broadband"
|
||||||
msgstr "自動使用行動寬頻"
|
msgstr "自動使用行動寬頻"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:767
|
#: ../js/ui/status/network.js:791
|
||||||
msgid "Auto dial-up"
|
msgid "Auto dial-up"
|
||||||
msgstr "自動使用撥接"
|
msgstr "自動使用撥接"
|
||||||
|
|
||||||
#. TRANSLATORS: this the automatic wireless connection name (including the network name)
|
#. TRANSLATORS: this the automatic wireless connection name (including the network name)
|
||||||
#: ../js/ui/status/network.js:910 ../js/ui/status/network.js:1426
|
#: ../js/ui/status/network.js:937
|
||||||
|
#: ../js/ui/status/network.js:1458
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Auto %s"
|
msgid "Auto %s"
|
||||||
msgstr "自動使用 %s"
|
msgstr "自動使用 %s"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:912
|
#: ../js/ui/status/network.js:939
|
||||||
msgid "Auto bluetooth"
|
msgid "Auto bluetooth"
|
||||||
msgstr "自動使用藍牙"
|
msgstr "自動使用藍牙"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1428
|
#: ../js/ui/status/network.js:1460
|
||||||
msgid "Auto wireless"
|
msgid "Auto wireless"
|
||||||
msgstr "自動使用無線網路"
|
msgstr "自動使用無線網路"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1486
|
#: ../js/ui/status/network.js:1518
|
||||||
msgid "More..."
|
msgid "More..."
|
||||||
msgstr "更多…"
|
msgstr "更多…"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1509
|
#: ../js/ui/status/network.js:1541
|
||||||
msgid "Enable networking"
|
msgid "Enable networking"
|
||||||
msgstr "啟用網路"
|
msgstr "啟用網路"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1521
|
#: ../js/ui/status/network.js:1553
|
||||||
msgid "Wired"
|
msgid "Wired"
|
||||||
msgstr "有線"
|
msgstr "有線"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1532
|
#: ../js/ui/status/network.js:1564
|
||||||
msgid "Wireless"
|
msgid "Wireless"
|
||||||
msgstr "無線"
|
msgstr "無線"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1542
|
#: ../js/ui/status/network.js:1574
|
||||||
msgid "Mobile broadband"
|
msgid "Mobile broadband"
|
||||||
msgstr "行動寬頻"
|
msgstr "行動寬頻"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1552
|
#: ../js/ui/status/network.js:1584
|
||||||
msgid "VPN Connections"
|
msgid "VPN Connections"
|
||||||
msgstr "VPN 連線"
|
msgstr "VPN 連線"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1564
|
#: ../js/ui/status/network.js:1596
|
||||||
msgid "Network Settings"
|
msgid "Network Settings"
|
||||||
msgstr "網路設定值"
|
msgstr "網路設定值"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1854
|
#: ../js/ui/status/network.js:1890
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to mobile broadband connection '%s'"
|
msgid "You're now connected to mobile broadband connection '%s'"
|
||||||
msgstr "您現在已連線至行動寬頻網路連線「%s」"
|
msgstr "您現在已連線至行動寬頻網路連線「%s」"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1858
|
#: ../js/ui/status/network.js:1894
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to wireless network '%s'"
|
msgid "You're now connected to wireless network '%s'"
|
||||||
msgstr "您現在已連線到無線網路「%s」"
|
msgstr "您現在已連線到無線網路「%s」"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1862
|
#: ../js/ui/status/network.js:1898
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to wired network '%s'"
|
msgid "You're now connected to wired network '%s'"
|
||||||
msgstr "您現在已連線至有線網路「%s」"
|
msgstr "您現在已連線至有線網路「%s」"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1866
|
#: ../js/ui/status/network.js:1902
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to VPN network '%s'"
|
msgid "You're now connected to VPN network '%s'"
|
||||||
msgstr "您現在已連線至 VPN 網路「%s」"
|
msgstr "您現在已連線至 VPN 網路「%s」"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1871
|
#: ../js/ui/status/network.js:1907
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "You're now connected to '%s'"
|
msgid "You're now connected to '%s'"
|
||||||
msgstr "您現在已連線至「%s」"
|
msgstr "您現在已連線至「%s」"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1879
|
#: ../js/ui/status/network.js:1915
|
||||||
msgid "Connection established"
|
msgid "Connection established"
|
||||||
msgstr "連線已建立"
|
msgstr "連線已建立"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:2005
|
#: ../js/ui/status/network.js:2041
|
||||||
msgid "Networking is disabled"
|
msgid "Networking is disabled"
|
||||||
msgstr "網路已停用"
|
msgstr "網路已停用"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:2130
|
#: ../js/ui/status/network.js:2166
|
||||||
msgid "Network Manager"
|
msgid "Network Manager"
|
||||||
msgstr "網路管理員"
|
msgstr "網路管理員"
|
||||||
|
|
||||||
@ -1036,7 +1015,8 @@ msgstr "手寫板"
|
|||||||
msgid "Computer"
|
msgid "Computer"
|
||||||
msgstr "電腦"
|
msgstr "電腦"
|
||||||
|
|
||||||
#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:1088
|
#: ../js/ui/status/power.js:250
|
||||||
|
#: ../src/shell-app-system.c:1088
|
||||||
msgid "Unknown"
|
msgid "Unknown"
|
||||||
msgstr "不明"
|
msgstr "不明"
|
||||||
|
|
||||||
@ -1071,7 +1051,7 @@ msgstr "%s 正忙碌。"
|
|||||||
#. Translators: this is a time format string followed by a date.
|
#. Translators: this is a time format string followed by a date.
|
||||||
#. If applicable, replace %X with a strftime format valid for your
|
#. If applicable, replace %X with a strftime format valid for your
|
||||||
#. locale, without seconds.
|
#. locale, without seconds.
|
||||||
#: ../js/ui/telepathyClient.js:482
|
#: ../js/ui/telepathyClient.js:484
|
||||||
#, no-c-format
|
#, no-c-format
|
||||||
msgid "Sent at %X on %A"
|
msgid "Sent at %X on %A"
|
||||||
msgstr "傳送於 %X %A"
|
msgstr "傳送於 %X %A"
|
||||||
@ -1084,7 +1064,8 @@ msgstr "傳送於 %X %A"
|
|||||||
msgid "Type to search..."
|
msgid "Type to search..."
|
||||||
msgstr "輸入以搜尋…"
|
msgstr "輸入以搜尋…"
|
||||||
|
|
||||||
#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:250
|
#: ../js/ui/viewSelector.js:142
|
||||||
|
#: ../src/shell-util.c:250
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "搜尋"
|
msgstr "搜尋"
|
||||||
|
|
||||||
@ -1118,7 +1099,7 @@ msgstr[0] "%u 輸入"
|
|||||||
msgid "System Sounds"
|
msgid "System Sounds"
|
||||||
msgstr "系統音效"
|
msgstr "系統音效"
|
||||||
|
|
||||||
#: ../src/main.c:446
|
#: ../src/main.c:445
|
||||||
msgid "Print version"
|
msgid "Print version"
|
||||||
msgstr "顯示版本"
|
msgstr "顯示版本"
|
||||||
|
|
||||||
@ -1189,18 +1170,14 @@ msgstr "%1$s:%2$s"
|
|||||||
|
|
||||||
#~ msgid "Shut Down"
|
#~ msgid "Shut Down"
|
||||||
#~ msgstr "關機"
|
#~ msgstr "關機"
|
||||||
|
|
||||||
#~ msgid "Click Shut Down to quit these applications and shut down the system."
|
#~ msgid "Click Shut Down to quit these applications and shut down the system."
|
||||||
#~ msgstr "點選關機以結束這些應用程式並將系統關機。"
|
#~ msgstr "點選關機以結束這些應用程式並將系統關機。"
|
||||||
|
|
||||||
#~ msgid "The system will shut down automatically in %d seconds."
|
#~ msgid "The system will shut down automatically in %d seconds."
|
||||||
#~ msgstr "本系統會在 %d 秒後自動關閉。"
|
#~ msgstr "本系統會在 %d 秒後自動關閉。"
|
||||||
|
|
||||||
#~ msgid "Shutting down the system."
|
#~ msgid "Shutting down the system."
|
||||||
#~ msgstr "正在關閉系統。"
|
#~ msgstr "正在關閉系統。"
|
||||||
|
|
||||||
#~ msgid "Confirm"
|
#~ msgid "Confirm"
|
||||||
#~ msgstr "確認"
|
#~ msgstr "確認"
|
||||||
|
|
||||||
#~ msgid "No such application"
|
#~ msgid "No such application"
|
||||||
#~ msgstr "沒有這個應用程式"
|
#~ msgstr "沒有這個應用程式"
|
||||||
|
|
||||||
|
@ -29,9 +29,11 @@ endif
|
|||||||
|
|
||||||
noinst_DATA = gnome-shell
|
noinst_DATA = gnome-shell
|
||||||
gnome-shell: $(gnome_shell) Makefile
|
gnome-shell: $(gnome_shell) Makefile
|
||||||
cp $< $@.tmp && mv $@.tmp $@
|
$(AM_V_GEN) cp $< $@.tmp && mv $@.tmp $@
|
||||||
install-exec-hook:
|
install-exec-hook:
|
||||||
mv $(DESTDIR)$(bindir)/$(gnome_shell) $(DESTDIR)$(bindir)/gnome-shell
|
mv $(DESTDIR)$(bindir)/$(gnome_shell) $(DESTDIR)$(bindir)/gnome-shell
|
||||||
|
uninstall-hook:
|
||||||
|
rm -f $(DESTDIR)$(bindir)/gnome-shell
|
||||||
|
|
||||||
generated_script_substitutions = \
|
generated_script_substitutions = \
|
||||||
-e "s|@bindir[@]|$(bindir)|" \
|
-e "s|@bindir[@]|$(bindir)|" \
|
||||||
@ -98,6 +100,7 @@ shell_public_headers_h = \
|
|||||||
shell-perf-log.h \
|
shell-perf-log.h \
|
||||||
shell-slicer.h \
|
shell-slicer.h \
|
||||||
shell-stack.h \
|
shell-stack.h \
|
||||||
|
shell-tp-client.h \
|
||||||
shell-tray-icon.h \
|
shell-tray-icon.h \
|
||||||
shell-tray-manager.h \
|
shell-tray-manager.h \
|
||||||
shell-util.h \
|
shell-util.h \
|
||||||
@ -132,6 +135,7 @@ libgnome_shell_la_SOURCES = \
|
|||||||
shell-polkit-authentication-agent.c \
|
shell-polkit-authentication-agent.c \
|
||||||
shell-slicer.c \
|
shell-slicer.c \
|
||||||
shell-stack.c \
|
shell-stack.c \
|
||||||
|
shell-tp-client.c \
|
||||||
shell-tray-icon.c \
|
shell-tray-icon.c \
|
||||||
shell-tray-manager.c \
|
shell-tray-manager.c \
|
||||||
shell-util.c \
|
shell-util.c \
|
||||||
@ -182,27 +186,10 @@ 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
|
noinst_PROGRAMS += run-js-test
|
||||||
|
|
||||||
run_js_test_CPPFLAGS = $(JS_TEST_CFLAGS)
|
run_js_test_CPPFLAGS = $(gnome_shell_cflags)
|
||||||
run_js_test_LDADD = $(JS_TEST_LIBS) libjs-test.la
|
run_js_test_LDADD = libgnome-shell.la $(libgnome_shell_la_LIBADD)
|
||||||
run_js_test_LDFLAGS = -export-dynamic
|
run_js_test_LDFLAGS = -export-dynamic
|
||||||
|
|
||||||
run_js_test_SOURCES = \
|
run_js_test_SOURCES = \
|
||||||
|
@ -178,7 +178,8 @@ gnome_shell_plugin_start (MetaPlugin *plugin)
|
|||||||
gjs_context = _shell_global_get_gjs_context (shell_plugin->global);
|
gjs_context = _shell_global_get_gjs_context (shell_plugin->global);
|
||||||
|
|
||||||
if (!gjs_context_eval (gjs_context,
|
if (!gjs_context_eval (gjs_context,
|
||||||
"const Main = imports.ui.main; Main.start();",
|
"imports.ui.environment.init();"
|
||||||
|
"imports.ui.main.start();",
|
||||||
-1,
|
-1,
|
||||||
"<main>",
|
"<main>",
|
||||||
&status,
|
&status,
|
||||||
|
16
src/main.c
@ -73,13 +73,10 @@ shell_dbus_init (gboolean replace)
|
|||||||
exit (1);
|
exit (1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Also grab org.gnome.Panel to replace any existing panel process,
|
/* Also grab org.gnome.Panel to replace any existing panel process */
|
||||||
* unless a special environment variable is passed. The environment
|
|
||||||
* variable is used by the gnome-shell (no --replace) launcher in
|
|
||||||
* Xephyr */
|
|
||||||
if (!dbus_g_proxy_call (bus, "RequestName", &error, G_TYPE_STRING,
|
if (!dbus_g_proxy_call (bus, "RequestName", &error, G_TYPE_STRING,
|
||||||
"org.gnome.Panel", G_TYPE_UINT,
|
"org.gnome.Panel", G_TYPE_UINT,
|
||||||
DBUS_NAME_FLAG_REPLACE_EXISTING | DBUS_NAME_FLAG_DO_NOT_QUEUE,
|
DBUS_NAME_FLAG_REPLACE_EXISTING | request_name_flags,
|
||||||
G_TYPE_INVALID, G_TYPE_UINT,
|
G_TYPE_INVALID, G_TYPE_UINT,
|
||||||
&request_name_result, G_TYPE_INVALID))
|
&request_name_result, G_TYPE_INVALID))
|
||||||
{
|
{
|
||||||
@ -91,7 +88,7 @@ shell_dbus_init (gboolean replace)
|
|||||||
*/
|
*/
|
||||||
if (!dbus_g_proxy_call (bus, "RequestName", &error,
|
if (!dbus_g_proxy_call (bus, "RequestName", &error,
|
||||||
G_TYPE_STRING, MAGNIFIER_DBUS_SERVICE,
|
G_TYPE_STRING, MAGNIFIER_DBUS_SERVICE,
|
||||||
G_TYPE_UINT, 0,
|
G_TYPE_UINT, DBUS_NAME_FLAG_REPLACE_EXISTING | request_name_flags,
|
||||||
G_TYPE_INVALID,
|
G_TYPE_INVALID,
|
||||||
G_TYPE_UINT, &request_name_result,
|
G_TYPE_UINT, &request_name_result,
|
||||||
G_TYPE_INVALID))
|
G_TYPE_INVALID))
|
||||||
@ -101,11 +98,13 @@ shell_dbus_init (gboolean replace)
|
|||||||
* but keep going. */
|
* but keep going. */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ...and the org.freedesktop.Notifications service.
|
/* ...and the org.freedesktop.Notifications service; we always
|
||||||
|
* specify REPLACE_EXISTING to ensure we kill off
|
||||||
|
* notification-daemon if it was running.
|
||||||
*/
|
*/
|
||||||
if (!dbus_g_proxy_call (bus, "RequestName", &error,
|
if (!dbus_g_proxy_call (bus, "RequestName", &error,
|
||||||
G_TYPE_STRING, "org.freedesktop.Notifications",
|
G_TYPE_STRING, "org.freedesktop.Notifications",
|
||||||
G_TYPE_UINT, DBUS_NAME_FLAG_REPLACE_EXISTING | DBUS_NAME_FLAG_DO_NOT_QUEUE,
|
G_TYPE_UINT, DBUS_NAME_FLAG_REPLACE_EXISTING | request_name_flags,
|
||||||
G_TYPE_INVALID,
|
G_TYPE_INVALID,
|
||||||
G_TYPE_UINT, &request_name_result,
|
G_TYPE_UINT, &request_name_result,
|
||||||
G_TYPE_INVALID))
|
G_TYPE_INVALID))
|
||||||
@ -459,6 +458,7 @@ main (int argc, char **argv)
|
|||||||
|
|
||||||
bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
|
bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
|
||||||
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
|
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
|
||||||
|
textdomain (GETTEXT_PACKAGE);
|
||||||
|
|
||||||
ctx = meta_get_option_context ();
|
ctx = meta_get_option_context ();
|
||||||
g_option_context_add_main_entries (ctx, gnome_shell_options, GETTEXT_PACKAGE);
|
g_option_context_add_main_entries (ctx, gnome_shell_options, GETTEXT_PACKAGE);
|
||||||
|
@ -24,15 +24,19 @@
|
|||||||
* IN THE SOFTWARE.
|
* IN THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <config.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 <locale.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
#include <clutter/x11/clutter-x11.h>
|
||||||
|
#include <gdk/gdkx.h>
|
||||||
#include <gjs/gjs.h>
|
#include <gjs/gjs.h>
|
||||||
|
#include <gtk/gtk.h>
|
||||||
|
|
||||||
|
#include "shell-global.h"
|
||||||
|
#include "shell-global-private.h"
|
||||||
|
|
||||||
static char **include_path = NULL;
|
static char **include_path = NULL;
|
||||||
static char *command = NULL;
|
static char *command = NULL;
|
||||||
@ -59,10 +63,10 @@ event_filter (GdkXEvent *xevent,
|
|||||||
int
|
int
|
||||||
main(int argc, char **argv)
|
main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
char *command_line;
|
|
||||||
GOptionContext *context;
|
GOptionContext *context;
|
||||||
ClutterActor *stage;
|
ClutterActor *stage;
|
||||||
GError *error = NULL;
|
GError *error = NULL;
|
||||||
|
ShellGlobal *global;
|
||||||
GjsContext *js_context;
|
GjsContext *js_context;
|
||||||
char *script;
|
char *script;
|
||||||
const char *filename;
|
const char *filename;
|
||||||
@ -94,12 +98,8 @@ main(int argc, char **argv)
|
|||||||
setlocale (LC_ALL, "");
|
setlocale (LC_ALL, "");
|
||||||
g_type_init ();
|
g_type_init ();
|
||||||
|
|
||||||
command_line = g_strjoinv (" ", argv);
|
global = shell_global_get ();
|
||||||
g_debug ("Command line: %s", command_line);
|
js_context = _shell_global_get_gjs_context (global);
|
||||||
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 */
|
/* prepare command line arguments */
|
||||||
if (!gjs_context_define_string_array (js_context, "ARGV",
|
if (!gjs_context_define_string_array (js_context, "ARGV",
|
||||||
|
@ -415,6 +415,16 @@ shell_app_activate_window (ShellApp *app,
|
|||||||
meta_window_get_user_time (most_recent_transient)))
|
meta_window_get_user_time (most_recent_transient)))
|
||||||
window = most_recent_transient;
|
window = most_recent_transient;
|
||||||
|
|
||||||
|
|
||||||
|
if (!shell_window_tracker_is_window_interesting (window))
|
||||||
|
{
|
||||||
|
/* We won't get notify::user-time signals for uninteresting windows,
|
||||||
|
* which means that an app's last_user_time won't get updated.
|
||||||
|
* Update it here instead.
|
||||||
|
*/
|
||||||
|
app->running_state->last_user_time = timestamp;
|
||||||
|
}
|
||||||
|
|
||||||
if (active != workspace)
|
if (active != workspace)
|
||||||
meta_workspace_activate_with_focus (workspace, window, timestamp);
|
meta_workspace_activate_with_focus (workspace, window, timestamp);
|
||||||
else
|
else
|
||||||
|
@ -22,9 +22,6 @@
|
|||||||
#include <gio/gio.h>
|
#include <gio/gio.h>
|
||||||
#include <gjs/gjs-module.h>
|
#include <gjs/gjs-module.h>
|
||||||
#include <girepository.h>
|
#include <girepository.h>
|
||||||
#include <libxml/parser.h>
|
|
||||||
#include <libxml/tree.h>
|
|
||||||
#include <libxml/xmlmemory.h>
|
|
||||||
#include <meta/display.h>
|
#include <meta/display.h>
|
||||||
#include <meta/util.h>
|
#include <meta/util.h>
|
||||||
|
|
||||||
@ -417,31 +414,6 @@ shell_global_class_init (ShellGlobalClass *klass)
|
|||||||
G_PARAM_READABLE));
|
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:
|
* shell_global_get:
|
||||||
*
|
*
|
||||||
@ -860,30 +832,6 @@ shell_global_end_modal (ShellGlobal *global,
|
|||||||
meta_plugin_end_modal (global->plugin, timestamp);
|
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
|
* shell_global_create_pointer_barrier
|
||||||
* @global: a #ShellGlobal
|
* @global: a #ShellGlobal
|
||||||
@ -1134,149 +1082,6 @@ shell_global_reexec_self (ShellGlobal *global)
|
|||||||
g_ptr_array_free (arr, TRUE);
|
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:
|
* shell_global_gc:
|
||||||
* @global: A #ShellGlobal
|
* @global: A #ShellGlobal
|
||||||
@ -1369,54 +1174,6 @@ void shell_global_init_xdnd (ShellGlobal *global)
|
|||||||
32, PropModeReplace, (const unsigned char *)&stage_win, 1);
|
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:
|
* shell_global_get_monitors:
|
||||||
* @global: the #ShellGlobal
|
* @global: the #ShellGlobal
|
||||||
@ -1517,8 +1274,7 @@ shell_global_get_focus_monitor (ShellGlobal *global)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
meta_screen_get_monitor_geometry (screen, 0, &rect);
|
return shell_global_get_primary_monitor (global);
|
||||||
return meta_rectangle_copy (&rect);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1587,25 +1343,6 @@ shell_global_sync_pointer (ShellGlobal *global)
|
|||||||
clutter_event_put ((ClutterEvent *)&event);
|
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:
|
* shell_global_get_settings:
|
||||||
* @global: A #ShellGlobal
|
* @global: A #ShellGlobal
|
||||||
@ -1620,59 +1357,6 @@ shell_global_get_settings (ShellGlobal *global)
|
|||||||
return global->settings;
|
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:
|
* shell_global_get_current_time:
|
||||||
* @global: A #ShellGlobal
|
* @global: A #ShellGlobal
|
||||||
@ -2049,66 +1733,6 @@ gboolean _shell_global_check_xdnd_event (ShellGlobal *global,
|
|||||||
return FALSE;
|
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:
|
* shell_global_launch_calendar_server:
|
||||||
* @global: The #ShellGlobal.
|
* @global: The #ShellGlobal.
|
||||||
@ -2162,103 +1786,3 @@ shell_global_launch_calendar_server (ShellGlobal *global)
|
|||||||
|
|
||||||
g_free (calendar_server_exe);
|
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,8 +7,6 @@
|
|||||||
#include <gdk-pixbuf/gdk-pixbuf.h>
|
#include <gdk-pixbuf/gdk-pixbuf.h>
|
||||||
#include <gtk/gtk.h>
|
#include <gtk/gtk.h>
|
||||||
#include <meta/meta-plugin.h>
|
#include <meta/meta-plugin.h>
|
||||||
#include <telepathy-glib/telepathy-glib.h>
|
|
||||||
#include <telepathy-logger/telepathy-logger.h>
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
@ -22,42 +20,31 @@ typedef struct _ShellGlobalClass ShellGlobalClass;
|
|||||||
#define SHELL_IS_GLOBAL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SHELL_TYPE_GLOBAL))
|
#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_GLOBAL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SHELL_TYPE_GLOBAL, ShellGlobalClass))
|
||||||
|
|
||||||
#define SHELL_GCONF_DIR "/desktop/gnome/shell"
|
|
||||||
|
|
||||||
struct _ShellGlobalClass
|
struct _ShellGlobalClass
|
||||||
{
|
{
|
||||||
GObjectClass parent_class;
|
GObjectClass parent_class;
|
||||||
};
|
};
|
||||||
|
|
||||||
GType shell_global_get_type (void) G_GNUC_CONST;
|
GType shell_global_get_type (void) G_GNUC_CONST;
|
||||||
|
|
||||||
gboolean shell_clutter_texture_set_from_pixbuf (ClutterTexture *texture,
|
ShellGlobal *shell_global_get (void);
|
||||||
GdkPixbuf *pixbuf);
|
|
||||||
|
|
||||||
ShellGlobal *shell_global_get (void);
|
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);
|
||||||
|
|
||||||
typedef enum {
|
|
||||||
SHELL_CURSOR_DND_IN_DRAG,
|
|
||||||
SHELL_CURSOR_DND_UNSUPPORTED_TARGET,
|
|
||||||
SHELL_CURSOR_DND_MOVE,
|
|
||||||
SHELL_CURSOR_DND_COPY,
|
|
||||||
SHELL_CURSOR_POINTING_HAND
|
|
||||||
} ShellCursor;
|
|
||||||
|
|
||||||
void shell_global_set_cursor (ShellGlobal *global,
|
/* Input/event handling */
|
||||||
ShellCursor type);
|
gboolean shell_global_begin_modal (ShellGlobal *global,
|
||||||
|
guint32 timestamp);
|
||||||
void shell_global_unset_cursor (ShellGlobal *global);
|
void shell_global_end_modal (ShellGlobal *global,
|
||||||
|
guint32 timestamp);
|
||||||
MetaScreen *shell_global_get_screen (ShellGlobal *global);
|
|
||||||
|
|
||||||
GdkScreen *shell_global_get_gdk_screen (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 {
|
typedef enum {
|
||||||
SHELL_STAGE_INPUT_MODE_NONREACTIVE,
|
SHELL_STAGE_INPUT_MODE_NONREACTIVE,
|
||||||
@ -66,127 +53,88 @@ typedef enum {
|
|||||||
SHELL_STAGE_INPUT_MODE_FULLSCREEN
|
SHELL_STAGE_INPUT_MODE_FULLSCREEN
|
||||||
} ShellStageInputMode;
|
} ShellStageInputMode;
|
||||||
|
|
||||||
void shell_global_set_stage_input_mode (ShellGlobal *global,
|
void shell_global_set_stage_input_mode (ShellGlobal *global,
|
||||||
ShellStageInputMode mode);
|
ShellStageInputMode mode);
|
||||||
void shell_global_set_stage_input_region (ShellGlobal *global,
|
void shell_global_set_stage_input_region (ShellGlobal *global,
|
||||||
GSList *rectangles);
|
GSList *rectangles);
|
||||||
|
|
||||||
GList *shell_global_get_window_actors (ShellGlobal *global);
|
/* X utilities */
|
||||||
|
typedef enum {
|
||||||
|
SHELL_CURSOR_DND_IN_DRAG,
|
||||||
|
SHELL_CURSOR_DND_UNSUPPORTED_TARGET,
|
||||||
|
SHELL_CURSOR_DND_MOVE,
|
||||||
|
SHELL_CURSOR_DND_COPY,
|
||||||
|
SHELL_CURSOR_POINTING_HAND
|
||||||
|
} ShellCursor;
|
||||||
|
|
||||||
gboolean shell_global_begin_modal (ShellGlobal *global,
|
void shell_global_set_cursor (ShellGlobal *global,
|
||||||
guint32 timestamp);
|
ShellCursor type);
|
||||||
void shell_global_end_modal (ShellGlobal *global,
|
void shell_global_unset_cursor (ShellGlobal *global);
|
||||||
guint32 timestamp);
|
|
||||||
|
|
||||||
gboolean shell_global_display_is_grabbed (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_reexec_self (ShellGlobal *global);
|
void shell_global_get_pointer (ShellGlobal *global,
|
||||||
|
int *x,
|
||||||
|
int *y,
|
||||||
|
ClutterModifierType *mods);
|
||||||
|
|
||||||
void shell_global_breakpoint (ShellGlobal *global);
|
|
||||||
|
|
||||||
gboolean shell_global_parse_search_provider (ShellGlobal *global,
|
/* JavaScript utilities */
|
||||||
const char *data,
|
void shell_global_gc (ShellGlobal *global);
|
||||||
char **name,
|
void shell_global_maybe_gc (ShellGlobal *global);
|
||||||
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,
|
gboolean shell_global_set_property_mutable (ShellGlobal *global,
|
||||||
const char *object,
|
const char *object,
|
||||||
const char *property,
|
const char *property,
|
||||||
gboolean mutable);
|
gboolean mutable);
|
||||||
|
|
||||||
void shell_global_begin_work (ShellGlobal *global);
|
|
||||||
void shell_global_end_work (ShellGlobal *global);
|
/* Run-at-leisure API */
|
||||||
|
void shell_global_begin_work (ShellGlobal *global);
|
||||||
|
void shell_global_end_work (ShellGlobal *global);
|
||||||
|
|
||||||
typedef void (*ShellLeisureFunction) (gpointer data);
|
typedef void (*ShellLeisureFunction) (gpointer data);
|
||||||
|
|
||||||
void shell_global_run_at_leisure (ShellGlobal *global,
|
void shell_global_run_at_leisure (ShellGlobal *global,
|
||||||
ShellLeisureFunction func,
|
ShellLeisureFunction func,
|
||||||
gpointer user_data,
|
gpointer user_data,
|
||||||
GDestroyNotify notify);
|
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);
|
|
||||||
|
|
||||||
|
|
||||||
void shell_global_notify_error (ShellGlobal *global,
|
/* Misc utilities / Shell API */
|
||||||
const char *msg,
|
gboolean shell_global_add_extension_importer (ShellGlobal *global,
|
||||||
const char *details);
|
const char *target_object_script,
|
||||||
|
const char *target_property,
|
||||||
|
const char *directory,
|
||||||
|
GError **error);
|
||||||
|
|
||||||
void shell_global_init_xdnd (ShellGlobal *global);
|
void shell_global_sync_pointer (ShellGlobal *global);
|
||||||
|
|
||||||
typedef void (*ShellGetTpContactCb) (TpConnection *connection,
|
GAppLaunchContext *
|
||||||
GList *contacts,
|
shell_global_create_app_launch_context (ShellGlobal *global);
|
||||||
TpHandle *failed);
|
|
||||||
|
|
||||||
void shell_get_tp_contacts (TpConnection *self,
|
void shell_global_play_theme_sound (ShellGlobal *global,
|
||||||
guint n_handles,
|
guint id,
|
||||||
const TpHandle *handles,
|
const char *name);
|
||||||
guint n_features,
|
void shell_global_cancel_theme_sound (ShellGlobal *global,
|
||||||
const TpContactFeature *features,
|
guint id);
|
||||||
ShellGetTpContactCb callback);
|
|
||||||
|
|
||||||
void shell_global_launch_calendar_server (ShellGlobal *global);
|
void shell_global_notify_error (ShellGlobal *global,
|
||||||
|
const char *msg,
|
||||||
|
const char *details);
|
||||||
|
|
||||||
typedef void (*ShellGetSelfContactFeaturesCb) (TpConnection *connection,
|
void shell_global_init_xdnd (ShellGlobal *global);
|
||||||
TpContact *contact);
|
|
||||||
|
|
||||||
void shell_get_self_contact_features (TpConnection *self,
|
void shell_global_reexec_self (ShellGlobal *global);
|
||||||
guint n_features,
|
|
||||||
const TpContactFeature *features,
|
|
||||||
ShellGetSelfContactFeaturesCb callback);
|
|
||||||
|
|
||||||
void shell_get_contact_events (TplLogManager *log_manager,
|
void shell_global_launch_calendar_server (ShellGlobal *global);
|
||||||
TpAccount *account,
|
|
||||||
TplEntity *entity,
|
|
||||||
guint num_events,
|
|
||||||
GAsyncReadyCallback callback);
|
|
||||||
|
|
||||||
char *shell_get_file_contents_utf8_sync (const char *path,
|
|
||||||
GError **error);
|
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
|
256
src/shell-tp-client.c
Normal file
@ -0,0 +1,256 @@
|
|||||||
|
#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);
|
||||||
|
}
|
88
src/shell-tp-client.h
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
#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,7 +7,11 @@
|
|||||||
#include <gconf/gconf-client.h>
|
#include <gconf/gconf-client.h>
|
||||||
#include <gtk/gtk.h>
|
#include <gtk/gtk.h>
|
||||||
|
|
||||||
/* The code in this file adapted under the GPLv2+ from:
|
#include <libxml/parser.h>
|
||||||
|
#include <libxml/tree.h>
|
||||||
|
#include <libxml/xmlmemory.h>
|
||||||
|
|
||||||
|
/* Some code in this file adapted under the GPLv2+ from:
|
||||||
*
|
*
|
||||||
* GNOME panel utils: gnome-panel/gnome-panel/panel-util.c
|
* GNOME panel utils: gnome-panel/gnome-panel/panel-util.c
|
||||||
* (C) 1997, 1998, 1999, 2000 The Free Software Foundation
|
* (C) 1997, 1998, 1999, 2000 The Free Software Foundation
|
||||||
@ -533,3 +537,214 @@ shell_util_format_date (const char *format,
|
|||||||
g_date_time_unref (datetime);
|
g_date_time_unref (datetime);
|
||||||
return result;
|
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,16 +8,38 @@
|
|||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
char *shell_util_get_label_for_uri (const char *text_uri);
|
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_get_icon_for_uri (const char *text_uri);
|
||||||
GIcon *shell_util_icon_from_string (const char *string, GError **error);
|
GIcon *shell_util_icon_from_string (const char *string,
|
||||||
void shell_util_set_hidden_from_pick (ClutterActor *actor, gboolean hidden);
|
GError **error);
|
||||||
|
|
||||||
void shell_util_get_transformed_allocation (ClutterActor *actor,
|
void shell_util_set_hidden_from_pick (ClutterActor *actor,
|
||||||
ClutterActorBox *box);
|
gboolean hidden);
|
||||||
|
|
||||||
char *shell_util_format_date (const char *format,
|
void shell_util_get_transformed_allocation (ClutterActor *actor,
|
||||||
gint64 time_ms);
|
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);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
|
@ -429,12 +429,14 @@ get_app_for_window (ShellWindowTracker *monitor,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
result = get_app_from_window_pid (monitor, window);
|
/* Check if the app's WM_CLASS specifies an app; this is
|
||||||
|
* canonical if it does.
|
||||||
|
*/
|
||||||
|
result = get_app_from_window_wmclass (window);
|
||||||
if (result != NULL)
|
if (result != NULL)
|
||||||
return result;
|
return result;
|
||||||
|
|
||||||
/* Check if the app's WM_CLASS specifies an app */
|
result = get_app_from_window_pid (monitor, window);
|
||||||
result = get_app_from_window_wmclass (window);
|
|
||||||
if (result != NULL)
|
if (result != NULL)
|
||||||
return result;
|
return result;
|
||||||
|
|
||||||
@ -886,7 +888,7 @@ on_focus_window_changed (MetaDisplay *display,
|
|||||||
ShellApp *new_focus_app;
|
ShellApp *new_focus_app;
|
||||||
|
|
||||||
new_focus_win = meta_display_get_focus_window (display);
|
new_focus_win = meta_display_get_focus_window (display);
|
||||||
new_focus_app = new_focus_win ? g_hash_table_lookup (tracker->window_to_app, new_focus_win) : NULL;
|
new_focus_app = new_focus_win ? shell_window_tracker_get_window_app (tracker, new_focus_win) : NULL;
|
||||||
|
|
||||||
set_focus_app (tracker, new_focus_app);
|
set_focus_app (tracker, new_focus_app);
|
||||||
}
|
}
|
||||||
|
@ -254,6 +254,7 @@ xfixes_cursor_reset_image (ShellXFixesCursor *xfixes_cursor)
|
|||||||
xfixes_cursor->cursor_hot_y = cursor_image->yhot;
|
xfixes_cursor->cursor_hot_y = cursor_image->yhot;
|
||||||
g_signal_emit (xfixes_cursor, signals[CURSOR_CHANGED], 0);
|
g_signal_emit (xfixes_cursor, signals[CURSOR_CHANGED], 0);
|
||||||
}
|
}
|
||||||
|
XFree (cursor_image);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -376,21 +376,27 @@ st_label_set_text (StLabel *label,
|
|||||||
const gchar *text)
|
const gchar *text)
|
||||||
{
|
{
|
||||||
StLabelPrivate *priv;
|
StLabelPrivate *priv;
|
||||||
|
ClutterText *ctext;
|
||||||
|
|
||||||
g_return_if_fail (ST_IS_LABEL (label));
|
g_return_if_fail (ST_IS_LABEL (label));
|
||||||
g_return_if_fail (text != NULL);
|
g_return_if_fail (text != NULL);
|
||||||
|
|
||||||
priv = label->priv;
|
priv = label->priv;
|
||||||
|
ctext = CLUTTER_TEXT (priv->label);
|
||||||
|
|
||||||
if (priv->text_shadow_material != COGL_INVALID_HANDLE)
|
if (clutter_text_get_editable (ctext) ||
|
||||||
|
g_strcmp0 (clutter_text_get_text (ctext), text) != 0)
|
||||||
{
|
{
|
||||||
cogl_handle_unref (priv->text_shadow_material);
|
if (priv->text_shadow_material != COGL_INVALID_HANDLE)
|
||||||
priv->text_shadow_material = COGL_INVALID_HANDLE;
|
{
|
||||||
|
cogl_handle_unref (priv->text_shadow_material);
|
||||||
|
priv->text_shadow_material = COGL_INVALID_HANDLE;
|
||||||
|
}
|
||||||
|
|
||||||
|
clutter_text_set_text (ctext, text);
|
||||||
|
|
||||||
|
g_object_notify (G_OBJECT (label), "text");
|
||||||
}
|
}
|
||||||
|
|
||||||
clutter_text_set_text (CLUTTER_TEXT (priv->label), text);
|
|
||||||
|
|
||||||
g_object_notify (G_OBJECT (label), "text");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -667,6 +667,7 @@ cairo_pattern_t *
|
|||||||
_st_create_shadow_cairo_pattern (StShadow *shadow_spec,
|
_st_create_shadow_cairo_pattern (StShadow *shadow_spec,
|
||||||
cairo_pattern_t *src_pattern)
|
cairo_pattern_t *src_pattern)
|
||||||
{
|
{
|
||||||
|
static cairo_user_data_key_t shadow_pattern_user_data;
|
||||||
cairo_t *cr;
|
cairo_t *cr;
|
||||||
cairo_surface_t *src_surface;
|
cairo_surface_t *src_surface;
|
||||||
cairo_surface_t *surface_in;
|
cairo_surface_t *surface_in;
|
||||||
@ -728,6 +729,8 @@ _st_create_shadow_cairo_pattern (StShadow *shadow_spec,
|
|||||||
width_out,
|
width_out,
|
||||||
height_out,
|
height_out,
|
||||||
rowstride_out);
|
rowstride_out);
|
||||||
|
cairo_surface_set_user_data (surface_out, &shadow_pattern_user_data,
|
||||||
|
pixels_out, (cairo_destroy_func_t) g_free);
|
||||||
|
|
||||||
dst_pattern = cairo_pattern_create_for_surface (surface_out);
|
dst_pattern = cairo_pattern_create_for_surface (surface_out);
|
||||||
cairo_surface_destroy (surface_out);
|
cairo_surface_destroy (surface_out);
|
||||||
@ -745,7 +748,6 @@ _st_create_shadow_cairo_pattern (StShadow *shadow_spec,
|
|||||||
(width_out - width_in) / 2.0,
|
(width_out - width_in) / 2.0,
|
||||||
(height_out - height_in) / 2.0);
|
(height_out - height_in) / 2.0);
|
||||||
cairo_pattern_set_matrix (dst_pattern, &shadow_matrix);
|
cairo_pattern_set_matrix (dst_pattern, &shadow_matrix);
|
||||||
|
|
||||||
return dst_pattern;
|
return dst_pattern;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -422,8 +422,6 @@ st_scroll_view_get_preferred_height (ClutterActor *actor,
|
|||||||
clutter_actor_get_preferred_width (priv->child, -1,
|
clutter_actor_get_preferred_width (priv->child, -1,
|
||||||
&child_min_width, NULL);
|
&child_min_width, NULL);
|
||||||
|
|
||||||
natural_height = child_natural_height;
|
|
||||||
|
|
||||||
if (min_height_p)
|
if (min_height_p)
|
||||||
*min_height_p = 0;
|
*min_height_p = 0;
|
||||||
|
|
||||||
|
@ -1174,17 +1174,17 @@ load_gicon_with_colors (StTextureCache *cache,
|
|||||||
{
|
{
|
||||||
AsyncTextureLoadData *request;
|
AsyncTextureLoadData *request;
|
||||||
ClutterActor *texture;
|
ClutterActor *texture;
|
||||||
char *gicon_string;
|
guint gicon_hash;
|
||||||
char *key;
|
char *key;
|
||||||
GtkIconTheme *theme;
|
GtkIconTheme *theme;
|
||||||
GtkIconInfo *info;
|
GtkIconInfo *info;
|
||||||
|
|
||||||
gicon_string = g_icon_to_string (icon);
|
gicon_hash = g_icon_hash (icon);
|
||||||
if (colors)
|
if (colors)
|
||||||
{
|
{
|
||||||
/* This raises some doubts about the practice of using string keys */
|
/* This raises some doubts about the practice of using string keys */
|
||||||
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",
|
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_string, size,
|
gicon_hash, size,
|
||||||
colors->foreground.red, colors->foreground.blue, colors->foreground.green, colors->foreground.alpha,
|
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->warning.red, colors->warning.blue, colors->warning.green, colors->warning.alpha,
|
||||||
colors->error.red, colors->error.blue, colors->error.green, colors->error.alpha,
|
colors->error.red, colors->error.blue, colors->error.green, colors->error.alpha,
|
||||||
@ -1192,10 +1192,9 @@ load_gicon_with_colors (StTextureCache *cache,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
key = g_strdup_printf (CACHE_PREFIX_GICON "icon=%s,size=%d",
|
key = g_strdup_printf (CACHE_PREFIX_GICON "icon_hash=%u,size=%d",
|
||||||
gicon_string, size);
|
gicon_hash, size);
|
||||||
}
|
}
|
||||||
g_free (gicon_string);
|
|
||||||
|
|
||||||
if (create_texture_and_ensure_request (cache, key, size, &request, &texture))
|
if (create_texture_and_ensure_request (cache, key, size, &request, &texture))
|
||||||
{
|
{
|
||||||
@ -1223,10 +1222,11 @@ load_gicon_with_colors (StTextureCache *cache,
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* Blah; we failed to find the icon, but we've added our texture to the outstanding
|
/* Blah; we failed to find the icon, but we've added our texture to the outstanding
|
||||||
* requests. In that case, just undo what create_texture_lookup_status did.
|
* requests. In that case, just undo what create_texture_and_ensure_request() did.
|
||||||
*/
|
*/
|
||||||
g_slist_foreach (request->textures, (GFunc) g_object_unref, NULL);
|
g_slist_foreach (request->textures, (GFunc) g_object_unref, NULL);
|
||||||
g_slist_free (request->textures);
|
g_slist_free (request->textures);
|
||||||
|
g_free (request->key);
|
||||||
g_free (request);
|
g_free (request);
|
||||||
g_hash_table_remove (cache->priv->outstanding_requests, key);
|
g_hash_table_remove (cache->priv->outstanding_requests, key);
|
||||||
g_object_unref (texture);
|
g_object_unref (texture);
|
||||||
|
@ -483,21 +483,12 @@ get_color_from_term (StThemeNode *node,
|
|||||||
/* rgba () colors - a CSS3 addition, are not supported by libcroco,
|
/* rgba () colors - a CSS3 addition, are not supported by libcroco,
|
||||||
* but they are parsed as a "function", so we can emulate the
|
* but they are parsed as a "function", so we can emulate the
|
||||||
* functionality.
|
* 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 &&
|
else if (term->type == TERM_FUNCTION &&
|
||||||
term->content.str &&
|
term->content.str &&
|
||||||
term->content.str->stryng &&
|
term->content.str->stryng &&
|
||||||
term->content.str->stryng->str &&
|
term->content.str->stryng->str &&
|
||||||
g_ascii_strcasecmp (term->content.str->stryng->str, "rgba") == 0)
|
strcmp (term->content.str->stryng->str, "rgba") == 0)
|
||||||
{
|
{
|
||||||
return get_color_from_rgba_term (term, color);
|
return get_color_from_rgba_term (term, color);
|
||||||
}
|
}
|
||||||
|
@ -155,90 +155,6 @@ 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 *
|
static CRStyleSheet *
|
||||||
parse_stylesheet (const char *filename,
|
parse_stylesheet (const char *filename,
|
||||||
GError **error)
|
GError **error)
|
||||||
@ -269,7 +185,6 @@ _st_theme_parse_declaration_list (const char *str)
|
|||||||
return cr_declaration_parse_list_from_buf ((const guchar *)str,
|
return cr_declaration_parse_list_from_buf ((const guchar *)str,
|
||||||
CR_UTF_8);
|
CR_UTF_8);
|
||||||
}
|
}
|
||||||
#endif /* LIBCROCO_VERSION_NUMBER < 602 */
|
|
||||||
|
|
||||||
/* Just g_warning for now until we have something nicer to do */
|
/* Just g_warning for now until we have something nicer to do */
|
||||||
static CRStyleSheet *
|
static CRStyleSheet *
|
||||||
|