Compare commits
118 Commits
3.20.0
...
wip/pad-os
Author | SHA1 | Date | |
---|---|---|---|
![]() |
f9693d3a2b | ||
![]() |
dc280ef2ad | ||
![]() |
4fc0c513af | ||
![]() |
f5c058a036 | ||
![]() |
0dac0ad516 | ||
![]() |
5d4d1e26fd | ||
![]() |
2f0039e7dd | ||
![]() |
9202309bed | ||
![]() |
7e0e224e0e | ||
![]() |
35825cf0c7 | ||
![]() |
b2d79b6362 | ||
![]() |
f5e1dc86cd | ||
![]() |
8c51f0076f | ||
![]() |
8347152730 | ||
![]() |
3d77dd8f51 | ||
![]() |
82e6935281 | ||
![]() |
61070e6ec0 | ||
![]() |
128697d6a7 | ||
![]() |
424fa01eca | ||
![]() |
775187b2e4 | ||
![]() |
99b5e10acf | ||
![]() |
208ed6e90d | ||
![]() |
de8d4c4cd8 | ||
![]() |
3ae591434d | ||
![]() |
61fb62f969 | ||
![]() |
c4584c20dc | ||
![]() |
c6eb95ff3a | ||
![]() |
ab68360d53 | ||
![]() |
58a733dc93 | ||
![]() |
db8f6b4848 | ||
![]() |
e72d388a67 | ||
![]() |
b5dd4d1456 | ||
![]() |
a7562b4148 | ||
![]() |
358f64d66b | ||
![]() |
2a7f9f70b8 | ||
![]() |
c91085caf7 | ||
![]() |
21ddbf0b8f | ||
![]() |
2ad2853278 | ||
![]() |
e16f63a8e4 | ||
![]() |
c39ffa111f | ||
![]() |
5182129196 | ||
![]() |
02bad8e92b | ||
![]() |
500ea13155 | ||
![]() |
ce8e7481e7 | ||
![]() |
528f2e3cdc | ||
![]() |
408211ba73 | ||
![]() |
e02467eada | ||
![]() |
3e93a1bdd6 | ||
![]() |
a69a9ba51a | ||
![]() |
1c0e0191e0 | ||
![]() |
f233122d4d | ||
![]() |
72bfa91259 | ||
![]() |
ef195f0185 | ||
![]() |
47da6b139e | ||
![]() |
2705434955 | ||
![]() |
a7e030d0f9 | ||
![]() |
8a44170f83 | ||
![]() |
2ea6ae05e5 | ||
![]() |
5c0eba7d3b | ||
![]() |
f81887772a | ||
![]() |
9aa3d864dc | ||
![]() |
2425b11df6 | ||
![]() |
1cb644529f | ||
![]() |
6cff0fd994 | ||
![]() |
437256e0f1 | ||
![]() |
841e0132e9 | ||
![]() |
1545596c7e | ||
![]() |
38406e070c | ||
![]() |
9b07ce1d0d | ||
![]() |
bf8d30603e | ||
![]() |
bd6e7f14d1 | ||
![]() |
5226d8b086 | ||
![]() |
bd92331780 | ||
![]() |
387f5143f0 | ||
![]() |
b7867fe44c | ||
![]() |
ddea54a539 | ||
![]() |
84da49c715 | ||
![]() |
513dff45c1 | ||
![]() |
3d697baa26 | ||
![]() |
9eda10d091 | ||
![]() |
0f82da8735 | ||
![]() |
296b61b61c | ||
![]() |
974a896dbc | ||
![]() |
093fd54e2b | ||
![]() |
5ae3e5aeb7 | ||
![]() |
af28a219be | ||
![]() |
1883df2927 | ||
![]() |
3274f270e3 | ||
![]() |
c97626e516 | ||
![]() |
9c483dd9a6 | ||
![]() |
8fd6e93fbe | ||
![]() |
8416ba25de | ||
![]() |
63f6ff9151 | ||
![]() |
59c2ace98c | ||
![]() |
cf4465027a | ||
![]() |
a23b293fe2 | ||
![]() |
c039a3ddda | ||
![]() |
ebe071bd50 | ||
![]() |
2edfd458b7 | ||
![]() |
3b750aa815 | ||
![]() |
d96f97e55a | ||
![]() |
55ac2f46ba | ||
![]() |
262c04ab91 | ||
![]() |
c80e7784fb | ||
![]() |
763567377f | ||
![]() |
ea9dcbf8b7 | ||
![]() |
2b383bf73e | ||
![]() |
b8dcbfebb2 | ||
![]() |
a257aa35d5 | ||
![]() |
941513b280 | ||
![]() |
a9bb0558bc | ||
![]() |
58834b80d7 | ||
![]() |
b125a0e371 | ||
![]() |
980ac0da8a | ||
![]() |
f15fb0bd73 | ||
![]() |
7d25592165 | ||
![]() |
9ee36f2b71 | ||
![]() |
f3e226103f |
58
NEWS
58
NEWS
@@ -1,3 +1,61 @@
|
||||
3.21.3
|
||||
======
|
||||
* Do not disable suspend action when locked [Florian; #725960]
|
||||
* Remember input sources MRU list [Cosimo; #766826]
|
||||
* networkAgent: Handle VPN service aliases [David; #658484]
|
||||
* Plug a memory leak [Hans; #710230]
|
||||
|
||||
Contributors:
|
||||
Cosimo Cecchi, Florian Müllner, Hans Petter Jansson, David Woodhouse
|
||||
|
||||
Translations:
|
||||
Tiago Santos [pt], Cédric Valmary [oc], Muhammet Kara [tr],
|
||||
Daniel Mustieles [es], Rafael Fontenelle [pt_BR]
|
||||
|
||||
3.21.2
|
||||
======
|
||||
* Fix sorting of hidden apps in app switcher [Florian; #766238]
|
||||
* Set logind's LockedHint property when locked [Victor; #764773]
|
||||
* Allocate framebuffers early to fix a crash on NVIDIA [Martin; #764898]
|
||||
* Fix cycle-windows/cycle-group keybindings [Florian; #730739]
|
||||
* Switch to shared desktop schema for calendar settings [Iain; #766318]
|
||||
* Misc. bug fixes [Florian, Cosimo, Michele; #766325, #758471, #757556,
|
||||
#757019, #766598]
|
||||
|
||||
Contributors:
|
||||
Cosimo Cecchi, Michele Gaio, Iain Lane, Florian Müllner, Martin Szulecki,
|
||||
Victor Toso
|
||||
|
||||
Translations:
|
||||
Tiago Santos [pt], Kjartan Maraas [nb], Jiro Matsuzawa [ja],
|
||||
Cédric Valmary [oc], Sveinn í Felli [is]
|
||||
|
||||
3.21.1
|
||||
======
|
||||
* Save screencasts in HOME if XDG_VIDEO_DIR doesn't exist [Florian; #765015]
|
||||
* Don't show orientation lock when g-s-d won't rotate [Florian; #765267]
|
||||
* Misc. bug fixes [Heiher, Florian, Marek, Rui; #722752, #765061, #763068,
|
||||
#765607, #757676, #760439]
|
||||
|
||||
Contributors:
|
||||
Heiher, Marek Chalupa, Rui Matos, Florian Müllner
|
||||
|
||||
Translations:
|
||||
Arash Mousavi [fa], Kristjan SCHMIDT [eo], GNOME Translation Robot [gd]
|
||||
|
||||
3.20.1
|
||||
======
|
||||
* Plug a memory leak [Aaron; #735705]
|
||||
|
||||
Contributors:
|
||||
Aaron Plattner
|
||||
|
||||
Translations:
|
||||
Daniel Korostil [uk], Matej Urbančič [sl], Inaki Larranaga Murgoitio [eu],
|
||||
Cheng-Chia Tseng [zh_TW], Fabio Tomat [fur], Trần Ngọc Quân [vi],
|
||||
YunQiang Su [zh_CN], Marek Černocký [cs], Arash Mousavi [fa],
|
||||
Alexander Shopov [bg], Khaled Hosny [ar]
|
||||
|
||||
3.20.0
|
||||
======
|
||||
|
||||
|
16
configure.ac
16
configure.ac
@@ -1,5 +1,5 @@
|
||||
AC_PREREQ(2.63)
|
||||
AC_INIT([gnome-shell],[3.20.0],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
|
||||
AC_INIT([gnome-shell],[3.21.3],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
|
||||
AX_IS_RELEASE([git-directory])
|
||||
|
||||
AC_CONFIG_HEADERS([config.h])
|
||||
@@ -52,7 +52,7 @@ if $PKG_CONFIG --exists gstreamer-1.0 '>=' $GSTREAMER_MIN_VERSION ; then
|
||||
AC_MSG_RESULT(yes)
|
||||
build_recorder=true
|
||||
recorder_modules="gstreamer-1.0 gstreamer-base-1.0 x11 gtk+-3.0"
|
||||
PKG_CHECK_MODULES(TEST_SHELL_RECORDER, $recorder_modules clutter-1.0)
|
||||
PKG_CHECK_MODULES(TEST_SHELL_RECORDER, $recorder_modules mutter-clutter-1.0)
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
@@ -77,7 +77,7 @@ AC_MSG_RESULT($enable_systemd)
|
||||
CLUTTER_MIN_VERSION=1.21.5
|
||||
GOBJECT_INTROSPECTION_MIN_VERSION=1.45.4
|
||||
GJS_MIN_VERSION=1.39.0
|
||||
MUTTER_MIN_VERSION=3.20.0
|
||||
MUTTER_MIN_VERSION=3.21.3
|
||||
GTK_MIN_VERSION=3.15.0
|
||||
GIO_MIN_VERSION=2.45.3
|
||||
LIBECAL_MIN_VERSION=3.5.3
|
||||
@@ -98,8 +98,8 @@ SHARED_PCS="gio-unix-2.0 >= $GIO_MIN_VERSION
|
||||
gjs-internals-1.0 >= $GJS_MIN_VERSION
|
||||
$recorder_modules
|
||||
gdk-x11-3.0 libsoup-2.4
|
||||
clutter-x11-1.0 >= $CLUTTER_MIN_VERSION
|
||||
clutter-glx-1.0 >= $CLUTTER_MIN_VERSION
|
||||
mutter-clutter-1.0 >= $CLUTTER_MIN_VERSION
|
||||
mutter-cogl-pango-1.0
|
||||
libstartup-notification-1.0 >= $STARTUP_NOTIFICATION_MIN_VERSION
|
||||
gobject-introspection-1.0 >= $GOBJECT_INTROSPECTION_MIN_VERSION
|
||||
libcanberra libcanberra-gtk3
|
||||
@@ -114,12 +114,12 @@ PKG_CHECK_MODULES(GNOME_SHELL, $SHARED_PCS)
|
||||
PKG_CHECK_MODULES(MUTTER, libmutter >= $MUTTER_MIN_VERSION)
|
||||
|
||||
PKG_CHECK_MODULES(GNOME_SHELL_JS, gio-2.0 gjs-internals-1.0 >= $GJS_MIN_VERSION)
|
||||
PKG_CHECK_MODULES(ST, clutter-1.0 gtk+-3.0 libcroco-0.6 >= 0.6.8 x11)
|
||||
PKG_CHECK_MODULES(ST, mutter-clutter-1.0 gtk+-3.0 libcroco-0.6 >= 0.6.8 x11)
|
||||
PKG_CHECK_MODULES(SHELL_PERF_HELPER, gtk+-3.0 gio-2.0)
|
||||
PKG_CHECK_MODULES(SHELL_HOTPLUG_SNIFFER, gio-2.0 gdk-pixbuf-2.0)
|
||||
PKG_CHECK_MODULES(TRAY, clutter-1.0 gtk+-3.0)
|
||||
PKG_CHECK_MODULES(TRAY, mutter-clutter-1.0 gtk+-3.0)
|
||||
PKG_CHECK_MODULES(GVC, libpulse >= $PULSE_MIN_VERS libpulse-mainloop-glib gobject-2.0)
|
||||
PKG_CHECK_MODULES(DESKTOP_SCHEMAS, gsettings-desktop-schemas >= 3.19.2)
|
||||
PKG_CHECK_MODULES(DESKTOP_SCHEMAS, gsettings-desktop-schemas >= 3.21.3)
|
||||
|
||||
AC_ARG_ENABLE(browser-plugin,
|
||||
[AS_HELP_STRING([--enable-browser-plugin],
|
||||
|
@@ -7,6 +7,9 @@ desktop_DATA = org.gnome.Shell.desktop gnome-shell-extension-prefs.desktop
|
||||
if HAVE_NETWORKMANAGER
|
||||
desktop_DATA += org.gnome.Shell.PortalHelper.desktop
|
||||
|
||||
portaldir = $(datadir)/xdg-desktop-portal/portals
|
||||
portal_DATA = gnome-shell.portal
|
||||
|
||||
servicedir = $(datadir)/dbus-1/services
|
||||
service_DATA = org.gnome.Shell.PortalHelper.service
|
||||
|
||||
@@ -32,6 +35,7 @@ endif
|
||||
|
||||
introspectiondir = $(datadir)/dbus-1/interfaces
|
||||
introspection_DATA = \
|
||||
org.gnome.Shell.PadOsd.xml \
|
||||
org.gnome.Shell.Screencast.xml \
|
||||
org.gnome.Shell.Screenshot.xml \
|
||||
org.gnome.ShellSearchProvider.xml \
|
||||
@@ -111,6 +115,7 @@ EXTRA_DIST = \
|
||||
$(convert_DATA) \
|
||||
$(keys_in_files) \
|
||||
$(dist_theme_files) \
|
||||
pad-osd.css \
|
||||
perf-background.xml.in \
|
||||
org.gnome.Shell.PortalHelper.desktop.in \
|
||||
org.gnome.Shell.PortalHelper.service.in \
|
||||
|
@@ -22,6 +22,7 @@
|
||||
<file>no-events.svg</file>
|
||||
<file>no-notifications.svg</file>
|
||||
<file>noise-texture.png</file>
|
||||
<file>pad-osd.css</file>
|
||||
<file>page-indicator-active.svg</file>
|
||||
<file>page-indicator-inactive.svg</file>
|
||||
<file>page-indicator-checked.svg</file>
|
||||
|
4
data/gnome-shell.portal
Normal file
4
data/gnome-shell.portal
Normal file
@@ -0,0 +1,4 @@
|
||||
[portal]
|
||||
DBusName=org.freedesktop.impl.portal.desktop.gnome
|
||||
Interfaces=org.freedesktop.impl.portal.Access
|
||||
UseIn=gnome
|
28
data/org.gnome.Shell.PadOsd.xml
Normal file
28
data/org.gnome.Shell.PadOsd.xml
Normal file
@@ -0,0 +1,28 @@
|
||||
<!DOCTYPE node PUBLIC
|
||||
'-//freedesktop//DTD D-BUS Object Introspection 1.0//EN'
|
||||
'http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd'>
|
||||
<node>
|
||||
|
||||
<!--
|
||||
org.gnome.Shell.PadOSD:
|
||||
@short_description: Pad OSD interface
|
||||
|
||||
The interface used to show button map OSD on pad devices.
|
||||
-->
|
||||
<interface name='org.gnome.Shell.Wacom.PadOsd'>
|
||||
|
||||
<!--
|
||||
Show:
|
||||
@device_node: device node file, usually in /dev/input/...
|
||||
@edition_mode: whether toggling edition mode on when showing
|
||||
|
||||
Shows the pad button map OSD for the requested device, the OSD
|
||||
will be shown according the current device settings (output
|
||||
mapping, left handed mode, ...)
|
||||
-->
|
||||
<method name='Show'>
|
||||
<arg name='device_node' direction='in' type='o'/>
|
||||
<arg name='edition_mode' direction='in' type='b'/>
|
||||
</method>
|
||||
</interface>
|
||||
</node>
|
@@ -51,7 +51,7 @@
|
||||
</key>
|
||||
<key name="looking-glass-history" type="as">
|
||||
<default>[]</default>
|
||||
<!-- Translators: looking glass is a debugger and inspector tool, see https://live.gnome.org/GnomeShell/LookingGlass -->
|
||||
<!-- Translators: looking glass is a debugger and inspector tool, see https://wiki.gnome.org/Projects/GnomeShell/LookingGlass -->
|
||||
<_summary>History for the looking glass dialog</_summary>
|
||||
</key>
|
||||
<key name="always-show-log-out" type="b">
|
||||
@@ -82,22 +82,10 @@
|
||||
adapter is ever seen not to have devices associated to it.
|
||||
</_description>
|
||||
</key>
|
||||
<child name="calendar" schema="org.gnome.shell.calendar"/>
|
||||
<child name="keybindings" schema="org.gnome.shell.keybindings"/>
|
||||
<child name="keyboard" schema="org.gnome.shell.keyboard"/>
|
||||
</schema>
|
||||
|
||||
<schema id="org.gnome.shell.calendar" path="/org/gnome/shell/calendar/"
|
||||
gettext-domain="@GETTEXT_PACKAGE@">
|
||||
<key name="show-weekdate" type="b">
|
||||
<default>false</default>
|
||||
<_summary>Show the week date in the calendar</_summary>
|
||||
<_description>
|
||||
If true, display the ISO week date in the calendar.
|
||||
</_description>
|
||||
</key>
|
||||
</schema>
|
||||
|
||||
<schema id="org.gnome.shell.keybindings" path="/org/gnome/shell/keybindings/"
|
||||
gettext-domain="@GETTEXT_PACKAGE@">
|
||||
<key name="open-application-menu" type="as">
|
||||
|
@@ -427,6 +427,29 @@ StScrollBar {
|
||||
.audio-selection-device-icon {
|
||||
icon-size: 64px; }
|
||||
|
||||
/* Access Dialog */
|
||||
.access-dialog {
|
||||
spacing: 30px; }
|
||||
|
||||
.access-dialog-main-layout {
|
||||
padding: 12px 20px 0;
|
||||
spacing: 12px; }
|
||||
|
||||
.access-dialog-content {
|
||||
max-width: 28em;
|
||||
spacing: 20px; }
|
||||
|
||||
.access-dialog-icon {
|
||||
min-width: 48px;
|
||||
icon-size: 48px; }
|
||||
|
||||
.access-dialog-title {
|
||||
font-weight: bold; }
|
||||
|
||||
.access-dialog-subtitle {
|
||||
color: #999999;
|
||||
font-weight: bold; }
|
||||
|
||||
/* Geolocation Dialog */
|
||||
.geolocation-dialog {
|
||||
spacing: 30px; }
|
||||
@@ -535,6 +558,9 @@ StScrollBar {
|
||||
border-radius: 0.3em;
|
||||
background-color: rgba(11, 12, 13, 0.5);
|
||||
color: #eeeeec; }
|
||||
.osd-window .level-bar {
|
||||
background-color: #eeeeec;
|
||||
border-radius: 0.3em; }
|
||||
|
||||
/* App Switcher */
|
||||
.switcher-popup {
|
||||
@@ -766,7 +792,7 @@ StScrollBar {
|
||||
border-radius: 1.4em; }
|
||||
.calendar-day-base:hover, .calendar-day-base:focus {
|
||||
background-color: #0d0d0d; }
|
||||
.calendar-day-base:active {
|
||||
.calendar-day-base:active, .calendar-day-base:selected {
|
||||
color: white;
|
||||
background-color: #215d9c;
|
||||
border-color: transparent; }
|
||||
|
Submodule data/theme/gnome-shell-sass updated: 6ccc180811...7ab2789464
@@ -427,6 +427,29 @@ StScrollBar {
|
||||
.audio-selection-device-icon {
|
||||
icon-size: 64px; }
|
||||
|
||||
/* Access Dialog */
|
||||
.access-dialog {
|
||||
spacing: 30px; }
|
||||
|
||||
.access-dialog-main-layout {
|
||||
padding: 12px 20px 0;
|
||||
spacing: 12px; }
|
||||
|
||||
.access-dialog-content {
|
||||
max-width: 28em;
|
||||
spacing: 20px; }
|
||||
|
||||
.access-dialog-icon {
|
||||
min-width: 48px;
|
||||
icon-size: 48px; }
|
||||
|
||||
.access-dialog-title {
|
||||
font-weight: bold; }
|
||||
|
||||
.access-dialog-subtitle {
|
||||
color: #8e8e80;
|
||||
font-weight: bold; }
|
||||
|
||||
/* Geolocation Dialog */
|
||||
.geolocation-dialog {
|
||||
spacing: 30px; }
|
||||
@@ -535,6 +558,13 @@ StScrollBar {
|
||||
border-radius: 0.3em;
|
||||
background-color: rgba(11, 12, 13, 0.5);
|
||||
color: #eeeeec; }
|
||||
.osd-window .level-bar {
|
||||
background-color: #eeeeec;
|
||||
border-radius: 0.3em; }
|
||||
|
||||
.pad-osd-window {
|
||||
background-color: rgba(0, 0, 0, 0.8);
|
||||
}
|
||||
|
||||
/* App Switcher */
|
||||
.switcher-popup {
|
||||
@@ -766,7 +796,7 @@ StScrollBar {
|
||||
border-radius: 1.4em; }
|
||||
.calendar-day-base:hover, .calendar-day-base:focus {
|
||||
background-color: #454c4c; }
|
||||
.calendar-day-base:active {
|
||||
.calendar-day-base:active, .calendar-day-base:selected {
|
||||
color: white;
|
||||
background-color: #215d9c;
|
||||
border-color: transparent; }
|
||||
|
30
data/theme/pad-osd.css
Normal file
30
data/theme/pad-osd.css
Normal file
@@ -0,0 +1,30 @@
|
||||
.Leader {
|
||||
stroke-width: .5 !important;
|
||||
stroke: #535353;
|
||||
fill: none !important;
|
||||
}
|
||||
|
||||
.Button {
|
||||
stroke-width: .25;
|
||||
stroke: #ededed;
|
||||
fill: #ededed;
|
||||
}
|
||||
|
||||
.Ring {
|
||||
stroke-width: .5 !important;
|
||||
stroke: #535353 !important;
|
||||
fill: none !important;
|
||||
}
|
||||
|
||||
.Label {
|
||||
stroke: none !important;
|
||||
stroke-width: .1 !important;
|
||||
font-size: .1 !important;
|
||||
fill: transparent !important;
|
||||
}
|
||||
|
||||
.TouchStrip, .TouchRing {
|
||||
stroke-width: .1 !important;
|
||||
stroke: #ededed !important;
|
||||
fill: #535353 !important;
|
||||
}
|
@@ -113,7 +113,7 @@ expand_content_files=
|
||||
# e.g. GTKDOC_CFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
|
||||
# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
|
||||
GTKDOC_CFLAGS=$(GNOME_SHELL_CFLAGS)
|
||||
GTKDOC_LIBS=$(GNOME_SHELL_LIBS) $(top_builddir)/src/libgnome-shell-menu.la $(top_builddir)/src/libgnome-shell-base.la $(top_builddir)/src/libgnome-shell.la
|
||||
GTKDOC_LIBS=$(GNOME_SHELL_LIBS) $(top_builddir)/src/libgnome-shell-menu.la $(top_builddir)/src/libgnome-shell-base.la $(top_builddir)/src/libgnome-shell.la -rpath $(MUTTER_TYPELIB_DIR)
|
||||
|
||||
# This includes the standard gtk-doc make rules, copied by gtkdocize.
|
||||
include $(top_srcdir)/gtk-doc.make
|
||||
|
@@ -78,7 +78,7 @@ expand_content_files=
|
||||
# e.g. GTKDOC_CFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
|
||||
# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
|
||||
GTKDOC_CFLAGS=
|
||||
GTKDOC_LIBS=$(top_builddir)/src/libst-1.0.la
|
||||
GTKDOC_LIBS=$(top_builddir)/src/libst-1.0.la -rpath $(MUTTER_TYPELIB_DIR)
|
||||
|
||||
# This includes the standard gtk-doc make rules, copied by gtkdocize.
|
||||
include $(top_srcdir)/gtk-doc.make
|
||||
|
@@ -31,6 +31,7 @@
|
||||
|
||||
<file>portalHelper/main.js</file>
|
||||
|
||||
<file>ui/accessDialog.js</file>
|
||||
<file>ui/altTab.js</file>
|
||||
<file>ui/animation.js</file>
|
||||
<file>ui/appDisplay.js</file>
|
||||
@@ -71,6 +72,7 @@
|
||||
<file>ui/osdMonitorLabeler.js</file>
|
||||
<file>ui/overview.js</file>
|
||||
<file>ui/overviewControls.js</file>
|
||||
<file>ui/padOsd.js</file>
|
||||
<file>ui/panel.js</file>
|
||||
<file>ui/panelMenu.js</file>
|
||||
<file>ui/pointerWatcher.js</file>
|
||||
|
@@ -40,6 +40,9 @@ const SystemdLoginSessionIface = '<node> \
|
||||
<signal name="Lock" /> \
|
||||
<signal name="Unlock" /> \
|
||||
<property name="Active" type="b" access="read" /> \
|
||||
<method name="SetLockedHint"> \
|
||||
<arg type="b" direction="in"/> \
|
||||
</method> \
|
||||
</interface> \
|
||||
</node>';
|
||||
|
||||
@@ -131,10 +134,13 @@ const LoginManagerSystemd = new Lang.Class({
|
||||
|
||||
canSuspend: function(asyncCallback) {
|
||||
this._proxy.CanSuspendRemote(function(result, error) {
|
||||
if (error)
|
||||
asyncCallback(false);
|
||||
else
|
||||
asyncCallback(result[0] != 'no' && result[0] != 'na');
|
||||
if (error) {
|
||||
asyncCallback(false, false);
|
||||
} else {
|
||||
let needsAuth = result[0] == 'challenge';
|
||||
let canSuspend = needsAuth || result[0] == 'yes';
|
||||
asyncCallback(canSuspend, needsAuth);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
@@ -187,7 +193,7 @@ const LoginManagerDummy = new Lang.Class({
|
||||
},
|
||||
|
||||
canSuspend: function(asyncCallback) {
|
||||
asyncCallback(false);
|
||||
asyncCallback(false, false);
|
||||
},
|
||||
|
||||
listSessions: function(asyncCallback) {
|
||||
|
202
js/ui/accessDialog.js
Normal file
202
js/ui/accessDialog.js
Normal file
@@ -0,0 +1,202 @@
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const Gio = imports.gi.Gio;
|
||||
const GLib = imports.gi.GLib;
|
||||
const Lang = imports.lang;
|
||||
const Pango = imports.gi.Pango;
|
||||
const Shell = imports.gi.Shell;
|
||||
const St = imports.gi.St;
|
||||
|
||||
const CheckBox = imports.ui.checkBox;
|
||||
const ModalDialog = imports.ui.modalDialog;
|
||||
|
||||
const RequestIface = '<node> \
|
||||
<interface name="org.freedesktop.impl.portal.Request"> \
|
||||
<method name="Close"/> \
|
||||
</interface> \
|
||||
</node>';
|
||||
|
||||
const AccessIface = '<node> \
|
||||
<interface name="org.freedesktop.impl.portal.Access"> \
|
||||
<method name="AccessDialog"> \
|
||||
<arg type="o" name="handle" direction="in"/> \
|
||||
<arg type="s" name="app_id" direction="in"/> \
|
||||
<arg type="s" name="parent_window" direction="in"/> \
|
||||
<arg type="s" name="title" direction="in"/> \
|
||||
<arg type="s" name="subtitle" direction="in"/> \
|
||||
<arg type="s" name="body" direction="in"/> \
|
||||
<arg type="a{sv}" name="options" direction="in"/> \
|
||||
<arg type="u" name="response" direction="out"/> \
|
||||
<arg type="a{sv}" name="results" direction="out"/> \
|
||||
</method> \
|
||||
</interface> \
|
||||
</node>';
|
||||
|
||||
const DialogResponse = {
|
||||
OK: 0,
|
||||
CANCEL: 1,
|
||||
CLOSED: 2
|
||||
};
|
||||
|
||||
const AccessDialog = new Lang.Class({
|
||||
Name: 'AccessDialog',
|
||||
Extends: ModalDialog.ModalDialog,
|
||||
|
||||
_init: function(invocation, handle, title, subtitle, body, options) {
|
||||
this.parent({ styleClass: 'access-dialog' });
|
||||
|
||||
this._invocation = invocation;
|
||||
this._handle = handle;
|
||||
|
||||
this._requestExported = false;
|
||||
this._request = Gio.DBusExportedObject.wrapJSObject(RequestIface, this);
|
||||
|
||||
for (let option in options)
|
||||
options[option] = options[option].deep_unpack();
|
||||
|
||||
this._buildLayout(title, subtitle, body, options);
|
||||
},
|
||||
|
||||
_buildLayout: function(title, subtitle, body, options) {
|
||||
// No support for non-modal system dialogs, so ignore the option
|
||||
//let modal = options['modal'] || true;
|
||||
let denyLabel = options['deny_label'] || _("Deny Access");
|
||||
let grantLabel = options['grant_label'] || _("Grant Access");
|
||||
let iconName = options['icon'] || null;
|
||||
let choices = options['choices'] || [];
|
||||
|
||||
let mainContentBox = new St.BoxLayout();
|
||||
mainContentBox.style_class = 'access-dialog-main-layout';
|
||||
this.contentLayout.add_actor(mainContentBox);
|
||||
|
||||
let icon = new St.Icon({ style_class: 'access-dialog-icon',
|
||||
icon_name: iconName,
|
||||
y_align: Clutter.ActorAlign.START });
|
||||
mainContentBox.add_actor(icon);
|
||||
|
||||
let messageBox = new St.BoxLayout({ vertical: true });
|
||||
messageBox.style_class = 'access-dialog-content',
|
||||
mainContentBox.add_actor(messageBox);
|
||||
|
||||
let label;
|
||||
label = new St.Label({ style_class: 'access-dialog-title headline',
|
||||
text: title });
|
||||
messageBox.add_actor(label);
|
||||
|
||||
label = new St.Label({ style_class: 'access-dialog-subtitle',
|
||||
text: subtitle });
|
||||
label.clutter_text.ellipsize = Pango.EllipsizeMode.NONE;
|
||||
label.clutter_text.line_wrap = true;
|
||||
messageBox.add_actor(label);
|
||||
|
||||
this._choices = new Map();
|
||||
|
||||
for (let i = 0; i < choices.length; i++) {
|
||||
let [id, name, opts, selected] = choices[i];
|
||||
if (opts.length > 0)
|
||||
continue; // radio buttons, not implemented
|
||||
|
||||
let check = new CheckBox.CheckBox();
|
||||
check.getLabelActor().text = name;
|
||||
check.actor.checked = selected == "true";
|
||||
messageBox.add_actor(check.actor);
|
||||
|
||||
this._choices.set(id, check);
|
||||
}
|
||||
|
||||
label = new St.Label({ text: body });
|
||||
label.clutter_text.ellipsize = Pango.EllipsizeMode.NONE;
|
||||
label.clutter_text.line_wrap = true;
|
||||
messageBox.add_actor(label);
|
||||
|
||||
this.addButton({ label: denyLabel,
|
||||
action: () => {
|
||||
this._sendResponse(DialogResponse.CANCEL);
|
||||
},
|
||||
key: Clutter.KEY_Escape });
|
||||
this.addButton({ label: grantLabel,
|
||||
action: () => {
|
||||
this._sendResponse(DialogResponse.OK);
|
||||
}});
|
||||
},
|
||||
|
||||
open: function() {
|
||||
this.parent();
|
||||
|
||||
let connection = this._invocation.get_connection();
|
||||
this._requestExported = this._request.export(connection, this._handle);
|
||||
},
|
||||
|
||||
CloseAsync: function(invocation, params) {
|
||||
if (this._invocation.get_sender() != invocation.get_sender()) {
|
||||
invocation.return_error_literal(Gio.DBusError,
|
||||
Gio.DBusError.ACCESS_DENIED,
|
||||
'');
|
||||
return;
|
||||
}
|
||||
|
||||
this._sendResponse(DialogResponse.CLOSED);
|
||||
},
|
||||
|
||||
_sendResponse: function(response) {
|
||||
if (this._requestExported)
|
||||
this._request.unexport();
|
||||
this._requestExported = false;
|
||||
|
||||
let results = {};
|
||||
if (response == DialogResponse.OK) {
|
||||
for (let [id, check] of this._choices) {
|
||||
let checked = check.actor.checked ? 'true' : 'false';
|
||||
results[id] = new GLib.Variant('s', checked);
|
||||
}
|
||||
}
|
||||
|
||||
// Delay actual response until the end of the close animation (if any)
|
||||
this.connect('closed', () => {
|
||||
this._invocation.return_value(new GLib.Variant('(ua{sv})',
|
||||
[response, results]));
|
||||
});
|
||||
this.close();
|
||||
}
|
||||
});
|
||||
|
||||
const AccessDialogDBus = new Lang.Class({
|
||||
Name: 'AccessDialogDBus',
|
||||
|
||||
_init: function() {
|
||||
this._accessDialog = null;
|
||||
|
||||
this._windowTracker = Shell.WindowTracker.get_default();
|
||||
|
||||
this._dbusImpl = Gio.DBusExportedObject.wrapJSObject(AccessIface, this);
|
||||
this._dbusImpl.export(Gio.DBus.session, '/org/freedesktop/portal/desktop');
|
||||
|
||||
Gio.DBus.session.own_name('org.freedesktop.impl.portal.desktop.gnome', Gio.BusNameOwnerFlags.REPLACE, null, null);
|
||||
},
|
||||
|
||||
AccessDialogAsync: function(params, invocation) {
|
||||
if (this._accessDialog) {
|
||||
invocation.return_error_literal(Gio.DBusError,
|
||||
Gio.DBusError.LIMITS_EXCEEDED,
|
||||
'Already showing a system access dialog');
|
||||
return;
|
||||
}
|
||||
|
||||
let [handle, appId, parentWindow, title, subtitle, body, options] = params;
|
||||
// We probably want to use parentWindow and global.display.focus_window
|
||||
// for this check in the future
|
||||
if (appId && appId + '.desktop' != this._windowTracker.focus_app.id) {
|
||||
invocation.return_error_literal(Gio.DBusError,
|
||||
Gio.DBusError.ACCESS_DENIED,
|
||||
'Only the focused app is allowed to show a system access dialog');
|
||||
return;
|
||||
}
|
||||
|
||||
let dialog = new AccessDialog(invocation, handle, title,
|
||||
subtitle, body, options);
|
||||
dialog.open();
|
||||
|
||||
dialog.connect('closed', () => { this._accessDialog = null; });
|
||||
|
||||
this._accessDialog = dialog;
|
||||
}
|
||||
});
|
@@ -354,6 +354,59 @@ const AppSwitcherPopup = new Lang.Class({
|
||||
}
|
||||
});
|
||||
|
||||
const CyclerPopup = new Lang.Class({
|
||||
Name: 'CyclerPopup',
|
||||
Extends: SwitcherPopup.SwitcherPopup,
|
||||
Abstract: true,
|
||||
|
||||
_init : function() {
|
||||
this.parent();
|
||||
|
||||
this._items = this._getWindows();
|
||||
|
||||
if (this._items.length == 0)
|
||||
return;
|
||||
|
||||
// We don't show an actual popup, so just provide what SwitcherPopup
|
||||
// expects instead of inheriting from SwitcherList
|
||||
this._switcherList = { actor: new St.Widget(),
|
||||
highlight: Lang.bind(this, this._highlightItem),
|
||||
connect: function() {} };
|
||||
},
|
||||
|
||||
_highlightItem: function(index, justOutline) {
|
||||
Main.activateWindow(this._items[index]);
|
||||
},
|
||||
|
||||
_finish: function() {
|
||||
this._highlightItem(this._selectedIndex);
|
||||
|
||||
this.parent();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
const GroupCyclerPopup = new Lang.Class({
|
||||
Name: 'GroupCyclerPopup',
|
||||
Extends: CyclerPopup,
|
||||
|
||||
_getWindows: function() {
|
||||
let app = Shell.WindowTracker.get_default().focus_app;
|
||||
return app ? app.get_windows() : [];
|
||||
},
|
||||
|
||||
_keyPressHandler: function(keysym, action) {
|
||||
if (action == Meta.KeyBindingAction.CYCLE_GROUP)
|
||||
this._select(this._next());
|
||||
else if (action == Meta.KeyBindingAction.CYCLE_GROUP_BACKWARD)
|
||||
this._select(this._previous());
|
||||
else
|
||||
return Clutter.EVENT_PROPAGATE;
|
||||
|
||||
return Clutter.EVENT_STOP;
|
||||
}
|
||||
});
|
||||
|
||||
const WindowSwitcherPopup = new Lang.Class({
|
||||
Name: 'WindowSwitcherPopup',
|
||||
Extends: SwitcherPopup.SwitcherPopup,
|
||||
@@ -401,6 +454,32 @@ const WindowSwitcherPopup = new Lang.Class({
|
||||
}
|
||||
});
|
||||
|
||||
const WindowCyclerPopup = new Lang.Class({
|
||||
Name: 'WindowCyclerPopup',
|
||||
Extends: CyclerPopup,
|
||||
|
||||
_init: function() {
|
||||
this._settings = new Gio.Settings({ schema_id: 'org.gnome.shell.window-switcher' });
|
||||
this.parent();
|
||||
},
|
||||
|
||||
_getWindows: function() {
|
||||
let workspace = this._settings.get_boolean('current-workspace-only') ? global.screen.get_active_workspace() : null;
|
||||
return global.display.get_tab_list(Meta.TabList.NORMAL, workspace);
|
||||
},
|
||||
|
||||
_keyPressHandler: function(keysym, action) {
|
||||
if (action == Meta.KeyBindingAction.CYCLE_WINDOWS)
|
||||
this._select(this._next());
|
||||
else if (action == Meta.KeyBindingAction.CYCLE_WINDOWS_BACKWARD)
|
||||
this._select(this._previous());
|
||||
else
|
||||
return Clutter.EVENT_PROPAGATE;
|
||||
|
||||
return Clutter.EVENT_STOP;
|
||||
}
|
||||
});
|
||||
|
||||
const AppIcon = new Lang.Class({
|
||||
Name: 'AppIcon',
|
||||
|
||||
|
@@ -1814,7 +1814,7 @@ const AppIconMenu = new Lang.Class({
|
||||
if (!source.actor.mapped)
|
||||
this.close();
|
||||
}));
|
||||
source.actor.connect('destroy', Lang.bind(this, function () { this.actor.destroy(); }));
|
||||
source.actor.connect('destroy', Lang.bind(this, this.destroy));
|
||||
|
||||
Main.uiGroup.add_actor(this.actor);
|
||||
},
|
||||
|
@@ -696,6 +696,7 @@ const BackgroundManager = new Lang.Class({
|
||||
time: FADE_ANIMATION_TIME,
|
||||
transition: 'easeOutQuad',
|
||||
onComplete: function() {
|
||||
oldBackgroundActor.background.run_dispose();
|
||||
oldBackgroundActor.destroy();
|
||||
}
|
||||
});
|
||||
|
@@ -120,6 +120,9 @@ const EmptyEventSource = new Lang.Class({
|
||||
destroy: function() {
|
||||
},
|
||||
|
||||
ignoreEvent: function(event) {
|
||||
},
|
||||
|
||||
requestRange: function(begin, end) {
|
||||
},
|
||||
|
||||
@@ -184,6 +187,15 @@ const DBusEventSource = new Lang.Class({
|
||||
this.isLoading = false;
|
||||
this.isDummy = false;
|
||||
|
||||
this._ignoredEvents = new Map();
|
||||
|
||||
let savedState = global.get_persistent_state('as', 'ignored_events');
|
||||
if (savedState)
|
||||
savedState.deep_unpack().forEach(Lang.bind(this,
|
||||
function(eventId) {
|
||||
this._ignoredEvents.set(eventId, true);
|
||||
}));
|
||||
|
||||
this._initialized = false;
|
||||
this._dbusProxy = new CalendarServer();
|
||||
this._dbusProxy.init_async(GLib.PRIORITY_DEFAULT, null, Lang.bind(this, function(object, result) {
|
||||
@@ -298,6 +310,16 @@ const DBusEventSource = new Lang.Class({
|
||||
}
|
||||
},
|
||||
|
||||
ignoreEvent: function(event) {
|
||||
if (this._ignoredEvents.get(event.id))
|
||||
return;
|
||||
|
||||
this._ignoredEvents.set(event.id, true);
|
||||
let savedState = new GLib.Variant('as', [...this._ignoredEvents.keys()]);
|
||||
global.set_persistent_state('ignored_events', savedState);
|
||||
this.emit('changed');
|
||||
},
|
||||
|
||||
requestRange: function(begin, end) {
|
||||
if (!(_datesEqual(begin, this._lastRequestBegin) && _datesEqual(end, this._lastRequestEnd))) {
|
||||
this.isLoading = true;
|
||||
@@ -313,6 +335,10 @@ const DBusEventSource = new Lang.Class({
|
||||
let result = [];
|
||||
for(let n = 0; n < this._events.length; n++) {
|
||||
let event = this._events[n];
|
||||
|
||||
if (this._ignoredEvents.has(event.id))
|
||||
continue;
|
||||
|
||||
if (_dateIntervalsOverlap (event.date, event.end, begin, end)) {
|
||||
result.push(event);
|
||||
}
|
||||
@@ -345,7 +371,7 @@ const Calendar = new Lang.Class({
|
||||
|
||||
_init: function() {
|
||||
this._weekStart = Shell.util_get_week_start();
|
||||
this._settings = new Gio.Settings({ schema_id: 'org.gnome.shell.calendar' });
|
||||
this._settings = new Gio.Settings({ schema_id: 'org.gnome.desktop.calendar' });
|
||||
|
||||
this._settings.connect('changed::' + SHOW_WEEKDATE_KEY, Lang.bind(this, this._onSettingsChange));
|
||||
this._useWeekdate = this._settings.get_boolean(SHOW_WEEKDATE_KEY);
|
||||
@@ -660,12 +686,12 @@ const Calendar = new Lang.Class({
|
||||
|
||||
this._buttons.forEach(Lang.bind(this, function(button) {
|
||||
if (sameDay(button._date, this._selectedDate)) {
|
||||
button.add_style_pseudo_class('active');
|
||||
button.add_style_pseudo_class('selected');
|
||||
if (this._shouldDateGrabFocus)
|
||||
button.grab_key_focus();
|
||||
}
|
||||
else
|
||||
button.remove_style_pseudo_class('active');
|
||||
button.remove_style_pseudo_class('selected');
|
||||
}));
|
||||
}
|
||||
});
|
||||
@@ -785,15 +811,6 @@ const EventsSection = new Lang.Class({
|
||||
this._desktopSettings.connect('changed', Lang.bind(this, this._reloadEvents));
|
||||
this._eventSource = new EmptyEventSource();
|
||||
|
||||
this._ignoredEvents = new Map();
|
||||
|
||||
let savedState = global.get_persistent_state('as', 'ignored_events');
|
||||
if (savedState)
|
||||
savedState.deep_unpack().forEach(Lang.bind(this,
|
||||
function(eventId) {
|
||||
this._ignoredEvents.set(eventId, true);
|
||||
}));
|
||||
|
||||
this.parent('');
|
||||
|
||||
Shell.AppSystem.get_default().connect('installed-changed',
|
||||
@@ -802,9 +819,7 @@ const EventsSection = new Lang.Class({
|
||||
},
|
||||
|
||||
_ignoreEvent: function(event) {
|
||||
this._ignoredEvents.set(event.id, true);
|
||||
let savedState = new GLib.Variant('as', [...this._ignoredEvents.keys()]);
|
||||
global.set_persistent_state('ignored_events', savedState);
|
||||
this._eventSource.ignoreEvent(event);
|
||||
},
|
||||
|
||||
setEventSource: function(eventSource) {
|
||||
@@ -850,9 +865,6 @@ const EventsSection = new Lang.Class({
|
||||
for (let i = 0; i < events.length; i++) {
|
||||
let event = events[i];
|
||||
|
||||
if (this._ignoredEvents.has(event.id))
|
||||
continue;
|
||||
|
||||
let message = new EventMessage(event, this._date);
|
||||
message.connect('close', Lang.bind(this, function() {
|
||||
this._ignoreEvent(event);
|
||||
|
@@ -796,10 +796,18 @@ const NetworkAgent = new Lang.Class({
|
||||
path = GLib.build_filenamev([Config.LIBEXECDIR, path]);
|
||||
}
|
||||
|
||||
if (GLib.file_test(path, GLib.FileTest.IS_EXECUTABLE))
|
||||
if (GLib.file_test(path, GLib.FileTest.IS_EXECUTABLE)) {
|
||||
this._vpnBinaries[service] = { fileName: path, externalUIMode: externalUIMode, supportsHints: hints };
|
||||
else
|
||||
try {
|
||||
let aliases = keyfile.get_string_list('VPN Connection', 'aliases');
|
||||
|
||||
for (let alias of aliases) {
|
||||
this._vpnBinaries[alias] = { fileName: path, externalUIMode: externalUIMode, supportsHints: hints };
|
||||
}
|
||||
} catch(e) { } // ignore errors if key does not exist
|
||||
} else {
|
||||
throw new Error('VPN plugin at %s is not executable'.format(path));
|
||||
}
|
||||
} catch(e) {
|
||||
log('Error \'%s\' while processing VPN keyfile \'%s\''.
|
||||
format(e.message, dir.get_child(name).get_path()));
|
||||
|
70
js/ui/dnd.js
70
js/ui/dnd.js
@@ -571,20 +571,13 @@ const _Draggable = new Lang.Class({
|
||||
return;
|
||||
}
|
||||
|
||||
this._animationInProgress = true;
|
||||
// No target, so snap back
|
||||
Tweener.addTween(this._dragActor,
|
||||
{ x: snapBackX,
|
||||
y: snapBackY,
|
||||
scale_x: snapBackScale,
|
||||
scale_y: snapBackScale,
|
||||
opacity: this._dragOrigOpacity,
|
||||
time: SNAP_BACK_ANIMATION_TIME,
|
||||
transition: 'easeOutQuad',
|
||||
onComplete: this._onAnimationComplete,
|
||||
onCompleteScope: this,
|
||||
onCompleteParams: [this._dragActor, eventTime]
|
||||
});
|
||||
this._animateDragEnd(eventTime,
|
||||
{ x: snapBackX,
|
||||
y: snapBackY,
|
||||
scale_x: snapBackScale,
|
||||
scale_y: snapBackScale,
|
||||
time: SNAP_BACK_ANIMATION_TIME,
|
||||
});
|
||||
},
|
||||
|
||||
_restoreDragActor: function(eventTime) {
|
||||
@@ -596,18 +589,44 @@ const _Draggable = new Lang.Class({
|
||||
this._dragActor.set_scale(restoreScale, restoreScale);
|
||||
this._dragActor.opacity = 0;
|
||||
|
||||
this._animateDragEnd(eventTime,
|
||||
{ time: REVERT_ANIMATION_TIME });
|
||||
},
|
||||
|
||||
_animateDragEnd: function (eventTime, params) {
|
||||
this._animationInProgress = true;
|
||||
Tweener.addTween(this._dragActor,
|
||||
{ opacity: this._dragOrigOpacity,
|
||||
time: REVERT_ANIMATION_TIME,
|
||||
transition: 'easeOutQuad',
|
||||
onComplete: this._onAnimationComplete,
|
||||
onCompleteScope: this,
|
||||
onCompleteParams: [this._dragActor, eventTime]
|
||||
});
|
||||
|
||||
// finish animation if the actor gets destroyed
|
||||
// during it
|
||||
this._dragActorDestroyId =
|
||||
this._dragActor.connect('destroy',
|
||||
Lang.bind(this, this._finishAnimation));
|
||||
|
||||
params['opacity'] = this._dragOrigOpacity;
|
||||
params['transition'] = 'easeOutQuad';
|
||||
params['onComplete'] = this._onAnimationComplete;
|
||||
params['onCompleteScope'] = this;
|
||||
params['onCompleteParams'] = [this._dragActor, eventTime];
|
||||
|
||||
// start the animation
|
||||
Tweener.addTween(this._dragActor, params)
|
||||
},
|
||||
|
||||
_finishAnimation : function () {
|
||||
if (!this._animationInProgress)
|
||||
return
|
||||
|
||||
this._animationInProgress = false;
|
||||
if (!this._buttonDown)
|
||||
this._dragComplete();
|
||||
|
||||
global.screen.set_cursor(Meta.Cursor.DEFAULT);
|
||||
},
|
||||
|
||||
_onAnimationComplete : function (dragActor, eventTime) {
|
||||
dragActor.disconnect(this._dragActorDestroyId);
|
||||
this._dragActorDestroyId = 0;
|
||||
|
||||
if (this._dragOrigParent) {
|
||||
Main.uiGroup.remove_child(this._dragActor);
|
||||
this._dragOrigParent.add_actor(this._dragActor);
|
||||
@@ -616,12 +635,9 @@ const _Draggable = new Lang.Class({
|
||||
} else {
|
||||
dragActor.destroy();
|
||||
}
|
||||
global.screen.set_cursor(Meta.Cursor.DEFAULT);
|
||||
this.emit('drag-end', eventTime, false);
|
||||
|
||||
this._animationInProgress = false;
|
||||
if (!this._buttonDown)
|
||||
this._dragComplete();
|
||||
this.emit('drag-end', eventTime, false);
|
||||
this._finishAnimation();
|
||||
},
|
||||
|
||||
_dragComplete: function() {
|
||||
|
@@ -1,6 +1,6 @@
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
/*
|
||||
* Copyright 2010 Red Hat, Inc
|
||||
* Copyright 2010-2016 Red Hat, Inc
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -114,7 +114,7 @@ const restartDialogContent = {
|
||||
showOtherSessions: true,
|
||||
};
|
||||
|
||||
const restartInstallDialogContent = {
|
||||
const restartUpdateDialogContent = {
|
||||
|
||||
subject: C_("title", "Restart & Install Updates"),
|
||||
description: function(seconds) {
|
||||
@@ -132,18 +132,38 @@ const restartInstallDialogContent = {
|
||||
showOtherSessions: true,
|
||||
};
|
||||
|
||||
const restartUpgradeDialogContent = {
|
||||
|
||||
subject: C_("title", "Restart & Install Upgrade"),
|
||||
upgradeDescription: function(distroName, distroVersion) {
|
||||
/* Translators: This is the text displayed for system upgrades in the
|
||||
shut down dialog. First %s gets replaced with the distro name and
|
||||
second %s with the distro version to upgrade to */
|
||||
return _("%s %s will be installed after restart. Upgrade installation can take a long time: ensure that you have backed up and that the computer is plugged in.").format(distroName, distroVersion);
|
||||
},
|
||||
disableTimer: true,
|
||||
showBatteryWarning: false,
|
||||
confirmButtons: [{ signal: 'ConfirmedReboot',
|
||||
label: C_("button", "Restart & Install") }],
|
||||
iconName: 'view-refresh-symbolic',
|
||||
iconStyleClass: 'end-session-dialog-shutdown-icon',
|
||||
showOtherSessions: true,
|
||||
};
|
||||
|
||||
const DialogType = {
|
||||
LOGOUT: 0 /* GSM_SHELL_END_SESSION_DIALOG_TYPE_LOGOUT */,
|
||||
SHUTDOWN: 1 /* GSM_SHELL_END_SESSION_DIALOG_TYPE_SHUTDOWN */,
|
||||
RESTART: 2 /* GSM_SHELL_END_SESSION_DIALOG_TYPE_RESTART */,
|
||||
UPDATE_RESTART: 3
|
||||
UPDATE_RESTART: 3,
|
||||
UPGRADE_RESTART: 4
|
||||
};
|
||||
|
||||
const DialogContent = {
|
||||
0 /* DialogType.LOGOUT */: logoutDialogContent,
|
||||
1 /* DialogType.SHUTDOWN */: shutdownDialogContent,
|
||||
2 /* DialogType.RESTART */: restartDialogContent,
|
||||
3 /* DialogType.UPDATE_RESTART */: restartInstallDialogContent
|
||||
3 /* DialogType.UPDATE_RESTART */: restartUpdateDialogContent,
|
||||
4 /* DialogType.UPGRADE_RESTART */: restartUpgradeDialogContent
|
||||
};
|
||||
|
||||
const MAX_USERS_IN_SESSION_DIALOG = 5;
|
||||
@@ -163,7 +183,10 @@ const LogindSession = Gio.DBusProxy.makeProxyWrapper(LogindSessionIface);
|
||||
const PkOfflineIface = '<node> \
|
||||
<interface name="org.freedesktop.PackageKit.Offline"> \
|
||||
<property name="UpdatePrepared" type="b" access="read"/> \
|
||||
<property name="TriggerAction" type="s" access="read"/> \
|
||||
<property name="UpdateTriggered" type="b" access="read"/> \
|
||||
<property name="UpgradePrepared" type="b" access="read"/> \
|
||||
<property name="UpgradeTriggered" type="b" access="read"/> \
|
||||
<property name="PreparedUpgrade" type="a{sv}" access="read"/> \
|
||||
<method name="Trigger"> \
|
||||
<arg type="s" name="action" direction="in"/> \
|
||||
</method> \
|
||||
@@ -415,11 +438,19 @@ const EndSessionDialog = new Lang.Class({
|
||||
|
||||
if (dialogContent.descriptionWithUser)
|
||||
description = dialogContent.descriptionWithUser(realName, displayTime);
|
||||
else
|
||||
description = dialogContent.description(displayTime);
|
||||
}
|
||||
}
|
||||
|
||||
// Use a different description when we are installing a system upgrade
|
||||
if (dialogContent.upgradeDescription) {
|
||||
let name = this._pkOfflineProxy.PreparedUpgrade['name'].deep_unpack();
|
||||
let version = this._pkOfflineProxy.PreparedUpgrade['version'].deep_unpack();
|
||||
|
||||
if (name != null && version != null)
|
||||
description = dialogContent.upgradeDescription(name, version);
|
||||
}
|
||||
|
||||
// Fall back to regular description
|
||||
if (!description)
|
||||
description = dialogContent.description(displayTime);
|
||||
|
||||
@@ -698,9 +729,12 @@ const EndSessionDialog = new Lang.Class({
|
||||
this._totalSecondsToStayOpen = totalSecondsToStayOpen;
|
||||
this._type = type;
|
||||
|
||||
if (this._type == DialogType.RESTART &&
|
||||
this._pkOfflineProxy.TriggerAction == 'reboot')
|
||||
this._type = DialogType.UPDATE_RESTART;
|
||||
if (this._type == DialogType.RESTART) {
|
||||
if (this._pkOfflineProxy.UpdateTriggered)
|
||||
this._type = DialogType.UPDATE_RESTART;
|
||||
else if (this._pkOfflineProxy.UpgradeTriggered)
|
||||
this._type = DialogType.UPGRADE_RESTART;
|
||||
}
|
||||
|
||||
this._applications = [];
|
||||
this._applicationList.destroy_all_children();
|
||||
@@ -727,19 +761,19 @@ const EndSessionDialog = new Lang.Class({
|
||||
if (dialogContent.showOtherSessions)
|
||||
this._loadSessions();
|
||||
|
||||
let updateAlreadyTriggered = this._pkOfflineProxy.TriggerAction == 'power-off' || this._pkOfflineProxy.TriggerAction == 'reboot';
|
||||
let updateTriggered = this._pkOfflineProxy.UpdateTriggered;
|
||||
let updatePrepared = this._pkOfflineProxy.UpdatePrepared;
|
||||
let updatesAllowed = this._updatesPermission && this._updatesPermission.allowed;
|
||||
|
||||
_setCheckBoxLabel(this._checkBox, dialogContent.checkBoxText);
|
||||
this._checkBox.actor.visible = (dialogContent.checkBoxText && updatePrepared && updatesAllowed);
|
||||
this._checkBox.actor.checked = (updatePrepared && updateAlreadyTriggered);
|
||||
this._checkBox.actor.checked = (updatePrepared && updateTriggered);
|
||||
|
||||
// We show the warning either together with the checkbox, or when
|
||||
// updates have already been triggered, but the user doesn't have
|
||||
// enough permissions to cancel them.
|
||||
this._batteryWarning.visible = (dialogContent.showBatteryWarning &&
|
||||
(this._checkBox.actor.visible || updatePrepared && updateAlreadyTriggered && !updatesAllowed));
|
||||
(this._checkBox.actor.visible || updatePrepared && updateTriggered && !updatesAllowed));
|
||||
|
||||
this._updateButtons();
|
||||
|
||||
@@ -749,7 +783,9 @@ const EndSessionDialog = new Lang.Class({
|
||||
return;
|
||||
}
|
||||
|
||||
this._startTimer();
|
||||
if (!dialogContent.disableTimer)
|
||||
this._startTimer();
|
||||
|
||||
this._sync();
|
||||
|
||||
let signalId = this.connect('opened',
|
||||
|
@@ -220,7 +220,8 @@ const LayoutManager = new Lang.Class({
|
||||
global.stage.add_child(this.uiGroup);
|
||||
|
||||
this.overviewGroup = new St.Widget({ name: 'overviewGroup',
|
||||
visible: false });
|
||||
visible: false,
|
||||
reactive: true });
|
||||
this.addChrome(this.overviewGroup);
|
||||
|
||||
this.screenShieldGroup = new St.Widget({ name: 'screenShieldGroup',
|
||||
@@ -591,7 +592,10 @@ const LayoutManager = new Lang.Class({
|
||||
this.addChrome(this._coverPane);
|
||||
|
||||
if (Meta.is_restart()) {
|
||||
// On restart, we don't do an animation
|
||||
// On restart, we don't do an animation. Force an update of the
|
||||
// regions immediately so that maximized windows restore to the
|
||||
// right size taking struts into account.
|
||||
this._updateRegions();
|
||||
} else if (Main.sessionMode.isGreeter) {
|
||||
this.panelBox.translation_y = -this.panelBox.height;
|
||||
} else {
|
||||
@@ -938,6 +942,11 @@ const LayoutManager = new Lang.Class({
|
||||
if (Main.modalCount > 0)
|
||||
return GLib.SOURCE_REMOVE;
|
||||
|
||||
// Bug workaround - get_transformed_position()/get_transformed_size() don't work after
|
||||
// a change in stage size until the first pick or paint.
|
||||
// https://bugzilla.gnome.org/show_bug.cgi?id=761565
|
||||
global.stage.get_actor_at_pos(Clutter.PickMode.ALL, 0, 0);
|
||||
|
||||
let rects = [], struts = [], i;
|
||||
let isPopupMenuVisible = global.top_window_group.get_children().some(isPopupMetaWindow);
|
||||
let wantsInputRegion = !isPopupMenuVisible;
|
||||
|
@@ -11,6 +11,7 @@ const Meta = imports.gi.Meta;
|
||||
const Shell = imports.gi.Shell;
|
||||
const St = imports.gi.St;
|
||||
|
||||
const AccessDialog = imports.ui.accessDialog;
|
||||
const AudioDeviceSelection = imports.ui.audioDeviceSelection;
|
||||
const Components = imports.ui.components;
|
||||
const CtrlAltTab = imports.ui.ctrlAltTab;
|
||||
@@ -25,6 +26,7 @@ const ModalDialog = imports.ui.modalDialog;
|
||||
const OsdWindow = imports.ui.osdWindow;
|
||||
const OsdMonitorLabeler = imports.ui.osdMonitorLabeler;
|
||||
const Overview = imports.ui.overview;
|
||||
const PadOsd = imports.ui.padOsd;
|
||||
const Panel = imports.ui.panel;
|
||||
const Params = imports.misc.params;
|
||||
const RunDialog = imports.ui.runDialog;
|
||||
@@ -60,9 +62,11 @@ let screenShield = null;
|
||||
let notificationDaemon = null;
|
||||
let windowAttentionHandler = null;
|
||||
let ctrlAltTabManager = null;
|
||||
let padOsdService = null;
|
||||
let osdWindowManager = null;
|
||||
let osdMonitorLabeler = null;
|
||||
let sessionMode = null;
|
||||
let shellAccessDialogDBusService = null;
|
||||
let shellAudioSelectionDBusService = null;
|
||||
let shellDBusService = null;
|
||||
let shellMountOpDBusService = null;
|
||||
@@ -122,6 +126,7 @@ function start() {
|
||||
_loadDefaultStylesheet);
|
||||
_initializeUI();
|
||||
|
||||
shellAccessDialogDBusService = new AccessDialog.AccessDialogDBus();
|
||||
shellAudioSelectionDBusService = new AudioDeviceSelection.AudioDeviceSelectionDBus();
|
||||
shellDBusService = new ShellDBus.GnomeShell();
|
||||
shellMountOpDBusService = new ShellMountOperation.GnomeShellMountOpHandler();
|
||||
@@ -152,6 +157,7 @@ function _initializeUI() {
|
||||
// working until it's updated.
|
||||
uiGroup = layoutManager.uiGroup;
|
||||
|
||||
padOsdService = new PadOsd.PadOsdService();
|
||||
screencastService = new Screencast.ScreencastService();
|
||||
xdndHandler = new XdndHandler.XdndHandler();
|
||||
ctrlAltTabManager = new CtrlAltTab.CtrlAltTabManager();
|
||||
@@ -191,6 +197,8 @@ function _initializeUI() {
|
||||
return true;
|
||||
});
|
||||
|
||||
global.display.connect('gl-video-memory-purged', loadTheme);
|
||||
|
||||
// Provide the bus object for gnome-session to
|
||||
// initiate logouts.
|
||||
EndSessionDialog.init();
|
||||
|
@@ -259,7 +259,7 @@ const ModalDialog = new Lang.Class({
|
||||
if (this.state == State.OPENED || this.state == State.OPENING)
|
||||
return true;
|
||||
|
||||
if (!this.pushModal({ timestamp: timestamp }))
|
||||
if (!this.pushModal(timestamp))
|
||||
return false;
|
||||
|
||||
this._fadeOpen(onPrimary);
|
||||
@@ -318,8 +318,11 @@ const ModalDialog = new Lang.Class({
|
||||
pushModal: function (timestamp) {
|
||||
if (this._hasModal)
|
||||
return true;
|
||||
if (!Main.pushModal(this._group, { timestamp: timestamp,
|
||||
actionMode: this._actionMode }))
|
||||
|
||||
let params = { actionMode: this._actionMode };
|
||||
if (timestamp)
|
||||
params['timestamp'] = timestamp;
|
||||
if (!Main.pushModal(this._group, params))
|
||||
return false;
|
||||
|
||||
this._hasModal = true;
|
||||
|
@@ -22,11 +22,13 @@ const LevelBar = new Lang.Class({
|
||||
this._level = 0;
|
||||
|
||||
this.actor = new St.Bin({ style_class: 'level',
|
||||
x_fill: true, y_fill: true });
|
||||
this._bar = new St.DrawingArea();
|
||||
this._bar.connect('repaint', Lang.bind(this, this._repaint));
|
||||
x_align: St.Align.START,
|
||||
y_fill: true });
|
||||
this._bar = new St.Widget({ style_class: 'level-bar' });
|
||||
|
||||
this.actor.set_child(this._bar);
|
||||
|
||||
this.actor.connect('notify::width', () => { this.level = this.level; });
|
||||
},
|
||||
|
||||
get level() {
|
||||
@@ -34,39 +36,44 @@ const LevelBar = new Lang.Class({
|
||||
},
|
||||
|
||||
set level(value) {
|
||||
let newValue = Math.max(0, Math.min(value, 100));
|
||||
if (newValue == this._level)
|
||||
return;
|
||||
this._level = newValue;
|
||||
this._bar.queue_repaint();
|
||||
this._level = Math.max(0, Math.min(value, 100));
|
||||
|
||||
let alloc = this.actor.get_allocation_box();
|
||||
let newWidth = Math.round((alloc.x2 - alloc.x1) * this._level / 100);
|
||||
if (newWidth != this._bar.width)
|
||||
this._bar.width = newWidth;
|
||||
}
|
||||
});
|
||||
|
||||
const OsdWindowConstraint = new Lang.Class({
|
||||
Name: 'OsdWindowConstraint',
|
||||
Extends: Clutter.Constraint,
|
||||
|
||||
_init: function(props) {
|
||||
this._minSize = 0;
|
||||
this.parent(props);
|
||||
},
|
||||
|
||||
_repaint: function() {
|
||||
let cr = this._bar.get_context();
|
||||
set minSize(v) {
|
||||
this._minSize = v;
|
||||
if (this.actor)
|
||||
this.actor.queue_relayout();
|
||||
},
|
||||
|
||||
let node = this.actor.get_theme_node();
|
||||
let radius = node.get_border_radius(0); // assume same radius for all corners
|
||||
Clutter.cairo_set_source_color(cr, node.get_foreground_color());
|
||||
vfunc_update_allocation: function(actor, actorBox) {
|
||||
// Clutter will adjust the allocation for margins,
|
||||
// so add it to our minimum size
|
||||
let minSize = this._minSize + actor.margin_top + actor.margin_bottom;
|
||||
let [width, height] = actorBox.get_size();
|
||||
|
||||
let [w, h] = this._bar.get_surface_size();
|
||||
w *= (this._level / 100.);
|
||||
// Enforce a ratio of 1
|
||||
let size = Math.ceil(Math.max(minSize, height));
|
||||
actorBox.set_size(size, size);
|
||||
|
||||
if (w == 0)
|
||||
return;
|
||||
|
||||
cr.moveTo(radius, 0);
|
||||
if (w >= radius)
|
||||
cr.arc(w - radius, radius, radius, 1.5 * Math.PI, 2. * Math.PI);
|
||||
else
|
||||
cr.lineTo(w, 0);
|
||||
if (w >= radius)
|
||||
cr.arc(w - radius, h - radius, radius, 0, 0.5 * Math.PI);
|
||||
else
|
||||
cr.lineTo(w, h);
|
||||
cr.arc(radius, h - radius, radius, 0.5 * Math.PI, Math.PI);
|
||||
cr.arc(radius, radius, radius, Math.PI, 1.5 * Math.PI);
|
||||
cr.fill();
|
||||
cr.$dispose();
|
||||
// Recenter
|
||||
let [x, y] = actorBox.get_origin();
|
||||
actorBox.set_origin(Math.floor(x + width / 2 - size / 2),
|
||||
Math.floor(y + height / 2 - size / 2));
|
||||
}
|
||||
});
|
||||
|
||||
@@ -74,7 +81,6 @@ const OsdWindow = new Lang.Class({
|
||||
Name: 'OsdWindow',
|
||||
|
||||
_init: function(monitorIndex) {
|
||||
this._popupSize = 0;
|
||||
this.actor = new St.Widget({ x_expand: true,
|
||||
y_expand: true,
|
||||
x_align: Clutter.ActorAlign.CENTER,
|
||||
@@ -84,19 +90,12 @@ const OsdWindow = new Lang.Class({
|
||||
let constraint = new Layout.MonitorConstraint({ index: monitorIndex });
|
||||
this.actor.add_constraint(constraint);
|
||||
|
||||
this._boxConstraint = new OsdWindowConstraint();
|
||||
this._box = new St.BoxLayout({ style_class: 'osd-window',
|
||||
vertical: true });
|
||||
this._box.add_constraint(this._boxConstraint);
|
||||
this.actor.add_actor(this._box);
|
||||
|
||||
this._box.connect('style-changed', Lang.bind(this, this._onStyleChanged));
|
||||
this._box.connect('notify::height', Lang.bind(this,
|
||||
function() {
|
||||
Meta.later_add(Meta.LaterType.BEFORE_REDRAW, Lang.bind(this,
|
||||
function() {
|
||||
this._box.width = this._box.height;
|
||||
}));
|
||||
}));
|
||||
|
||||
this._icon = new St.Icon();
|
||||
this._box.add(this._icon, { expand: true });
|
||||
|
||||
@@ -198,30 +197,12 @@ const OsdWindow = new Lang.Class({
|
||||
let scalew = monitor.width / 640.0;
|
||||
let scaleh = monitor.height / 480.0;
|
||||
let scale = Math.min(scalew, scaleh);
|
||||
this._popupSize = 110 * Math.max(1, scale);
|
||||
let popupSize = 110 * Math.max(1, scale);
|
||||
|
||||
let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor;
|
||||
this._icon.icon_size = this._popupSize / (2 * scaleFactor);
|
||||
this._icon.icon_size = popupSize / (2 * scaleFactor);
|
||||
this._box.translation_y = monitor.height / 4;
|
||||
this._box.style_changed();
|
||||
},
|
||||
|
||||
_onStyleChanged: function() {
|
||||
let themeNode = this._box.get_theme_node();
|
||||
let horizontalPadding = themeNode.get_horizontal_padding();
|
||||
let verticalPadding = themeNode.get_vertical_padding();
|
||||
let topBorder = themeNode.get_border_width(St.Side.TOP);
|
||||
let bottomBorder = themeNode.get_border_width(St.Side.BOTTOM);
|
||||
let leftBorder = themeNode.get_border_width(St.Side.LEFT);
|
||||
let rightBorder = themeNode.get_border_width(St.Side.RIGHT);
|
||||
|
||||
let minWidth = this._popupSize - verticalPadding - leftBorder - rightBorder;
|
||||
let minHeight = this._popupSize - horizontalPadding - topBorder - bottomBorder;
|
||||
|
||||
// minWidth/minHeight here are in real pixels,
|
||||
// but the theme takes measures in unscaled dimensions
|
||||
let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor;
|
||||
this._box.style = 'min-height: %dpx;'.format(Math.max(minWidth, minHeight) / scaleFactor);
|
||||
this._boxConstraint.minSize = popupSize;
|
||||
}
|
||||
});
|
||||
|
||||
|
@@ -107,18 +107,12 @@ const Overview = new Lang.Class({
|
||||
|
||||
this._overviewCreated = true;
|
||||
|
||||
let layout = new Clutter.BinLayout();
|
||||
this._stack = new Clutter.Actor({ layout_manager: layout });
|
||||
this._stack.add_constraint(new LayoutManager.MonitorConstraint({ primary: true }));
|
||||
|
||||
/* Translators: This is the main view to select
|
||||
activities. See also note for "Activities" string. */
|
||||
this._overview = new St.BoxLayout({ name: 'overview',
|
||||
accessible_name: _("Overview"),
|
||||
reactive: true,
|
||||
vertical: true,
|
||||
x_expand: true,
|
||||
y_expand: true });
|
||||
vertical: true });
|
||||
this._overview.add_constraint(new LayoutManager.MonitorConstraint({ primary: true }));
|
||||
this._overview._delegate = this;
|
||||
|
||||
// The main Background actors are inside global.window_group which are
|
||||
@@ -126,7 +120,7 @@ const Overview = new Lang.Class({
|
||||
// one. Instances of this class share a single CoglTexture behind the
|
||||
// scenes which allows us to show the background with different
|
||||
// rendering options without duplicating the texture data.
|
||||
this._backgroundGroup = new Meta.BackgroundGroup();
|
||||
this._backgroundGroup = new Meta.BackgroundGroup({ reactive: true });
|
||||
Main.layoutManager.overviewGroup.add_child(this._backgroundGroup);
|
||||
this._bgManagers = [];
|
||||
|
||||
@@ -149,8 +143,7 @@ const Overview = new Lang.Class({
|
||||
Main.layoutManager.overviewGroup.add_child(this._coverPane);
|
||||
this._coverPane.connect('event', Lang.bind(this, function (actor, event) { return Clutter.EVENT_STOP; }));
|
||||
|
||||
this._stack.add_actor(this._overview);
|
||||
Main.layoutManager.overviewGroup.add_child(this._stack);
|
||||
Main.layoutManager.overviewGroup.add_child(this._overview);
|
||||
|
||||
this._coverPane.hide();
|
||||
|
||||
@@ -159,6 +152,9 @@ const Overview = new Lang.Class({
|
||||
dragMotion: Lang.bind(this, this._onDragMotion)
|
||||
};
|
||||
|
||||
|
||||
Main.layoutManager.overviewGroup.connect('scroll-event',
|
||||
Lang.bind(this, this._onScrollEvent));
|
||||
Main.xdndHandler.connect('drag-begin', Lang.bind(this, this._onDragBegin));
|
||||
Main.xdndHandler.connect('drag-end', Lang.bind(this, this._onDragEnd));
|
||||
|
||||
@@ -255,7 +251,6 @@ const Overview = new Lang.Class({
|
||||
|
||||
// Add our same-line elements after the search entry
|
||||
this._overview.add(this._controls.actor, { y_fill: true, expand: true });
|
||||
this._controls.actor.connect('scroll-event', Lang.bind(this, this._onScrollEvent));
|
||||
|
||||
// TODO - recalculate everything when desktop size changes
|
||||
this.dashIconSize = this._dash.iconSize;
|
||||
@@ -372,7 +367,7 @@ const Overview = new Lang.Class({
|
||||
if (this.isDummy)
|
||||
return;
|
||||
|
||||
this._overview.add_action(action);
|
||||
this._backgroundGroup.add_action(action);
|
||||
},
|
||||
|
||||
_getDesktopClone: function() {
|
||||
@@ -552,8 +547,8 @@ const Overview = new Lang.Class({
|
||||
Meta.disable_unredirect_for_screen(global.screen);
|
||||
this.viewSelector.show();
|
||||
|
||||
this._stack.opacity = 0;
|
||||
Tweener.addTween(this._stack,
|
||||
this._overview.opacity = 0;
|
||||
Tweener.addTween(this._overview,
|
||||
{ opacity: 255,
|
||||
transition: 'easeOutQuad',
|
||||
time: ANIMATION_TIME,
|
||||
@@ -618,7 +613,7 @@ const Overview = new Lang.Class({
|
||||
this.viewSelector.animateFromOverview();
|
||||
|
||||
// Make other elements fade out.
|
||||
Tweener.addTween(this._stack,
|
||||
Tweener.addTween(this._overview,
|
||||
{ opacity: 0,
|
||||
transition: 'easeOutQuad',
|
||||
time: ANIMATION_TIME,
|
||||
|
@@ -421,7 +421,6 @@ const ControlsManager = new Lang.Class({
|
||||
|
||||
let layout = new ControlsLayout();
|
||||
this.actor = new St.Widget({ layout_manager: layout,
|
||||
reactive: true,
|
||||
x_expand: true, y_expand: true,
|
||||
clip_to_allocation: true });
|
||||
this._group = new St.BoxLayout({ name: 'overview-group',
|
||||
|
733
js/ui/padOsd.js
Normal file
733
js/ui/padOsd.js
Normal file
@@ -0,0 +1,733 @@
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Lang = imports.lang;
|
||||
const Meta = imports.gi.Meta;
|
||||
const Shell = imports.gi.Shell;
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const St = imports.gi.St;
|
||||
const Rsvg = imports.gi.Rsvg;
|
||||
const GLib = imports.gi.GLib;
|
||||
const Gtk = imports.gi.Gtk;
|
||||
const Gio = imports.gi.Gio;
|
||||
const GDesktopEnums = imports.gi.GDesktopEnums;
|
||||
const Atk = imports.gi.Atk;
|
||||
const Cairo = imports.cairo;
|
||||
const Signals = imports.signals;
|
||||
|
||||
const Main = imports.ui.main;
|
||||
const PopupMenu = imports.ui.popupMenu;
|
||||
const Layout = imports.ui.layout;
|
||||
|
||||
const ACTIVE_COLOR = "#729fcf";
|
||||
|
||||
const LTR = 0;
|
||||
const RTL = 1;
|
||||
|
||||
const CW = 0;
|
||||
const CCW = 1;
|
||||
|
||||
const UP = 0;
|
||||
const DOWN = 1;
|
||||
|
||||
const KeybindingEntry = new Lang.Class({
|
||||
Name: 'KeybindingEntry',
|
||||
|
||||
_init: function () {
|
||||
this.actor = new St.Entry({ hint_text: _('New shortcut...'),
|
||||
width: 120 });
|
||||
this.actor.connect('captured-event', Lang.bind(this, this._onCapturedEvent));
|
||||
this.actor.connect('destroy', Lang.bind(this, this.destroy));
|
||||
},
|
||||
|
||||
_onCapturedEvent: function (actor, event) {
|
||||
if (event.type() == Clutter.EventType.KEY_PRESS) {
|
||||
if (GLib.unichar_isprint(event.get_key_unicode())) {
|
||||
let str = Gtk.accelerator_name_with_keycode(null,
|
||||
event.get_key_symbol(),
|
||||
event.get_key_code(),
|
||||
event.get_state());
|
||||
this.actor.set_text(str);
|
||||
this.emit('keybinding', str);
|
||||
}
|
||||
return Clutter.EVENT_STOP;
|
||||
}
|
||||
|
||||
return Clutter.EVENT_PROPAGATE;
|
||||
},
|
||||
|
||||
destroy: function () {
|
||||
this.actor.destroy();
|
||||
}
|
||||
});
|
||||
Signals.addSignalMethods(KeybindingEntry.prototype);
|
||||
|
||||
const ActionComboBox = new Lang.Class({
|
||||
Name: 'ActionComboBox',
|
||||
|
||||
_init: function () {
|
||||
this.actor = new St.Button({ style_class: 'button' });
|
||||
this.actor.connect('clicked', Lang.bind(this, this._onButtonClicked));
|
||||
this.actor.set_toggle_mode(true);
|
||||
|
||||
let boxLayout = new Clutter.BoxLayout({ orientation: Clutter.Orientation.HORIZONTAL,
|
||||
spacing: 6 });
|
||||
let box = new St.Widget({ layout_manager: boxLayout });
|
||||
this.actor.set_child(box);
|
||||
|
||||
this._label = new St.Label({ width: 150 });
|
||||
box.add_child(this._label)
|
||||
|
||||
let arrow = new St.Icon({ style_class: 'popup-menu-arrow',
|
||||
icon_name: 'pan-down-symbolic',
|
||||
accessible_role: Atk.Role.ARROW,
|
||||
y_expand: true,
|
||||
y_align: Clutter.ActorAlign.CENTER });
|
||||
box.add_child(arrow);
|
||||
|
||||
/* Order matches GDesktopPadButtonAction enum */
|
||||
this._actions = [_('Application defined'),
|
||||
_('Show on-screen help'),
|
||||
_('Switch monitor'),
|
||||
_('Assign keystroke')];
|
||||
|
||||
this._editMenu = new PopupMenu.PopupMenu(this.actor, 0, St.Side.TOP);
|
||||
this._editMenu.connect('menu-closed', Lang.bind(this, function() { this.actor.set_checked(false); }));
|
||||
this._editMenu.actor.hide();
|
||||
Main.uiGroup.add_actor(this._editMenu.actor);
|
||||
|
||||
for (let i = 0; i < this._actions.length; i++) {
|
||||
let str = this._actions[i];
|
||||
let action = i;
|
||||
this._editMenu.addAction(str, Lang.bind(this, function() { this._onActionSelected(action) }));
|
||||
}
|
||||
|
||||
this.setAction(GDesktopEnums.PadButtonAction.NONE);
|
||||
},
|
||||
|
||||
_onActionSelected: function (action) {
|
||||
this.setAction(action);
|
||||
this.popdown();
|
||||
this.emit('action', action);
|
||||
},
|
||||
|
||||
setAction: function (action) {
|
||||
this._label.set_text(this._actions[action]);
|
||||
},
|
||||
|
||||
popup: function () {
|
||||
this._editMenu.open(true);
|
||||
},
|
||||
|
||||
popdown: function () {
|
||||
this._editMenu.close(true);
|
||||
},
|
||||
|
||||
_onButtonClicked: function () {
|
||||
if (this.actor.get_checked())
|
||||
this.popup();
|
||||
else
|
||||
this.popdown();
|
||||
}
|
||||
});
|
||||
Signals.addSignalMethods(ActionComboBox.prototype);
|
||||
|
||||
const ActionEditor = new Lang.Class({
|
||||
Name: 'ActionEditor',
|
||||
|
||||
_init: function () {
|
||||
let boxLayout = new Clutter.BoxLayout({ orientation: Clutter.Orientation.HORIZONTAL,
|
||||
spacing: 12 });
|
||||
|
||||
this.actor = new St.Widget({ layout_manager: boxLayout });
|
||||
|
||||
this._actionComboBox = new ActionComboBox();
|
||||
this._actionComboBox.connect('action', Lang.bind(this, this._onActionSelected));
|
||||
this.actor.add_actor(this._actionComboBox.actor);
|
||||
|
||||
this._keybindingEdit = new KeybindingEntry();
|
||||
this._keybindingEdit.connect('keybinding', Lang.bind(this, this._onKeybindingEdited));
|
||||
this._keybindingEdit.actor.hide();
|
||||
this.actor.add_actor(this._keybindingEdit.actor);
|
||||
|
||||
this._doneButton = new St.Button ({ label: _('Done'),
|
||||
width: 100,
|
||||
style_class: 'button'});
|
||||
this._doneButton.connect('clicked', Lang.bind(this, this._onEditingDone));
|
||||
this.actor.add_actor(this._doneButton);
|
||||
},
|
||||
|
||||
setSettings: function (settings) {
|
||||
this._buttonSettings = settings;
|
||||
|
||||
this._currentAction = this._buttonSettings.get_enum('action');
|
||||
this._currentKeybinding = this._buttonSettings.get_string('keybinding');
|
||||
this._actionComboBox.setAction (this._currentAction);
|
||||
|
||||
if (this._currentAction == GDesktopEnums.PadButtonAction.KEYBINDING) {
|
||||
this._keybindingEdit.actor.set_text(this._currentKeybinding);
|
||||
this._keybindingEdit.actor.show();
|
||||
} else {
|
||||
this._keybindingEdit.actor.hide();
|
||||
}
|
||||
},
|
||||
|
||||
close: function() {
|
||||
this._actionComboBox.popdown();
|
||||
this.actor.hide();
|
||||
},
|
||||
|
||||
_onKeybindingEdited: function (entry, keybinding) {
|
||||
this._currentKeybinding = keybinding;
|
||||
},
|
||||
|
||||
_onActionSelected: function (menu, action) {
|
||||
this._currentAction = action;
|
||||
|
||||
if (action == GDesktopEnums.PadButtonAction.KEYBINDING) {
|
||||
this._keybindingEdit.actor.show();
|
||||
this._keybindingEdit.actor.grab_key_focus();
|
||||
} else {
|
||||
this._keybindingEdit.actor.hide();
|
||||
}
|
||||
},
|
||||
|
||||
_storeSettings: function () {
|
||||
if (!this._buttonSettings)
|
||||
return;
|
||||
|
||||
let keybinding = null;
|
||||
|
||||
if (this._currentAction == GDesktopEnums.PadButtonAction.KEYBINDING)
|
||||
keybinding = this._currentKeybinding;
|
||||
|
||||
this._buttonSettings.set_enum('action', this._currentAction);
|
||||
|
||||
if (keybinding)
|
||||
this._buttonSettings.set_string('keybinding', keybinding);
|
||||
else
|
||||
this._buttonSettings.reset('keybinding');
|
||||
},
|
||||
|
||||
_onEditingDone: function () {
|
||||
this._storeSettings();
|
||||
this.close();
|
||||
this.emit ('done');
|
||||
}
|
||||
});
|
||||
Signals.addSignalMethods(ActionEditor.prototype);
|
||||
|
||||
const PadDiagram = new Lang.Class({
|
||||
Name: 'PadDiagram',
|
||||
Extends: St.DrawingArea,
|
||||
|
||||
_init: function (imagePath, leftHanded) {
|
||||
this.parent();
|
||||
|
||||
let file = Gio.File.new_for_uri('resource:///org/gnome/shell/theme/pad-osd.css');
|
||||
let [success, css, etag] = file.load_contents(null);
|
||||
this._css = css;
|
||||
|
||||
let originalHandle = Rsvg.Handle.new_from_file(imagePath);
|
||||
let dimensions = originalHandle.get_dimensions();
|
||||
this._imageWidth = dimensions.width;
|
||||
this._imageHeight = dimensions.height;
|
||||
|
||||
this._activeButtons = [];
|
||||
this._imagePath = imagePath;
|
||||
this._handle = this._composeStyledDiagram();
|
||||
this.connect('repaint', Lang.bind(this, this._repaint));
|
||||
this.connect('notify::size', Lang.bind(this, this._updateScale));
|
||||
this._leftHanded = leftHanded;
|
||||
},
|
||||
|
||||
_wrappingSvgHeader: function () {
|
||||
return ('<?xml version="1.0" encoding="UTF-8" standalone="no"?>' +
|
||||
'<svg version="1.1" xmlns="http://www.w3.org/2000/svg" ' +
|
||||
'xmlns:xi="http://www.w3.org/2001/XInclude" ' +
|
||||
'width="' + this._imageWidth + '" height="' + this._imageHeight + '"> ' +
|
||||
'<style type="text/css">');
|
||||
},
|
||||
|
||||
_wrappingSvgFooter: function () {
|
||||
return ('</style>' +
|
||||
'<xi:include href="' + this._imagePath + '" />' +
|
||||
'</svg>');
|
||||
},
|
||||
|
||||
_cssString: function () {
|
||||
let css = this._css;
|
||||
|
||||
for (let i = 0; i < this._activeButtons.length; i++) {
|
||||
let ch = String.fromCharCode('A'.charCodeAt() + this._activeButtons[i]);
|
||||
css += ('.' + ch + ' { ' +
|
||||
' stroke: ' + ACTIVE_COLOR + ' !important; ' +
|
||||
' fill: ' + ACTIVE_COLOR + ' !important; ' +
|
||||
'} ');
|
||||
}
|
||||
|
||||
return css;
|
||||
},
|
||||
|
||||
_composeStyledDiagram: function () {
|
||||
let svgData = '';
|
||||
|
||||
if (!GLib.file_test(this._imagePath, GLib.FileTest.EXISTS))
|
||||
return null;
|
||||
|
||||
svgData += this._wrappingSvgHeader();
|
||||
svgData += this._cssString();
|
||||
svgData += this._wrappingSvgFooter();
|
||||
|
||||
let handle = new Rsvg.Handle();
|
||||
handle.set_base_uri (GLib.path_get_dirname (this._imagePath));
|
||||
handle.write(svgData);
|
||||
handle.close();
|
||||
|
||||
return handle;
|
||||
},
|
||||
|
||||
_updateScale: function () {
|
||||
let [width, height] = this.get_size();
|
||||
let dimensions = this._handle.get_dimensions ();
|
||||
let scaleX = width / dimensions.width;
|
||||
let scaleY = height / dimensions.height;
|
||||
this._scale = Math.min(scaleX, scaleY);
|
||||
},
|
||||
|
||||
_repaint: function (area) {
|
||||
if (this._handle == null)
|
||||
return;
|
||||
|
||||
let [width, height] = area.get_surface_size();
|
||||
let dimensions = this._handle.get_dimensions ();
|
||||
let cr = this.get_context();
|
||||
|
||||
if (this._scale == null)
|
||||
this._updateScale();
|
||||
|
||||
cr.save();
|
||||
cr.translate (width/2, height/2);
|
||||
cr.scale (this._scale, this._scale);
|
||||
if (this._leftHanded)
|
||||
cr.rotate(Math.PI);
|
||||
cr.translate (-dimensions.width/2, -dimensions.height/2);
|
||||
this._handle.render_cairo(cr);
|
||||
cr.restore();
|
||||
cr.$dispose();
|
||||
},
|
||||
|
||||
_transformPoint: function (x, y) {
|
||||
if (this._handle == null || this._scale == null)
|
||||
return [x, y];
|
||||
|
||||
// I miss Cairo.Matrix
|
||||
let [width, height] = this.get_size();
|
||||
let dimensions = this._handle.get_dimensions ();
|
||||
x = x * this._scale + width / 2 - dimensions.width / 2 * this._scale;
|
||||
y = y * this._scale + height / 2 - dimensions.height / 2 * this._scale;;
|
||||
return [Math.round(x), Math.round(y)];
|
||||
},
|
||||
|
||||
_getItemLabelCoords: function (labelName, leaderName) {
|
||||
if (this._handle == null)
|
||||
return [false];
|
||||
|
||||
let leaderPos, leaderSize, pos;
|
||||
let found, direction;
|
||||
|
||||
[found, pos] = this._handle.get_position_sub('#' + labelName);
|
||||
if (!found)
|
||||
return [false];
|
||||
|
||||
[found, leaderPos] = this._handle.get_position_sub('#' + leaderName);
|
||||
[found, leaderSize] = this._handle.get_dimensions_sub('#' + leaderName);
|
||||
if (!found)
|
||||
return [false];
|
||||
|
||||
if (pos.x > leaderPos.x + leaderSize.width)
|
||||
direction = LTR;
|
||||
else
|
||||
direction = RTL;
|
||||
|
||||
if (this._leftHanded) {
|
||||
direction = 1 - direction;
|
||||
pos.x = this._imageWidth - pos.x;
|
||||
pos.y = this._imageHeight - pos.y;
|
||||
}
|
||||
|
||||
let [x, y] = this._transformPoint(pos.x, pos.y)
|
||||
|
||||
return [true, x, y, direction];
|
||||
},
|
||||
|
||||
getButtonLabelCoords: function (button) {
|
||||
let ch = String.fromCharCode('A'.charCodeAt() + button);
|
||||
let labelName = 'Label' + ch;
|
||||
let leaderName = 'Leader' + ch;
|
||||
|
||||
return this._getItemLabelCoords(labelName, leaderName);
|
||||
},
|
||||
|
||||
getRingLabelCoords: function (number, dir) {
|
||||
let numStr = number > 0 ? number.toString() : '';
|
||||
let dirStr = dir == CW ? 'CW' : 'CCW';
|
||||
let labelName = 'LabelRing' + numStr + dirStr;
|
||||
let leaderName = 'LeaderRing' + numStr + dirStr;
|
||||
|
||||
return this._getItemLabelCoords(labelName, leaderName);
|
||||
},
|
||||
|
||||
getStripLabelCoords: function (number, dir) {
|
||||
let numStr = number > 0 ? (number + 1).toString() : '';
|
||||
let dirStr = dir == UP ? 'Up' : 'Down';
|
||||
let labelName = 'LabelStrip' + numStr + dirStr;
|
||||
let leaderName = 'LeaderStrip' + numStr + dirStr;
|
||||
|
||||
return this._getItemLabelCoords(labelName, leaderName);
|
||||
},
|
||||
|
||||
_invalidateSvg: function () {
|
||||
if (this._handle == null)
|
||||
return;
|
||||
this._handle = this._composeStyledDiagram();
|
||||
this.queue_repaint();
|
||||
},
|
||||
|
||||
activateButton: function (button) {
|
||||
this._activeButtons.push(button);
|
||||
this._invalidateSvg ();
|
||||
},
|
||||
|
||||
deactivateButton: function (button) {
|
||||
for (let i = 0; i < this._activeButtons.length; i++) {
|
||||
if (this._activeButtons[i] == button)
|
||||
this._activeButtons.splice(i, 1);
|
||||
}
|
||||
this._invalidateSvg ();
|
||||
}
|
||||
});
|
||||
|
||||
const PadOsd = new Lang.Class({
|
||||
Name: 'PadOsd',
|
||||
|
||||
_init: function (padDevice, settings, imagePath, editionMode, monitorIndex) {
|
||||
this.padDevice = padDevice;
|
||||
this._settings = settings;
|
||||
this._imagePath = imagePath;
|
||||
this._editionMode = editionMode;
|
||||
this._capturedEventId = global.stage.connect('captured-event', Lang.bind(this, this._onCapturedEvent));
|
||||
|
||||
this.actor = new Shell.GenericContainer({ style_class: 'pad-osd-window',
|
||||
reactive: true,
|
||||
x: 0,
|
||||
y: 0,
|
||||
width: global.screen_width,
|
||||
height: global.screen_height });
|
||||
this.actor.connect('allocate', Lang.bind(this, this._allocate));
|
||||
this.actor.connect('destroy', Lang.bind(this, this.destroy));
|
||||
Main.uiGroup.add_actor(this.actor);
|
||||
|
||||
this._monitorIndex = monitorIndex;
|
||||
let constraint = new Layout.MonitorConstraint({ index: monitorIndex });
|
||||
this.actor.add_constraint(constraint);
|
||||
|
||||
this._padDiagram = new PadDiagram(this._imagePath, settings.get_boolean('left-handed'));
|
||||
this.actor.add_actor(this._padDiagram);
|
||||
|
||||
this._buttonBox = new St.Widget({ layout_manager: new Clutter.BinLayout(),
|
||||
x_expand: true,
|
||||
x_align: Clutter.ActorAlign.CENTER,
|
||||
y_align: Clutter.ActorAlign.CENTER });
|
||||
this._editButton = new St.Button({ label: _('Edit...'),
|
||||
style_class: 'button',
|
||||
can_focus: true,
|
||||
x_expand: true });
|
||||
this._editButton.connect('clicked', Lang.bind(this, function () { this.setEditionMode(true) }));
|
||||
this._buttonBox.add_actor(this._editButton);
|
||||
this.actor.add_actor(this._buttonBox);
|
||||
|
||||
let boxLayout = new Clutter.BoxLayout({ orientation: Clutter.Orientation.VERTICAL });
|
||||
this._labelBox = new St.Widget({ layout_manager: boxLayout,
|
||||
x_expand: true,
|
||||
x_align: Clutter.ActorAlign.CENTER,
|
||||
y_align: Clutter.ActorAlign.CENTER });
|
||||
this._titleLabel = new St.Label();
|
||||
this._titleLabel.clutter_text.set_markup('<span size="larger"><b>' + padDevice.get_device_name() + '</b></span>');
|
||||
this._labelBox.add_actor(this._titleLabel);
|
||||
|
||||
this._tipLabel = new St.Label();
|
||||
this._labelBox.add_actor(this._tipLabel);
|
||||
this.actor.add_actor(this._labelBox);
|
||||
|
||||
this._actionEditor = new ActionEditor();
|
||||
this._actionEditor.connect ('done', Lang.bind(this, this._endButtonActionEdition));
|
||||
this.actor.add_actor(this._actionEditor.actor);
|
||||
|
||||
this._labels = [];
|
||||
this._ringLabels = [];
|
||||
this._stripLabels = [];
|
||||
|
||||
// FIXME: Fix num buttons.
|
||||
let i = 0;
|
||||
for (i = 0; i < 50; i++) {
|
||||
let [found, x, y, direction] = this._padDiagram.getButtonLabelCoords(i);
|
||||
if (!found)
|
||||
break;
|
||||
let label = this._createLabel(i, Meta.PadActionType.BUTTON);
|
||||
this._labels.push(label);
|
||||
}
|
||||
|
||||
for (i = 0; i < padDevice.get_n_rings(); i++) {
|
||||
let [found, x, y, direction] = this._padDiagram.getRingLabelCoords(i, CW);
|
||||
let [found2, x2, y2, direction2] = this._padDiagram.getRingLabelCoords(i, CCW);
|
||||
if (!found || !found2)
|
||||
break;
|
||||
|
||||
let label1 = this._createLabel(i, Meta.PadActionType.RING);
|
||||
let label2 = this._createLabel(i, Meta.PadActionType.RING);
|
||||
this._ringLabels.push([label1, label2]);
|
||||
}
|
||||
|
||||
for (i = 0; i < padDevice.get_n_strips(); i++) {
|
||||
let [found, x, y, direction] = this._padDiagram.getStripLabelCoords(i, UP);
|
||||
let [found2, x2, y2, direction2] = this._padDiagram.getStripLabelCoords(i, DOWN);
|
||||
if (!found || !found2)
|
||||
break;
|
||||
|
||||
let label1 = this._createLabel(i, Meta.PadActionType.STRIP);
|
||||
let label2 = this._createLabel(i, Meta.PadActionType.STRIP);
|
||||
this._stripLabels.push([label1, label2]);
|
||||
}
|
||||
|
||||
this._syncEditionMode();
|
||||
},
|
||||
|
||||
_createLabel: function (number, type) {
|
||||
let str = global.display.get_pad_action_label(this.padDevice, type, number);
|
||||
let label = new St.Label({ text: str ? str : _('None') });
|
||||
this.actor.add_actor(label);
|
||||
|
||||
return label;
|
||||
},
|
||||
|
||||
_allocateChild: function (child, x, y, direction, box) {
|
||||
let [prefHeight, natHeight] = child.get_preferred_height (-1);
|
||||
let [prefWidth, natWidth] = child.get_preferred_width (natHeight);
|
||||
let childBox = new Clutter.ActorBox();
|
||||
|
||||
natWidth = Math.min(natWidth, 250);
|
||||
|
||||
if (direction == LTR) {
|
||||
childBox.x1 = x + box.x1;
|
||||
childBox.x2 = x + box.x1 + natWidth;
|
||||
} else {
|
||||
childBox.x1 = x + box.x1 - natWidth;
|
||||
childBox.x2 = x + box.x1;
|
||||
}
|
||||
|
||||
childBox.y1 = y + box.y1 - natHeight / 2;
|
||||
childBox.y2 = y + box.y1 + natHeight / 2;
|
||||
child.allocate(childBox, 0);
|
||||
},
|
||||
|
||||
_allocate: function (actor, box, flags) {
|
||||
let [prefLabelHeight, natLabelHeight] = this._labelBox.get_preferred_height(box.x2 - box.x1);
|
||||
let buttonY = Math.max((box.y2 - box.y1) * 3 / 4 + box.y1, (box.y2 - box.y1) - 100);
|
||||
let childBox = new Clutter.ActorBox();
|
||||
let diagramBox = new Clutter.ActorBox();
|
||||
|
||||
diagramBox.x1 = box.x1;
|
||||
diagramBox.x2 = box.x2;
|
||||
diagramBox.y1 = prefLabelHeight;
|
||||
diagramBox.y2 = buttonY;
|
||||
this._padDiagram.allocate(diagramBox, flags);
|
||||
|
||||
childBox.x1 = box.x1;
|
||||
childBox.x2 = box.x2;
|
||||
childBox.y1 = buttonY;
|
||||
childBox.y2 = box.y2;
|
||||
this._buttonBox.allocate(childBox, flags);
|
||||
|
||||
childBox.y1 = 0;
|
||||
childBox.y2 = prefLabelHeight;
|
||||
this._labelBox.allocate(childBox, flags);
|
||||
|
||||
for (let i = 0; i < this._labels.length; i++) {
|
||||
let label = this._labels[i];
|
||||
let [found, x, y, direction] = this._padDiagram.getButtonLabelCoords(i);
|
||||
this._allocateChild(label, x, y, direction, diagramBox);
|
||||
}
|
||||
|
||||
for (let i = 0; i < this._ringLabels.length; i++) {
|
||||
let [label1, label2] = this._ringLabels[i];
|
||||
|
||||
let [found, x, y, direction] = this._padDiagram.getRingLabelCoords(i, CW);
|
||||
this._allocateChild(label1, x, y, direction, diagramBox);
|
||||
|
||||
[found, x, y, direction] = this._padDiagram.getRingLabelCoords(i, CCW);
|
||||
this._allocateChild(label2, x, y, direction, diagramBox);
|
||||
}
|
||||
|
||||
for (let i = 0; i < this._stripLabels.length; i++) {
|
||||
let [label1, label2] = this._stripLabels[i];
|
||||
|
||||
let [found, x, y, direction] = this._padDiagram.getStripLabelCoords(i, UP);
|
||||
this._allocateChild(label1, x, y, direction, diagramBox);
|
||||
|
||||
[found, x, y, direction] = this._padDiagram.getStripLabelCoords(i, DOWN);
|
||||
this._allocateChild(label2, x, y, direction, diagramBox);
|
||||
}
|
||||
|
||||
if (this._editingButtonAction != null) {
|
||||
let [found, x, y, direction] = this._padDiagram.getButtonLabelCoords(this._editingButtonAction);
|
||||
this._allocateChild(this._actionEditor.actor, x, y, direction, diagramBox);
|
||||
}
|
||||
},
|
||||
|
||||
_onCapturedEvent : function (actor, event) {
|
||||
if (event.type() == Clutter.EventType.PAD_BUTTON_PRESS &&
|
||||
event.get_source_device() == this.padDevice) {
|
||||
this._padDiagram.activateButton(event.get_button());
|
||||
|
||||
if (this._editionMode)
|
||||
this._startButtonActionEdition(event.get_button());
|
||||
return Clutter.EVENT_STOP;
|
||||
} else if (event.type() == Clutter.EventType.PAD_BUTTON_RELEASE &&
|
||||
event.get_source_device() == this.padDevice) {
|
||||
this._padDiagram.deactivateButton(event.get_button());
|
||||
return Clutter.EVENT_STOP;
|
||||
} else if (event.type() == Clutter.EventType.KEY_PRESS &&
|
||||
(!this._editionMode || event.get_key_symbol() == Clutter.Escape)) {
|
||||
if (this._editingButtonAction != null)
|
||||
this._endButtonActionEdition();
|
||||
else
|
||||
this.destroy();
|
||||
return Clutter.EVENT_STOP;
|
||||
}
|
||||
|
||||
return Clutter.EVENT_PROPAGATE;
|
||||
},
|
||||
|
||||
_syncEditionMode: function () {
|
||||
this._editButton.set_reactive(!this._editionMode);
|
||||
this._editButton.save_easing_state();
|
||||
this._editButton.set_easing_duration(200);
|
||||
this._editButton.set_opacity(this._editionMode ? 128 : 255);
|
||||
this._editButton.restore_easing_state();
|
||||
|
||||
let title;
|
||||
|
||||
if (this._editionMode) {
|
||||
title = _('Press a button to configure');
|
||||
this._tipLabel.set_text (_("Press Esc to exit"));
|
||||
} else {
|
||||
title = this.padDevice.get_device_name();
|
||||
this._tipLabel.set_text (_("Press any key to exit"));
|
||||
}
|
||||
|
||||
this._titleLabel.clutter_text.set_markup('<span size="larger"><b>' + title + '</b></span>');
|
||||
},
|
||||
|
||||
_endButtonActionEdition: function () {
|
||||
this._actionEditor.close();
|
||||
|
||||
if (this._editingButtonAction != null) {
|
||||
// Update and show the label
|
||||
let str = global.display.get_pad_action_label(this.padDevice,
|
||||
Meta.PadActionType.BUTTON,
|
||||
this._editingButtonAction);
|
||||
this._labels[this._editingButtonAction].set_text(str ? str : _('None'));
|
||||
|
||||
this._labels[this._editingButtonAction].show();
|
||||
this._editingButtonAction = null;
|
||||
}
|
||||
|
||||
this._editedButtonSettings = null;
|
||||
},
|
||||
|
||||
_startButtonActionEdition: function (button) {
|
||||
if (this._editingButtonAction == button)
|
||||
return;
|
||||
|
||||
this._endButtonActionEdition();
|
||||
this._editingButtonAction = button;
|
||||
|
||||
this._labels[this._editingButtonAction].hide();
|
||||
this._actionEditor.actor.show();
|
||||
this.actor.queue_relayout();
|
||||
|
||||
let ch = String.fromCharCode('A'.charCodeAt() + button);
|
||||
let settingsPath = this._settings.path + "button" + ch + '/';
|
||||
this._editedButtonSettings = Gio.Settings.new_with_path('org.gnome.desktop.peripherals.tablet.pad-button',
|
||||
settingsPath);
|
||||
this._actionEditor.setSettings (this._editedButtonSettings);
|
||||
},
|
||||
|
||||
setEditionMode: function (editionMode) {
|
||||
if (this._editionMode == editionMode)
|
||||
return;
|
||||
|
||||
this._editionMode = editionMode;
|
||||
this._syncEditionMode();
|
||||
},
|
||||
|
||||
destroy: function () {
|
||||
this._actionEditor.close();
|
||||
|
||||
if (this._capturedEventId != 0) {
|
||||
global.stage.disconnect(this._capturedEventId);
|
||||
this._capturedEventId = 0;
|
||||
}
|
||||
|
||||
if (this.actor) {
|
||||
let actor = this.actor;
|
||||
this.actor = null;
|
||||
actor.destroy();
|
||||
this.emit('closed');
|
||||
}
|
||||
}
|
||||
});
|
||||
Signals.addSignalMethods(PadOsd.prototype);
|
||||
|
||||
const PadOsdIface = '<node> \
|
||||
<interface name="org.gnome.Shell.Wacom.PadOsd"> \
|
||||
<method name="Show"> \
|
||||
<arg name="device_node" direction="in" type="o"/> \
|
||||
<arg name="edition_mode" direction="in" type="b"/> \
|
||||
</method> \
|
||||
</interface> \
|
||||
</node>';
|
||||
|
||||
const PadOsdService = new Lang.Class({
|
||||
Name: 'PadOsdService',
|
||||
|
||||
_init: function() {
|
||||
this._dbusImpl = Gio.DBusExportedObject.wrapJSObject(PadOsdIface, this);
|
||||
this._dbusImpl.export(Gio.DBus.session, '/org/gnome/Shell/Wacom');
|
||||
Gio.DBus.session.own_name('org.gnome.Shell.Wacom.PadOsd', Gio.BusNameOwnerFlags.REPLACE, null, null);
|
||||
},
|
||||
|
||||
ShowAsync: function(params, invocation) {
|
||||
let [deviceNode, editionMode] = params;
|
||||
let deviceManager = Clutter.DeviceManager.get_default();
|
||||
let devices = deviceManager.list_devices();
|
||||
let padDevice = null;
|
||||
|
||||
devices.forEach(Lang.bind(this, function(device) {
|
||||
if (deviceNode == device.get_device_node())
|
||||
padDevice = device;
|
||||
}));
|
||||
|
||||
if (padDevice == null ||
|
||||
padDevice.get_device_type() != Clutter.InputDeviceType.PAD_DEVICE) {
|
||||
invocation.return_error_literal(Gio.IOErrorEnum,
|
||||
Gio.IOErrorEnum.CANCELLED,
|
||||
"Invalid params");
|
||||
return;
|
||||
}
|
||||
|
||||
global.display.request_pad_osd(padDevice, editionMode);
|
||||
invocation.return_value(null);
|
||||
}
|
||||
});
|
||||
Signals.addSignalMethods(PadOsdService.prototype);
|
@@ -349,7 +349,6 @@ const Arrow = new Lang.Class({
|
||||
_init: function(params) {
|
||||
this.parent(params);
|
||||
this.x_fill = this.y_fill = true;
|
||||
this.set_offscreen_redirect(Clutter.OffscreenRedirect.ALWAYS);
|
||||
|
||||
this._drawingArea = new St.DrawingArea();
|
||||
this._drawingArea.connect('repaint', Lang.bind(this, this._drawArrow));
|
||||
@@ -377,6 +376,22 @@ const Arrow = new Lang.Class({
|
||||
cr.$dispose();
|
||||
},
|
||||
|
||||
vfunc_get_paint_volume: function(volume) {
|
||||
if (!this.parent(volume))
|
||||
return false;
|
||||
|
||||
if (!this._shadow)
|
||||
return true;
|
||||
|
||||
let shadow_box = new Clutter.ActorBox();
|
||||
this._shadow.get_box(this._drawingArea.get_allocation_box(), shadow_box);
|
||||
|
||||
volume.set_width(Math.max(shadow_box.x2 - shadow_box.x1, volume.get_width()));
|
||||
volume.set_height(Math.max(shadow_box.y2 - shadow_box.y1, volume.get_height()));
|
||||
|
||||
return true;
|
||||
},
|
||||
|
||||
vfunc_style_changed: function() {
|
||||
let node = this.get_theme_node();
|
||||
this._shadow = node.get_shadow('-arrow-shadow');
|
||||
@@ -384,6 +399,8 @@ const Arrow = new Lang.Class({
|
||||
this._shadowHelper = St.ShadowHelper.new(this._shadow);
|
||||
else
|
||||
this._shadowHelper = null;
|
||||
|
||||
this.parent();
|
||||
},
|
||||
|
||||
vfunc_paint: function() {
|
||||
@@ -559,6 +576,9 @@ const ScreenShield = new Lang.Class({
|
||||
if (prevIsActive != this._isActive)
|
||||
this.emit('active-changed');
|
||||
|
||||
if (this._loginSession)
|
||||
this._loginSession.SetLockedHintRemote(active);
|
||||
|
||||
this._syncInhibitor();
|
||||
},
|
||||
|
||||
@@ -708,7 +728,7 @@ const ScreenShield = new Lang.Class({
|
||||
let unitaryDelay = ARROW_ANIMATION_TIME / (arrows.length + 1);
|
||||
let maxOpacity = 255 * ARROW_ANIMATION_PEAK_OPACITY;
|
||||
for (let i = 0; i < arrows.length; i++) {
|
||||
arrows.opacity = 0;
|
||||
arrows[i].opacity = 0;
|
||||
Tweener.addTween(arrows[i],
|
||||
{ opacity: 0,
|
||||
delay: unitaryDelay * (N_ARROWS - (i + 1)),
|
||||
|
@@ -61,8 +61,8 @@ const InputSource = new Lang.Class({
|
||||
this.emit('changed');
|
||||
},
|
||||
|
||||
activate: function() {
|
||||
this.emit('activate');
|
||||
activate: function(interactive) {
|
||||
this.emit('activate', !!interactive);
|
||||
},
|
||||
|
||||
_getXkbId: function() {
|
||||
@@ -109,7 +109,7 @@ const InputSourcePopup = new Lang.Class({
|
||||
_finish : function() {
|
||||
this.parent();
|
||||
|
||||
this._items[this._selectedIndex].activate();
|
||||
this._items[this._selectedIndex].activate(true);
|
||||
},
|
||||
});
|
||||
|
||||
@@ -159,6 +159,14 @@ const InputSourceSettings = new Lang.Class({
|
||||
return [];
|
||||
},
|
||||
|
||||
get mruSources() {
|
||||
return [];
|
||||
},
|
||||
|
||||
set mruSources(sourcesList) {
|
||||
// do nothing
|
||||
},
|
||||
|
||||
get keyboardOptions() {
|
||||
return [];
|
||||
},
|
||||
@@ -251,6 +259,7 @@ const InputSourceSessionSettings = new Lang.Class({
|
||||
|
||||
_DESKTOP_INPUT_SOURCES_SCHEMA: 'org.gnome.desktop.input-sources',
|
||||
_KEY_INPUT_SOURCES: 'sources',
|
||||
_KEY_MRU_SOURCES: 'mru-sources',
|
||||
_KEY_KEYBOARD_OPTIONS: 'xkb-options',
|
||||
_KEY_PER_WINDOW: 'per-window',
|
||||
|
||||
@@ -261,9 +270,9 @@ const InputSourceSessionSettings = new Lang.Class({
|
||||
this._settings.connect('changed::' + this._KEY_PER_WINDOW, Lang.bind(this, this._emitPerWindowChanged));
|
||||
},
|
||||
|
||||
get inputSources() {
|
||||
_getSourcesList: function(key) {
|
||||
let sourcesList = [];
|
||||
let sources = this._settings.get_value(this._KEY_INPUT_SOURCES);
|
||||
let sources = this._settings.get_value(key);
|
||||
let nSources = sources.n_children();
|
||||
|
||||
for (let i = 0; i < nSources; i++) {
|
||||
@@ -273,6 +282,19 @@ const InputSourceSessionSettings = new Lang.Class({
|
||||
return sourcesList;
|
||||
},
|
||||
|
||||
get inputSources() {
|
||||
return this._getSourcesList(this._KEY_INPUT_SOURCES);
|
||||
},
|
||||
|
||||
get mruSources() {
|
||||
return this._getSourcesList(this._KEY_MRU_SOURCES);
|
||||
},
|
||||
|
||||
set mruSources(sourcesList) {
|
||||
let sources = GLib.Variant.new('a(ss)', sourcesList);
|
||||
this._settings.set_value(this._KEY_MRU_SOURCES, sources);
|
||||
},
|
||||
|
||||
get keyboardOptions() {
|
||||
return this._settings.get_strv(this._KEY_KEYBOARD_OPTIONS);
|
||||
},
|
||||
@@ -372,7 +394,7 @@ const InputSourceManager = new Lang.Class({
|
||||
while (!(is = this._inputSources[nextIndex]))
|
||||
nextIndex += 1;
|
||||
|
||||
is.activate();
|
||||
is.activate(true);
|
||||
return true;
|
||||
},
|
||||
|
||||
@@ -400,6 +422,25 @@ const InputSourceManager = new Lang.Class({
|
||||
this._keyboardManager.reapply();
|
||||
},
|
||||
|
||||
_updateMruSettings: function() {
|
||||
// If IBus is not ready we don't have a full picture of all
|
||||
// the available sources, so don't update the setting
|
||||
if (!this._ibusReady)
|
||||
return;
|
||||
|
||||
// If IBus is temporarily disabled, don't update the setting
|
||||
if (this._disableIBus)
|
||||
return;
|
||||
|
||||
let sourcesList = [];
|
||||
for (let i = 0; i < this._mruSources.length; ++i) {
|
||||
let source = this._mruSources[i];
|
||||
sourcesList.push([source.type, source.id]);
|
||||
}
|
||||
|
||||
this._settings.mruSources = sourcesList;
|
||||
},
|
||||
|
||||
_currentInputSourceChanged: function(newSource) {
|
||||
let oldSource;
|
||||
[oldSource, this._currentSource] = [this._currentSource, newSource];
|
||||
@@ -416,7 +457,7 @@ const InputSourceManager = new Lang.Class({
|
||||
this._changePerWindowSource();
|
||||
},
|
||||
|
||||
_activateInputSource: function(is) {
|
||||
_activateInputSource: function(is, interactive) {
|
||||
KeyboardManager.holdKeyboard();
|
||||
this._keyboardManager.apply(is.xkbId);
|
||||
|
||||
@@ -434,6 +475,54 @@ const InputSourceManager = new Lang.Class({
|
||||
|
||||
this._ibusManager.setEngine(engine, KeyboardManager.releaseKeyboard);
|
||||
this._currentInputSourceChanged(is);
|
||||
|
||||
if (interactive)
|
||||
this._updateMruSettings();
|
||||
},
|
||||
|
||||
_updateMruSources: function() {
|
||||
let sourcesList = [];
|
||||
for (let i in this._inputSources)
|
||||
sourcesList.push(this._inputSources[i]);
|
||||
|
||||
this._keyboardManager.setUserLayouts(sourcesList.map(function(x) { return x.xkbId; }));
|
||||
|
||||
if (!this._disableIBus && this._mruSourcesBackup) {
|
||||
this._mruSources = this._mruSourcesBackup;
|
||||
this._mruSourcesBackup = null;
|
||||
}
|
||||
|
||||
// Initialize from settings when we have no MRU sources list
|
||||
if (this._mruSources.length == 0) {
|
||||
let mruSettings = this._settings.mruSources;
|
||||
for (let i = 0; i < mruSettings.length; i++) {
|
||||
let mruSettingSource = mruSettings[i];
|
||||
let mruSource = null;
|
||||
|
||||
for (let j = 0; j < sourcesList.length; j++) {
|
||||
let source = sourcesList[j];
|
||||
if (source.type == mruSettingSource.type &&
|
||||
source.id == mruSettingSource.id) {
|
||||
mruSource = source;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (mruSource)
|
||||
this._mruSources.push(mruSource);
|
||||
}
|
||||
}
|
||||
|
||||
let mruSources = [];
|
||||
for (let i = 0; i < this._mruSources.length; i++) {
|
||||
for (let j = 0; j < sourcesList.length; j++)
|
||||
if (this._mruSources[i].type == sourcesList[j].type &&
|
||||
this._mruSources[i].id == sourcesList[j].id) {
|
||||
mruSources = mruSources.concat(sourcesList.splice(j, 1));
|
||||
break;
|
||||
}
|
||||
}
|
||||
this._mruSources = mruSources.concat(sourcesList);
|
||||
},
|
||||
|
||||
_inputSourcesChanged: function() {
|
||||
@@ -510,30 +599,10 @@ const InputSourceManager = new Lang.Class({
|
||||
|
||||
this.emit('sources-changed');
|
||||
|
||||
let sourcesList = [];
|
||||
for (let i in this._inputSources)
|
||||
sourcesList.push(this._inputSources[i]);
|
||||
|
||||
this._keyboardManager.setUserLayouts(sourcesList.map(function(x) { return x.xkbId; }));
|
||||
|
||||
if (!this._disableIBus && this._mruSourcesBackup) {
|
||||
this._mruSources = this._mruSourcesBackup;
|
||||
this._mruSourcesBackup = null;
|
||||
}
|
||||
|
||||
let mruSources = [];
|
||||
for (let i = 0; i < this._mruSources.length; i++) {
|
||||
for (let j = 0; j < sourcesList.length; j++)
|
||||
if (this._mruSources[i].type == sourcesList[j].type &&
|
||||
this._mruSources[i].id == sourcesList[j].id) {
|
||||
mruSources = mruSources.concat(sourcesList.splice(j, 1));
|
||||
break;
|
||||
}
|
||||
}
|
||||
this._mruSources = mruSources.concat(sourcesList);
|
||||
this._updateMruSources();
|
||||
|
||||
if (this._mruSources.length > 0)
|
||||
this._mruSources[0].activate();
|
||||
this._mruSources[0].activate(false);
|
||||
|
||||
// All ibus engines are preloaded here to reduce the launching time
|
||||
// when users switch the input sources.
|
||||
@@ -642,7 +711,7 @@ const InputSourceManager = new Lang.Class({
|
||||
}
|
||||
|
||||
if (window._currentSource)
|
||||
window._currentSource.activate();
|
||||
window._currentSource.activate(false);
|
||||
},
|
||||
|
||||
_sourcesPerWindowChanged: function() {
|
||||
@@ -763,7 +832,10 @@ const InputSourceIndicator = new Lang.Class({
|
||||
let is = this._inputSourceManager.inputSources[i];
|
||||
|
||||
let menuItem = new LayoutMenuItem(is.displayName, is.shortName);
|
||||
menuItem.connect('activate', Lang.bind(is, is.activate));
|
||||
menuItem.connect('activate', function() {
|
||||
is.activate(true);
|
||||
});
|
||||
|
||||
let indicatorLabel = new St.Label({ text: is.shortName,
|
||||
visible: false });
|
||||
|
||||
|
@@ -62,8 +62,8 @@ var AgentIface = '<node> \
|
||||
</interface> \
|
||||
</node>';
|
||||
|
||||
var XdgAppIface = '<node> \
|
||||
<interface name="org.freedesktop.XdgApp.PermissionStore"> \
|
||||
var PermissionStoreIface = '<node> \
|
||||
<interface name="org.freedesktop.impl.portal.PermissionStore"> \
|
||||
<method name="Lookup"> \
|
||||
<arg name="table" type="s" direction="in"/> \
|
||||
<arg name="id" type="s" direction="in"/> \
|
||||
@@ -80,7 +80,7 @@ var XdgAppIface = '<node> \
|
||||
</interface> \
|
||||
</node>';
|
||||
|
||||
const PermissionStore = Gio.DBusProxy.makeProxyWrapper(XdgAppIface);
|
||||
const PermissionStore = Gio.DBusProxy.makeProxyWrapper(PermissionStoreIface);
|
||||
|
||||
const Indicator = new Lang.Class({
|
||||
Name: 'LocationIndicator',
|
||||
@@ -254,8 +254,8 @@ const Indicator = new Lang.Class({
|
||||
_connectToPermissionStore: function() {
|
||||
this._permStoreProxy = null;
|
||||
new PermissionStore(Gio.DBus.session,
|
||||
'org.freedesktop.XdgApp',
|
||||
'/org/freedesktop/XdgApp/PermissionStore',
|
||||
'org.freedesktop.impl.portal.PermissionStore',
|
||||
'/org/freedesktop/impl/portal/PermissionStore',
|
||||
Lang.bind(this, this._onPermStoreProxyReady));
|
||||
},
|
||||
|
||||
|
@@ -621,7 +621,7 @@ const NMDeviceBluetooth = new Lang.Class({
|
||||
_init: function(client, device, settings) {
|
||||
this.parent(client, device, settings);
|
||||
|
||||
this.item.menu.addMenuItem(createSettingsAction(_("Mobile Broadband Settings"), device));
|
||||
this.item.menu.addMenuItem(createSettingsAction(_("Bluetooth Settings"), device));
|
||||
},
|
||||
|
||||
_getDescription: function() {
|
||||
@@ -629,7 +629,7 @@ const NMDeviceBluetooth = new Lang.Class({
|
||||
},
|
||||
|
||||
getConnectLabel: function() {
|
||||
return _("Use as Internet connection");
|
||||
return _("Connect to Internet");
|
||||
},
|
||||
|
||||
getIndicatorIcon: function() {
|
||||
|
@@ -6,6 +6,7 @@ const Gdm = imports.gi.Gdm;
|
||||
const Gio = imports.gi.Gio;
|
||||
const GLib = imports.gi.GLib;
|
||||
const Lang = imports.lang;
|
||||
const Meta = imports.gi.Meta;
|
||||
const Shell = imports.gi.Shell;
|
||||
const St = imports.gi.St;
|
||||
|
||||
@@ -110,6 +111,7 @@ const Indicator = new Lang.Class({
|
||||
|
||||
this._session = new GnomeSession.SessionManager();
|
||||
this._loginManager = LoginManager.getLoginManager();
|
||||
this._monitorManager = Meta.MonitorManager.get();
|
||||
this._haveShutdown = true;
|
||||
this._haveSuspend = true;
|
||||
|
||||
@@ -155,6 +157,8 @@ const Indicator = new Lang.Class({
|
||||
|
||||
this._orientationSettings.connect('changed::orientation-lock',
|
||||
Lang.bind(this, this._updateOrientationLock));
|
||||
Main.layoutManager.connect('monitors-changed',
|
||||
Lang.bind(this, this._updateOrientationLock));
|
||||
Gio.DBus.system.watch_name(SENSOR_BUS_NAME,
|
||||
Gio.BusNameWatcherFlags.NONE,
|
||||
Lang.bind(this, this._sensorProxyAppeared),
|
||||
@@ -264,7 +268,8 @@ const Indicator = new Lang.Class({
|
||||
|
||||
_updateOrientationLock: function() {
|
||||
if (this._sensorProxy)
|
||||
this._orientationLockAction.visible = this._sensorProxy.HasAccelerometer;
|
||||
this._orientationLockAction.visible = this._sensorProxy.HasAccelerometer &&
|
||||
this._monitorManager.get_is_builtin_display_on();
|
||||
else
|
||||
this._orientationLockAction.visible = false;
|
||||
|
||||
@@ -301,14 +306,17 @@ const Indicator = new Lang.Class({
|
||||
},
|
||||
|
||||
_updateHaveSuspend: function() {
|
||||
this._loginManager.canSuspend(Lang.bind(this, function(result) {
|
||||
this._haveSuspend = result;
|
||||
this._updateSuspend();
|
||||
}));
|
||||
this._loginManager.canSuspend(Lang.bind(this,
|
||||
function(canSuspend, needsAuth) {
|
||||
this._haveSuspend = canSuspend;
|
||||
this._suspendNeedsAuth = needsAuth;
|
||||
this._updateSuspend();
|
||||
}));
|
||||
},
|
||||
|
||||
_updateSuspend: function() {
|
||||
let disabled = Main.sessionMode.isLocked ||
|
||||
let disabled = (Main.sessionMode.isLocked &&
|
||||
this._suspendNeedsAuth) ||
|
||||
(Main.sessionMode.isGreeter &&
|
||||
this._loginScreenSettings.get_boolean(DISABLE_RESTART_KEY));
|
||||
this._suspendAction.visible = this._haveSuspend && !disabled;
|
||||
|
@@ -17,6 +17,7 @@ const Main = imports.ui.main;
|
||||
const ModalDialog = imports.ui.modalDialog;
|
||||
const Tweener = imports.ui.tweener;
|
||||
const WindowMenu = imports.ui.windowMenu;
|
||||
const PadOsd = imports.ui.padOsd;
|
||||
|
||||
const SHELL_KEYBINDINGS_SCHEMA = 'org.gnome.shell.keybindings';
|
||||
const MINIMIZE_WINDOW_ANIMATION_TIME = 0.2;
|
||||
@@ -850,22 +851,34 @@ const WindowManager = new Lang.Class({
|
||||
Lang.bind(this, this._showWorkspaceSwitcher));
|
||||
this.setCustomKeybindingHandler('switch-applications',
|
||||
Shell.ActionMode.NORMAL,
|
||||
Lang.bind(this, this._startAppSwitcher));
|
||||
Lang.bind(this, this._startSwitcher));
|
||||
this.setCustomKeybindingHandler('switch-group',
|
||||
Shell.ActionMode.NORMAL,
|
||||
Lang.bind(this, this._startAppSwitcher));
|
||||
Lang.bind(this, this._startSwitcher));
|
||||
this.setCustomKeybindingHandler('switch-applications-backward',
|
||||
Shell.ActionMode.NORMAL,
|
||||
Lang.bind(this, this._startAppSwitcher));
|
||||
Lang.bind(this, this._startSwitcher));
|
||||
this.setCustomKeybindingHandler('switch-group-backward',
|
||||
Shell.ActionMode.NORMAL,
|
||||
Lang.bind(this, this._startAppSwitcher));
|
||||
Lang.bind(this, this._startSwitcher));
|
||||
this.setCustomKeybindingHandler('switch-windows',
|
||||
Shell.ActionMode.NORMAL,
|
||||
Lang.bind(this, this._startWindowSwitcher));
|
||||
Lang.bind(this, this._startSwitcher));
|
||||
this.setCustomKeybindingHandler('switch-windows-backward',
|
||||
Shell.ActionMode.NORMAL,
|
||||
Lang.bind(this, this._startWindowSwitcher));
|
||||
Lang.bind(this, this._startSwitcher));
|
||||
this.setCustomKeybindingHandler('cycle-windows',
|
||||
Shell.ActionMode.NORMAL,
|
||||
Lang.bind(this, this._startSwitcher));
|
||||
this.setCustomKeybindingHandler('cycle-windows-backward',
|
||||
Shell.ActionMode.NORMAL,
|
||||
Lang.bind(this, this._startSwitcher));
|
||||
this.setCustomKeybindingHandler('cycle-group',
|
||||
Shell.ActionMode.NORMAL,
|
||||
Lang.bind(this, this._startSwitcher));
|
||||
this.setCustomKeybindingHandler('cycle-group-backward',
|
||||
Shell.ActionMode.NORMAL,
|
||||
Lang.bind(this, this._startSwitcher));
|
||||
this.setCustomKeybindingHandler('switch-panels',
|
||||
Shell.ActionMode.NORMAL |
|
||||
Shell.ActionMode.OVERVIEW |
|
||||
@@ -903,6 +916,7 @@ const WindowManager = new Lang.Class({
|
||||
Lang.bind(this, this._toggleCalendar));
|
||||
|
||||
global.display.connect('show-resize-popup', Lang.bind(this, this._showResizePopup));
|
||||
global.display.connect('show-pad-osd', Lang.bind(this, this._showPadOsd));
|
||||
|
||||
Main.overview.connect('showing', Lang.bind(this, function() {
|
||||
for (let i = 0; i < this._dimmedWindows.length; i++)
|
||||
@@ -932,7 +946,19 @@ const WindowManager = new Lang.Class({
|
||||
gesture = new AppSwitchAction();
|
||||
gesture.connect('activated', Lang.bind(this, this._switchApp));
|
||||
global.stage.add_action(gesture);
|
||||
},
|
||||
|
||||
_showPadOsd: function (display, device, settings, imagePath, editionMode, monitorIndex) {
|
||||
if (this._currentPadOsd != null) {
|
||||
if (this._currentPadOsd.padDevice == device)
|
||||
this._currentPadOsd.destroy();
|
||||
return null;
|
||||
}
|
||||
|
||||
this._currentPadOsd = new PadOsd.PadOsd(device, settings, imagePath, editionMode, monitorIndex);
|
||||
this._currentPadOsd.connect('closed', Lang.bind(this, function() { this._currentPadOsd = null }));
|
||||
|
||||
return this._currentPadOsd.actor;
|
||||
},
|
||||
|
||||
_actionSwitchWorkspace: function(action, direction) {
|
||||
@@ -1744,23 +1770,37 @@ const WindowManager = new Lang.Class({
|
||||
this._windowMenuManager.showWindowMenuForWindow(window, menu, rect);
|
||||
},
|
||||
|
||||
_startAppSwitcher : function(display, screen, window, binding) {
|
||||
_startSwitcher: function(display, screen, window, binding) {
|
||||
let constructor = null;
|
||||
switch (binding.get_name()) {
|
||||
case 'switch-applications':
|
||||
case 'switch-applications-backward':
|
||||
case 'switch-group':
|
||||
case 'switch-group-backward':
|
||||
constructor = AltTab.AppSwitcherPopup;
|
||||
break;
|
||||
case 'switch-windows':
|
||||
case 'switch-windows-backward':
|
||||
constructor = AltTab.WindowSwitcherPopup;
|
||||
break;
|
||||
case 'cycle-windows':
|
||||
case 'cycle-windows-backward':
|
||||
constructor = AltTab.WindowCyclerPopup;
|
||||
break;
|
||||
case 'cycle-group':
|
||||
case 'cycle-group-backward':
|
||||
constructor = AltTab.GroupCyclerPopup;
|
||||
break;
|
||||
}
|
||||
|
||||
if (!constructor)
|
||||
return;
|
||||
|
||||
/* prevent a corner case where both popups show up at once */
|
||||
if (this._workspaceSwitcherPopup != null)
|
||||
this._workspaceSwitcherPopup.destroy();
|
||||
|
||||
let tabPopup = new AltTab.AppSwitcherPopup();
|
||||
|
||||
if (!tabPopup.show(binding.is_reversed(), binding.get_name(), binding.get_mask()))
|
||||
tabPopup.destroy();
|
||||
},
|
||||
|
||||
_startWindowSwitcher : function(display, screen, window, binding) {
|
||||
/* prevent a corner case where both popups show up at once */
|
||||
if (this._workspaceSwitcherPopup != null)
|
||||
this._workspaceSwitcherPopup.destroy();
|
||||
|
||||
let tabPopup = new AltTab.WindowSwitcherPopup();
|
||||
let tabPopup = new constructor();
|
||||
|
||||
if (!tabPopup.show(binding.is_reversed(), binding.get_name(), binding.get_mask()))
|
||||
tabPopup.destroy();
|
||||
|
@@ -45,11 +45,11 @@ const PrimaryActorLayout = new Lang.Class({
|
||||
this.primaryActor = primaryActor;
|
||||
},
|
||||
|
||||
vfunc_get_preferred_width: function(forHeight) {
|
||||
vfunc_get_preferred_width: function(container, forHeight) {
|
||||
return this.primaryActor.get_preferred_width(forHeight);
|
||||
},
|
||||
|
||||
vfunc_get_preferred_height: function(forWidth) {
|
||||
vfunc_get_preferred_height: function(container, forWidth) {
|
||||
return this.primaryActor.get_preferred_height(forWidth);
|
||||
},
|
||||
});
|
||||
|
@@ -103,7 +103,7 @@ const WorkspacesView = new Lang.Class({
|
||||
page_increment: 1,
|
||||
page_size: 1,
|
||||
step_increment: 0,
|
||||
upper: 0 });
|
||||
upper: global.screen.n_workspaces });
|
||||
this.scrollAdjustment.connect('notify::value',
|
||||
Lang.bind(this, this._onScroll));
|
||||
|
||||
@@ -374,6 +374,10 @@ const ExtraWorkspaceView = new Lang.Class({
|
||||
this._workspace.setActualGeometry(this._actualGeometry);
|
||||
},
|
||||
|
||||
getActiveWorkspace: function() {
|
||||
return this._workspace;
|
||||
},
|
||||
|
||||
animateToOverview: function(animationType) {
|
||||
if (animationType == AnimationType.ZOOM)
|
||||
this._workspace.zoomToOverview();
|
||||
@@ -421,8 +425,10 @@ const WorkspacesDisplay = new Lang.Class({
|
||||
// Only switch to the workspace when there's no application
|
||||
// windows open. The problem is that it's too easy to miss
|
||||
// an app window and get the wrong one focused.
|
||||
let event = Clutter.get_current_event();
|
||||
let index = this._getMonitorIndexForEvent(event);
|
||||
if ((action.get_button() == 1 || action.get_button() == 0) &&
|
||||
this._getPrimaryView().getActiveWorkspace().isEmpty())
|
||||
this._workspacesViews[index].getActiveWorkspace().isEmpty())
|
||||
Main.overview.hide();
|
||||
}));
|
||||
Main.overview.addAction(clickAction);
|
||||
@@ -431,11 +437,18 @@ const WorkspacesDisplay = new Lang.Class({
|
||||
let panAction = new Clutter.PanAction({ threshold_trigger_edge: Clutter.GestureTriggerEdge.AFTER });
|
||||
panAction.connect('pan', Lang.bind(this, this._onPan));
|
||||
panAction.connect('gesture-begin', Lang.bind(this, function() {
|
||||
if (this._workspacesOnlyOnPrimary) {
|
||||
let event = Clutter.get_current_event();
|
||||
if (this._getMonitorIndexForEvent(event) != this._primaryIndex)
|
||||
return false;
|
||||
}
|
||||
|
||||
for (let i = 0; i < this._workspacesViews.length; i++)
|
||||
this._workspacesViews[i].startSwipeScroll();
|
||||
return true;
|
||||
}));
|
||||
panAction.connect('gesture-cancel', Lang.bind(this, function() {
|
||||
clickAction.release();
|
||||
for (let i = 0; i < this._workspacesViews.length; i++)
|
||||
this._workspacesViews[i].endSwipeScroll();
|
||||
}));
|
||||
@@ -581,6 +594,12 @@ const WorkspacesDisplay = new Lang.Class({
|
||||
}
|
||||
},
|
||||
|
||||
_getMonitorIndexForEvent: function(event) {
|
||||
let [x, y] = event.get_coords();
|
||||
let rect = new Meta.Rectangle({ x: x, y: y, width: 1, height: 1 });
|
||||
return global.screen.get_monitor_index_for_rect(rect);
|
||||
},
|
||||
|
||||
_getPrimaryView: function() {
|
||||
if (!this._workspacesViews.length)
|
||||
return null;
|
||||
@@ -661,6 +680,11 @@ const WorkspacesDisplay = new Lang.Class({
|
||||
_onScrollEvent: function(actor, event) {
|
||||
if (!this.actor.mapped)
|
||||
return Clutter.EVENT_PROPAGATE;
|
||||
|
||||
if (this._workspacesOnlyOnPrimary &&
|
||||
this._getMonitorIndexForEvent(event) != this._primaryIndex)
|
||||
return Clutter.EVENT_PROPAGATE;
|
||||
|
||||
let activeWs = global.screen.get_active_workspace();
|
||||
let ws;
|
||||
switch (event.get_scroll_direction()) {
|
||||
|
33
po/ar.po
33
po/ar.po
@@ -8,8 +8,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-03-02 14:44+0400\n"
|
||||
"PO-Revision-Date: 2016-03-02 14:44+0400\n"
|
||||
"POT-Creation-Date: 2016-04-10 20:24+0200\n"
|
||||
"PO-Revision-Date: 2016-04-10 20:26+0200\n"
|
||||
"Last-Translator: Khaled Hosny <khaledhosny@eglug.org>\n"
|
||||
"Language-Team: Arabic <doc@arabeyes.org>\n"
|
||||
"Language: ar\n"
|
||||
@@ -277,12 +277,12 @@ msgstr ""
|
||||
msgid "Network Login"
|
||||
msgstr "ولوج الشبكة"
|
||||
|
||||
#: ../js/extensionPrefs/main.js:121
|
||||
#: ../js/extensionPrefs/main.js:117
|
||||
#, javascript-format
|
||||
msgid "There was an error loading the preferences dialog for %s:"
|
||||
msgstr "حدث خطأ أثناء تشغيل حوار تفضيلات %s:"
|
||||
|
||||
#: ../js/extensionPrefs/main.js:153
|
||||
#: ../js/extensionPrefs/main.js:149
|
||||
msgid "GNOME Shell Extensions"
|
||||
msgstr "امتدادات صدفة جنوم"
|
||||
|
||||
@@ -749,7 +749,7 @@ msgstr "للأسف لم يُفلح هذا. أعِد المحاولة."
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#: ../js/ui/components/telepathyClient.js:759
|
||||
#: ../js/ui/components/telepathyClient.js:760
|
||||
#, javascript-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "غيّر %s اسمه إلى %s"
|
||||
@@ -951,11 +951,11 @@ msgid "Keyboard"
|
||||
msgstr "لوحة المفاتيح"
|
||||
|
||||
#. translators: 'Hide' is a verb
|
||||
#: ../js/ui/legacyTray.js:66
|
||||
#: ../js/ui/legacyTray.js:65
|
||||
msgid "Hide tray"
|
||||
msgstr "أخفِ الصينية"
|
||||
|
||||
#: ../js/ui/legacyTray.js:107
|
||||
#: ../js/ui/legacyTray.js:106
|
||||
msgid "Status Icons"
|
||||
msgstr "أيقونات الحالة"
|
||||
|
||||
@@ -1281,25 +1281,23 @@ msgstr "التموضع غير مفعّل"
|
||||
msgid "Enable"
|
||||
msgstr "فعّل"
|
||||
|
||||
#: ../js/ui/status/location.js:434
|
||||
#: ../js/ui/status/location.js:426
|
||||
msgid "Deny Access"
|
||||
msgstr "ارفض منح الصلاحية"
|
||||
|
||||
#: ../js/ui/status/location.js:437
|
||||
#: ../js/ui/status/location.js:429
|
||||
msgid "Grant Access"
|
||||
msgstr "امنح الصلاحية"
|
||||
|
||||
#. Translators: %s is an application name
|
||||
#: ../js/ui/status/location.js:443
|
||||
#: ../js/ui/status/location.js:435
|
||||
#, javascript-format
|
||||
msgid "Give %s access to your location?"
|
||||
msgstr "أتريد إعطاء %s صلاحية معرفة مكانك؟ "
|
||||
msgstr "أتريد إعطاء %s صلاحية معرفة مكانك؟"
|
||||
|
||||
#. Translators: %s is an application name
|
||||
#: ../js/ui/status/location.js:446
|
||||
#, javascript-format
|
||||
msgid "%s is requesting access to your location."
|
||||
msgstr "يطلب %s صلاحية معرفة مكانك."
|
||||
#: ../js/ui/status/location.js:437
|
||||
msgid "Location access can be changed at any time from the privacy settings."
|
||||
msgstr "يمكن تغيير صلاحيات الوصول لمكانك في أي وقت من إعدادات الخصوصية."
|
||||
|
||||
#: ../js/ui/status/network.js:101
|
||||
msgid "<unknown>"
|
||||
@@ -1745,6 +1743,9 @@ msgstr "لا يمكن أن تكون كلمة السرّ فارغة"
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "أغلق المستخدم مربع الاستيثاق الحِواري"
|
||||
|
||||
#~ msgid "%s is requesting access to your location."
|
||||
#~ msgstr "يطلب %s صلاحية معرفة مكانك."
|
||||
|
||||
#~ msgid "GNOME Shell (wayland compositor)"
|
||||
#~ msgstr "صدفة جنوم (وايلاند)"
|
||||
|
||||
|
135
po/bg.po
135
po/bg.po
@@ -9,8 +9,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-01-22 07:45+0200\n"
|
||||
"PO-Revision-Date: 2016-01-22 07:45+0200\n"
|
||||
"POT-Creation-Date: 2016-04-09 08:29+0300\n"
|
||||
"PO-Revision-Date: 2016-04-09 07:09+0300\n"
|
||||
"Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
|
||||
"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
|
||||
"Language: bg\n"
|
||||
@@ -316,16 +316,17 @@ msgstr ""
|
||||
msgid "Network Login"
|
||||
msgstr "Мрежов вход"
|
||||
|
||||
#: ../js/extensionPrefs/main.js:122
|
||||
#: ../js/extensionPrefs/main.js:117
|
||||
#, javascript-format
|
||||
msgid "There was an error loading the preferences dialog for %s:"
|
||||
msgstr "Грешка при зареждане на прозореца с настройки за „%s“"
|
||||
|
||||
#: ../js/extensionPrefs/main.js:154
|
||||
#: ../js/extensionPrefs/main.js:149
|
||||
msgid "GNOME Shell Extensions"
|
||||
msgstr "Разширения на обвивката на GNOME"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:145
|
||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/audioDeviceSelection.js:71
|
||||
#: ../js/ui/components/networkAgent.js:145
|
||||
#: ../js/ui/components/polkitAgent.js:179 ../js/ui/endSessionDialog.js:452
|
||||
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
|
||||
#: ../js/ui/status/network.js:916
|
||||
@@ -509,16 +510,36 @@ msgstr "Добавяне в „Любими“"
|
||||
msgid "Show Details"
|
||||
msgstr "Показване на подробности"
|
||||
|
||||
#: ../js/ui/appFavorites.js:133
|
||||
#: ../js/ui/appFavorites.js:134
|
||||
#, javascript-format
|
||||
msgid "%s has been added to your favorites."
|
||||
msgstr "Програмата „%s“ беше добавена в „Любими“"
|
||||
|
||||
#: ../js/ui/appFavorites.js:167
|
||||
#: ../js/ui/appFavorites.js:168
|
||||
#, javascript-format
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "Програмата „%s“ беше премахната от „Любими“"
|
||||
|
||||
#: ../js/ui/audioDeviceSelection.js:59
|
||||
msgid "Select Audio Device"
|
||||
msgstr "Избор на устройство за аудио"
|
||||
|
||||
#: ../js/ui/audioDeviceSelection.js:69
|
||||
msgid "Sound Settings"
|
||||
msgstr "Настройки на звука"
|
||||
|
||||
#: ../js/ui/audioDeviceSelection.js:78
|
||||
msgid "Headphones"
|
||||
msgstr "Слушалки"
|
||||
|
||||
#: ../js/ui/audioDeviceSelection.js:80
|
||||
msgid "Headset"
|
||||
msgstr "Малки слушалки"
|
||||
|
||||
#: ../js/ui/audioDeviceSelection.js:82 ../js/ui/status/volume.js:213
|
||||
msgid "Microphone"
|
||||
msgstr "Микрофон"
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:19
|
||||
msgid "Change Background…"
|
||||
msgstr "Смяна на фона…"
|
||||
@@ -532,7 +553,7 @@ msgid "Settings"
|
||||
msgstr "Настройки"
|
||||
|
||||
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday).
|
||||
#: ../js/ui/calendar.js:55
|
||||
#: ../js/ui/calendar.js:47
|
||||
msgctxt "calendar-no-work"
|
||||
msgid "06"
|
||||
msgstr "06"
|
||||
@@ -542,100 +563,96 @@ msgstr "06"
|
||||
#. * NOTE: These grid abbreviations are always shown together
|
||||
#. * and in order, e.g. "S M T W T F S".
|
||||
#.
|
||||
#: ../js/ui/calendar.js:84
|
||||
#: ../js/ui/calendar.js:76
|
||||
msgctxt "grid sunday"
|
||||
msgid "S"
|
||||
msgstr "Н"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Monday
|
||||
#: ../js/ui/calendar.js:86
|
||||
#: ../js/ui/calendar.js:78
|
||||
msgctxt "grid monday"
|
||||
msgid "M"
|
||||
msgstr "П"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Tuesday
|
||||
#: ../js/ui/calendar.js:88
|
||||
#: ../js/ui/calendar.js:80
|
||||
msgctxt "grid tuesday"
|
||||
msgid "T"
|
||||
msgstr "В"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Wednesday
|
||||
#: ../js/ui/calendar.js:90
|
||||
#: ../js/ui/calendar.js:82
|
||||
msgctxt "grid wednesday"
|
||||
msgid "W"
|
||||
msgstr "С"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Thursday
|
||||
#: ../js/ui/calendar.js:92
|
||||
#: ../js/ui/calendar.js:84
|
||||
msgctxt "grid thursday"
|
||||
msgid "T"
|
||||
msgstr "Ч"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Friday
|
||||
#: ../js/ui/calendar.js:94
|
||||
#: ../js/ui/calendar.js:86
|
||||
msgctxt "grid friday"
|
||||
msgid "F"
|
||||
msgstr "П"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Saturday
|
||||
#: ../js/ui/calendar.js:96
|
||||
#: ../js/ui/calendar.js:88
|
||||
msgctxt "grid saturday"
|
||||
msgid "S"
|
||||
msgstr "С"
|
||||
|
||||
#: ../js/ui/calendar.js:566
|
||||
#: ../js/ui/calendar.js:416
|
||||
msgid "Previous month"
|
||||
msgstr "Предния месец"
|
||||
|
||||
#: ../js/ui/calendar.js:576
|
||||
#: ../js/ui/calendar.js:426
|
||||
msgid "Next month"
|
||||
msgstr "Следващия месец"
|
||||
|
||||
#: ../js/ui/calendar.js:729
|
||||
#: ../js/ui/calendar.js:579
|
||||
#, no-javascript-format
|
||||
msgctxt "date day number format"
|
||||
msgid "%d"
|
||||
msgstr "%d"
|
||||
|
||||
#: ../js/ui/calendar.js:784
|
||||
#: ../js/ui/calendar.js:634
|
||||
msgid "Week %V"
|
||||
msgstr "%V-а седмица"
|
||||
|
||||
#. Translators: Shown in calendar event list for all day events
|
||||
#. * Keep it short, best if you can use less then 10 characters
|
||||
#.
|
||||
#: ../js/ui/calendar.js:1189
|
||||
#: ../js/ui/calendar.js:695
|
||||
msgctxt "event list time"
|
||||
msgid "All Day"
|
||||
msgstr "Цял ден"
|
||||
|
||||
#: ../js/ui/calendar.js:1296
|
||||
msgid "Clear section"
|
||||
msgstr "Изчистване"
|
||||
|
||||
#: ../js/ui/calendar.js:1523
|
||||
#: ../js/ui/calendar.js:821
|
||||
msgid "Events"
|
||||
msgstr "Събития"
|
||||
|
||||
#: ../js/ui/calendar.js:1532
|
||||
#: ../js/ui/calendar.js:830
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, %e %B"
|
||||
|
||||
#: ../js/ui/calendar.js:1536
|
||||
#: ../js/ui/calendar.js:834
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%A, %e %B %Y"
|
||||
|
||||
#: ../js/ui/calendar.js:1621
|
||||
#: ../js/ui/calendar.js:919
|
||||
msgid "Notifications"
|
||||
msgstr "Известия"
|
||||
|
||||
#: ../js/ui/calendar.js:1772
|
||||
#: ../js/ui/calendar.js:1070
|
||||
msgid "No Notifications"
|
||||
msgstr "Няма известия"
|
||||
|
||||
#: ../js/ui/calendar.js:1775
|
||||
#: ../js/ui/calendar.js:1073
|
||||
msgid "No Events"
|
||||
msgstr "Няма събития"
|
||||
|
||||
@@ -773,7 +790,7 @@ msgstr "Неуспешно действие. Опитайте отново."
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#: ../js/ui/components/telepathyClient.js:759
|
||||
#: ../js/ui/components/telepathyClient.js:760
|
||||
#, javascript-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "„%s“ в момента е познат като „%s“"
|
||||
@@ -963,11 +980,11 @@ msgid "Keyboard"
|
||||
msgstr "Клавиатура"
|
||||
|
||||
#. translators: 'Hide' is a verb
|
||||
#: ../js/ui/legacyTray.js:66
|
||||
#: ../js/ui/legacyTray.js:65
|
||||
msgid "Hide tray"
|
||||
msgstr "Скриване на областта"
|
||||
|
||||
#: ../js/ui/legacyTray.js:107
|
||||
#: ../js/ui/legacyTray.js:106
|
||||
msgid "Status Icons"
|
||||
msgstr "Икони за състоянието"
|
||||
|
||||
@@ -1019,10 +1036,26 @@ msgstr "Преглед на изходния код"
|
||||
msgid "Web Page"
|
||||
msgstr "Домашна страница"
|
||||
|
||||
#: ../js/ui/messageList.js:543
|
||||
msgid "Clear section"
|
||||
msgstr "Изчистване"
|
||||
|
||||
#: ../js/ui/messageTray.js:1486
|
||||
msgid "System Information"
|
||||
msgstr "Информация за системата"
|
||||
|
||||
#: ../js/ui/mpris.js:194
|
||||
msgid "Unknown artist"
|
||||
msgstr "Неизвестен изпълнител"
|
||||
|
||||
#: ../js/ui/mpris.js:195
|
||||
msgid "Unknown title"
|
||||
msgstr "Неизвестно заглавие"
|
||||
|
||||
#: ../js/ui/mpris.js:217
|
||||
msgid "Media"
|
||||
msgstr "Медиа"
|
||||
|
||||
#: ../js/ui/overview.js:84
|
||||
msgid "Undo"
|
||||
msgstr "Отмяна"
|
||||
@@ -1241,30 +1274,50 @@ msgstr "Яркост"
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "Показване на клавиатурната подредба"
|
||||
|
||||
#: ../js/ui/status/location.js:71 ../js/ui/status/location.js:177
|
||||
#: ../js/ui/status/location.js:107 ../js/ui/status/location.js:215
|
||||
msgid "Location Enabled"
|
||||
msgstr "Местоположението е включено"
|
||||
|
||||
#: ../js/ui/status/location.js:72 ../js/ui/status/location.js:178
|
||||
#: ../js/ui/status/location.js:108 ../js/ui/status/location.js:216
|
||||
msgid "Disable"
|
||||
msgstr "Изключване"
|
||||
|
||||
#: ../js/ui/status/location.js:73
|
||||
#: ../js/ui/status/location.js:109
|
||||
msgid "Privacy Settings"
|
||||
msgstr "Настройки за поверителност"
|
||||
|
||||
#: ../js/ui/status/location.js:176
|
||||
#: ../js/ui/status/location.js:214
|
||||
msgid "Location In Use"
|
||||
msgstr "Текущо местоположение"
|
||||
|
||||
#: ../js/ui/status/location.js:180
|
||||
#: ../js/ui/status/location.js:218
|
||||
msgid "Location Disabled"
|
||||
msgstr "Местоположението е изключено"
|
||||
|
||||
#: ../js/ui/status/location.js:181
|
||||
#: ../js/ui/status/location.js:219
|
||||
msgid "Enable"
|
||||
msgstr "Включване"
|
||||
|
||||
#: ../js/ui/status/location.js:426
|
||||
msgid "Deny Access"
|
||||
msgstr "Отказване на достъп"
|
||||
|
||||
#: ../js/ui/status/location.js:429
|
||||
msgid "Grant Access"
|
||||
msgstr "Позволяване на достъп"
|
||||
|
||||
#. Translators: %s is an application name
|
||||
#: ../js/ui/status/location.js:435
|
||||
#, javascript-format
|
||||
msgid "Give %s access to your location?"
|
||||
msgstr "Да се сподели ли местоположението с „%s“?"
|
||||
|
||||
#: ../js/ui/status/location.js:437
|
||||
msgid "Location access can be changed at any time from the privacy settings."
|
||||
msgstr ""
|
||||
"Може да промените правата за достъп до местоположението през настройките за "
|
||||
"лични данни."
|
||||
|
||||
#: ../js/ui/status/network.js:101
|
||||
msgid "<unknown>"
|
||||
msgstr "<неизвестно>"
|
||||
@@ -1519,10 +1572,6 @@ msgstr "Променена сила на звука"
|
||||
msgid "Volume"
|
||||
msgstr "Сила на звука"
|
||||
|
||||
#: ../js/ui/status/volume.js:213
|
||||
msgid "Microphone"
|
||||
msgstr "Микрофон"
|
||||
|
||||
#: ../js/ui/unlockDialog.js:67
|
||||
msgid "Log in as another user"
|
||||
msgstr "Вход като друг потребител"
|
||||
|
4
po/cs.po
4
po/cs.po
@@ -1285,7 +1285,7 @@ msgstr "Zjišťování polohy je povoleno"
|
||||
|
||||
#: ../js/ui/status/location.js:108 ../js/ui/status/location.js:216
|
||||
msgid "Disable"
|
||||
msgstr "Zakázáno"
|
||||
msgstr "Zakázát"
|
||||
|
||||
#: ../js/ui/status/location.js:109
|
||||
msgid "Privacy Settings"
|
||||
@@ -1301,7 +1301,7 @@ msgstr "Zjišťování polohy je zakázáno"
|
||||
|
||||
#: ../js/ui/status/location.js:219
|
||||
msgid "Enable"
|
||||
msgstr "Povoleno"
|
||||
msgstr "Povolit"
|
||||
|
||||
#: ../js/ui/status/location.js:426
|
||||
msgid "Deny Access"
|
||||
|
1821
po/en_GB.po
1821
po/en_GB.po
File diff suppressed because it is too large
Load Diff
152
po/es.po
152
po/es.po
@@ -11,8 +11,8 @@ msgstr ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell.master\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2016-03-11 10:19+0000\n"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2016-06-30 09:43+0000\n"
|
||||
"PO-Revision-Date: 2016-06-30 15:58+0200\n"
|
||||
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
|
||||
"Language-Team: Español; Castellano <gnome-es-list@gnome.org>\n"
|
||||
@@ -190,80 +190,72 @@ msgstr ""
|
||||
"predeterminado. Esto se restablecerá si se ve que el adaptador "
|
||||
"predeterminado no tiene dispositivos asociados."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
|
||||
msgid "Show the week date in the calendar"
|
||||
msgstr "Mostrar la fecha de la semana en el calendario"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
|
||||
msgid "If true, display the ISO week date in the calendar."
|
||||
msgstr "Si es cierta, muestra la fecha de semana ISO en el calendario."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
|
||||
msgid "Keybinding to open the application menu"
|
||||
msgstr "Asociación de teclas para abrir el menú de la aplicación"
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
|
||||
msgid "Keybinding to open the application menu."
|
||||
msgstr "Asociación de teclas para abrir el menú de la aplicación."
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
|
||||
msgid "Keybinding to open the \"Show Applications\" view"
|
||||
msgstr "Asociación de teclas para la vista «Mostrar aplicaciones»"
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
|
||||
msgid ""
|
||||
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
|
||||
msgstr ""
|
||||
"Asociación de teclas para abrir la vista «Mostrar aplicaciones» de la vista "
|
||||
"de actividades."
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
|
||||
msgid "Keybinding to open the overview"
|
||||
msgstr "Asociación de teclas para la vista general"
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
|
||||
msgid "Keybinding to open the Activities Overview."
|
||||
msgstr "Asociación de teclas para abrir la Vista de actividades"
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
|
||||
msgid "Keybinding to toggle the visibility of the notification list"
|
||||
msgstr ""
|
||||
"Asociación de teclas para cambiar la visibilidad de la lista de "
|
||||
"notificaciones"
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
|
||||
msgid "Keybinding to toggle the visibility of the notification list."
|
||||
msgstr ""
|
||||
"Asociación de teclas para cambiar la visibilidad de la lista de "
|
||||
"notificaciones."
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
|
||||
msgid "Keybinding to focus the active notification"
|
||||
msgstr "Asociación de teclas para dar el foco a la notificación activa"
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
|
||||
msgid "Keybinding to focus the active notification."
|
||||
msgstr "Asociación de teclas para dar el foco a la notificación activa."
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
|
||||
msgid ""
|
||||
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
|
||||
msgstr ""
|
||||
"Asociación de teclas que pausa y reanuda los «tweens» en ejecución, para "
|
||||
"depuración."
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
|
||||
msgid "Which keyboard to use"
|
||||
msgstr "Qué teclado usar"
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
|
||||
msgid "The type of keyboard to use."
|
||||
msgstr "El tipo de teclado que usar."
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
|
||||
msgid "Limit switcher to current workspace."
|
||||
msgstr "Limitar el intercambiador al área de trabajo actual."
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
|
||||
msgid ""
|
||||
"If true, only applications that have windows on the current workspace are "
|
||||
@@ -272,11 +264,11 @@ msgstr ""
|
||||
"Si es cierto, sólo las aplicaciones que tengan ventanas en el área de "
|
||||
"trabajo actual se muestran en el selector. Si no, se incluyen todas las "
|
||||
"aplicaciones."
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
|
||||
msgid "The application icon mode."
|
||||
msgstr "El modo de icono de la aplicación."
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
||||
msgid ""
|
||||
"Configures how the windows are shown in the switcher. Valid possibilities "
|
||||
@@ -286,7 +278,7 @@ msgstr ""
|
||||
"Configura cómo se muestran las ventanas en el selector. Los valore posibles "
|
||||
"son «thumbnail-only» (muestra una miniatura de la ventana), «app-icon-"
|
||||
"only» (sólo muestra el icono de la aplicación) «both»."
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
||||
msgid ""
|
||||
"If true, only windows from the current workspace are shown in the switcher. "
|
||||
@@ -294,31 +286,31 @@ msgstr ""
|
||||
msgstr ""
|
||||
"Si es cierto, sólo se muestran en el selector las ventanas del área de "
|
||||
"trabajo actual. Si no, se incluyen todas las ventanas."
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "Acoplar un diálogo modal a la ventana padre"
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr ""
|
||||
"Esta clave sobrescribe la clave en org.gnome.mutter al ejecutar GNOME Shell."
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
msgstr ""
|
||||
"Activar el mosaico en los bordes al arrastrar ventanas a los bordes de la "
|
||||
"ventana"
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
|
||||
msgid "Workspaces are managed dynamically"
|
||||
msgstr "Las áreas de trabajo se gestionan dinámicamente"
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Áreas de trabajo solo en la pantalla principal"
|
||||
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr ""
|
||||
@@ -338,7 +330,7 @@ msgstr "Extensiones de GNOME Shell"
|
||||
msgstr "Extensiones de GNOME Shell"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/audioDeviceSelection.js:71
|
||||
#: ../js/ui/components/networkAgent.js:145
|
||||
#: ../js/ui/components/networkAgent.js:145
|
||||
#: ../js/ui/components/polkitAgent.js:179 ../js/ui/endSessionDialog.js:483
|
||||
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
|
||||
#: ../js/ui/status/network.js:916
|
||||
@@ -559,7 +551,7 @@ msgstr "Cambiar el fondo…"
|
||||
#: ../js/ui/backgroundMenu.js:21
|
||||
msgid "Display Settings"
|
||||
msgstr "Configuración de pantalla"
|
||||
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:374
|
||||
msgid "Settings"
|
||||
msgstr "Configuración"
|
||||
@@ -801,7 +793,7 @@ msgstr "Inténtelo de nuevo,"
|
||||
msgstr "Inténtelo de nuevo,"
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#. IM name.
|
||||
#: ../js/ui/components/telepathyClient.js:760
|
||||
#, javascript-format
|
||||
msgid "%s is now known as %s"
|
||||
@@ -934,7 +926,7 @@ msgstr[1] ""
|
||||
msgstr[1] ""
|
||||
"El sistema se reiniciará automáticamente e instalará las actualizaciones en "
|
||||
"%d segundos."
|
||||
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:127 ../js/ui/endSessionDialog.js:147
|
||||
msgctxt "button"
|
||||
msgid "Restart & Install"
|
||||
@@ -949,27 +941,47 @@ msgctxt "checkbox"
|
||||
msgctxt "checkbox"
|
||||
msgid "Power off after updates are installed"
|
||||
msgstr "Apagar después de instalar las actualizaciones"
|
||||
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:137
|
||||
#| msgctxt "title"
|
||||
#| msgid "Restart & Install Updates"
|
||||
msgctxt "title"
|
||||
msgid "Restart & Install Upgrade"
|
||||
msgstr "Reiniciar e instalar actualizaciones"
|
||||
|
||||
#. Translators: This is the text displayed for system upgrades in the
|
||||
#. shut down dialog. First %s gets replaced with the distro name and
|
||||
#. second %s with the distro version to upgrade to
|
||||
#: ../js/ui/endSessionDialog.js:142
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"%s %s will be installed after restart. Upgrade installation can take a long "
|
||||
"time: ensure that you have backed up and that the computer is plugged in."
|
||||
msgstr ""
|
||||
"%s %s se instalará después de reiniciar. La instalación de la actualización "
|
||||
"puede tardar mucho tiempo: asegúrese de que tiene una copia de respaldo y de "
|
||||
"que el equipo está enchufado."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:361
|
||||
msgid "Running on battery power: please plug in before installing updates."
|
||||
msgstr ""
|
||||
"Funcionando con batería: conéctese antes de instalar las actualizaciones."
|
||||
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:378
|
||||
msgid "Some applications are busy or have unsaved work."
|
||||
msgstr "Algunas aplicaciones están ocupadas o tienen trabajo sin guardar."
|
||||
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:385
|
||||
msgid "Other users are logged in."
|
||||
msgstr "Hay otros usuarios con la sesión iniciada"
|
||||
|
||||
#. Translators: Remote here refers to a remote session, like a ssh login
|
||||
#. Translators: Remote here refers to a remote session, like a ssh login
|
||||
#: ../js/ui/endSessionDialog.js:671
|
||||
#, javascript-format
|
||||
msgid "%s (remote)"
|
||||
msgstr "%s (remoto)"
|
||||
|
||||
#. Translators: Console here refers to a tty like a VT console
|
||||
#. Translators: Console here refers to a tty like a VT console
|
||||
#: ../js/ui/endSessionDialog.js:674
|
||||
#, javascript-format
|
||||
msgid "%s (console)"
|
||||
@@ -983,7 +995,7 @@ msgstr "Instalar"
|
||||
#, javascript-format
|
||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||
msgstr "¿Descargar e instalar «%s» desde extensions.gnome.org?"
|
||||
|
||||
|
||||
#: ../js/ui/keyboard.js:741 ../js/ui/status/keyboard.js:782
|
||||
msgid "Keyboard"
|
||||
msgstr "Teclado"
|
||||
@@ -1020,7 +1032,7 @@ msgstr "Activado"
|
||||
msgstr "Activado"
|
||||
|
||||
#. translators:
|
||||
#. * The device has been disabled
|
||||
#. * The device has been disabled
|
||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1866
|
||||
msgid "Disabled"
|
||||
msgstr "Desactivado"
|
||||
@@ -1068,7 +1080,7 @@ msgstr "Medios"
|
||||
#: ../js/ui/overview.js:84
|
||||
msgid "Undo"
|
||||
msgstr "Deshacer"
|
||||
|
||||
|
||||
#: ../js/ui/overview.js:113
|
||||
msgid "Overview"
|
||||
msgstr "Vista general"
|
||||
@@ -1076,7 +1088,7 @@ msgstr "Vista general"
|
||||
#. Translators: this is the text displayed
|
||||
#. in the search entry when no search is
|
||||
#. active; it should not exceed ~30
|
||||
#. characters.
|
||||
#. characters.
|
||||
#: ../js/ui/overview.js:240
|
||||
msgid "Type to search…"
|
||||
msgstr "Escribir para buscar…"
|
||||
@@ -1140,11 +1152,11 @@ msgid_plural "%d new notifications"
|
||||
msgid_plural "%d new notifications"
|
||||
msgstr[0] "%d notificación nueva"
|
||||
msgstr[1] "%d notificaciones nuevas"
|
||||
|
||||
|
||||
#: ../js/ui/screenShield.js:449 ../js/ui/status/system.js:382
|
||||
msgid "Lock"
|
||||
msgstr "Bloquear"
|
||||
|
||||
|
||||
#: ../js/ui/screenShield.js:704
|
||||
msgid "GNOME needs to lock the screen"
|
||||
msgstr "GNOME necesita bloquear la pantalla"
|
||||
@@ -1155,11 +1167,11 @@ msgstr "GNOME necesita bloquear la pantalla"
|
||||
#. Just tell him to stop using this app
|
||||
#.
|
||||
#. XXX: another option is to kick the user into the gdm login
|
||||
#. screen, where we're not affected by grabs
|
||||
#. screen, where we're not affected by grabs
|
||||
#: ../js/ui/screenShield.js:825 ../js/ui/screenShield.js:1291
|
||||
msgid "Unable to lock"
|
||||
msgstr "No se pudo bloquear"
|
||||
|
||||
|
||||
#: ../js/ui/screenShield.js:826 ../js/ui/screenShield.js:1292
|
||||
msgid "Lock was blocked by an application"
|
||||
msgstr "Una aplicación impidió el bloqueo"
|
||||
@@ -1243,7 +1255,7 @@ msgstr "Texto grande"
|
||||
#: ../js/ui/status/bluetooth.js:47
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:56 ../js/ui/status/network.js:624
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Configuración de Bluetooth"
|
||||
@@ -1278,7 +1290,7 @@ msgstr "Apagar"
|
||||
#: ../js/ui/status/brightness.js:44
|
||||
msgid "Brightness"
|
||||
msgstr "Brillo"
|
||||
|
||||
|
||||
#: ../js/ui/status/keyboard.js:805
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "Mostrar la distribución del teclado"
|
||||
@@ -1392,7 +1404,7 @@ msgstr "Falló la conexión %s"
|
||||
#: ../js/ui/status/network.js:503
|
||||
msgid "Wired Settings"
|
||||
msgstr "Configuración de red cableada"
|
||||
|
||||
|
||||
#: ../js/ui/status/network.js:545
|
||||
msgid "Mobile Broadband Settings"
|
||||
msgstr "Configuración de banda ancha móvil"
|
||||
@@ -1410,8 +1422,8 @@ msgid "%s Disabled"
|
||||
msgid "%s Disabled"
|
||||
msgstr "%s desactivado"
|
||||
|
||||
#: ../js/ui/status/network.js:632
|
||||
msgid "Use as Internet connection"
|
||||
#: ../js/ui/status/network.js:632
|
||||
msgid "Connect to Internet"
|
||||
msgstr "Conectar a Internet"
|
||||
|
||||
#: ../js/ui/status/network.js:813
|
||||
@@ -1548,27 +1560,27 @@ msgstr "%d %%"
|
||||
#: ../js/ui/status/rfkill.js:88
|
||||
msgid "Airplane Mode On"
|
||||
msgstr "Modo avión activado"
|
||||
|
||||
|
||||
#: ../js/ui/status/system.js:351
|
||||
msgid "Switch User"
|
||||
msgstr "Cambiar de usuario"
|
||||
|
||||
|
||||
#: ../js/ui/status/system.js:356
|
||||
msgid "Log Out"
|
||||
msgstr "Cerrar la sesión"
|
||||
|
||||
|
||||
#: ../js/ui/status/system.js:361
|
||||
msgid "Account Settings"
|
||||
msgstr "Configuración de la cuenta"
|
||||
|
||||
|
||||
#: ../js/ui/status/system.js:378
|
||||
msgid "Orientation Lock"
|
||||
msgstr "Bloqueo de orientación"
|
||||
|
||||
|
||||
#: ../js/ui/status/system.js:386
|
||||
msgid "Suspend"
|
||||
msgstr "Suspender"
|
||||
|
||||
|
||||
#: ../js/ui/status/system.js:389
|
||||
msgid "Power Off"
|
||||
msgstr "Apagar"
|
||||
@@ -1700,7 +1712,7 @@ msgstr "Calendario de Evolution"
|
||||
msgstr "Calendario de Evolution"
|
||||
|
||||
#. translators:
|
||||
#. * The number of sound outputs on a particular device
|
||||
#. * The number of sound outputs on a particular device
|
||||
#: ../src/gvc/gvc-mixer-control.c:1873
|
||||
#, c-format
|
||||
msgid "%u Output"
|
||||
@@ -1709,14 +1721,14 @@ msgstr[1] "%u salidas"
|
||||
msgstr[1] "%u salidas"
|
||||
|
||||
#. translators:
|
||||
#. * The number of sound inputs on a particular device
|
||||
#. * The number of sound inputs on a particular device
|
||||
#: ../src/gvc/gvc-mixer-control.c:1883
|
||||
#, c-format
|
||||
msgid "%u Input"
|
||||
msgid_plural "%u Inputs"
|
||||
msgstr[0] "%u entrada"
|
||||
msgstr[1] "%u entradas"
|
||||
|
||||
|
||||
#: ../src/gvc/gvc-mixer-control.c:2738
|
||||
msgid "System Sounds"
|
||||
msgstr "Sonidos del sistema"
|
||||
@@ -1760,6 +1772,15 @@ msgstr "La contraseña no puede estar vacía"
|
||||
#: ../src/shell-polkit-authentication-agent.c:353
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "El usuario rechazó el diálogo de autenticación"
|
||||
|
||||
#~ msgid "Show the week date in the calendar"
|
||||
#~ msgstr "Mostrar la fecha de la semana en el calendario"
|
||||
|
||||
#~ msgid "If true, display the ISO week date in the calendar."
|
||||
#~ msgstr "Si es cierta, muestra la fecha de semana ISO en el calendario."
|
||||
|
||||
#~ msgid "Use as Internet connection"
|
||||
#~ msgstr "Usar como conexión a Internet"
|
||||
|
||||
#~ msgid "%s is requesting access to your location."
|
||||
#~ msgstr "%s solicita acceso a su ubicación."
|
||||
@@ -2442,9 +2463,6 @@ msgstr "El usuario rechazó el diálogo de autenticación"
|
||||
|
||||
#~ msgid "Subscription request"
|
||||
#~ msgstr "Solicitud de suscripción"
|
||||
|
||||
#~ msgid "Connection error"
|
||||
#~ msgstr "Error de conexión"
|
||||
|
||||
#~ msgid "Sent at <b>%X</b> on <b>%A</b>"
|
||||
#~ msgstr "Enviado el <b>%A</b> a las <b>%H:%M</b>"
|
||||
|
360
po/eu.po
360
po/eu.po
@@ -3,23 +3,23 @@
|
||||
# This file is distributed under the same license as the gnome-shell package.
|
||||
#
|
||||
# Julen Ruiz Aizpuru <julenx@gmail.com>, 2011.
|
||||
# Iñaki Larrañaga Murgoitio <dooteo@zundan.com>, 2011, 2012, 2013, 2014, 2015.
|
||||
# Iñaki Larrañaga Murgoitio <dooteo@zundan.com>, 2011, 2012, 2013, 2014, 2015, 2016.
|
||||
# Asier Sarasua Garmendia <asiersar@yahoo.com>, 2013.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2015-10-14 08:51+0000\n"
|
||||
"PO-Revision-Date: 2015-10-11 19:58+0200\n"
|
||||
"Last-Translator: Iñaki Larrañaga Murgoitio <dooteo@zundan.com>\n"
|
||||
"Language-Team: Basque <Basque <librezale@librezale.org>>\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-sh"
|
||||
"ell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2016-03-23 10:35+0000\n"
|
||||
"PO-Revision-Date: 2016-03-23 20:55+0100\n"
|
||||
"Last-Translator: dooteo <dooteo@zundan.com>\n"
|
||||
"Language-Team: Basque <librezale@librezale.org>\n"
|
||||
"Language: eu\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Lokalize 1.5\n"
|
||||
"X-Generator: Lokalize 2.0\n"
|
||||
"X-Project-Style: gnome\n"
|
||||
|
||||
#: ../data/50-gnome-shell-system.xml.in.h:1
|
||||
@@ -46,15 +46,6 @@ msgstr "Erakutsi aplikazio guztiak"
|
||||
msgid "Open the application menu"
|
||||
msgstr "Ireki aplikazioen menua"
|
||||
|
||||
#: ../data/gnome-shell.desktop.in.in.h:1
|
||||
msgid "GNOME Shell"
|
||||
msgstr "GNOME Shell"
|
||||
|
||||
#: ../data/gnome-shell.desktop.in.in.h:2
|
||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
|
||||
msgid "Window management and application launching"
|
||||
msgstr "Leiho-kudeaketa eta aplikazioak abiaraztea"
|
||||
|
||||
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1
|
||||
msgid "GNOME Shell Extension Preferences"
|
||||
msgstr "GNOME Shell-eko gehigarrien hobespenak"
|
||||
@@ -63,9 +54,13 @@ msgstr "GNOME Shell-eko gehigarrien hobespenak"
|
||||
msgid "Configure GNOME Shell Extensions"
|
||||
msgstr "Konfiguratu GNOME Shell-eko gehigarriak"
|
||||
|
||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
|
||||
msgid "GNOME Shell (wayland compositor)"
|
||||
msgstr "GNOME Shell (wayland konposatzailea)"
|
||||
#: ../data/org.gnome.Shell.desktop.in.in.h:1
|
||||
msgid "GNOME Shell"
|
||||
msgstr "GNOME Shell"
|
||||
|
||||
#: ../data/org.gnome.Shell.desktop.in.in.h:2
|
||||
msgid "Window management and application launching"
|
||||
msgstr "Leiho-kudeaketa eta aplikazioak abiaraztea"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
|
||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
|
||||
@@ -171,76 +166,97 @@ msgstr ""
|
||||
"laukiaren egoera lehenetsia ezartzen du."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
|
||||
msgid ""
|
||||
"Whether the default Bluetooth adapter had set up devices associated to it"
|
||||
msgstr ""
|
||||
"Bluetooth lehenetsiaren moldatzaileak berarekin esleitutako gailurik duen ala "
|
||||
"ez"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
|
||||
msgid ""
|
||||
"The shell will only show a Bluetooth menu item if a Bluetooth adapter is "
|
||||
"powered, or if there were devices set up associated with the default "
|
||||
"adapter. This will be reset if the default adapter is ever seen not to have "
|
||||
"devices associated to it."
|
||||
msgstr ""
|
||||
"Shell-ak Bluetooth moldagailu bat entxufatuta dagoenean soilik Bluetooth-aren "
|
||||
"menua "
|
||||
"erakutsiko duen, edo moldagailu lehenetsiarekin esleitutako gailuak "
|
||||
"konfiguratuta daudenean. "
|
||||
"Hau leheneratu egingo da moldagailu lehenetsiak berarekin esleitutako "
|
||||
"gailurik ez daukanean."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
|
||||
msgid "Show the week date in the calendar"
|
||||
msgstr "Erakutsi aste-data egutegian"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
|
||||
msgid "If true, display the ISO week date in the calendar."
|
||||
msgstr "Ezarrita badago, ISO aste-data bistaratzen du egutegian."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
|
||||
msgid "Keybinding to open the application menu"
|
||||
msgstr "Aplikazioen menua irekitzeko laster-tekla"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
|
||||
msgid "Keybinding to open the application menu."
|
||||
msgstr "Aplikazioen menua irekitzeko laster-tekla."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
|
||||
msgid "Keybinding to open the \"Show Applications\" view"
|
||||
msgstr "'Erakutsi aplikazioak' bista irekitzeko laster-tekla"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
|
||||
msgid ""
|
||||
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
|
||||
msgstr ""
|
||||
"Jarduerak ikuspegi orokorraren 'Erakutsi aplikazioak' ikuspegia irekitzeko "
|
||||
"laster-tekla."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
|
||||
msgid "Keybinding to open the overview"
|
||||
msgstr "Ikuspegi orokorra bista irekitzeko laster-tekla"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
|
||||
msgid "Keybinding to open the Activities Overview."
|
||||
msgstr "Jardueren ikuspegi orokorra irekitzeko laster-tekla"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
|
||||
msgid "Keybinding to toggle the visibility of the notification list"
|
||||
msgstr "Jakinarazpenen zerrendaren ikusgaitasuna txandakatzeko laster-tekla"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
|
||||
msgid "Keybinding to toggle the visibility of the notification list."
|
||||
msgstr "Jakinarazpenen zerrendaren ikusgaitasuna txandakatzeko laster-tekla."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
|
||||
msgid "Keybinding to focus the active notification"
|
||||
msgstr "Jakinarazpen aktiboa enfokatzeko laster-tekla"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
|
||||
msgid "Keybinding to focus the active notification."
|
||||
msgstr "Jakinarazpen aktiboa enfokatzeko laster-tekla."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
|
||||
msgid ""
|
||||
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
|
||||
msgstr ""
|
||||
"Laster-teklak exekutatzen ari diren 'tween' guztiak pausarazi eta jarraitzen "
|
||||
"ditu arazketa lantzeko"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
|
||||
msgid "Which keyboard to use"
|
||||
msgstr "Erabili beharreko teklatua"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
|
||||
msgid "The type of keyboard to use."
|
||||
msgstr "Erabili beharreko teklatu mota."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
|
||||
msgid "Limit switcher to current workspace."
|
||||
msgstr "Mugatu aldatzailea uneko laneko areara."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
||||
msgid ""
|
||||
"If true, only applications that have windows on the current workspace are "
|
||||
"shown in the switcher. Otherwise, all applications are included."
|
||||
@@ -248,11 +264,11 @@ msgstr ""
|
||||
"TRUE (egia) bada, uneko laneko arean leihoak dituzten aplikazioak soilik "
|
||||
"erakutsiko dira aldatzailean. Bestela, aplikazio guztiak egongo dira."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
||||
msgid "The application icon mode."
|
||||
msgstr "Aplikazio-ikonoaren modua."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||
msgid ""
|
||||
"Configures how the windows are shown in the switcher. Valid possibilities "
|
||||
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
|
||||
@@ -262,7 +278,7 @@ msgstr ""
|
||||
"'thumbnail-only' (leihoaren miniatura erakustea), 'app-icon-only' (aplikazio-"
|
||||
"ikonoa erakustea soilik) edo 'both' (biak)."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
|
||||
msgid ""
|
||||
"If true, only windows from the current workspace are shown in the switcher. "
|
||||
"Otherwise, all windows are included."
|
||||
@@ -270,29 +286,29 @@ msgstr ""
|
||||
"TRUE (egia) bada, uneko laneko arean leihoak soilik erakutsiko dira "
|
||||
"aldatzailean. Bestela, leiho guztiak egongo dira."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "Erantsi elkarrizketa-leiho modala leiho gurasoari"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr ""
|
||||
"Gako honek org.gnome.mutter gakoa gainidazten du GNOME Shell exekutatzean."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
msgstr "Gaitu lauzatzea leihoak pantailaren ertzetan jaregitean"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
|
||||
msgid "Workspaces are managed dynamically"
|
||||
msgstr "Laneko areak dinamikoki kudeatzen dira"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:44
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Laneko areak monitore nagusian soilik"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:45
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr ""
|
||||
"Fokuaren aldaketaren atzerapena saguaren moduan erakusleak mugitzeari utzi "
|
||||
@@ -302,52 +318,53 @@ msgstr ""
|
||||
msgid "Network Login"
|
||||
msgstr "Sareko saio-hasiera"
|
||||
|
||||
#: ../js/extensionPrefs/main.js:122
|
||||
#: ../js/extensionPrefs/main.js:117
|
||||
#, javascript-format
|
||||
msgid "There was an error loading the preferences dialog for %s:"
|
||||
msgstr ""
|
||||
"Errorea gertatu da '%s'(r)en hobespenen elkarrizketa-koadroa kargatzean:"
|
||||
|
||||
#: ../js/extensionPrefs/main.js:154
|
||||
#: ../js/extensionPrefs/main.js:149
|
||||
msgid "GNOME Shell Extensions"
|
||||
msgstr "GNOME Shell-eko gehigarriak"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:145
|
||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/audioDeviceSelection.js:71
|
||||
#: ../js/ui/components/networkAgent.js:145
|
||||
#: ../js/ui/components/polkitAgent.js:179 ../js/ui/endSessionDialog.js:452
|
||||
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
|
||||
#: ../js/ui/status/network.js:916
|
||||
msgid "Cancel"
|
||||
msgstr "Utzi"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215
|
||||
#: ../js/gdm/authPrompt.js:447
|
||||
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:216
|
||||
#: ../js/gdm/authPrompt.js:448
|
||||
msgid "Next"
|
||||
msgstr "Hurrengoa"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:211 ../js/ui/shellMountOperation.js:403
|
||||
#: ../js/gdm/authPrompt.js:212 ../js/ui/shellMountOperation.js:403
|
||||
#: ../js/ui/unlockDialog.js:59
|
||||
msgid "Unlock"
|
||||
msgstr "Desblokeatu"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:213
|
||||
#: ../js/gdm/authPrompt.js:214
|
||||
msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "Hasi saioa"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:281
|
||||
#: ../js/gdm/loginDialog.js:285
|
||||
msgid "Choose Session"
|
||||
msgstr "Aukeratu saioa"
|
||||
|
||||
#. translators: this message is shown below the user list on the
|
||||
#. login screen. It can be activated to reveal an entry for
|
||||
#. manually entering the username.
|
||||
#: ../js/gdm/loginDialog.js:431
|
||||
#: ../js/gdm/loginDialog.js:435
|
||||
msgid "Not listed?"
|
||||
msgstr "Ez zaude zerrendan?"
|
||||
|
||||
#. Translators: this message is shown below the username entry field
|
||||
#. to clue the user in on how to login to the local network realm
|
||||
#: ../js/gdm/loginDialog.js:850
|
||||
#: ../js/gdm/loginDialog.js:854
|
||||
#, javascript-format
|
||||
msgid "(e.g., user or %s)"
|
||||
msgstr "(adib., erabiltzailea edo %s)"
|
||||
@@ -355,12 +372,12 @@ msgstr "(adib., erabiltzailea edo %s)"
|
||||
#. TTLS and PEAP are actually much more complicated, but this complication
|
||||
#. is not visible here since we only care about phase2 authentication
|
||||
#. (and don't even care of which one)
|
||||
#: ../js/gdm/loginDialog.js:855 ../js/ui/components/networkAgent.js:271
|
||||
#: ../js/gdm/loginDialog.js:859 ../js/ui/components/networkAgent.js:271
|
||||
#: ../js/ui/components/networkAgent.js:289
|
||||
msgid "Username: "
|
||||
msgstr "Erabiltzaile-izena: "
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1184
|
||||
#: ../js/gdm/loginDialog.js:1196
|
||||
msgid "Login Window"
|
||||
msgstr "Saio-hasierako leihoa"
|
||||
|
||||
@@ -496,16 +513,38 @@ msgstr "Gehitu gogokoei"
|
||||
msgid "Show Details"
|
||||
msgstr "Erakutsi xehetasunak"
|
||||
|
||||
#: ../js/ui/appFavorites.js:132
|
||||
#: ../js/ui/appFavorites.js:134
|
||||
#, javascript-format
|
||||
msgid "%s has been added to your favorites."
|
||||
msgstr "%s gogokoei gehitu zaie."
|
||||
|
||||
#: ../js/ui/appFavorites.js:166
|
||||
#: ../js/ui/appFavorites.js:168
|
||||
#, javascript-format
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "%s gogokoetatik kendu da."
|
||||
|
||||
#: ../js/ui/audioDeviceSelection.js:59
|
||||
#| msgid "Send Files to Device…"
|
||||
msgid "Select Audio Device"
|
||||
msgstr "Hautatu audioaren gailua"
|
||||
|
||||
#: ../js/ui/audioDeviceSelection.js:69
|
||||
#| msgid "Account Settings"
|
||||
msgid "Sound Settings"
|
||||
msgstr "Soinuaren ezarpenak"
|
||||
|
||||
#: ../js/ui/audioDeviceSelection.js:78
|
||||
msgid "Headphones"
|
||||
msgstr "Aurikularrak"
|
||||
|
||||
#: ../js/ui/audioDeviceSelection.js:80
|
||||
msgid "Headset"
|
||||
msgstr "Aurikular+mikrofonoa"
|
||||
|
||||
#: ../js/ui/audioDeviceSelection.js:82 ../js/ui/status/volume.js:213
|
||||
msgid "Microphone"
|
||||
msgstr "Mikrofonoa"
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:19
|
||||
msgid "Change Background…"
|
||||
msgstr "Aldatu atzeko planoa…"
|
||||
@@ -519,7 +558,7 @@ msgid "Settings"
|
||||
msgstr "Ezarpenak"
|
||||
|
||||
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday).
|
||||
#: ../js/ui/calendar.js:55
|
||||
#: ../js/ui/calendar.js:47
|
||||
msgctxt "calendar-no-work"
|
||||
msgid "06"
|
||||
msgstr "06"
|
||||
@@ -529,94 +568,98 @@ msgstr "06"
|
||||
#. * NOTE: These grid abbreviations are always shown together
|
||||
#. * and in order, e.g. "S M T W T F S".
|
||||
#.
|
||||
#: ../js/ui/calendar.js:84
|
||||
#: ../js/ui/calendar.js:76
|
||||
msgctxt "grid sunday"
|
||||
msgid "S"
|
||||
msgstr "I"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Monday
|
||||
#: ../js/ui/calendar.js:86
|
||||
#: ../js/ui/calendar.js:78
|
||||
msgctxt "grid monday"
|
||||
msgid "M"
|
||||
msgstr "A"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Tuesday
|
||||
#: ../js/ui/calendar.js:88
|
||||
#: ../js/ui/calendar.js:80
|
||||
msgctxt "grid tuesday"
|
||||
msgid "T"
|
||||
msgstr "A"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Wednesday
|
||||
#: ../js/ui/calendar.js:90
|
||||
#: ../js/ui/calendar.js:82
|
||||
msgctxt "grid wednesday"
|
||||
msgid "W"
|
||||
msgstr "A"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Thursday
|
||||
#: ../js/ui/calendar.js:92
|
||||
#: ../js/ui/calendar.js:84
|
||||
msgctxt "grid thursday"
|
||||
msgid "T"
|
||||
msgstr "O"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Friday
|
||||
#: ../js/ui/calendar.js:94
|
||||
#: ../js/ui/calendar.js:86
|
||||
msgctxt "grid friday"
|
||||
msgid "F"
|
||||
msgstr "O"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Saturday
|
||||
#: ../js/ui/calendar.js:96
|
||||
#: ../js/ui/calendar.js:88
|
||||
msgctxt "grid saturday"
|
||||
msgid "S"
|
||||
msgstr "L"
|
||||
|
||||
#: ../js/ui/calendar.js:566
|
||||
#: ../js/ui/calendar.js:416
|
||||
msgid "Previous month"
|
||||
msgstr "Aurreko hila"
|
||||
|
||||
#: ../js/ui/calendar.js:576
|
||||
#: ../js/ui/calendar.js:426
|
||||
msgid "Next month"
|
||||
msgstr "Hurrengo hila"
|
||||
|
||||
#: ../js/ui/calendar.js:783
|
||||
#: ../js/ui/calendar.js:579
|
||||
#, no-javascript-format
|
||||
#| msgctxt "percent of battery remaining"
|
||||
#| msgid "%d%%"
|
||||
msgctxt "date day number format"
|
||||
msgid "%d"
|
||||
msgstr "%d"
|
||||
|
||||
#: ../js/ui/calendar.js:634
|
||||
msgid "Week %V"
|
||||
msgstr "%V. astea"
|
||||
|
||||
#. Translators: Shown in calendar event list for all day events
|
||||
#. * Keep it short, best if you can use less then 10 characters
|
||||
#.
|
||||
#: ../js/ui/calendar.js:1188
|
||||
#: ../js/ui/calendar.js:695
|
||||
msgctxt "event list time"
|
||||
msgid "All Day"
|
||||
msgstr "Egun osoa"
|
||||
|
||||
#: ../js/ui/calendar.js:1295
|
||||
msgid "Clear section"
|
||||
msgstr "Garbitu atala"
|
||||
|
||||
#: ../js/ui/calendar.js:1522
|
||||
#: ../js/ui/calendar.js:821
|
||||
msgid "Events"
|
||||
msgstr "Gertaerak"
|
||||
|
||||
#: ../js/ui/calendar.js:1531
|
||||
#: ../js/ui/calendar.js:830
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, %B %d"
|
||||
|
||||
#: ../js/ui/calendar.js:1535
|
||||
#: ../js/ui/calendar.js:834
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%A, %Y(e)ko %Bren %da"
|
||||
|
||||
#: ../js/ui/calendar.js:1620
|
||||
#: ../js/ui/calendar.js:919
|
||||
msgid "Notifications"
|
||||
msgstr "Jakinarazpenak"
|
||||
|
||||
#: ../js/ui/calendar.js:1771
|
||||
#: ../js/ui/calendar.js:1070
|
||||
msgid "No Notifications"
|
||||
msgstr "Jakinarazpenik ez"
|
||||
|
||||
#: ../js/ui/calendar.js:1774
|
||||
#: ../js/ui/calendar.js:1073
|
||||
msgid "No Events"
|
||||
msgstr "Gertaerarik ez"
|
||||
|
||||
@@ -628,7 +671,7 @@ msgstr "Kanpoko unitatea konektatuta"
|
||||
msgid "External drive disconnected"
|
||||
msgstr "Kanpoko unitatea deskonektatuta"
|
||||
|
||||
#: ../js/ui/components/autorunManager.js:351
|
||||
#: ../js/ui/components/autorunManager.js:355
|
||||
#, javascript-format
|
||||
msgid "Open with %s"
|
||||
msgstr "Ireki honekin: %s"
|
||||
@@ -754,7 +797,7 @@ msgstr "Huts egin du. Saiatu berriro."
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#: ../js/ui/components/telepathyClient.js:759
|
||||
#: ../js/ui/components/telepathyClient.js:760
|
||||
#, javascript-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "%s orain %s izenarekin ezagutzen da"
|
||||
@@ -941,11 +984,11 @@ msgid "Keyboard"
|
||||
msgstr "Teklatua"
|
||||
|
||||
#. translators: 'Hide' is a verb
|
||||
#: ../js/ui/legacyTray.js:66
|
||||
#: ../js/ui/legacyTray.js:65
|
||||
msgid "Hide tray"
|
||||
msgstr "Ezkutatu erretilua"
|
||||
|
||||
#: ../js/ui/legacyTray.js:107
|
||||
#: ../js/ui/legacyTray.js:106
|
||||
msgid "Status Icons"
|
||||
msgstr "Egoeren ikonoak"
|
||||
|
||||
@@ -997,10 +1040,29 @@ msgstr "Ikusi iturburua"
|
||||
msgid "Web Page"
|
||||
msgstr "Web orria"
|
||||
|
||||
#: ../js/ui/messageList.js:543
|
||||
msgid "Clear section"
|
||||
msgstr "Garbitu atala"
|
||||
|
||||
#: ../js/ui/messageTray.js:1486
|
||||
msgid "System Information"
|
||||
msgstr "Sistemaren informazioa"
|
||||
|
||||
#: ../js/ui/mpris.js:194
|
||||
#| msgid "Unknown reason"
|
||||
msgid "Unknown artist"
|
||||
msgstr "Artista ezezaguna"
|
||||
|
||||
#: ../js/ui/mpris.js:195
|
||||
#| msgctxt "program"
|
||||
#| msgid "Unknown"
|
||||
msgid "Unknown title"
|
||||
msgstr "Titulu ezezaguna"
|
||||
|
||||
#: ../js/ui/mpris.js:217
|
||||
msgid "Media"
|
||||
msgstr "Euskarria"
|
||||
|
||||
#: ../js/ui/overview.js:84
|
||||
msgid "Undo"
|
||||
msgstr "Desegin"
|
||||
@@ -1027,12 +1089,12 @@ msgstr "Irten"
|
||||
msgid "Activities"
|
||||
msgstr "Jarduerak"
|
||||
|
||||
#: ../js/ui/panel.js:660
|
||||
#: ../js/ui/panel.js:695
|
||||
msgctxt "System menu in the top bar"
|
||||
msgid "System"
|
||||
msgstr "Sistema"
|
||||
|
||||
#: ../js/ui/panel.js:764
|
||||
#: ../js/ui/panel.js:807
|
||||
msgid "Top Bar"
|
||||
msgstr "Goiko barra"
|
||||
|
||||
@@ -1045,15 +1107,15 @@ msgstr "Goiko barra"
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-us"
|
||||
|
||||
#: ../js/ui/runDialog.js:70
|
||||
#: ../js/ui/runDialog.js:71
|
||||
msgid "Enter a Command"
|
||||
msgstr "Idatzi komandoa"
|
||||
|
||||
#: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:162
|
||||
#: ../js/ui/runDialog.js:111 ../js/ui/windowMenu.js:162
|
||||
msgid "Close"
|
||||
msgstr "Itxi"
|
||||
|
||||
#: ../js/ui/runDialog.js:281
|
||||
#: ../js/ui/runDialog.js:282
|
||||
msgid "Restarting…"
|
||||
msgstr "Berrabiarazten…"
|
||||
|
||||
@@ -1176,29 +1238,41 @@ msgstr "Kontraste handia"
|
||||
msgid "Large Text"
|
||||
msgstr "Testu handia"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:178
|
||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
|
||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
|
||||
#: ../js/ui/status/rfkill.js:117
|
||||
msgid "Turn Off"
|
||||
msgstr "Itzali"
|
||||
#: ../js/ui/status/bluetooth.js:47
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:54
|
||||
#: ../js/ui/status/bluetooth.js:56
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Bluetooth ezarpenak"
|
||||
|
||||
#. Translators: this is the number of connected bluetooth devices
|
||||
#: ../js/ui/status/bluetooth.js:105
|
||||
#: ../js/ui/status/bluetooth.js:136
|
||||
#, javascript-format
|
||||
msgid "%d Connected"
|
||||
msgid_plural "%d Connected"
|
||||
msgstr[0] "%d konektatuta"
|
||||
msgstr[1] "%d konektatuta"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:107
|
||||
#: ../js/ui/status/bluetooth.js:138
|
||||
msgid "Off"
|
||||
msgstr "Desaktibatuta"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:140
|
||||
msgid "Not In Use"
|
||||
msgstr "Erabili gabe"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:1279
|
||||
msgid "Turn On"
|
||||
msgstr "Piztu"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:178
|
||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
|
||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
|
||||
#: ../js/ui/status/rfkill.js:117
|
||||
msgid "Turn Off"
|
||||
msgstr "Itzali"
|
||||
|
||||
#: ../js/ui/status/brightness.js:44
|
||||
msgid "Brightness"
|
||||
msgstr "Distira"
|
||||
@@ -1207,30 +1281,51 @@ msgstr "Distira"
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "Erakutsi teklatuaren diseinua"
|
||||
|
||||
#: ../js/ui/status/location.js:71 ../js/ui/status/location.js:177
|
||||
#: ../js/ui/status/location.js:107 ../js/ui/status/location.js:215
|
||||
msgid "Location Enabled"
|
||||
msgstr "Kokalekua gaituta"
|
||||
|
||||
#: ../js/ui/status/location.js:72 ../js/ui/status/location.js:178
|
||||
#: ../js/ui/status/location.js:108 ../js/ui/status/location.js:216
|
||||
msgid "Disable"
|
||||
msgstr "Desgaitu"
|
||||
|
||||
#: ../js/ui/status/location.js:73
|
||||
#: ../js/ui/status/location.js:109
|
||||
msgid "Privacy Settings"
|
||||
msgstr "Pribatutasunaren ezarpenak"
|
||||
|
||||
#: ../js/ui/status/location.js:176
|
||||
#: ../js/ui/status/location.js:214
|
||||
msgid "Location In Use"
|
||||
msgstr "Kokalekua erabilita"
|
||||
|
||||
#: ../js/ui/status/location.js:180
|
||||
#: ../js/ui/status/location.js:218
|
||||
msgid "Location Disabled"
|
||||
msgstr "Kokalekua desgaituta"
|
||||
|
||||
#: ../js/ui/status/location.js:181
|
||||
#: ../js/ui/status/location.js:219
|
||||
msgid "Enable"
|
||||
msgstr "Gaitu"
|
||||
|
||||
#: ../js/ui/status/location.js:426
|
||||
msgid "Deny Access"
|
||||
msgstr "Ukatu sarbidetza"
|
||||
|
||||
#: ../js/ui/status/location.js:429
|
||||
#| msgid "Always grant access"
|
||||
msgid "Grant Access"
|
||||
msgstr "Baimendu sarbidetza"
|
||||
|
||||
#. Translators: %s is an application name
|
||||
#: ../js/ui/status/location.js:435
|
||||
#, javascript-format
|
||||
msgid "Give %s access to your location?"
|
||||
msgstr "Eman '%s'(r)i zure kokalekurako sarbidetza?"
|
||||
|
||||
#: ../js/ui/status/location.js:437
|
||||
msgid "Location access can be changed at any time from the privacy settings."
|
||||
msgstr ""
|
||||
"Kokalekuaren sarbidetza edozer unetan alda daiteke pribatutasunen "
|
||||
"ezarpenetatik."
|
||||
|
||||
#: ../js/ui/status/network.js:101
|
||||
msgid "<unknown>"
|
||||
msgstr "<ezezaguna>"
|
||||
@@ -1366,10 +1461,6 @@ msgstr "Hautatu sarea"
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "Haririk gabekoaren ezarpenak"
|
||||
|
||||
#: ../js/ui/status/network.js:1279
|
||||
msgid "Turn On"
|
||||
msgstr "Piztu"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: ../js/ui/status/network.js:1296
|
||||
#, javascript-format
|
||||
@@ -1419,32 +1510,39 @@ msgstr "Konexioak huts egin du"
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Sareko konexioa aktibatzeak huts egin du"
|
||||
|
||||
#: ../js/ui/status/power.js:49
|
||||
#: ../js/ui/status/power.js:61
|
||||
msgid "Power Settings"
|
||||
msgstr "Energiaren ezarpenak"
|
||||
|
||||
#: ../js/ui/status/power.js:65
|
||||
#: ../js/ui/status/power.js:77
|
||||
msgid "Fully Charged"
|
||||
msgstr "Erabat kargatuta"
|
||||
|
||||
#. 0 is reported when UPower does not have enough data
|
||||
#. to estimate battery life
|
||||
#: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78
|
||||
#: ../js/ui/status/power.js:84 ../js/ui/status/power.js:90
|
||||
msgid "Estimating…"
|
||||
msgstr "Kalkulatzen…"
|
||||
|
||||
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
|
||||
#: ../js/ui/status/power.js:86
|
||||
#: ../js/ui/status/power.js:98
|
||||
#, javascript-format
|
||||
msgid "%d∶%02d Remaining (%d%%)"
|
||||
#| msgid "%d∶%02d Remaining (%d%%)"
|
||||
msgid "%d∶%02d Remaining (%d %%)"
|
||||
msgstr "%d∶%02d falta da (%% %d)"
|
||||
|
||||
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
|
||||
#: ../js/ui/status/power.js:91
|
||||
#: ../js/ui/status/power.js:103
|
||||
#, javascript-format
|
||||
msgid "%d∶%02d Until Full (%d%%)"
|
||||
#| msgid "%d∶%02d Until Full (%d%%)"
|
||||
msgid "%d∶%02d Until Full (%d %%)"
|
||||
msgstr "%d∶%02d bete arte (%% %d)"
|
||||
|
||||
#: ../js/ui/status/power.js:131 ../js/ui/status/power.js:133
|
||||
#, javascript-format
|
||||
msgid "%d %%"
|
||||
msgstr " %% %d"
|
||||
|
||||
#. The menu only appears when airplane mode is on, so just
|
||||
#. statically build it as if it was on, rather than dynamically
|
||||
#. changing the menu contents.
|
||||
@@ -1484,10 +1582,6 @@ msgstr "Bolumena aldatuta"
|
||||
msgid "Volume"
|
||||
msgstr "Bolumena"
|
||||
|
||||
#: ../js/ui/status/volume.js:213
|
||||
msgid "Microphone"
|
||||
msgstr "Mikrofonoa"
|
||||
|
||||
#: ../js/ui/unlockDialog.js:67
|
||||
msgid "Log in as another user"
|
||||
msgstr "Hasi saioa beste erabiltzaile baten gisan"
|
||||
@@ -1654,29 +1748,26 @@ msgstr "Ezezaguna"
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Huts egin du '%s' abiaraztean"
|
||||
|
||||
#: ../src/shell-keyring-prompt.c:742
|
||||
#: ../src/shell-keyring-prompt.c:730
|
||||
msgid "Passwords do not match."
|
||||
msgstr "Pasahitzak ez datoz bat"
|
||||
|
||||
#: ../src/shell-keyring-prompt.c:750
|
||||
#: ../src/shell-keyring-prompt.c:738
|
||||
msgid "Password cannot be blank"
|
||||
msgstr "Pasahitza ezin da hutsa izan"
|
||||
|
||||
#: ../src/shell-polkit-authentication-agent.c:346
|
||||
#: ../src/shell-polkit-authentication-agent.c:353
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "Erabiltzaileak autentifikatzeko elkarrizketa-koadroa itxi du"
|
||||
|
||||
#~ msgid "Bluetooth"
|
||||
#~ msgstr "Bluetooth"
|
||||
#~ msgid "GNOME Shell (wayland compositor)"
|
||||
#~ msgstr "GNOME Shell (wayland konposatzailea)"
|
||||
|
||||
#~ msgid "%d Connected Device"
|
||||
#~ msgid_plural "%d Connected Devices"
|
||||
#~ msgstr[0] "Gailu %d konektatuta"
|
||||
#~ msgstr[1] "%d gailu konektatuta"
|
||||
|
||||
#~ msgid "Off"
|
||||
#~ msgstr "Desaktibatuta"
|
||||
|
||||
#~ msgid "Authentication required"
|
||||
#~ msgstr "Autentifikazioa behar da"
|
||||
|
||||
@@ -1885,9 +1976,6 @@ msgstr "Erabiltzaileak autentifikatzeko elkarrizketa-koadroa itxi du"
|
||||
#~ msgid "View account"
|
||||
#~ msgstr "Ikusi kontua"
|
||||
|
||||
#~ msgid "Unknown reason"
|
||||
#~ msgstr "Arrazoi ezezaguna"
|
||||
|
||||
#~ msgid "Open Calendar"
|
||||
#~ msgstr "Ireki egutegia"
|
||||
|
||||
@@ -1996,9 +2084,6 @@ msgstr "Erabiltzaileak autentifikatzeko elkarrizketa-koadroa itxi du"
|
||||
#~ msgid "Device %s wants access to the service '%s'"
|
||||
#~ msgstr "%s gailuak '%s' zerbitzurako sarbidea nahi du"
|
||||
|
||||
#~ msgid "Always grant access"
|
||||
#~ msgstr "Baimendu beti sarbidetza"
|
||||
|
||||
#~ msgid "Grant this time only"
|
||||
#~ msgstr "Baimendu une honetan bakarrik"
|
||||
|
||||
@@ -2186,9 +2271,6 @@ msgstr "Erabiltzaileak autentifikatzeko elkarrizketa-koadroa itxi du"
|
||||
#~ msgid "Visibility"
|
||||
#~ msgstr "Ikusgaitasuna"
|
||||
|
||||
#~ msgid "Send Files to Device…"
|
||||
#~ msgstr "Bidali fitxategiak gailura…"
|
||||
|
||||
#~ msgid "Set Up a New Device…"
|
||||
#~ msgstr "Konfiguratu gailu berria…"
|
||||
|
||||
@@ -2266,10 +2348,6 @@ msgstr "Erabiltzaileak autentifikatzeko elkarrizketa-koadroa itxi du"
|
||||
#~ msgstr[0] "minutu %d geratzen da"
|
||||
#~ msgstr[1] "%d minutu geratzen dira"
|
||||
|
||||
#~ msgctxt "percent of battery remaining"
|
||||
#~ msgid "%d%%"
|
||||
#~ msgstr "%%%d"
|
||||
|
||||
#~ msgid "AC Adapter"
|
||||
#~ msgstr "AC moldagailua"
|
||||
|
||||
|
458
po/gd.po
458
po/gd.po
@@ -1,14 +1,14 @@
|
||||
# Scottish Gaelic translation for gnome-shell.
|
||||
# Copyright (C) 2015 gnome-shell's COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the gnome-shell package.
|
||||
# GunChleoc <fios@foramnagaidhlig.net>, 2015.
|
||||
# GunChleoc <fios@foramnagaidhlig.net>, 2015, 2016.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2015-11-17 16:10+0000\n"
|
||||
"PO-Revision-Date: 2015-11-17 17:10+0100\n"
|
||||
"POT-Creation-Date: 2016-04-28 21:52+0000\n"
|
||||
"PO-Revision-Date: 2016-04-29 10:56+0100\n"
|
||||
"Last-Translator: GunChleoc <fios@foramnagaidhlig.net>\n"
|
||||
"Language-Team: Fòram na Gàidhlig\n"
|
||||
"Language: gd\n"
|
||||
@@ -61,85 +61,329 @@ msgstr "Slige GNOME"
|
||||
msgid "Window management and application launching"
|
||||
msgstr "Stiùireadh uinneagan is tòiseachadh aplacaidean"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
|
||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
|
||||
msgstr ""
|
||||
"Cuir an comas innealan airson luchd-leasachaidh 's luchd-deuchainn o Alt-F2"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:2
|
||||
msgid ""
|
||||
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
|
||||
"dialog."
|
||||
msgstr ""
|
||||
"Ceadaich inntrigeadh dha na h-innealan a chum dì-bhugachaidh 's sgrùdaidh le "
|
||||
"còmhradh Alt-F2."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:3
|
||||
#| msgid "No extensions installed"
|
||||
msgid "UUIDs of extensions to enable"
|
||||
msgstr "UUIDs nan leudachan ri an cur an comas"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:4
|
||||
msgid ""
|
||||
"GNOME Shell extensions have a UUID property; this key lists extensions which "
|
||||
"should be loaded. Any extension that wants to be loaded needs to be in this "
|
||||
"list. You can also manipulate this list with the EnableExtension and "
|
||||
"DisableExtension D-Bus methods on org.gnome.Shell."
|
||||
msgstr ""
|
||||
"Tha buadh UUID aig leudachain na Slige GNOME; seallaidh an iuchair sin na "
|
||||
"leudachain a bu chòir luchdadh. Feumaidh gach leudachan a tha ag iarraidh "
|
||||
"luchdadh a bhith air an liosta seo. 'S urrainn dhut an liosta seo "
|
||||
"atharrachadh cuideachd leis na modhan D-Bus EnableExtension agus "
|
||||
"DisableExtension air org.gnome.Shell."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:5
|
||||
msgid "Disables the validation of extension version compatibility"
|
||||
msgstr ""
|
||||
"Cuiridh seo à comas dearbhadh na co-chòrdalachd airson tionndadh nan "
|
||||
"leudachan"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:6
|
||||
msgid ""
|
||||
"GNOME Shell will only load extensions that claim to support the current "
|
||||
"running version. Enabling this option will disable this check and try to "
|
||||
"load all extensions regardless of the versions they claim to support."
|
||||
msgstr ""
|
||||
"Cha luchdaich an t-Slige GNOME ach leudachain a dh'innseas gu bheil iar co-"
|
||||
"chòrdail leis an tionndadh a tha 'ga ruith. Ma chuireas tu an roghainn seo "
|
||||
"an comas, thèid an dearbhadh a chur à comas agus feuchaidh sinn ris a h-uile "
|
||||
"leudachan a luchdadh ge b' e dè na tionndaidhean ris an cuir iad taic dhan "
|
||||
"rèir-san."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:7
|
||||
msgid "List of desktop file IDs for favorite applications"
|
||||
msgstr ""
|
||||
"Liosta dhe IDan nam faidhlichean desktop airson nan aplacaidean as annsa "
|
||||
"leat"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:8
|
||||
msgid ""
|
||||
"The applications corresponding to these identifiers will be displayed in the "
|
||||
"favorites area."
|
||||
msgstr ""
|
||||
"Thèid na h-aplacaidean a fhreagras ris na h-aithnichearan seo a shealltainn "
|
||||
"air raon nan annsachdan."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:9
|
||||
msgid "App Picker View"
|
||||
msgstr "Sealladh roghnaichear nan aplacaid"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:10
|
||||
msgid "Index of the currently selected view in the application picker."
|
||||
msgstr "Inneacs an t-seallaidh làithrich ann an roghnaichear nan aplacaid."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:11
|
||||
msgid "History for command (Alt-F2) dialog"
|
||||
msgstr "Eachdraidh a' chòmhraidh-àithne (Alt-F2)"
|
||||
|
||||
#. Translators: looking glass is a debugger and inspector tool, see https://live.gnome.org/GnomeShell/LookingGlass
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:13
|
||||
msgid "History for the looking glass dialog"
|
||||
msgstr "Eachdraidh a' chomhraidh aig looking glass"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
|
||||
msgid "Always show the 'Log out' menu item in the user menu."
|
||||
msgstr ""
|
||||
"Seall nì \"Clàraich a-mach\" air clàr-taice a' chleachdaiche an-còmhnaidh."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
|
||||
msgid ""
|
||||
"This key overrides the automatic hiding of the 'Log out' menu item in single-"
|
||||
"user, single-session situations."
|
||||
msgstr ""
|
||||
"Tar-àithnidh an iuchair seo am falach fèin-obrachail aig \"Clàraich a-mach\" "
|
||||
"air a' chlar-taice ann an suidheachaidhean le aon chleachdaiche 's aon "
|
||||
"seisean a-mhàin."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
|
||||
msgid ""
|
||||
"Whether to remember password for mounting encrypted or remote filesystems"
|
||||
msgstr ""
|
||||
"Co-dhiù an dèid am facal-faire a chuimhneachadh airson munntachadh "
|
||||
"shiostaman-fhaidhlichean crioptaichte no cèine"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
|
||||
msgid ""
|
||||
"The shell will request a password when an encrypted device or a remote "
|
||||
"filesystem is mounted. If the password can be saved for future use a "
|
||||
"'Remember Password' checkbox will be present. This key sets the default "
|
||||
"state of the checkbox."
|
||||
msgstr ""
|
||||
"Iarraidh an t-slige facal-fàire ort nuair a thèid siostam-fhaidhlichean "
|
||||
"crioptaichte no cèin a mhunntachadh. Ma ghabhas am facal-faire sàbhaladh "
|
||||
"airson na h-ama ri teachd, bidh bogsa-còmhraige \"Cuimhnich am facal-fàire\" "
|
||||
"ann. Suidhichidh an iuchair seo staid tùsail na bogsa-còmhraige ud."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
|
||||
msgid ""
|
||||
"Whether the default Bluetooth adapter had set up devices associated to it"
|
||||
msgstr ""
|
||||
"Co-dhiù an robh uidheaman co-cheangailte ris an adaptar Bluetooth gus nach "
|
||||
"robh"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
|
||||
msgid ""
|
||||
"The shell will only show a Bluetooth menu item if a Bluetooth adapter is "
|
||||
"powered, or if there were devices set up associated with the default "
|
||||
"adapter. This will be reset if the default adapter is ever seen not to have "
|
||||
"devices associated to it."
|
||||
msgstr ""
|
||||
"Cha seall an t-slige nì clàir-taice \"Bluetooth\" ach ma tha cumhachd aig "
|
||||
"adaptar Bluetooth na ma chaidh uidheaman co-cheangailte ris an adaptar "
|
||||
"tùsail roimhe. Thèid seo ath-shuidheachadh ma chithear an t-adaptar tùsail "
|
||||
"gun uidheam co-cheangailte ris."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
|
||||
msgid "Show the week date in the calendar"
|
||||
msgstr "Seall latha na seachdaine air a' mhìosachan"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
|
||||
msgid "If true, display the ISO week date in the calendar."
|
||||
msgstr "Mas e true a th' ann, seall latha na seachdaine ISO air a' mhìosachan."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
|
||||
#| msgid "Open the application menu"
|
||||
msgid "Keybinding to open the application menu"
|
||||
msgstr "Nasgadh iuchrach gus clàr-taice na h-aplacaid fhosgladh"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
|
||||
#| msgid "Open the application menu"
|
||||
msgid "Keybinding to open the application menu."
|
||||
msgstr "Nasgadh iuchrach gus clàr-taice na h-aplacaid fhosgladh."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
|
||||
#| msgid "Keybinding to open the application menu"
|
||||
msgid "Keybinding to open the \"Show Applications\" view"
|
||||
msgstr "Nasgadh iuchrach gus an sealladh \"Seall aplacaidean\" fhosgladh"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
|
||||
#| msgid "Keybinding to open the application menu."
|
||||
msgid ""
|
||||
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
|
||||
msgstr ""
|
||||
"Nasgadh iuchrach gus an sealladh \"Seall aplacaidean\" aig foir-shealladh na "
|
||||
"gnìomhachd fhosgladh."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
|
||||
#| msgid "Keybinding to open the application menu"
|
||||
msgid "Keybinding to open the overview"
|
||||
msgstr "Nasgadh iuchrach gus am foir-shealladh fhosgladh"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
|
||||
#| msgid "Keybinding to open the application menu."
|
||||
msgid "Keybinding to open the Activities Overview."
|
||||
msgstr "Nasgadh iuchrach gus foir-shealladh na gnìomhachd fhosgladh."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
|
||||
#| msgid "Keybinding to focus the active notification"
|
||||
msgid "Keybinding to toggle the visibility of the notification list"
|
||||
msgstr ""
|
||||
"Nasgadh iuchrach gus an fhaicsinneachd air liosta nam brathan a thoglachadh"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
|
||||
#| msgid "Keybinding to focus the active notification."
|
||||
msgid "Keybinding to toggle the visibility of the notification list."
|
||||
msgstr ""
|
||||
"Nasgadh iuchrach gus an fhaicsinneachd air liosta nam brathan a thoglachadh."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
|
||||
#| msgid "Focus the active notification"
|
||||
msgid "Keybinding to focus the active notification"
|
||||
msgstr "Nasgadh iuchrach gus am fòcas a chur air a' bhrath ghnìomhach"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
|
||||
#| msgid "Focus the active notification"
|
||||
msgid "Keybinding to focus the active notification."
|
||||
msgstr "Nasgadh iuchrach gus am fòcas a chur air a' bhrath ghnìomhach."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
|
||||
msgid ""
|
||||
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
|
||||
msgstr ""
|
||||
"Nasgadh iuchrach a chuir gach tween a tha 'ga ruith 'na stad 's a "
|
||||
"thòisicheas orra a-rithist a chum dì-bhugachaidh"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
|
||||
msgid "Which keyboard to use"
|
||||
msgstr "Am meur-chlàr ri chleachdadh"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
|
||||
msgid "The type of keyboard to use."
|
||||
msgstr "An seòrsa de mheur-chlàr a thèid a chleachdadh."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
|
||||
msgid "Limit switcher to current workspace."
|
||||
msgstr "Cuingich an t-suidsear air an rum-obrach làithreach."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
||||
msgid ""
|
||||
"If true, only applications that have windows on the current workspace are "
|
||||
"shown in the switcher. Otherwise, all applications are included."
|
||||
msgstr ""
|
||||
"Mas e true a th' ann, cha dèid a shealltainn san t-suidsear ach na "
|
||||
"h-aplacaidean aig a bheil uinneag san rum-obrach làithreach. Mur e, thèid a "
|
||||
"h-uile aplacaid a ghabhail a-steach."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
||||
#| msgid "Open the application menu"
|
||||
msgid "The application icon mode."
|
||||
msgstr "Modh ìomhaigheag na h-aplacaid."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||
msgid ""
|
||||
"Configures how the windows are shown in the switcher. Valid possibilities "
|
||||
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
|
||||
"only' (shows only the application icon) or 'both'."
|
||||
msgstr ""
|
||||
"Rèitichidh seo an dòigh sa thèid na h-uinneagan a shealltainn san "
|
||||
"t-suidsear. 'S e \"thumbnail-only\" (seallaidh seo dealbhag na h-uinneige), "
|
||||
"\"app-icon-only\" (seallaidh seo ìomhaigheag na h-aplacaid) no \"both\" "
|
||||
"(seallaidh seo an dà chuid dhiubh) a tha sna luachan dligheach."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
|
||||
msgid ""
|
||||
"If true, only windows from the current workspace are shown in the switcher. "
|
||||
"Otherwise, all windows are included."
|
||||
msgstr ""
|
||||
"Mas e true a th' ann, cha dèid a shealltainn san t-suidsear ach na "
|
||||
"h-uinneagan a tha san rum-obrach làithreach. Mur e, thèid a h-uile uinneag a "
|
||||
"ghabhail a-steach."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "Ceangail còmhradh mòdach ris an uinneag-pàraint"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr ""
|
||||
"Tar-àithnidh an iuchair seo an iuchair ann an org.gnome.mutter nuair a thèid "
|
||||
"Slige GNOME a ruith."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
msgstr ""
|
||||
"Cuir leacadh nan oirean an comas nuair a thèid uinneagan a leigeil às aig "
|
||||
"oir na sgrìn"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
|
||||
msgid "Workspaces are managed dynamically"
|
||||
msgstr "Thèid na rumannan-obrach a stiùireadh a làimh"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:44
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Rumannan-obrach air a' phrìomh-sgrìn a-mhàin"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:45
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr ""
|
||||
"Cuir dàil air atharraichean an fòcais ann am modh luchaige gus an sguir an "
|
||||
"tomhaire air gluasad"
|
||||
|
||||
#: ../data/org.gnome.Shell.PortalHelper.desktop.in.h:1
|
||||
msgid "Network Login"
|
||||
msgstr "Clàradh a-steach lìonraidh"
|
||||
|
||||
#: ../js/extensionPrefs/main.js:122
|
||||
#: ../js/extensionPrefs/main.js:117
|
||||
#, javascript-format
|
||||
msgid "There was an error loading the preferences dialog for %s:"
|
||||
msgstr "Thachair mearachd le luchdadh còmhradh nan roghainnean airson %s:"
|
||||
|
||||
#: ../js/extensionPrefs/main.js:154
|
||||
#: ../js/extensionPrefs/main.js:149
|
||||
msgid "GNOME Shell Extensions"
|
||||
msgstr "Leudachain na Slige GNOME"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:145
|
||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/audioDeviceSelection.js:71
|
||||
#: ../js/ui/components/networkAgent.js:145
|
||||
#: ../js/ui/components/polkitAgent.js:179 ../js/ui/endSessionDialog.js:452
|
||||
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
|
||||
#: ../js/ui/status/network.js:916
|
||||
msgid "Cancel"
|
||||
msgstr "Sguir dheth"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215
|
||||
#: ../js/gdm/authPrompt.js:447
|
||||
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:216
|
||||
#: ../js/gdm/authPrompt.js:448
|
||||
msgid "Next"
|
||||
msgstr "Air adhart"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:211 ../js/ui/shellMountOperation.js:403
|
||||
#: ../js/gdm/authPrompt.js:212 ../js/ui/shellMountOperation.js:403
|
||||
#: ../js/ui/unlockDialog.js:59
|
||||
msgid "Unlock"
|
||||
msgstr "Neo-ghlais"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:213
|
||||
#: ../js/gdm/authPrompt.js:214
|
||||
msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "Clàraich a-steach"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:281
|
||||
#: ../js/gdm/loginDialog.js:285
|
||||
msgid "Choose Session"
|
||||
msgstr "Tagh seisean"
|
||||
|
||||
#. translators: this message is shown below the user list on the
|
||||
#. login screen. It can be activated to reveal an entry for
|
||||
#. manually entering the username.
|
||||
#: ../js/gdm/loginDialog.js:431
|
||||
#: ../js/gdm/loginDialog.js:435
|
||||
msgid "Not listed?"
|
||||
msgstr "Nach eil e air an liosta?"
|
||||
|
||||
#. Translators: this message is shown below the username entry field
|
||||
#. to clue the user in on how to login to the local network realm
|
||||
#: ../js/gdm/loginDialog.js:850
|
||||
#: ../js/gdm/loginDialog.js:854
|
||||
#, javascript-format
|
||||
msgid "(e.g., user or %s)"
|
||||
msgstr "(m.e., cleachdaiche no %s)"
|
||||
@@ -147,12 +391,12 @@ msgstr "(m.e., cleachdaiche no %s)"
|
||||
#. TTLS and PEAP are actually much more complicated, but this complication
|
||||
#. is not visible here since we only care about phase2 authentication
|
||||
#. (and don't even care of which one)
|
||||
#: ../js/gdm/loginDialog.js:855 ../js/ui/components/networkAgent.js:271
|
||||
#: ../js/gdm/loginDialog.js:859 ../js/ui/components/networkAgent.js:271
|
||||
#: ../js/ui/components/networkAgent.js:289
|
||||
msgid "Username: "
|
||||
msgstr "Ainm-cleachdaiche:"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1180
|
||||
#: ../js/gdm/loginDialog.js:1196
|
||||
msgid "Login Window"
|
||||
msgstr "Uinneag a' chlàraidh a-steach"
|
||||
|
||||
@@ -288,16 +532,37 @@ msgstr "Cuir ris na h-annsachdan"
|
||||
msgid "Show Details"
|
||||
msgstr "Seall am mion-fhiosrachadh"
|
||||
|
||||
#: ../js/ui/appFavorites.js:133
|
||||
#: ../js/ui/appFavorites.js:134
|
||||
#, javascript-format
|
||||
msgid "%s has been added to your favorites."
|
||||
msgstr "Chaidh %s a chur ris na h-annsachdan agad."
|
||||
|
||||
#: ../js/ui/appFavorites.js:167
|
||||
#: ../js/ui/appFavorites.js:168
|
||||
#, javascript-format
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "Chaidh %s a toirt air falbh o na h-annsachdan agad."
|
||||
|
||||
#: ../js/ui/audioDeviceSelection.js:59
|
||||
msgid "Select Audio Device"
|
||||
msgstr "Tagh uidheam fuaime"
|
||||
|
||||
#: ../js/ui/audioDeviceSelection.js:69
|
||||
#| msgid "Account Settings"
|
||||
msgid "Sound Settings"
|
||||
msgstr "Roghainnean fuaime"
|
||||
|
||||
#: ../js/ui/audioDeviceSelection.js:78
|
||||
msgid "Headphones"
|
||||
msgstr "Headphones"
|
||||
|
||||
#: ../js/ui/audioDeviceSelection.js:80
|
||||
msgid "Headset"
|
||||
msgstr "Headset"
|
||||
|
||||
#: ../js/ui/audioDeviceSelection.js:82 ../js/ui/status/volume.js:213
|
||||
msgid "Microphone"
|
||||
msgstr "Micreofon"
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:19
|
||||
msgid "Change Background…"
|
||||
msgstr "Atharraich an cùlaibh…"
|
||||
@@ -306,12 +571,12 @@ msgstr "Atharraich an cùlaibh…"
|
||||
msgid "Display Settings"
|
||||
msgstr "Roghainnean an t-seallaidh"
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
|
||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:371
|
||||
msgid "Settings"
|
||||
msgstr "Roghainnean"
|
||||
|
||||
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday).
|
||||
#: ../js/ui/calendar.js:55
|
||||
#: ../js/ui/calendar.js:47
|
||||
msgctxt "calendar-no-work"
|
||||
msgid "06"
|
||||
msgstr "06"
|
||||
@@ -321,100 +586,96 @@ msgstr "06"
|
||||
#. * NOTE: These grid abbreviations are always shown together
|
||||
#. * and in order, e.g. "S M T W T F S".
|
||||
#.
|
||||
#: ../js/ui/calendar.js:84
|
||||
#: ../js/ui/calendar.js:76
|
||||
msgctxt "grid sunday"
|
||||
msgid "S"
|
||||
msgstr "Dò"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Monday
|
||||
#: ../js/ui/calendar.js:86
|
||||
#: ../js/ui/calendar.js:78
|
||||
msgctxt "grid monday"
|
||||
msgid "M"
|
||||
msgstr "Lu"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Tuesday
|
||||
#: ../js/ui/calendar.js:88
|
||||
#: ../js/ui/calendar.js:80
|
||||
msgctxt "grid tuesday"
|
||||
msgid "T"
|
||||
msgstr "Mà"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Wednesday
|
||||
#: ../js/ui/calendar.js:90
|
||||
#: ../js/ui/calendar.js:82
|
||||
msgctxt "grid wednesday"
|
||||
msgid "W"
|
||||
msgstr "Ci"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Thursday
|
||||
#: ../js/ui/calendar.js:92
|
||||
#: ../js/ui/calendar.js:84
|
||||
msgctxt "grid thursday"
|
||||
msgid "T"
|
||||
msgstr "Da"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Friday
|
||||
#: ../js/ui/calendar.js:94
|
||||
#: ../js/ui/calendar.js:86
|
||||
msgctxt "grid friday"
|
||||
msgid "F"
|
||||
msgstr "hA"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Saturday
|
||||
#: ../js/ui/calendar.js:96
|
||||
#: ../js/ui/calendar.js:88
|
||||
msgctxt "grid saturday"
|
||||
msgid "S"
|
||||
msgstr "Sa"
|
||||
|
||||
#: ../js/ui/calendar.js:566
|
||||
#: ../js/ui/calendar.js:416
|
||||
msgid "Previous month"
|
||||
msgstr "Am mìos roimhe"
|
||||
|
||||
#: ../js/ui/calendar.js:576
|
||||
#: ../js/ui/calendar.js:426
|
||||
msgid "Next month"
|
||||
msgstr "An ath mhìos"
|
||||
|
||||
#: ../js/ui/calendar.js:728
|
||||
#, javascript-format
|
||||
#: ../js/ui/calendar.js:579
|
||||
#, no-javascript-format
|
||||
msgctxt "date day number format"
|
||||
msgid "%d"
|
||||
msgstr "%d"
|
||||
|
||||
#: ../js/ui/calendar.js:783
|
||||
#: ../js/ui/calendar.js:634
|
||||
msgid "Week %V"
|
||||
msgstr "Seachdain %V"
|
||||
|
||||
#. Translators: Shown in calendar event list for all day events
|
||||
#. * Keep it short, best if you can use less then 10 characters
|
||||
#.
|
||||
#: ../js/ui/calendar.js:1188
|
||||
#: ../js/ui/calendar.js:695
|
||||
msgctxt "event list time"
|
||||
msgid "All Day"
|
||||
msgstr "Fad an latha"
|
||||
|
||||
#: ../js/ui/calendar.js:1295
|
||||
msgid "Clear section"
|
||||
msgstr "Falamhaich an earrann"
|
||||
|
||||
#: ../js/ui/calendar.js:1522
|
||||
#: ../js/ui/calendar.js:821
|
||||
msgid "Events"
|
||||
msgstr "Tachartasan"
|
||||
|
||||
#: ../js/ui/calendar.js:1531
|
||||
#: ../js/ui/calendar.js:830
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, %d %B"
|
||||
|
||||
#: ../js/ui/calendar.js:1535
|
||||
#: ../js/ui/calendar.js:834
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%A, %d %B, %Y"
|
||||
|
||||
#: ../js/ui/calendar.js:1620
|
||||
#: ../js/ui/calendar.js:919
|
||||
msgid "Notifications"
|
||||
msgstr "Brathan"
|
||||
|
||||
#: ../js/ui/calendar.js:1771
|
||||
#: ../js/ui/calendar.js:1070
|
||||
msgid "No Notifications"
|
||||
msgstr "Chan eil brath ann"
|
||||
|
||||
#: ../js/ui/calendar.js:1774
|
||||
#: ../js/ui/calendar.js:1073
|
||||
msgid "No Events"
|
||||
msgstr "Chan eil tachartas ann"
|
||||
|
||||
@@ -553,7 +814,7 @@ msgstr ""
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#: ../js/ui/components/telepathyClient.js:759
|
||||
#: ../js/ui/components/telepathyClient.js:760
|
||||
#, javascript-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "thug %s %s air"
|
||||
@@ -762,11 +1023,11 @@ msgid "Keyboard"
|
||||
msgstr "Am meur-chlàr"
|
||||
|
||||
#. translators: 'Hide' is a verb
|
||||
#: ../js/ui/legacyTray.js:66
|
||||
#: ../js/ui/legacyTray.js:65
|
||||
msgid "Hide tray"
|
||||
msgstr "Falaich an treidhe"
|
||||
|
||||
#: ../js/ui/legacyTray.js:107
|
||||
#: ../js/ui/legacyTray.js:106
|
||||
msgid "Status Icons"
|
||||
msgstr "Ìomhaigheagan staide"
|
||||
|
||||
@@ -794,7 +1055,7 @@ msgstr "An comas"
|
||||
|
||||
#. translators:
|
||||
#. * The device has been disabled
|
||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
|
||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1866
|
||||
msgid "Disabled"
|
||||
msgstr "À comas"
|
||||
|
||||
@@ -818,10 +1079,30 @@ msgstr "Seall am bun-tùs"
|
||||
msgid "Web Page"
|
||||
msgstr "Duilleag-lìn"
|
||||
|
||||
#: ../js/ui/messageList.js:543
|
||||
msgid "Clear section"
|
||||
msgstr "Falamhaich an earrann"
|
||||
|
||||
#: ../js/ui/messageTray.js:1486
|
||||
msgid "System Information"
|
||||
msgstr "Fiosrachadh an t-siostaim"
|
||||
|
||||
#: ../js/ui/mpris.js:194
|
||||
#| msgctxt "program"
|
||||
#| msgid "Unknown"
|
||||
msgid "Unknown artist"
|
||||
msgstr "Neach-ciùil nach aithne dhuinn"
|
||||
|
||||
#: ../js/ui/mpris.js:195
|
||||
#| msgctxt "program"
|
||||
#| msgid "Unknown"
|
||||
msgid "Unknown title"
|
||||
msgstr "Tiotal nach aithne dhuinn"
|
||||
|
||||
#: ../js/ui/mpris.js:217
|
||||
msgid "Media"
|
||||
msgstr "Meadhanan"
|
||||
|
||||
#: ../js/ui/overview.js:84
|
||||
msgid "Undo"
|
||||
msgstr "Neo-dhèan"
|
||||
@@ -902,7 +1183,7 @@ msgstr[1] "%d bhrath ùr"
|
||||
msgstr[2] "%d brathan ùra"
|
||||
msgstr[3] "%d brath ùr"
|
||||
|
||||
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:374
|
||||
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:379
|
||||
msgid "Lock"
|
||||
msgstr "Glais"
|
||||
|
||||
@@ -1046,30 +1327,50 @@ msgstr "Soilleireachd"
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "Seall co-dhealbhachd a' mheur-chlàir"
|
||||
|
||||
#: ../js/ui/status/location.js:71 ../js/ui/status/location.js:177
|
||||
#: ../js/ui/status/location.js:107 ../js/ui/status/location.js:215
|
||||
msgid "Location Enabled"
|
||||
msgstr "Tha an t-ionad an comas"
|
||||
|
||||
#: ../js/ui/status/location.js:72 ../js/ui/status/location.js:178
|
||||
#: ../js/ui/status/location.js:108 ../js/ui/status/location.js:216
|
||||
msgid "Disable"
|
||||
msgstr "Cuir à comas"
|
||||
|
||||
#: ../js/ui/status/location.js:73
|
||||
#: ../js/ui/status/location.js:109
|
||||
msgid "Privacy Settings"
|
||||
msgstr "Roghainnean na prìobhaideachd"
|
||||
|
||||
#: ../js/ui/status/location.js:176
|
||||
#: ../js/ui/status/location.js:214
|
||||
msgid "Location In Use"
|
||||
msgstr "Tha an t-ionad 'ga chleachdadh"
|
||||
|
||||
#: ../js/ui/status/location.js:180
|
||||
#: ../js/ui/status/location.js:218
|
||||
msgid "Location Disabled"
|
||||
msgstr "Tha an t-ionad à comas"
|
||||
|
||||
#: ../js/ui/status/location.js:181
|
||||
#: ../js/ui/status/location.js:219
|
||||
msgid "Enable"
|
||||
msgstr "Cuir an comas"
|
||||
|
||||
#: ../js/ui/status/location.js:426
|
||||
msgid "Deny Access"
|
||||
msgstr "Diùlt an t-inntrigeadh"
|
||||
|
||||
#: ../js/ui/status/location.js:429
|
||||
msgid "Grant Access"
|
||||
msgstr "Ceadaich an t-inntrigeadh"
|
||||
|
||||
#. Translators: %s is an application name
|
||||
#: ../js/ui/status/location.js:435
|
||||
#, javascript-format
|
||||
msgid "Give %s access to your location?"
|
||||
msgstr "A bheil thu airson inntrigeadh dhan ionad agad a thoirt dha %s?"
|
||||
|
||||
#: ../js/ui/status/location.js:437
|
||||
msgid "Location access can be changed at any time from the privacy settings."
|
||||
msgstr ""
|
||||
"'S urrainn dhut inntrigeadh an ionaid atharrachadh uair sam bith ann an "
|
||||
"roghainnean na prìobhaideachd."
|
||||
|
||||
#: ../js/ui/status/network.js:101
|
||||
msgid "<unknown>"
|
||||
msgstr "<neo-aithnichte>"
|
||||
@@ -1254,34 +1555,37 @@ msgstr "Dh'fhàillig leis a' cheangal"
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Dh'fhàillig gnìomhachadh a' cheangail ris an lìonra"
|
||||
|
||||
#: ../js/ui/status/power.js:49
|
||||
#: ../js/ui/status/power.js:61
|
||||
msgid "Power Settings"
|
||||
msgstr "Roghainnean na cumhachd"
|
||||
|
||||
#: ../js/ui/status/power.js:65
|
||||
#: ../js/ui/status/power.js:77
|
||||
msgid "Fully Charged"
|
||||
msgstr "Air a làn-teairrdseadh"
|
||||
|
||||
#. 0 is reported when UPower does not have enough data
|
||||
#. to estimate battery life
|
||||
#: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78
|
||||
#: ../js/ui/status/power.js:84 ../js/ui/status/power.js:90
|
||||
msgid "Estimating…"
|
||||
msgstr "'Ga thuairmeas…"
|
||||
|
||||
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
|
||||
#: ../js/ui/status/power.js:86
|
||||
#: ../js/ui/status/power.js:98
|
||||
#, javascript-format
|
||||
#| msgid "%d∶%02d Remaining (%d%%)"
|
||||
msgid "%d∶%02d Remaining (%d %%)"
|
||||
msgstr "%d∶%02d air fhàgail (%d %%)"
|
||||
|
||||
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
|
||||
#: ../js/ui/status/power.js:91
|
||||
#: ../js/ui/status/power.js:103
|
||||
#, javascript-format
|
||||
#| msgid "%d∶%02d Until Full (%d%%)"
|
||||
msgid "%d∶%02d Until Full (%d %%)"
|
||||
msgstr "%d∶%02d gus am bi e làn (%d %%)"
|
||||
|
||||
#: ../js/ui/status/power.js:131 ../js/ui/status/power.js:133
|
||||
#, javascript-format
|
||||
msgid "%d %%"
|
||||
msgstr "%d %%"
|
||||
|
||||
#. The menu only appears when airplane mode is on, so just
|
||||
#. statically build it as if it was on, rather than dynamically
|
||||
#. changing the menu contents.
|
||||
@@ -1289,27 +1593,27 @@ msgstr "%d∶%02d gus am bi e làn (%d %%)"
|
||||
msgid "Airplane Mode On"
|
||||
msgstr "Modh itealain air"
|
||||
|
||||
#: ../js/ui/status/system.js:343
|
||||
#: ../js/ui/status/system.js:348
|
||||
msgid "Switch User"
|
||||
msgstr "Leum gu cleachdaiche eile"
|
||||
|
||||
#: ../js/ui/status/system.js:348
|
||||
#: ../js/ui/status/system.js:353
|
||||
msgid "Log Out"
|
||||
msgstr "Clàraich a-mach"
|
||||
|
||||
#: ../js/ui/status/system.js:353
|
||||
#: ../js/ui/status/system.js:358
|
||||
msgid "Account Settings"
|
||||
msgstr "Roghainnean a' chunntais"
|
||||
|
||||
#: ../js/ui/status/system.js:370
|
||||
#: ../js/ui/status/system.js:375
|
||||
msgid "Orientation Lock"
|
||||
msgstr "Glais na comhair"
|
||||
|
||||
#: ../js/ui/status/system.js:378
|
||||
#: ../js/ui/status/system.js:383
|
||||
msgid "Suspend"
|
||||
msgstr "Cuir 'na dhàil"
|
||||
|
||||
#: ../js/ui/status/system.js:381
|
||||
#: ../js/ui/status/system.js:386
|
||||
msgid "Power Off"
|
||||
msgstr "Cuir a' chumhachd dheth"
|
||||
|
||||
@@ -1321,10 +1625,6 @@ msgstr "Dh'atharraich àirde na fuaime"
|
||||
msgid "Volume"
|
||||
msgstr "Àirde na fuaime"
|
||||
|
||||
#: ../js/ui/status/volume.js:213
|
||||
msgid "Microphone"
|
||||
msgstr "Micreofon"
|
||||
|
||||
#: ../js/ui/unlockDialog.js:67
|
||||
msgid "Log in as another user"
|
||||
msgstr "Clàraich an-steach mar chleachdaiche eile"
|
||||
@@ -1451,7 +1751,7 @@ msgstr "Mìosachan Evolution"
|
||||
|
||||
#. translators:
|
||||
#. * The number of sound outputs on a particular device
|
||||
#: ../src/gvc/gvc-mixer-control.c:1835
|
||||
#: ../src/gvc/gvc-mixer-control.c:1873
|
||||
#, c-format
|
||||
msgid "%u Output"
|
||||
msgid_plural "%u Outputs"
|
||||
@@ -1462,7 +1762,7 @@ msgstr[3] "%u às-chur"
|
||||
|
||||
#. translators:
|
||||
#. * The number of sound inputs on a particular device
|
||||
#: ../src/gvc/gvc-mixer-control.c:1845
|
||||
#: ../src/gvc/gvc-mixer-control.c:1883
|
||||
#, c-format
|
||||
msgid "%u Input"
|
||||
msgid_plural "%u Inputs"
|
||||
@@ -1471,7 +1771,7 @@ msgstr[1] "%u ion-chur"
|
||||
msgstr[2] "%u ion-chuir"
|
||||
msgstr[3] "%u ion-chur"
|
||||
|
||||
#: ../src/gvc/gvc-mixer-control.c:2371
|
||||
#: ../src/gvc/gvc-mixer-control.c:2738
|
||||
msgid "System Sounds"
|
||||
msgstr "Fuaimean an t-siostaim"
|
||||
|
||||
|
310
po/id.po
310
po/id.po
@@ -7,12 +7,12 @@
|
||||
# Wibiharto <wibinem@yahoo.com>, 2011.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell gnome-3-18\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"
|
||||
"POT-Creation-Date: 2016-01-02 10:15+0000\n"
|
||||
"PO-Revision-Date: 2016-01-02 19:12+0700\n"
|
||||
"Last-Translator: Andika Triwidada <andika@gmail.com>\n"
|
||||
"POT-Creation-Date: 2016-06-24 10:53+0000\n"
|
||||
"PO-Revision-Date: 2016-06-24 17:54+0700\n"
|
||||
"Last-Translator: Andika Triwidada <atriwidada@gnome.org>\n"
|
||||
"Language-Team: Indonesian <gnome-l10n-id@googlegroups.com>\n"
|
||||
"Language: id\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -20,7 +20,7 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
"X-Generator: Poedit 1.8.4\n"
|
||||
"X-Generator: Poedit 1.6.10\n"
|
||||
|
||||
#: ../data/50-gnome-shell-system.xml.in.h:1
|
||||
msgid "System"
|
||||
@@ -46,15 +46,6 @@ msgstr "Tampilkan semua aplikasi"
|
||||
msgid "Open the application menu"
|
||||
msgstr "Buka menu aplikasi"
|
||||
|
||||
#: ../data/gnome-shell.desktop.in.in.h:1
|
||||
msgid "GNOME Shell"
|
||||
msgstr "GNOME Shell"
|
||||
|
||||
#: ../data/gnome-shell.desktop.in.in.h:2
|
||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
|
||||
msgid "Window management and application launching"
|
||||
msgstr "Manajemen jendela dan peluncuran aplikasi"
|
||||
|
||||
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1
|
||||
msgid "GNOME Shell Extension Preferences"
|
||||
msgstr "Preferensi Ekstensi GNOME Shell"
|
||||
@@ -63,9 +54,13 @@ msgstr "Preferensi Ekstensi GNOME Shell"
|
||||
msgid "Configure GNOME Shell Extensions"
|
||||
msgstr "Konfigurasi Ekstensi GNOME Shell"
|
||||
|
||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
|
||||
msgid "GNOME Shell (wayland compositor)"
|
||||
msgstr "GNOME Shell (kompositor wayland)"
|
||||
#: ../data/org.gnome.Shell.desktop.in.in.h:1
|
||||
msgid "GNOME Shell"
|
||||
msgstr "GNOME Shell"
|
||||
|
||||
#: ../data/org.gnome.Shell.desktop.in.in.h:2
|
||||
msgid "Window management and application launching"
|
||||
msgstr "Manajemen jendela dan peluncuran aplikasi"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
|
||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
|
||||
@@ -173,12 +168,23 @@ msgstr ""
|
||||
"menata keadaan baku dari kontak contreng."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
|
||||
msgid "Show the week date in the calendar"
|
||||
msgstr "Menampilkan tanggal pada kalender"
|
||||
msgid ""
|
||||
"Whether the default Bluetooth adapter had set up devices associated to it"
|
||||
msgstr ""
|
||||
"Apakah adapter Bluetooth baku telah menyiapkan perangkat yang terasosiasi "
|
||||
"dengannya"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
|
||||
msgid "If true, display the ISO week date in the calendar."
|
||||
msgstr "Jika \"true\", menampilkan tanggal berformat ISO pada kalender."
|
||||
msgid ""
|
||||
"The shell will only show a Bluetooth menu item if a Bluetooth adapter is "
|
||||
"powered, or if there were devices set up associated with the default "
|
||||
"adapter. This will be reset if the default adapter is ever seen not to have "
|
||||
"devices associated to it."
|
||||
msgstr ""
|
||||
"Shell hanya akan menampilkan butir menu Bluetooth bila sebuah adapter "
|
||||
"Bluetooth dinyalakan, atau ada perangkat yang telah disiapkan terasosiasi "
|
||||
"dengan adapter baku. Ini akan di-reset bila adapter baku pernah terlihat "
|
||||
"tidak punya perangkat yang terasosiasi dengannya."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
|
||||
msgid "Keybinding to open the application menu"
|
||||
@@ -305,33 +311,34 @@ msgstr ""
|
||||
msgid "Network Login"
|
||||
msgstr "Log Masuk Jaringan"
|
||||
|
||||
#: ../js/extensionPrefs/main.js:122
|
||||
#: ../js/extensionPrefs/main.js:117
|
||||
#, javascript-format
|
||||
msgid "There was an error loading the preferences dialog for %s:"
|
||||
msgstr "Ada galat saat memuat dialog preferensi bagi %s:"
|
||||
|
||||
#: ../js/extensionPrefs/main.js:154
|
||||
#: ../js/extensionPrefs/main.js:149
|
||||
msgid "GNOME Shell Extensions"
|
||||
msgstr "Ekstensi GNOME Shell"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:145
|
||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/audioDeviceSelection.js:71
|
||||
#: ../js/ui/components/networkAgent.js:145
|
||||
#: ../js/ui/components/polkitAgent.js:179 ../js/ui/endSessionDialog.js:452
|
||||
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
|
||||
#: ../js/ui/status/network.js:916
|
||||
msgid "Cancel"
|
||||
msgstr "Batal"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215
|
||||
#: ../js/gdm/authPrompt.js:447
|
||||
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:216
|
||||
#: ../js/gdm/authPrompt.js:448
|
||||
msgid "Next"
|
||||
msgstr "Selanjutnya"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:211 ../js/ui/shellMountOperation.js:403
|
||||
#: ../js/gdm/authPrompt.js:212 ../js/ui/shellMountOperation.js:403
|
||||
#: ../js/ui/unlockDialog.js:59
|
||||
msgid "Unlock"
|
||||
msgstr "Buka Kunci"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:213
|
||||
#: ../js/gdm/authPrompt.js:214
|
||||
msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "Masuk"
|
||||
@@ -498,16 +505,36 @@ msgstr "Tambah ke Favorit"
|
||||
msgid "Show Details"
|
||||
msgstr "Tampilkan Rincian"
|
||||
|
||||
#: ../js/ui/appFavorites.js:132
|
||||
#: ../js/ui/appFavorites.js:134
|
||||
#, javascript-format
|
||||
msgid "%s has been added to your favorites."
|
||||
msgstr "%s telah ditambahkan ke favorit Anda."
|
||||
|
||||
#: ../js/ui/appFavorites.js:166
|
||||
#: ../js/ui/appFavorites.js:168
|
||||
#, javascript-format
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "%s telah dihapus dari favorit Anda."
|
||||
|
||||
#: ../js/ui/audioDeviceSelection.js:59
|
||||
msgid "Select Audio Device"
|
||||
msgstr "Pilih Perangkat Audio"
|
||||
|
||||
#: ../js/ui/audioDeviceSelection.js:69
|
||||
msgid "Sound Settings"
|
||||
msgstr "Pengaturan Suara"
|
||||
|
||||
#: ../js/ui/audioDeviceSelection.js:78
|
||||
msgid "Headphones"
|
||||
msgstr "Headphone"
|
||||
|
||||
#: ../js/ui/audioDeviceSelection.js:80
|
||||
msgid "Headset"
|
||||
msgstr "Headset"
|
||||
|
||||
#: ../js/ui/audioDeviceSelection.js:82 ../js/ui/status/volume.js:213
|
||||
msgid "Microphone"
|
||||
msgstr "Mikrofon"
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:19
|
||||
msgid "Change Background…"
|
||||
msgstr "Ubah Latar…"
|
||||
@@ -516,12 +543,12 @@ msgstr "Ubah Latar…"
|
||||
msgid "Display Settings"
|
||||
msgstr "Pengaturan Tampilan"
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
|
||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:374
|
||||
msgid "Settings"
|
||||
msgstr "Pengaturan"
|
||||
|
||||
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday).
|
||||
#: ../js/ui/calendar.js:55
|
||||
#: ../js/ui/calendar.js:47
|
||||
msgctxt "calendar-no-work"
|
||||
msgid "06"
|
||||
msgstr "06"
|
||||
@@ -531,94 +558,96 @@ msgstr "06"
|
||||
#. * NOTE: These grid abbreviations are always shown together
|
||||
#. * and in order, e.g. "S M T W T F S".
|
||||
#.
|
||||
#: ../js/ui/calendar.js:84
|
||||
#: ../js/ui/calendar.js:76
|
||||
msgctxt "grid sunday"
|
||||
msgid "S"
|
||||
msgstr "M"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Monday
|
||||
#: ../js/ui/calendar.js:86
|
||||
#: ../js/ui/calendar.js:78
|
||||
msgctxt "grid monday"
|
||||
msgid "M"
|
||||
msgstr "S"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Tuesday
|
||||
#: ../js/ui/calendar.js:88
|
||||
#: ../js/ui/calendar.js:80
|
||||
msgctxt "grid tuesday"
|
||||
msgid "T"
|
||||
msgstr "S"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Wednesday
|
||||
#: ../js/ui/calendar.js:90
|
||||
#: ../js/ui/calendar.js:82
|
||||
msgctxt "grid wednesday"
|
||||
msgid "W"
|
||||
msgstr "R"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Thursday
|
||||
#: ../js/ui/calendar.js:92
|
||||
#: ../js/ui/calendar.js:84
|
||||
msgctxt "grid thursday"
|
||||
msgid "T"
|
||||
msgstr "K"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Friday
|
||||
#: ../js/ui/calendar.js:94
|
||||
#: ../js/ui/calendar.js:86
|
||||
msgctxt "grid friday"
|
||||
msgid "F"
|
||||
msgstr "J"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Saturday
|
||||
#: ../js/ui/calendar.js:96
|
||||
#: ../js/ui/calendar.js:88
|
||||
msgctxt "grid saturday"
|
||||
msgid "S"
|
||||
msgstr "S"
|
||||
|
||||
#: ../js/ui/calendar.js:566
|
||||
#: ../js/ui/calendar.js:416
|
||||
msgid "Previous month"
|
||||
msgstr "Bulan sebelumnya"
|
||||
|
||||
#: ../js/ui/calendar.js:576
|
||||
#: ../js/ui/calendar.js:426
|
||||
msgid "Next month"
|
||||
msgstr "Bulan selanjutnya"
|
||||
|
||||
#: ../js/ui/calendar.js:783
|
||||
#: ../js/ui/calendar.js:579
|
||||
#, no-javascript-format
|
||||
msgctxt "date day number format"
|
||||
msgid "%d"
|
||||
msgstr "%d"
|
||||
|
||||
#: ../js/ui/calendar.js:634
|
||||
msgid "Week %V"
|
||||
msgstr "Minggu %V"
|
||||
|
||||
#. Translators: Shown in calendar event list for all day events
|
||||
#. * Keep it short, best if you can use less then 10 characters
|
||||
#.
|
||||
#: ../js/ui/calendar.js:1188
|
||||
#: ../js/ui/calendar.js:695
|
||||
msgctxt "event list time"
|
||||
msgid "All Day"
|
||||
msgstr "Sepanjang Hari"
|
||||
|
||||
#: ../js/ui/calendar.js:1295
|
||||
msgid "Clear section"
|
||||
msgstr "Bersihkan seksi"
|
||||
|
||||
#: ../js/ui/calendar.js:1522
|
||||
#: ../js/ui/calendar.js:821
|
||||
msgid "Events"
|
||||
msgstr "Kejadian"
|
||||
|
||||
#: ../js/ui/calendar.js:1531
|
||||
#: ../js/ui/calendar.js:830
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, %d %B"
|
||||
|
||||
#: ../js/ui/calendar.js:1535
|
||||
#: ../js/ui/calendar.js:834
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%A, %d %B %Y"
|
||||
|
||||
#: ../js/ui/calendar.js:1620
|
||||
#: ../js/ui/calendar.js:919
|
||||
msgid "Notifications"
|
||||
msgstr "Pemberitahuan"
|
||||
|
||||
#: ../js/ui/calendar.js:1771
|
||||
#: ../js/ui/calendar.js:1070
|
||||
msgid "No Notifications"
|
||||
msgstr "Tak Ada Pemberitahuan"
|
||||
|
||||
#: ../js/ui/calendar.js:1774
|
||||
#: ../js/ui/calendar.js:1073
|
||||
msgid "No Events"
|
||||
msgstr "Tak Ada Kejadian"
|
||||
|
||||
@@ -630,7 +659,7 @@ msgstr "Drive eksternal tersambung"
|
||||
msgid "External drive disconnected"
|
||||
msgstr "Drive eksternal terputus"
|
||||
|
||||
#: ../js/ui/components/autorunManager.js:351
|
||||
#: ../js/ui/components/autorunManager.js:355
|
||||
#, javascript-format
|
||||
msgid "Open with %s"
|
||||
msgstr "Buka dengan %s"
|
||||
@@ -756,7 +785,7 @@ msgstr "Maaf, tidak berhasil. Silakan coba lagi."
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#: ../js/ui/components/telepathyClient.js:759
|
||||
#: ../js/ui/components/telepathyClient.js:760
|
||||
#, javascript-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "%s sekarang dikenal sebagai %s"
|
||||
@@ -931,16 +960,16 @@ msgstr "Pasang"
|
||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||
msgstr "Unduh dan pasang \"%s\" dari extensions.gnome.org?"
|
||||
|
||||
#: ../js/ui/keyboard.js:741 ../js/ui/status/keyboard.js:713
|
||||
#: ../js/ui/keyboard.js:741 ../js/ui/status/keyboard.js:782
|
||||
msgid "Keyboard"
|
||||
msgstr "Papan Ketik"
|
||||
|
||||
#. translators: 'Hide' is a verb
|
||||
#: ../js/ui/legacyTray.js:66
|
||||
#: ../js/ui/legacyTray.js:65
|
||||
msgid "Hide tray"
|
||||
msgstr "Sembunyikan baki"
|
||||
|
||||
#: ../js/ui/legacyTray.js:107
|
||||
#: ../js/ui/legacyTray.js:106
|
||||
msgid "Status Icons"
|
||||
msgstr "Ikon Status"
|
||||
|
||||
@@ -968,7 +997,7 @@ msgstr "Diaktifkan"
|
||||
|
||||
#. translators:
|
||||
#. * The device has been disabled
|
||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
|
||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1866
|
||||
msgid "Disabled"
|
||||
msgstr "Dinonaktifkan"
|
||||
|
||||
@@ -992,10 +1021,26 @@ msgstr "Tilik Sumber"
|
||||
msgid "Web Page"
|
||||
msgstr "Halaman Web"
|
||||
|
||||
#: ../js/ui/messageList.js:543
|
||||
msgid "Clear section"
|
||||
msgstr "Bersihkan seksi"
|
||||
|
||||
#: ../js/ui/messageTray.js:1486
|
||||
msgid "System Information"
|
||||
msgstr "Informasi Sistem"
|
||||
|
||||
#: ../js/ui/mpris.js:194
|
||||
msgid "Unknown artist"
|
||||
msgstr "Artis tak dikenal"
|
||||
|
||||
#: ../js/ui/mpris.js:195
|
||||
msgid "Unknown title"
|
||||
msgstr "Judul tak dikenal"
|
||||
|
||||
#: ../js/ui/mpris.js:217
|
||||
msgid "Media"
|
||||
msgstr "Media"
|
||||
|
||||
#: ../js/ui/overview.js:84
|
||||
msgid "Undo"
|
||||
msgstr "Batal"
|
||||
@@ -1041,15 +1086,15 @@ msgstr "Bar Atas"
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-intl"
|
||||
|
||||
#: ../js/ui/runDialog.js:70
|
||||
#: ../js/ui/runDialog.js:71
|
||||
msgid "Enter a Command"
|
||||
msgstr "Ketikkan Perintah"
|
||||
|
||||
#: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:162
|
||||
#: ../js/ui/runDialog.js:111 ../js/ui/windowMenu.js:162
|
||||
msgid "Close"
|
||||
msgstr "Tutup"
|
||||
|
||||
#: ../js/ui/runDialog.js:281
|
||||
#: ../js/ui/runDialog.js:282
|
||||
msgid "Restarting…"
|
||||
msgstr "Memulai ulang..."
|
||||
|
||||
@@ -1071,11 +1116,11 @@ msgid "%d new notification"
|
||||
msgid_plural "%d new notifications"
|
||||
msgstr[0] "%d pemberitahuan baru"
|
||||
|
||||
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:374
|
||||
#: ../js/ui/screenShield.js:448 ../js/ui/status/system.js:382
|
||||
msgid "Lock"
|
||||
msgstr "Kunci"
|
||||
|
||||
#: ../js/ui/screenShield.js:684
|
||||
#: ../js/ui/screenShield.js:703
|
||||
msgid "GNOME needs to lock the screen"
|
||||
msgstr "GNOME perlu mengunci layar"
|
||||
|
||||
@@ -1086,11 +1131,11 @@ msgstr "GNOME perlu mengunci layar"
|
||||
#.
|
||||
#. XXX: another option is to kick the user into the gdm login
|
||||
#. screen, where we're not affected by grabs
|
||||
#: ../js/ui/screenShield.js:805 ../js/ui/screenShield.js:1271
|
||||
#: ../js/ui/screenShield.js:824 ../js/ui/screenShield.js:1290
|
||||
msgid "Unable to lock"
|
||||
msgstr "Tak bisa mengunci"
|
||||
|
||||
#: ../js/ui/screenShield.js:806 ../js/ui/screenShield.js:1272
|
||||
#: ../js/ui/screenShield.js:825 ../js/ui/screenShield.js:1291
|
||||
msgid "Lock was blocked by an application"
|
||||
msgstr "Kunci diblokir oleh suatu aplikasi"
|
||||
|
||||
@@ -1170,60 +1215,90 @@ msgstr "Kontras Tinggi"
|
||||
msgid "Large Text"
|
||||
msgstr "Teks Besar"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:178
|
||||
#: ../js/ui/status/bluetooth.js:47
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:56 ../js/ui/status/network.js:624
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Pengaturan Bluetooth"
|
||||
|
||||
#. Translators: this is the number of connected bluetooth devices
|
||||
#: ../js/ui/status/bluetooth.js:136
|
||||
#, javascript-format
|
||||
msgid "%d Connected"
|
||||
msgid_plural "%d Connected"
|
||||
msgstr[0] "%d Tersambung"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:138
|
||||
msgid "Off"
|
||||
msgstr "Mati"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:140
|
||||
msgid "Not In Use"
|
||||
msgstr "Tidak Dipakai"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:1279
|
||||
msgid "Turn On"
|
||||
msgstr "Nyalakan"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:178
|
||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
|
||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
|
||||
#: ../js/ui/status/rfkill.js:117
|
||||
msgid "Turn Off"
|
||||
msgstr "Matikan"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:54
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Pengaturan Bluetooth"
|
||||
|
||||
#. Translators: this is the number of connected bluetooth devices
|
||||
#: ../js/ui/status/bluetooth.js:105
|
||||
#, javascript-format
|
||||
msgid "%d Connected"
|
||||
msgid_plural "%d Connected"
|
||||
msgstr[0] "%d Tersambung"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:107
|
||||
msgid "Not In Use"
|
||||
msgstr "Tidak Dipakai"
|
||||
|
||||
#: ../js/ui/status/brightness.js:44
|
||||
msgid "Brightness"
|
||||
msgstr "Kecerahan"
|
||||
|
||||
#: ../js/ui/status/keyboard.js:736
|
||||
#: ../js/ui/status/keyboard.js:805
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "Tampilkan Tata Letak Papan Tik"
|
||||
|
||||
#: ../js/ui/status/location.js:71 ../js/ui/status/location.js:177
|
||||
#: ../js/ui/status/location.js:107 ../js/ui/status/location.js:215
|
||||
msgid "Location Enabled"
|
||||
msgstr "Lokasi Diaktifkan"
|
||||
|
||||
#: ../js/ui/status/location.js:72 ../js/ui/status/location.js:178
|
||||
#: ../js/ui/status/location.js:108 ../js/ui/status/location.js:216
|
||||
msgid "Disable"
|
||||
msgstr "Nonaktifkan"
|
||||
|
||||
#: ../js/ui/status/location.js:73
|
||||
#: ../js/ui/status/location.js:109
|
||||
msgid "Privacy Settings"
|
||||
msgstr "Pengaturan Privasi"
|
||||
|
||||
#: ../js/ui/status/location.js:176
|
||||
#: ../js/ui/status/location.js:214
|
||||
msgid "Location In Use"
|
||||
msgstr "Lokasi Sedang Digunakan"
|
||||
|
||||
#: ../js/ui/status/location.js:180
|
||||
#: ../js/ui/status/location.js:218
|
||||
msgid "Location Disabled"
|
||||
msgstr "Koneksi Dinonaktifkan"
|
||||
|
||||
#: ../js/ui/status/location.js:181
|
||||
#: ../js/ui/status/location.js:219
|
||||
msgid "Enable"
|
||||
msgstr "Fungsikan"
|
||||
|
||||
#: ../js/ui/status/location.js:426
|
||||
msgid "Deny Access"
|
||||
msgstr "Tolak Akses"
|
||||
|
||||
#: ../js/ui/status/location.js:429
|
||||
msgid "Grant Access"
|
||||
msgstr "Beri Akses"
|
||||
|
||||
#. Translators: %s is an application name
|
||||
#: ../js/ui/status/location.js:435
|
||||
#, javascript-format
|
||||
msgid "Give %s access to your location?"
|
||||
msgstr "Beri %s akses ke lokasi Anda?"
|
||||
|
||||
#: ../js/ui/status/location.js:437
|
||||
msgid "Location access can be changed at any time from the privacy settings."
|
||||
msgstr "Akses lokasi dapat diubah setiap saat dari pengaturan privasi."
|
||||
|
||||
#: ../js/ui/status/network.js:101
|
||||
msgid "<unknown>"
|
||||
msgstr "<tak dikenal>"
|
||||
@@ -1290,7 +1365,7 @@ msgstr "Koneksi %s Gagal"
|
||||
msgid "Wired Settings"
|
||||
msgstr "Pengaturan Kabel"
|
||||
|
||||
#: ../js/ui/status/network.js:545 ../js/ui/status/network.js:624
|
||||
#: ../js/ui/status/network.js:545
|
||||
msgid "Mobile Broadband Settings"
|
||||
msgstr "Pengaturan Data Seluler"
|
||||
|
||||
@@ -1308,8 +1383,8 @@ msgid "%s Disabled"
|
||||
msgstr "%s Dinonaktifkan"
|
||||
|
||||
#: ../js/ui/status/network.js:632
|
||||
msgid "Use as Internet connection"
|
||||
msgstr "Pakai sebagai koneksi Internet"
|
||||
msgid "Connect to Internet"
|
||||
msgstr "Sambungkan ke Internet"
|
||||
|
||||
#: ../js/ui/status/network.js:813
|
||||
msgid "Airplane Mode is On"
|
||||
@@ -1359,10 +1434,6 @@ msgstr "Pilih Jaringan"
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "Pengaturan Wi-Fi"
|
||||
|
||||
#: ../js/ui/status/network.js:1279
|
||||
msgid "Turn On"
|
||||
msgstr "Nyalakan"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: ../js/ui/status/network.js:1296
|
||||
#, javascript-format
|
||||
@@ -1412,32 +1483,37 @@ msgstr "Koneksi gagal"
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Aktivasi koneksi jaringan gagal"
|
||||
|
||||
#: ../js/ui/status/power.js:49
|
||||
#: ../js/ui/status/power.js:61
|
||||
msgid "Power Settings"
|
||||
msgstr "Pengaturan Daya"
|
||||
|
||||
#: ../js/ui/status/power.js:65
|
||||
#: ../js/ui/status/power.js:77
|
||||
msgid "Fully Charged"
|
||||
msgstr "Terisi Penuh"
|
||||
|
||||
#. 0 is reported when UPower does not have enough data
|
||||
#. to estimate battery life
|
||||
#: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78
|
||||
#: ../js/ui/status/power.js:84 ../js/ui/status/power.js:90
|
||||
msgid "Estimating…"
|
||||
msgstr "Memperkirakan…"
|
||||
|
||||
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
|
||||
#: ../js/ui/status/power.js:86
|
||||
#: ../js/ui/status/power.js:98
|
||||
#, javascript-format
|
||||
msgid "%d∶%02d Remaining (%d%%)"
|
||||
msgid "%d∶%02d Remaining (%d %%)"
|
||||
msgstr "%d:%02d Tersisa (%d%%)"
|
||||
|
||||
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
|
||||
#: ../js/ui/status/power.js:91
|
||||
#: ../js/ui/status/power.js:103
|
||||
#, javascript-format
|
||||
msgid "%d∶%02d Until Full (%d%%)"
|
||||
msgid "%d∶%02d Until Full (%d %%)"
|
||||
msgstr "%d:%02d Sampai Penuh (%d%%)"
|
||||
|
||||
#: ../js/ui/status/power.js:131 ../js/ui/status/power.js:133
|
||||
#, javascript-format
|
||||
msgid "%d %%"
|
||||
msgstr "%d %%"
|
||||
|
||||
#. The menu only appears when airplane mode is on, so just
|
||||
#. statically build it as if it was on, rather than dynamically
|
||||
#. changing the menu contents.
|
||||
@@ -1445,27 +1521,27 @@ msgstr "%d:%02d Sampai Penuh (%d%%)"
|
||||
msgid "Airplane Mode On"
|
||||
msgstr "Mode Pesawat Terbang Aktif"
|
||||
|
||||
#: ../js/ui/status/system.js:343
|
||||
#: ../js/ui/status/system.js:351
|
||||
msgid "Switch User"
|
||||
msgstr "Ganti Pengguna"
|
||||
|
||||
#: ../js/ui/status/system.js:348
|
||||
#: ../js/ui/status/system.js:356
|
||||
msgid "Log Out"
|
||||
msgstr "Keluar"
|
||||
|
||||
#: ../js/ui/status/system.js:353
|
||||
#: ../js/ui/status/system.js:361
|
||||
msgid "Account Settings"
|
||||
msgstr "Pengaturan Akun"
|
||||
|
||||
#: ../js/ui/status/system.js:370
|
||||
#: ../js/ui/status/system.js:378
|
||||
msgid "Orientation Lock"
|
||||
msgstr "Kunci Orientasi"
|
||||
|
||||
#: ../js/ui/status/system.js:378
|
||||
#: ../js/ui/status/system.js:386
|
||||
msgid "Suspend"
|
||||
msgstr "Suspensi"
|
||||
|
||||
#: ../js/ui/status/system.js:381
|
||||
#: ../js/ui/status/system.js:389
|
||||
msgid "Power Off"
|
||||
msgstr "Matikan"
|
||||
|
||||
@@ -1477,10 +1553,6 @@ msgstr "Volume diubah"
|
||||
msgid "Volume"
|
||||
msgstr "Volume"
|
||||
|
||||
#: ../js/ui/status/volume.js:213
|
||||
msgid "Microphone"
|
||||
msgstr "Mikrofon"
|
||||
|
||||
#: ../js/ui/unlockDialog.js:67
|
||||
msgid "Log in as another user"
|
||||
msgstr "Masuk sebagai pengguna lain"
|
||||
@@ -1600,7 +1672,7 @@ msgstr "Evolution Kalender"
|
||||
|
||||
#. translators:
|
||||
#. * The number of sound outputs on a particular device
|
||||
#: ../src/gvc/gvc-mixer-control.c:1835
|
||||
#: ../src/gvc/gvc-mixer-control.c:1873
|
||||
#, c-format
|
||||
msgid "%u Output"
|
||||
msgid_plural "%u Outputs"
|
||||
@@ -1608,13 +1680,13 @@ msgstr[0] "%u Keluaran"
|
||||
|
||||
#. translators:
|
||||
#. * The number of sound inputs on a particular device
|
||||
#: ../src/gvc/gvc-mixer-control.c:1845
|
||||
#: ../src/gvc/gvc-mixer-control.c:1883
|
||||
#, c-format
|
||||
msgid "%u Input"
|
||||
msgid_plural "%u Inputs"
|
||||
msgstr[0] "%u Masukan"
|
||||
|
||||
#: ../src/gvc/gvc-mixer-control.c:2371
|
||||
#: ../src/gvc/gvc-mixer-control.c:2738
|
||||
msgid "System Sounds"
|
||||
msgstr "Suara Sistem"
|
||||
|
||||
@@ -1644,14 +1716,14 @@ msgstr "Tak dikenal"
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Gagal meluncurkan \"%s\""
|
||||
|
||||
#: ../src/shell-keyring-prompt.c:742
|
||||
#: ../src/shell-keyring-prompt.c:730
|
||||
msgid "Passwords do not match."
|
||||
msgstr "Sandi tidak cocok."
|
||||
|
||||
#: ../src/shell-keyring-prompt.c:750
|
||||
#: ../src/shell-keyring-prompt.c:738
|
||||
msgid "Password cannot be blank"
|
||||
msgstr "Sandi tidak boleh kosong"
|
||||
|
||||
#: ../src/shell-polkit-authentication-agent.c:346
|
||||
#: ../src/shell-polkit-authentication-agent.c:353
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "Dialog otentikasi ditolak oleh pengguna"
|
||||
|
176
po/ja.po
176
po/ja.po
@@ -14,9 +14,10 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2016-03-11 22:17+0000\n"
|
||||
"PO-Revision-Date: 2016-03-12 14:12+0900\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2016-05-02 22:01+0000\n"
|
||||
"PO-Revision-Date: 2016-05-08 15:12+0900\n"
|
||||
"Last-Translator: Jiro Matsuzawa <jmatsuzawa@gnome.org>\n"
|
||||
"Language-Team: Japanese <gnome-translation@gnome.gr.jp>\n"
|
||||
"Language: ja\n"
|
||||
@@ -70,31 +71,51 @@ msgid "Enable internal tools useful for developers and testers from Alt-F2"
|
||||
msgstr "Alt-F2 から開発・テスト用の内部ツールを利用可能にする"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:2
|
||||
msgid "Allows access to internal debugging and monitoring tools using the Alt-F2 dialog."
|
||||
msgstr "Alt-F2 ダイアログを利用した内部のデバッグツールとモニターツールへのアクセスを許可します。"
|
||||
msgid ""
|
||||
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
|
||||
"dialog."
|
||||
msgstr ""
|
||||
"Alt-F2 ダイアログを利用した内部のデバッグツールとモニターツールへのアクセスを"
|
||||
"許可します。"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:3
|
||||
msgid "UUIDs of extensions to enable"
|
||||
msgstr "有効にする拡張機能の UUID"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:4
|
||||
msgid "GNOME Shell extensions have a UUID property; this key lists extensions which should be loaded. Any extension that wants to be loaded needs to be in this list. You can also manipulate this list with the EnableExtension and DisableExtension D-Bus methods on org.gnome.Shell."
|
||||
msgstr "GNOME Shell の拡張機能には UUID プロパティがあり、このキーは、ロードしたい拡張機能の UUID のリストです。ロードしたい拡張機能はこのリストに含めなければなりません。このリストは org.gnome.Shell の EnableExtensions や DisableExtensions といった DBus メソッドでも操作できます。"
|
||||
msgid ""
|
||||
"GNOME Shell extensions have a UUID property; this key lists extensions which "
|
||||
"should be loaded. Any extension that wants to be loaded needs to be in this "
|
||||
"list. You can also manipulate this list with the EnableExtension and "
|
||||
"DisableExtension D-Bus methods on org.gnome.Shell."
|
||||
msgstr ""
|
||||
"GNOME Shell の拡張機能には UUID プロパティがあり、このキーは、ロードしたい拡"
|
||||
"張機能の UUID のリストです。ロードしたい拡張機能はこのリストに含めなければな"
|
||||
"りません。このリストは org.gnome.Shell の EnableExtensions や "
|
||||
"DisableExtensions といった DBus メソッドでも操作できます。"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:5
|
||||
msgid "Disables the validation of extension version compatibility"
|
||||
msgstr "拡張機能のバージョン互換の検証を無効にする"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:6
|
||||
msgid "GNOME Shell will only load extensions that claim to support the current running version. Enabling this option will disable this check and try to load all extensions regardless of the versions they claim to support."
|
||||
msgstr "通常では、現在起動中の GNOME Shell のバージョンをサポートする拡張機能だけがロードされます。この設定を true にした場合、バージョンチェック機能が無効になり、拡張機能のサポートバージョンに関係なくすべての拡張機能をロードします。"
|
||||
msgid ""
|
||||
"GNOME Shell will only load extensions that claim to support the current "
|
||||
"running version. Enabling this option will disable this check and try to "
|
||||
"load all extensions regardless of the versions they claim to support."
|
||||
msgstr ""
|
||||
"通常では、現在起動中の GNOME Shell のバージョンをサポートする拡張機能だけが"
|
||||
"ロードされます。この設定を true にした場合、バージョンチェック機能が無効にな"
|
||||
"り、拡張機能のサポートバージョンに関係なくすべての拡張機能をロードします。"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:7
|
||||
msgid "List of desktop file IDs for favorite applications"
|
||||
msgstr "お気に入りのアプリケーションの .desktop ファイル ID の一覧"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:8
|
||||
msgid "The applications corresponding to these identifiers will be displayed in the favorites area."
|
||||
msgid ""
|
||||
"The applications corresponding to these identifiers will be displayed in the "
|
||||
"favorites area."
|
||||
msgstr "これらの ID で示されるアプリケーションは「お気に入り」に表示されます。"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:9
|
||||
@@ -119,24 +140,49 @@ msgid "Always show the 'Log out' menu item in the user menu."
|
||||
msgstr "ユーザーメニューに「ログアウト」を常に表示する"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
|
||||
msgid "This key overrides the automatic hiding of the 'Log out' menu item in single-user, single-session situations."
|
||||
msgstr "このキーは、単一ユーザー、単一セッション状況で「ログアウト」メニューアイテムを自動的に非表示にする機能よりも優先します。"
|
||||
msgid ""
|
||||
"This key overrides the automatic hiding of the 'Log out' menu item in single-"
|
||||
"user, single-session situations."
|
||||
msgstr ""
|
||||
"このキーは、単一ユーザー、単一セッション状況で「ログアウト」メニューアイテム"
|
||||
"を自動的に非表示にする機能よりも優先します。"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
|
||||
msgid "Whether to remember password for mounting encrypted or remote filesystems"
|
||||
msgstr "マウント対象の暗号化されたファイルシステムやリモートファイルシステムのパスワードを記憶する"
|
||||
msgid ""
|
||||
"Whether to remember password for mounting encrypted or remote filesystems"
|
||||
msgstr ""
|
||||
"マウント対象の暗号化されたファイルシステムやリモートファイルシステムのパス"
|
||||
"ワードを記憶する"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
|
||||
msgid "The shell will request a password when an encrypted device or a remote filesystem is mounted. If the password can be saved for future use a 'Remember Password' checkbox will be present. This key sets the default state of the checkbox."
|
||||
msgstr "GNOME Shell は、暗号化されたデバイスやリモートファイルシステムのマウント時にパスワードを要求します。パスワードを保存できる場合は、「パスワードを保存」チェックボックスが表示されます。このキーは、チェックボックスのデフォルト値となります。"
|
||||
msgid ""
|
||||
"The shell will request a password when an encrypted device or a remote "
|
||||
"filesystem is mounted. If the password can be saved for future use a "
|
||||
"'Remember Password' checkbox will be present. This key sets the default "
|
||||
"state of the checkbox."
|
||||
msgstr ""
|
||||
"GNOME Shell は、暗号化されたデバイスやリモートファイルシステムのマウント時に"
|
||||
"パスワードを要求します。パスワードを保存できる場合は、「パスワードを保存」"
|
||||
"チェックボックスが表示されます。このキーは、チェックボックスのデフォルト値と"
|
||||
"なります。"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
|
||||
msgid "Whether the default Bluetooth adapter had set up devices associated to it"
|
||||
msgstr "デフォルトの Bluetooth アダプターにデバイスが関連付けられているかどうか"
|
||||
msgid ""
|
||||
"Whether the default Bluetooth adapter had set up devices associated to it"
|
||||
msgstr ""
|
||||
"デフォルトの Bluetooth アダプターにデバイスが関連付けられているかどうか"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
|
||||
msgid "The shell will only show a Bluetooth menu item if a Bluetooth adapter is powered, or if there were devices set up associated with the default adapter. This will be reset if the default adapter is ever seen not to have devices associated to it."
|
||||
msgstr "Bluetooth アダプターの電源がオンになっているか、あるいはデフォルトのアダプターに関連付けられたデバイスがある場合にのみ、GNOME Shell は Bluetooth メニューを表示します。デフォルトのアダプターに関連付けられたデバイスがなくなった場合に、この値はリセットされます。"
|
||||
msgid ""
|
||||
"The shell will only show a Bluetooth menu item if a Bluetooth adapter is "
|
||||
"powered, or if there were devices set up associated with the default "
|
||||
"adapter. This will be reset if the default adapter is ever seen not to have "
|
||||
"devices associated to it."
|
||||
msgstr ""
|
||||
"Bluetooth アダプターの電源がオンになっているか、あるいはデフォルトのアダプ"
|
||||
"ターに関連付けられたデバイスがある場合にのみ、GNOME Shell は Bluetooth メ"
|
||||
"ニューを表示します。デフォルトのアダプターに関連付けられたデバイスがなくなっ"
|
||||
"た場合に、この値はリセットされます。"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
|
||||
msgid "Show the week date in the calendar"
|
||||
@@ -159,7 +205,8 @@ msgid "Keybinding to open the \"Show Applications\" view"
|
||||
msgstr "アプリケーション一覧を開くキーバインド"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
|
||||
msgid "Keybinding to open the \"Show Applications\" view of the Activities Overview."
|
||||
msgid ""
|
||||
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
|
||||
msgstr "アプリケーション一覧を開くキーバインドです。"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
|
||||
@@ -187,8 +234,10 @@ msgid "Keybinding to focus the active notification."
|
||||
msgstr "アクティブな通知にフォーカスを当てるキーバインドです。"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
|
||||
msgid "Keybinding that pauses and resumes all running tweens, for debugging purposes"
|
||||
msgstr "Tween の一時停止および再開を行うキーバインドです。デバッグ用途で使用します。"
|
||||
msgid ""
|
||||
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
|
||||
msgstr ""
|
||||
"Tween の一時停止および再開を行うキーバインドです。デバッグ用途で使用します。"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
|
||||
msgid "Which keyboard to use"
|
||||
@@ -203,28 +252,46 @@ msgid "Limit switcher to current workspace."
|
||||
msgstr "スイッチャーを現在のワークスペース内に制限する"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
||||
msgid "If true, only applications that have windows on the current workspace are shown in the switcher. Otherwise, all applications are included."
|
||||
msgstr "true に設定した場合、現在のワークスペースにウィンドウのあるアプリケーションだけをスイッチャーに表示します。false に設定した場合はすべてのアプリケーションを表示します。"
|
||||
msgid ""
|
||||
"If true, only applications that have windows on the current workspace are "
|
||||
"shown in the switcher. Otherwise, all applications are included."
|
||||
msgstr ""
|
||||
"true に設定した場合、現在のワークスペースにウィンドウのあるアプリケーションだ"
|
||||
"けをスイッチャーに表示します。false に設定した場合はすべてのアプリケーション"
|
||||
"を表示します。"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
||||
msgid "The application icon mode."
|
||||
msgstr "アプリケーションアイコンモード"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||
msgid "Configures how the windows are shown in the switcher. Valid possibilities are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-only' (shows only the application icon) or 'both'."
|
||||
msgstr "ウィンドウスイッチャーでのウィンドウの表示方法を設定します。指定可能な値は、'thumbnail-only' (ウィンドウのサムネイルを表示します)、'app-icon-only' (アプリケーションアイコンを表示します)、あるいは 'both' です。"
|
||||
msgid ""
|
||||
"Configures how the windows are shown in the switcher. Valid possibilities "
|
||||
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
|
||||
"only' (shows only the application icon) or 'both'."
|
||||
msgstr ""
|
||||
"ウィンドウスイッチャーでのウィンドウの表示方法を設定します。指定可能な値"
|
||||
"は、'thumbnail-only' (ウィンドウのサムネイルを表示します)、'app-icon-"
|
||||
"only' (アプリケーションアイコンを表示します)、あるいは 'both' です。"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
|
||||
msgid "If true, only windows from the current workspace are shown in the switcher. Otherwise, all windows are included."
|
||||
msgstr "true に設定した場合、現在のワークスペースのウィンドウだけをスイッチャーに表示します。false に設定した場合はすべてのアプリケーションを表示します。"
|
||||
msgid ""
|
||||
"If true, only windows from the current workspace are shown in the switcher. "
|
||||
"Otherwise, all windows are included."
|
||||
msgstr ""
|
||||
"true に設定した場合、現在のワークスペースのウィンドウだけをスイッチャーに表示"
|
||||
"します。false に設定した場合はすべてのアプリケーションを表示します。"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "モーダルダイアログを親ウィンドウに結び付ける"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
|
||||
msgid "This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr "GNOME Shell 使用時は、 このキーが、org.gnome.mutter の同じキーよりも優先します。"
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr ""
|
||||
"GNOME Shell 使用時は、 このキーが、org.gnome.mutter の同じキーよりも優先しま"
|
||||
"す。"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
@@ -478,7 +545,7 @@ msgstr "背景の変更…"
|
||||
msgid "Display Settings"
|
||||
msgstr "ディスプレイ設定"
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
|
||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:371
|
||||
msgid "Settings"
|
||||
msgstr "設定"
|
||||
|
||||
@@ -646,8 +713,12 @@ msgstr "無線ネットワークでは認証が要求されます"
|
||||
#: ../js/ui/components/networkAgent.js:321
|
||||
#: ../js/ui/components/networkAgent.js:659
|
||||
#, javascript-format
|
||||
msgid "Passwords or encryption keys are required to access the wireless network “%s”."
|
||||
msgstr "無線ネットワーク ”%s” にアクセスするにはパスワードか、または暗号化キーが必要です。"
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
"“%s”."
|
||||
msgstr ""
|
||||
"無線ネットワーク ”%s” にアクセスするにはパスワードか、または暗号化キーが必要"
|
||||
"です。"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:325
|
||||
#: ../js/ui/components/networkAgent.js:662
|
||||
@@ -716,7 +787,7 @@ msgstr "申し訳ありません、認証できませんでした。再試行し
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#: ../js/ui/components/telepathyClient.js:759
|
||||
#: ../js/ui/components/telepathyClient.js:760
|
||||
#, javascript-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "%s は %s になりました"
|
||||
@@ -836,7 +907,8 @@ msgstr "再起動して更新をインストールする"
|
||||
#: ../js/ui/endSessionDialog.js:121
|
||||
#, javascript-format
|
||||
msgid "The system will automatically restart and install updates in %d second."
|
||||
msgid_plural "The system will automatically restart and install updates in %d seconds."
|
||||
msgid_plural ""
|
||||
"The system will automatically restart and install updates in %d seconds."
|
||||
msgstr[0] "%d 秒後にシステムを再起動して更新をインストールします。"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:127
|
||||
@@ -856,7 +928,8 @@ msgstr "更新をインストール後電源をオフにする"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:338
|
||||
msgid "Running on battery power: please plug in before installing updates."
|
||||
msgstr "バッテリーで動作中です: 更新をインストールする前に電源に接続してください。"
|
||||
msgstr ""
|
||||
"バッテリーで動作中です: 更新をインストールする前に電源に接続してください。"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:355
|
||||
msgid "Some applications are busy or have unsaved work."
|
||||
@@ -924,7 +997,7 @@ msgstr "有効"
|
||||
|
||||
#. translators:
|
||||
#. * The device has been disabled
|
||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
|
||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1866
|
||||
msgid "Disabled"
|
||||
msgstr "無効"
|
||||
|
||||
@@ -1042,7 +1115,7 @@ msgid "%d new notification"
|
||||
msgid_plural "%d new notifications"
|
||||
msgstr[0] "%d 件の新しい通知"
|
||||
|
||||
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:374
|
||||
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:379
|
||||
msgid "Lock"
|
||||
msgstr "ロック"
|
||||
|
||||
@@ -1223,7 +1296,8 @@ msgstr "%s が現在の位置情報を取得することを許可しますか?"
|
||||
|
||||
#: ../js/ui/status/location.js:437
|
||||
msgid "Location access can be changed at any time from the privacy settings."
|
||||
msgstr "位置情報のアクセス許可設定は、プライバシー設定からいつでも変更できます。"
|
||||
msgstr ""
|
||||
"位置情報のアクセス許可設定は、プライバシー設定からいつでも変更できます。"
|
||||
|
||||
#: ../js/ui/status/network.js:101
|
||||
msgid "<unknown>"
|
||||
@@ -1447,27 +1521,27 @@ msgstr "%d %%"
|
||||
msgid "Airplane Mode On"
|
||||
msgstr "機内モードオン"
|
||||
|
||||
#: ../js/ui/status/system.js:343
|
||||
#: ../js/ui/status/system.js:348
|
||||
msgid "Switch User"
|
||||
msgstr "ユーザーの切り替え"
|
||||
|
||||
#: ../js/ui/status/system.js:348
|
||||
#: ../js/ui/status/system.js:353
|
||||
msgid "Log Out"
|
||||
msgstr "ログアウト"
|
||||
|
||||
#: ../js/ui/status/system.js:353
|
||||
#: ../js/ui/status/system.js:358
|
||||
msgid "Account Settings"
|
||||
msgstr "アカウント設定"
|
||||
|
||||
#: ../js/ui/status/system.js:370
|
||||
#: ../js/ui/status/system.js:375
|
||||
msgid "Orientation Lock"
|
||||
msgstr "画面方向ロック"
|
||||
|
||||
#: ../js/ui/status/system.js:378
|
||||
#: ../js/ui/status/system.js:383
|
||||
msgid "Suspend"
|
||||
msgstr "サスペンド"
|
||||
|
||||
#: ../js/ui/status/system.js:381
|
||||
#: ../js/ui/status/system.js:386
|
||||
msgid "Power Off"
|
||||
msgstr "電源オフ"
|
||||
|
||||
@@ -1554,11 +1628,11 @@ msgstr "画面上でタイトルバーを移動する"
|
||||
|
||||
#: ../js/ui/windowMenu.js:70
|
||||
msgid "Always on Top"
|
||||
msgstr "最前面に配置する"
|
||||
msgstr "最前面に維持する"
|
||||
|
||||
#: ../js/ui/windowMenu.js:89
|
||||
msgid "Always on Visible Workspace"
|
||||
msgstr "すべてのワークスペースに配置する"
|
||||
msgstr "すべてのワークスペースに表示する"
|
||||
|
||||
#: ../js/ui/windowMenu.js:105
|
||||
msgid "Move to Workspace Left"
|
||||
@@ -1598,7 +1672,7 @@ msgstr "Evolution カレンダー"
|
||||
|
||||
#. translators:
|
||||
#. * The number of sound outputs on a particular device
|
||||
#: ../src/gvc/gvc-mixer-control.c:1835
|
||||
#: ../src/gvc/gvc-mixer-control.c:1873
|
||||
#, c-format
|
||||
msgid "%u Output"
|
||||
msgid_plural "%u Outputs"
|
||||
@@ -1606,13 +1680,13 @@ msgstr[0] "出力数: %u"
|
||||
|
||||
#. translators:
|
||||
#. * The number of sound inputs on a particular device
|
||||
#: ../src/gvc/gvc-mixer-control.c:1845
|
||||
#: ../src/gvc/gvc-mixer-control.c:1883
|
||||
#, c-format
|
||||
msgid "%u Input"
|
||||
msgid_plural "%u Inputs"
|
||||
msgstr[0] "入力数: %u"
|
||||
|
||||
#: ../src/gvc/gvc-mixer-control.c:2371
|
||||
#: ../src/gvc/gvc-mixer-control.c:2738
|
||||
msgid "System Sounds"
|
||||
msgstr "システムのサウンド"
|
||||
|
||||
|
157
po/nb.po
157
po/nb.po
@@ -9,8 +9,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell 3.19.x\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-01-07 22:59+0100\n"
|
||||
"PO-Revision-Date: 2016-01-07 22:59+0100\n"
|
||||
"POT-Creation-Date: 2016-05-01 14:12+0200\n"
|
||||
"PO-Revision-Date: 2016-05-01 14:21+0200\n"
|
||||
"Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
|
||||
"Language-Team: Norwegian bokmål <i18n-nb@lister.ping.uio.no>\n"
|
||||
"Language: Norwegian bokmål\n"
|
||||
@@ -305,33 +305,34 @@ msgstr "Utsett fokusendringer i musmodus til peker slutter å bevege seg"
|
||||
msgid "Network Login"
|
||||
msgstr "Nettverkspålogging"
|
||||
|
||||
#: ../js/extensionPrefs/main.js:122
|
||||
#: ../js/extensionPrefs/main.js:117
|
||||
#, javascript-format
|
||||
msgid "There was an error loading the preferences dialog for %s:"
|
||||
msgstr "Det oppsto en feil ved lasting av brukervalgdialog for %s:"
|
||||
|
||||
#: ../js/extensionPrefs/main.js:154
|
||||
#: ../js/extensionPrefs/main.js:149
|
||||
msgid "GNOME Shell Extensions"
|
||||
msgstr "Utvidelser for GNOME Shell"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:145
|
||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/audioDeviceSelection.js:71
|
||||
#: ../js/ui/components/networkAgent.js:145
|
||||
#: ../js/ui/components/polkitAgent.js:179 ../js/ui/endSessionDialog.js:452
|
||||
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
|
||||
#: ../js/ui/status/network.js:916
|
||||
msgid "Cancel"
|
||||
msgstr "Avbryt"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215
|
||||
#: ../js/gdm/authPrompt.js:447
|
||||
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:216
|
||||
#: ../js/gdm/authPrompt.js:448
|
||||
msgid "Next"
|
||||
msgstr "Neste"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:211 ../js/ui/shellMountOperation.js:403
|
||||
#: ../js/gdm/authPrompt.js:212 ../js/ui/shellMountOperation.js:403
|
||||
#: ../js/ui/unlockDialog.js:59
|
||||
msgid "Unlock"
|
||||
msgstr "Lås opp"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:213
|
||||
#: ../js/gdm/authPrompt.js:214
|
||||
msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "Logg inn"
|
||||
@@ -498,16 +499,36 @@ msgstr "Legg til i favoritter"
|
||||
msgid "Show Details"
|
||||
msgstr "Vis detaljer"
|
||||
|
||||
#: ../js/ui/appFavorites.js:133
|
||||
#: ../js/ui/appFavorites.js:134
|
||||
#, javascript-format
|
||||
msgid "%s has been added to your favorites."
|
||||
msgstr "%s ble lagt til i favoritter."
|
||||
|
||||
#: ../js/ui/appFavorites.js:167
|
||||
#: ../js/ui/appFavorites.js:168
|
||||
#, javascript-format
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "%s ble fjernet fra favoritter."
|
||||
|
||||
#: ../js/ui/audioDeviceSelection.js:59
|
||||
msgid "Select Audio Device"
|
||||
msgstr "Velg lydenhet"
|
||||
|
||||
#: ../js/ui/audioDeviceSelection.js:69
|
||||
msgid "Sound Settings"
|
||||
msgstr "Innstillinger for lyd"
|
||||
|
||||
#: ../js/ui/audioDeviceSelection.js:78
|
||||
msgid "Headphones"
|
||||
msgstr "Hodetelefoner"
|
||||
|
||||
#: ../js/ui/audioDeviceSelection.js:80
|
||||
msgid "Headset"
|
||||
msgstr "Headset"
|
||||
|
||||
#: ../js/ui/audioDeviceSelection.js:82 ../js/ui/status/volume.js:213
|
||||
msgid "Microphone"
|
||||
msgstr "Mikrofon"
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:19
|
||||
msgid "Change Background…"
|
||||
msgstr "Bytt bakgrunn …"
|
||||
@@ -516,12 +537,12 @@ msgstr "Bytt bakgrunn …"
|
||||
msgid "Display Settings"
|
||||
msgstr "Innstillinger for skjerm"
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
|
||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:371
|
||||
msgid "Settings"
|
||||
msgstr "Innstillinger"
|
||||
|
||||
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday).
|
||||
#: ../js/ui/calendar.js:55
|
||||
#: ../js/ui/calendar.js:47
|
||||
msgctxt "calendar-no-work"
|
||||
msgid "06"
|
||||
msgstr "06"
|
||||
@@ -531,100 +552,96 @@ msgstr "06"
|
||||
#. * NOTE: These grid abbreviations are always shown together
|
||||
#. * and in order, e.g. "S M T W T F S".
|
||||
#.
|
||||
#: ../js/ui/calendar.js:84
|
||||
#: ../js/ui/calendar.js:76
|
||||
msgctxt "grid sunday"
|
||||
msgid "S"
|
||||
msgstr "S"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Monday
|
||||
#: ../js/ui/calendar.js:86
|
||||
#: ../js/ui/calendar.js:78
|
||||
msgctxt "grid monday"
|
||||
msgid "M"
|
||||
msgstr "M"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Tuesday
|
||||
#: ../js/ui/calendar.js:88
|
||||
#: ../js/ui/calendar.js:80
|
||||
msgctxt "grid tuesday"
|
||||
msgid "T"
|
||||
msgstr "T"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Wednesday
|
||||
#: ../js/ui/calendar.js:90
|
||||
#: ../js/ui/calendar.js:82
|
||||
msgctxt "grid wednesday"
|
||||
msgid "W"
|
||||
msgstr "O"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Thursday
|
||||
#: ../js/ui/calendar.js:92
|
||||
#: ../js/ui/calendar.js:84
|
||||
msgctxt "grid thursday"
|
||||
msgid "T"
|
||||
msgstr "T"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Friday
|
||||
#: ../js/ui/calendar.js:94
|
||||
#: ../js/ui/calendar.js:86
|
||||
msgctxt "grid friday"
|
||||
msgid "F"
|
||||
msgstr "F"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Saturday
|
||||
#: ../js/ui/calendar.js:96
|
||||
#: ../js/ui/calendar.js:88
|
||||
msgctxt "grid saturday"
|
||||
msgid "S"
|
||||
msgstr "L"
|
||||
|
||||
#: ../js/ui/calendar.js:566
|
||||
#: ../js/ui/calendar.js:416
|
||||
msgid "Previous month"
|
||||
msgstr "Forrige måned"
|
||||
|
||||
#: ../js/ui/calendar.js:576
|
||||
#: ../js/ui/calendar.js:426
|
||||
msgid "Next month"
|
||||
msgstr "Neste måned"
|
||||
|
||||
#: ../js/ui/calendar.js:729
|
||||
#: ../js/ui/calendar.js:579
|
||||
#, no-javascript-format
|
||||
msgctxt "date day number format"
|
||||
msgid "%d"
|
||||
msgstr "%d"
|
||||
|
||||
#: ../js/ui/calendar.js:784
|
||||
#: ../js/ui/calendar.js:634
|
||||
msgid "Week %V"
|
||||
msgstr "Uke %V"
|
||||
|
||||
#. Translators: Shown in calendar event list for all day events
|
||||
#. * Keep it short, best if you can use less then 10 characters
|
||||
#.
|
||||
#: ../js/ui/calendar.js:1189
|
||||
#: ../js/ui/calendar.js:695
|
||||
msgctxt "event list time"
|
||||
msgid "All Day"
|
||||
msgstr "Hele dagen"
|
||||
|
||||
#: ../js/ui/calendar.js:1296
|
||||
msgid "Clear section"
|
||||
msgstr "Tøm seksjon"
|
||||
|
||||
#: ../js/ui/calendar.js:1523
|
||||
#: ../js/ui/calendar.js:821
|
||||
msgid "Events"
|
||||
msgstr "Hendelser"
|
||||
|
||||
#: ../js/ui/calendar.js:1532
|
||||
#: ../js/ui/calendar.js:830
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A %B %d"
|
||||
|
||||
#: ../js/ui/calendar.js:1536
|
||||
#: ../js/ui/calendar.js:834
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%A %B %d, %Y"
|
||||
|
||||
#: ../js/ui/calendar.js:1621
|
||||
#: ../js/ui/calendar.js:919
|
||||
msgid "Notifications"
|
||||
msgstr "Varslinger"
|
||||
|
||||
#: ../js/ui/calendar.js:1772
|
||||
#: ../js/ui/calendar.js:1070
|
||||
msgid "No Notifications"
|
||||
msgstr "Ingen varslinger"
|
||||
|
||||
#: ../js/ui/calendar.js:1775
|
||||
#: ../js/ui/calendar.js:1073
|
||||
msgid "No Events"
|
||||
msgstr "Ingen hendelser"
|
||||
|
||||
@@ -762,7 +779,7 @@ msgstr "Beklager, det virket ikke. Prøv igjen."
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#: ../js/ui/components/telepathyClient.js:759
|
||||
#: ../js/ui/components/telepathyClient.js:760
|
||||
#, javascript-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "%s er nå kjent som %s"
|
||||
@@ -949,11 +966,11 @@ msgid "Keyboard"
|
||||
msgstr "Tastatur"
|
||||
|
||||
#. translators: 'Hide' is a verb
|
||||
#: ../js/ui/legacyTray.js:66
|
||||
#: ../js/ui/legacyTray.js:65
|
||||
msgid "Hide tray"
|
||||
msgstr "Skjul statusområde"
|
||||
|
||||
#: ../js/ui/legacyTray.js:107
|
||||
#: ../js/ui/legacyTray.js:106
|
||||
msgid "Status Icons"
|
||||
msgstr "Statusikoner"
|
||||
|
||||
@@ -1005,10 +1022,26 @@ msgstr "Vis kildekode"
|
||||
msgid "Web Page"
|
||||
msgstr "Nettside"
|
||||
|
||||
#: ../js/ui/messageList.js:543
|
||||
msgid "Clear section"
|
||||
msgstr "Tøm seksjon"
|
||||
|
||||
#: ../js/ui/messageTray.js:1486
|
||||
msgid "System Information"
|
||||
msgstr "Systeminformasjon"
|
||||
|
||||
#: ../js/ui/mpris.js:194
|
||||
msgid "Unknown artist"
|
||||
msgstr "Ukjent artist"
|
||||
|
||||
#: ../js/ui/mpris.js:195
|
||||
msgid "Unknown title"
|
||||
msgstr "Ukjent tittel"
|
||||
|
||||
#: ../js/ui/mpris.js:217
|
||||
msgid "Media"
|
||||
msgstr "Media"
|
||||
|
||||
#: ../js/ui/overview.js:84
|
||||
msgid "Undo"
|
||||
msgstr "Angre"
|
||||
@@ -1085,7 +1118,7 @@ msgid_plural "%d new notifications"
|
||||
msgstr[0] "%d ny varsling"
|
||||
msgstr[1] "%d nye varslinger"
|
||||
|
||||
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:374
|
||||
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:379
|
||||
msgid "Lock"
|
||||
msgstr "Lås"
|
||||
|
||||
@@ -1227,30 +1260,48 @@ msgstr "Lysstyrke"
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "Vis tastaturutforming"
|
||||
|
||||
#: ../js/ui/status/location.js:71 ../js/ui/status/location.js:177
|
||||
#: ../js/ui/status/location.js:107 ../js/ui/status/location.js:215
|
||||
msgid "Location Enabled"
|
||||
msgstr "Plassering slått på"
|
||||
|
||||
#: ../js/ui/status/location.js:72 ../js/ui/status/location.js:178
|
||||
#: ../js/ui/status/location.js:108 ../js/ui/status/location.js:216
|
||||
msgid "Disable"
|
||||
msgstr "Slå av"
|
||||
|
||||
#: ../js/ui/status/location.js:73
|
||||
#: ../js/ui/status/location.js:109
|
||||
msgid "Privacy Settings"
|
||||
msgstr "Innstillinger for personvern"
|
||||
|
||||
#: ../js/ui/status/location.js:176
|
||||
#: ../js/ui/status/location.js:214
|
||||
msgid "Location In Use"
|
||||
msgstr "Plassering i bruk"
|
||||
|
||||
#: ../js/ui/status/location.js:180
|
||||
#: ../js/ui/status/location.js:218
|
||||
msgid "Location Disabled"
|
||||
msgstr "Plassering slått av"
|
||||
|
||||
#: ../js/ui/status/location.js:181
|
||||
#: ../js/ui/status/location.js:219
|
||||
msgid "Enable"
|
||||
msgstr "Slå på"
|
||||
|
||||
#: ../js/ui/status/location.js:426
|
||||
msgid "Deny Access"
|
||||
msgstr "Nekt tilgang"
|
||||
|
||||
#: ../js/ui/status/location.js:429
|
||||
msgid "Grant Access"
|
||||
msgstr "Gi tilgang"
|
||||
|
||||
#. Translators: %s is an application name
|
||||
#: ../js/ui/status/location.js:435
|
||||
#, javascript-format
|
||||
msgid "Give %s access to your location?"
|
||||
msgstr "Gi %s tilgang til din plassering?"
|
||||
|
||||
#: ../js/ui/status/location.js:437
|
||||
msgid "Location access can be changed at any time from the privacy settings."
|
||||
msgstr "Tilgang til plassering kan endres når som helst fra innstillinger for personvern."
|
||||
|
||||
#: ../js/ui/status/network.js:101
|
||||
msgid "<unknown>"
|
||||
msgstr "<ukjent>"
|
||||
@@ -1473,27 +1524,27 @@ msgstr "%d %%"
|
||||
msgid "Airplane Mode On"
|
||||
msgstr "Flymodus er slått på"
|
||||
|
||||
#: ../js/ui/status/system.js:343
|
||||
#: ../js/ui/status/system.js:348
|
||||
msgid "Switch User"
|
||||
msgstr "Bytt bruker"
|
||||
|
||||
#: ../js/ui/status/system.js:348
|
||||
#: ../js/ui/status/system.js:353
|
||||
msgid "Log Out"
|
||||
msgstr "Logg ut"
|
||||
|
||||
#: ../js/ui/status/system.js:353
|
||||
#: ../js/ui/status/system.js:358
|
||||
msgid "Account Settings"
|
||||
msgstr "Innstillinger for konto"
|
||||
|
||||
#: ../js/ui/status/system.js:370
|
||||
#: ../js/ui/status/system.js:375
|
||||
msgid "Orientation Lock"
|
||||
msgstr "Lås for orientering"
|
||||
|
||||
#: ../js/ui/status/system.js:378
|
||||
#: ../js/ui/status/system.js:383
|
||||
msgid "Suspend"
|
||||
msgstr "Hvilemodus"
|
||||
|
||||
#: ../js/ui/status/system.js:381
|
||||
#: ../js/ui/status/system.js:386
|
||||
msgid "Power Off"
|
||||
msgstr "Slå av"
|
||||
|
||||
@@ -1505,10 +1556,6 @@ msgstr "Volum endret"
|
||||
msgid "Volume"
|
||||
msgstr "Volum"
|
||||
|
||||
#: ../js/ui/status/volume.js:213
|
||||
msgid "Microphone"
|
||||
msgstr "Mikrofon"
|
||||
|
||||
#: ../js/ui/unlockDialog.js:67
|
||||
msgid "Log in as another user"
|
||||
msgstr "Logg inn som en annen bruker"
|
||||
|
49
po/pl.po
49
po/pl.po
@@ -12,8 +12,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-03-10 17:25+0100\n"
|
||||
"PO-Revision-Date: 2016-03-10 17:27+0100\n"
|
||||
"POT-Creation-Date: 2016-07-12 21:20+0200\n"
|
||||
"PO-Revision-Date: 2016-07-12 21:21+0200\n"
|
||||
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
|
||||
"Language-Team: Polish <gnomepl@aviary.pl>\n"
|
||||
"Language: pl\n"
|
||||
@@ -325,13 +325,13 @@ msgstr ""
|
||||
msgid "Network Login"
|
||||
msgstr "Logowanie do sieci"
|
||||
|
||||
#: ../js/extensionPrefs/main.js:121
|
||||
#: ../js/extensionPrefs/main.js:117
|
||||
#, javascript-format
|
||||
msgid "There was an error loading the preferences dialog for %s:"
|
||||
msgstr ""
|
||||
"Wystąpił błąd podczas wczytywania okna preferencji dla rozszerzenia „%s”:"
|
||||
|
||||
#: ../js/extensionPrefs/main.js:153
|
||||
#: ../js/extensionPrefs/main.js:149
|
||||
msgid "GNOME Shell Extensions"
|
||||
msgstr "Rozszerzenia powłoki GNOME"
|
||||
|
||||
@@ -558,7 +558,7 @@ msgstr "Zmień tło…"
|
||||
msgid "Display Settings"
|
||||
msgstr "Ustawienia ekranu"
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
|
||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:371
|
||||
msgid "Settings"
|
||||
msgstr "Ustawienia"
|
||||
|
||||
@@ -800,7 +800,7 @@ msgstr "To nie zadziałało. Proszę spróbować ponownie."
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#: ../js/ui/components/telepathyClient.js:759
|
||||
#: ../js/ui/components/telepathyClient.js:760
|
||||
#, javascript-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "Użytkownik %s jest teraz znany jako %s"
|
||||
@@ -1025,7 +1025,7 @@ msgstr "Włączone"
|
||||
|
||||
#. translators:
|
||||
#. * The device has been disabled
|
||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
|
||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1866
|
||||
msgid "Disabled"
|
||||
msgstr "Wyłączone"
|
||||
|
||||
@@ -1115,7 +1115,7 @@ msgstr "toggle-switch-intl"
|
||||
|
||||
#: ../js/ui/runDialog.js:71
|
||||
msgid "Enter a Command"
|
||||
msgstr "Proszę wprowadzić polecenie"
|
||||
msgstr "Proszę wprowadzić polecenie:"
|
||||
|
||||
#: ../js/ui/runDialog.js:111 ../js/ui/windowMenu.js:162
|
||||
msgid "Close"
|
||||
@@ -1147,7 +1147,7 @@ msgstr[0] "%d nowe powiadomienie"
|
||||
msgstr[1] "%d nowe powiadomienia"
|
||||
msgstr[2] "%d nowych powiadomień"
|
||||
|
||||
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:374
|
||||
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:379
|
||||
msgid "Lock"
|
||||
msgstr "Zablokuj ekran"
|
||||
|
||||
@@ -1555,27 +1555,27 @@ msgstr "%d%%"
|
||||
msgid "Airplane Mode On"
|
||||
msgstr "Włączono tryb samolotowy"
|
||||
|
||||
#: ../js/ui/status/system.js:343
|
||||
#: ../js/ui/status/system.js:348
|
||||
msgid "Switch User"
|
||||
msgstr "Przełącz użytkownika"
|
||||
|
||||
#: ../js/ui/status/system.js:348
|
||||
#: ../js/ui/status/system.js:353
|
||||
msgid "Log Out"
|
||||
msgstr "Wyloguj się"
|
||||
|
||||
#: ../js/ui/status/system.js:353
|
||||
#: ../js/ui/status/system.js:358
|
||||
msgid "Account Settings"
|
||||
msgstr "Ustawienia konta"
|
||||
|
||||
#: ../js/ui/status/system.js:370
|
||||
#: ../js/ui/status/system.js:375
|
||||
msgid "Orientation Lock"
|
||||
msgstr "Blokada orientacji"
|
||||
|
||||
#: ../js/ui/status/system.js:378
|
||||
#: ../js/ui/status/system.js:383
|
||||
msgid "Suspend"
|
||||
msgstr "Uśpij"
|
||||
|
||||
#: ../js/ui/status/system.js:381
|
||||
#: ../js/ui/status/system.js:386
|
||||
msgid "Power Off"
|
||||
msgstr "Wyłącz komputer"
|
||||
|
||||
@@ -1708,7 +1708,7 @@ msgstr "Kalendarz programu Evolution"
|
||||
|
||||
#. translators:
|
||||
#. * The number of sound outputs on a particular device
|
||||
#: ../src/gvc/gvc-mixer-control.c:1835
|
||||
#: ../src/gvc/gvc-mixer-control.c:1873
|
||||
#, c-format
|
||||
msgid "%u Output"
|
||||
msgid_plural "%u Outputs"
|
||||
@@ -1718,7 +1718,7 @@ msgstr[2] "%u wyjść"
|
||||
|
||||
#. translators:
|
||||
#. * The number of sound inputs on a particular device
|
||||
#: ../src/gvc/gvc-mixer-control.c:1845
|
||||
#: ../src/gvc/gvc-mixer-control.c:1883
|
||||
#, c-format
|
||||
msgid "%u Input"
|
||||
msgid_plural "%u Inputs"
|
||||
@@ -1726,7 +1726,7 @@ msgstr[0] "%u wejście"
|
||||
msgstr[1] "%u wejścia"
|
||||
msgstr[2] "%u wejść"
|
||||
|
||||
#: ../src/gvc/gvc-mixer-control.c:2371
|
||||
#: ../src/gvc/gvc-mixer-control.c:2738
|
||||
msgid "System Sounds"
|
||||
msgstr "Dźwięki systemowe"
|
||||
|
||||
@@ -1767,3 +1767,16 @@ msgstr "Hasło nie może być puste"
|
||||
#: ../src/shell-polkit-authentication-agent.c:353
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "Okno dialogowe uwierzytelnienia zostało odrzucone przez użytkownika"
|
||||
|
||||
msgctxt "title"
|
||||
msgid "Restart & Install Upgrade"
|
||||
msgstr "Ponowne uruchomienie i instalacja aktualizacji"
|
||||
|
||||
msgid ""
|
||||
"%s %s will be installed after restart. Upgrade installation can take a "
|
||||
"long time: ensure that you have backed up and that the computer is "
|
||||
"plugged in."
|
||||
msgstr ""
|
||||
"System %s %s zostanie zainstalowany po ponownym uruchomieniu. Instalacja "
|
||||
"aktualizacji może zająć dużo czasu. Proszę się upewnić, że wykonano kopię "
|
||||
"zapasową danych i podłączono komputer do prądu."
|
||||
|
275
po/pt.po
275
po/pt.po
@@ -4,24 +4,26 @@
|
||||
# Duarte Loreto <happyguy_pt@hotmail.com>, 2010, 2011, 2012, 2013, 2014.
|
||||
# Rui Gouveia <rui.gouveia@gmail.com>, 2011.
|
||||
# António Lima <amrlima@gmail.com>, 2013.
|
||||
# Tiago S. <almosthumane@portugalmail.pt>, 2014.
|
||||
# Tiago Santos <tiagofsantos81@sapo.pt>, 2014 - 2016.
|
||||
# Bruno Ramalhete <bram.512@gmail.com>, 2015.
|
||||
# Pedro Albuquerque <palbuquerque73@gmail.com>, 2014, 2015.
|
||||
# Sérgio Cardeira <cardeira dot sergio at gmail dot com>, 2016.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: 3.14\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2015-11-20 22:14+0000\n"
|
||||
"PO-Revision-Date: 2015-11-21 09:02+0100\n"
|
||||
"Last-Translator: Pedro Albuquerque <palbuquerque73@gmail.com>\n"
|
||||
"Language-Team: Pedro Albuquerque\n"
|
||||
"POT-Creation-Date: 2016-05-27 14:08+0000\n"
|
||||
"PO-Revision-Date: 2016-05-30 15:30+0100\n"
|
||||
"Last-Translator: Tiago Santos <tiagofsantos81@sapo.pt>\n"
|
||||
"Language-Team: Português <>\n"
|
||||
"Language: pt\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Virtaal 0.7.1\n"
|
||||
"X-Generator: Poedit 1.5.4\n"
|
||||
"X-Project-Style: gnome\n"
|
||||
"X-Language: pt_PT\n"
|
||||
"X-Source-Language: C\n"
|
||||
@@ -191,77 +193,69 @@ msgstr ""
|
||||
"predefinido não tem dispositivos associados a ele."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
|
||||
msgid "Show the week date in the calendar"
|
||||
msgstr "Mostrar o número da semana no calendário"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
|
||||
msgid "If true, display the ISO week date in the calendar."
|
||||
msgstr "Se verdadeiro, mostra o número ISO da semana no calendário."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
|
||||
msgid "Keybinding to open the application menu"
|
||||
msgstr "Atalho de teclado para abrir o menu de aplicações"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
|
||||
msgid "Keybinding to open the application menu."
|
||||
msgstr "Atalho de teclado para abrir o menu de aplicações."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
|
||||
msgid "Keybinding to open the \"Show Applications\" view"
|
||||
msgstr "Atalho de teclado para abrir a vista \"Mostrar aplicações\""
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
|
||||
msgid ""
|
||||
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
|
||||
msgstr ""
|
||||
"Atalho de teclado para abrir a vista \"Mostrar aplicações\" da vista geral "
|
||||
"de atividades."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
|
||||
msgid "Keybinding to open the overview"
|
||||
msgstr "Atalho de teclado para abrir a vista geral"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
|
||||
msgid "Keybinding to open the Activities Overview."
|
||||
msgstr "Atalho de teclado para abrir a vista geral de atividades."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
|
||||
msgid "Keybinding to toggle the visibility of the notification list"
|
||||
msgstr "Atalho de teclado para alternar a visibilidade da lista de notificação"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
|
||||
msgid "Keybinding to toggle the visibility of the notification list."
|
||||
msgstr ""
|
||||
"Atalho de teclado para alternar a visibilidade da lista de notificação."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
|
||||
msgid "Keybinding to focus the active notification"
|
||||
msgstr "Atalho de teclado para focar a notificação ativa"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
|
||||
msgid "Keybinding to focus the active notification."
|
||||
msgstr "Atalho de teclado para focar a notificação ativa."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
|
||||
msgid ""
|
||||
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
|
||||
msgstr ""
|
||||
"Atalho de teclado que pausa e retoma todos os tweens em execução, para "
|
||||
"depuração de erros"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
|
||||
msgid "Which keyboard to use"
|
||||
msgstr "Que teclado utilizar"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
|
||||
msgid "The type of keyboard to use."
|
||||
msgstr "O tipo de teclado a utilizar."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
|
||||
msgid "Limit switcher to current workspace."
|
||||
msgstr "Limitar troca à área de trabalho atual."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
|
||||
msgid ""
|
||||
"If true, only applications that have windows on the current workspace are "
|
||||
"shown in the switcher. Otherwise, all applications are included."
|
||||
@@ -269,11 +263,11 @@ msgstr ""
|
||||
"Se verdadeiro, só as aplicações com janelas na área de trabalho atual são "
|
||||
"mostradas para troca. Senão, são incluídas todas as aplicações."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
|
||||
msgid "The application icon mode."
|
||||
msgstr "O modo do ícone da aplicação."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
||||
msgid ""
|
||||
"Configures how the windows are shown in the switcher. Valid possibilities "
|
||||
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
|
||||
@@ -283,7 +277,7 @@ msgstr ""
|
||||
"válidas são 'thumbnail-only' (mostra uma miniatura da janela), 'app-icon-"
|
||||
"only' (mostra só o ícone da aplicação) ou 'both' (ambas)."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
||||
msgid ""
|
||||
"If true, only windows from the current workspace are shown in the switcher. "
|
||||
"Otherwise, all windows are included."
|
||||
@@ -291,29 +285,29 @@ msgstr ""
|
||||
"Se verdadeiro, só janelas da área de trabalho atual são apresentadas para "
|
||||
"troca. Senão, são incluídas todas as janelas."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "Anexar diálogo modal à janela mãe"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr ""
|
||||
"Esta chave ignora a chave em org.gnome.mutter ao executar a interface GNOME."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
msgstr "Ativar anexar nas margens ao largar janelas junto às margens do ecrã"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
|
||||
msgid "Workspaces are managed dynamically"
|
||||
msgstr "Áreas de trabalho são geridas dinamicamente"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:44
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Áreas de trabalho só no monitor principal"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:45
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr ""
|
||||
"Atrasar alterações de foco nos modos de rato até que o ponteiro pare de se "
|
||||
@@ -323,51 +317,52 @@ msgstr ""
|
||||
msgid "Network Login"
|
||||
msgstr "Sessão na rede"
|
||||
|
||||
#: ../js/extensionPrefs/main.js:122
|
||||
#: ../js/extensionPrefs/main.js:117
|
||||
#, javascript-format
|
||||
msgid "There was an error loading the preferences dialog for %s:"
|
||||
msgstr "Ocorreu um erro ao ler o diálogo de preferências de %s:"
|
||||
|
||||
#: ../js/extensionPrefs/main.js:154
|
||||
#: ../js/extensionPrefs/main.js:149
|
||||
msgid "GNOME Shell Extensions"
|
||||
msgstr "Extensões da interface do GNOME"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:145
|
||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/audioDeviceSelection.js:71
|
||||
#: ../js/ui/components/networkAgent.js:145
|
||||
#: ../js/ui/components/polkitAgent.js:179 ../js/ui/endSessionDialog.js:452
|
||||
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
|
||||
#: ../js/ui/status/network.js:916
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215
|
||||
#: ../js/gdm/authPrompt.js:447
|
||||
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:216
|
||||
#: ../js/gdm/authPrompt.js:448
|
||||
msgid "Next"
|
||||
msgstr "Seguinte"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:211 ../js/ui/shellMountOperation.js:403
|
||||
#: ../js/gdm/authPrompt.js:212 ../js/ui/shellMountOperation.js:403
|
||||
#: ../js/ui/unlockDialog.js:59
|
||||
msgid "Unlock"
|
||||
msgstr "Desbloquear"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:213
|
||||
#: ../js/gdm/authPrompt.js:214
|
||||
msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "Iniciar sessão"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:281
|
||||
#: ../js/gdm/loginDialog.js:285
|
||||
msgid "Choose Session"
|
||||
msgstr "Escolher sessão"
|
||||
|
||||
#. translators: this message is shown below the user list on the
|
||||
#. login screen. It can be activated to reveal an entry for
|
||||
#. manually entering the username.
|
||||
#: ../js/gdm/loginDialog.js:431
|
||||
#: ../js/gdm/loginDialog.js:435
|
||||
msgid "Not listed?"
|
||||
msgstr "Não está listada?"
|
||||
|
||||
#. Translators: this message is shown below the username entry field
|
||||
#. to clue the user in on how to login to the local network realm
|
||||
#: ../js/gdm/loginDialog.js:850
|
||||
#: ../js/gdm/loginDialog.js:854
|
||||
#, javascript-format
|
||||
msgid "(e.g., user or %s)"
|
||||
msgstr "(por ex., utilizador ou %s)"
|
||||
@@ -375,12 +370,12 @@ msgstr "(por ex., utilizador ou %s)"
|
||||
#. TTLS and PEAP are actually much more complicated, but this complication
|
||||
#. is not visible here since we only care about phase2 authentication
|
||||
#. (and don't even care of which one)
|
||||
#: ../js/gdm/loginDialog.js:855 ../js/ui/components/networkAgent.js:271
|
||||
#: ../js/gdm/loginDialog.js:859 ../js/ui/components/networkAgent.js:271
|
||||
#: ../js/ui/components/networkAgent.js:289
|
||||
msgid "Username: "
|
||||
msgstr "Utilizador: "
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1180
|
||||
#: ../js/gdm/loginDialog.js:1196
|
||||
msgid "Login Window"
|
||||
msgstr "Janela de início de sessão"
|
||||
|
||||
@@ -516,16 +511,36 @@ msgstr "Adicionar aos favoritos"
|
||||
msgid "Show Details"
|
||||
msgstr "Mostrar detalhes"
|
||||
|
||||
#: ../js/ui/appFavorites.js:133
|
||||
#: ../js/ui/appFavorites.js:134
|
||||
#, javascript-format
|
||||
msgid "%s has been added to your favorites."
|
||||
msgstr "%s foi adicionada aos seus favoritos."
|
||||
|
||||
#: ../js/ui/appFavorites.js:167
|
||||
#: ../js/ui/appFavorites.js:168
|
||||
#, javascript-format
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "%s foi removida dos seus favoritos."
|
||||
|
||||
#: ../js/ui/audioDeviceSelection.js:59
|
||||
msgid "Select Audio Device"
|
||||
msgstr "Selecione o dispositivo de áudio"
|
||||
|
||||
#: ../js/ui/audioDeviceSelection.js:69
|
||||
msgid "Sound Settings"
|
||||
msgstr "Definições de som"
|
||||
|
||||
#: ../js/ui/audioDeviceSelection.js:78
|
||||
msgid "Headphones"
|
||||
msgstr "Auscultadores"
|
||||
|
||||
#: ../js/ui/audioDeviceSelection.js:80
|
||||
msgid "Headset"
|
||||
msgstr "Auscultadores com microfone"
|
||||
|
||||
#: ../js/ui/audioDeviceSelection.js:82 ../js/ui/status/volume.js:213
|
||||
msgid "Microphone"
|
||||
msgstr "Microfone"
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:19
|
||||
msgid "Change Background…"
|
||||
msgstr "Alterar o fundo…"
|
||||
@@ -534,12 +549,12 @@ msgstr "Alterar o fundo…"
|
||||
msgid "Display Settings"
|
||||
msgstr "Definições de ecrã"
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
|
||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:371
|
||||
msgid "Settings"
|
||||
msgstr "Definições"
|
||||
|
||||
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday).
|
||||
#: ../js/ui/calendar.js:55
|
||||
#: ../js/ui/calendar.js:47
|
||||
msgctxt "calendar-no-work"
|
||||
msgid "06"
|
||||
msgstr "06"
|
||||
@@ -549,100 +564,96 @@ msgstr "06"
|
||||
#. * NOTE: These grid abbreviations are always shown together
|
||||
#. * and in order, e.g. "S M T W T F S".
|
||||
#.
|
||||
#: ../js/ui/calendar.js:84
|
||||
#: ../js/ui/calendar.js:76
|
||||
msgctxt "grid sunday"
|
||||
msgid "S"
|
||||
msgstr "D"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Monday
|
||||
#: ../js/ui/calendar.js:86
|
||||
#: ../js/ui/calendar.js:78
|
||||
msgctxt "grid monday"
|
||||
msgid "M"
|
||||
msgstr "S"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Tuesday
|
||||
#: ../js/ui/calendar.js:88
|
||||
#: ../js/ui/calendar.js:80
|
||||
msgctxt "grid tuesday"
|
||||
msgid "T"
|
||||
msgstr "T"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Wednesday
|
||||
#: ../js/ui/calendar.js:90
|
||||
#: ../js/ui/calendar.js:82
|
||||
msgctxt "grid wednesday"
|
||||
msgid "W"
|
||||
msgstr "Q"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Thursday
|
||||
#: ../js/ui/calendar.js:92
|
||||
#: ../js/ui/calendar.js:84
|
||||
msgctxt "grid thursday"
|
||||
msgid "T"
|
||||
msgstr "Q"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Friday
|
||||
#: ../js/ui/calendar.js:94
|
||||
#: ../js/ui/calendar.js:86
|
||||
msgctxt "grid friday"
|
||||
msgid "F"
|
||||
msgstr "S"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Saturday
|
||||
#: ../js/ui/calendar.js:96
|
||||
#: ../js/ui/calendar.js:88
|
||||
msgctxt "grid saturday"
|
||||
msgid "S"
|
||||
msgstr "S"
|
||||
|
||||
#: ../js/ui/calendar.js:566
|
||||
#: ../js/ui/calendar.js:416
|
||||
msgid "Previous month"
|
||||
msgstr "Mês anterior"
|
||||
|
||||
#: ../js/ui/calendar.js:576
|
||||
#: ../js/ui/calendar.js:426
|
||||
msgid "Next month"
|
||||
msgstr "Mês seguinte"
|
||||
|
||||
#: ../js/ui/calendar.js:728
|
||||
#, javascript-format
|
||||
#: ../js/ui/calendar.js:579
|
||||
#, no-javascript-format
|
||||
msgctxt "date day number format"
|
||||
msgid "%d"
|
||||
msgstr "%d"
|
||||
|
||||
#: ../js/ui/calendar.js:783
|
||||
#: ../js/ui/calendar.js:634
|
||||
msgid "Week %V"
|
||||
msgstr "Semana %V"
|
||||
|
||||
#. Translators: Shown in calendar event list for all day events
|
||||
#. * Keep it short, best if you can use less then 10 characters
|
||||
#.
|
||||
#: ../js/ui/calendar.js:1188
|
||||
#: ../js/ui/calendar.js:695
|
||||
msgctxt "event list time"
|
||||
msgid "All Day"
|
||||
msgstr "Dia completo"
|
||||
|
||||
#: ../js/ui/calendar.js:1295
|
||||
msgid "Clear section"
|
||||
msgstr "Limpar secção"
|
||||
|
||||
#: ../js/ui/calendar.js:1522
|
||||
#: ../js/ui/calendar.js:821
|
||||
msgid "Events"
|
||||
msgstr "Eventos"
|
||||
|
||||
#: ../js/ui/calendar.js:1531
|
||||
#: ../js/ui/calendar.js:830
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, %B %d"
|
||||
|
||||
#: ../js/ui/calendar.js:1535
|
||||
#: ../js/ui/calendar.js:834
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%A, %B %d, %Y"
|
||||
|
||||
#: ../js/ui/calendar.js:1620
|
||||
#: ../js/ui/calendar.js:919
|
||||
msgid "Notifications"
|
||||
msgstr "Notificações"
|
||||
|
||||
#: ../js/ui/calendar.js:1771
|
||||
#: ../js/ui/calendar.js:1070
|
||||
msgid "No Notifications"
|
||||
msgstr "Sem notificações"
|
||||
|
||||
#: ../js/ui/calendar.js:1774
|
||||
#: ../js/ui/calendar.js:1073
|
||||
msgid "No Events"
|
||||
msgstr "Sem eventos"
|
||||
|
||||
@@ -780,7 +791,7 @@ msgstr "Desculpe, não resultou. Por favor, tente novamente."
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#: ../js/ui/components/telepathyClient.js:759
|
||||
#: ../js/ui/components/telepathyClient.js:760
|
||||
#, javascript-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "%s é agora conhecido como %s"
|
||||
@@ -968,11 +979,11 @@ msgid "Keyboard"
|
||||
msgstr "Teclado"
|
||||
|
||||
#. translators: 'Hide' is a verb
|
||||
#: ../js/ui/legacyTray.js:66
|
||||
#: ../js/ui/legacyTray.js:65
|
||||
msgid "Hide tray"
|
||||
msgstr "Ocultar tabuleiro"
|
||||
|
||||
#: ../js/ui/legacyTray.js:107
|
||||
#: ../js/ui/legacyTray.js:106
|
||||
msgid "Status Icons"
|
||||
msgstr "Ícones de estado"
|
||||
|
||||
@@ -1000,7 +1011,7 @@ msgstr "Ativo"
|
||||
|
||||
#. translators:
|
||||
#. * The device has been disabled
|
||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
|
||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1866
|
||||
msgid "Disabled"
|
||||
msgstr "Inativo"
|
||||
|
||||
@@ -1024,10 +1035,26 @@ msgstr "Ver fonte"
|
||||
msgid "Web Page"
|
||||
msgstr "Página Web"
|
||||
|
||||
#: ../js/ui/messageList.js:543
|
||||
msgid "Clear section"
|
||||
msgstr "Limpar secção"
|
||||
|
||||
#: ../js/ui/messageTray.js:1486
|
||||
msgid "System Information"
|
||||
msgstr "Informação do sistema"
|
||||
|
||||
#: ../js/ui/mpris.js:194
|
||||
msgid "Unknown artist"
|
||||
msgstr "Artista desconhecido"
|
||||
|
||||
#: ../js/ui/mpris.js:195
|
||||
msgid "Unknown title"
|
||||
msgstr "Titulo desconhecido"
|
||||
|
||||
#: ../js/ui/mpris.js:217
|
||||
msgid "Media"
|
||||
msgstr "Média"
|
||||
|
||||
#: ../js/ui/overview.js:84
|
||||
msgid "Undo"
|
||||
msgstr "Desfazer"
|
||||
@@ -1104,11 +1131,11 @@ msgid_plural "%d new notifications"
|
||||
msgstr[0] "%d nova notificação"
|
||||
msgstr[1] "%d novas notificações"
|
||||
|
||||
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:374
|
||||
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:379
|
||||
msgid "Lock"
|
||||
msgstr "Bloquear"
|
||||
|
||||
#: ../js/ui/screenShield.js:684
|
||||
#: ../js/ui/screenShield.js:687
|
||||
msgid "GNOME needs to lock the screen"
|
||||
msgstr "O GNOME precisa de bloquear o ecrã"
|
||||
|
||||
@@ -1119,11 +1146,11 @@ msgstr "O GNOME precisa de bloquear o ecrã"
|
||||
#.
|
||||
#. XXX: another option is to kick the user into the gdm login
|
||||
#. screen, where we're not affected by grabs
|
||||
#: ../js/ui/screenShield.js:805 ../js/ui/screenShield.js:1271
|
||||
#: ../js/ui/screenShield.js:808 ../js/ui/screenShield.js:1274
|
||||
msgid "Unable to lock"
|
||||
msgstr "Impossível bloquear"
|
||||
|
||||
#: ../js/ui/screenShield.js:806 ../js/ui/screenShield.js:1272
|
||||
#: ../js/ui/screenShield.js:809 ../js/ui/screenShield.js:1275
|
||||
msgid "Lock was blocked by an application"
|
||||
msgstr "Bloquear foi bloqueado por uma aplicação"
|
||||
|
||||
@@ -1207,7 +1234,7 @@ msgstr "Texto grande"
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:56
|
||||
#: ../js/ui/status/bluetooth.js:56 ../js/ui/status/network.js:624
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Definições Bluetooth"
|
||||
|
||||
@@ -1246,30 +1273,50 @@ msgstr "Luminosidade"
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "Mostrar a disposição de teclado"
|
||||
|
||||
#: ../js/ui/status/location.js:71 ../js/ui/status/location.js:177
|
||||
#: ../js/ui/status/location.js:107 ../js/ui/status/location.js:215
|
||||
msgid "Location Enabled"
|
||||
msgstr "Localização ativada"
|
||||
|
||||
#: ../js/ui/status/location.js:72 ../js/ui/status/location.js:178
|
||||
#: ../js/ui/status/location.js:108 ../js/ui/status/location.js:216
|
||||
msgid "Disable"
|
||||
msgstr "Desativar"
|
||||
|
||||
#: ../js/ui/status/location.js:73
|
||||
#: ../js/ui/status/location.js:109
|
||||
msgid "Privacy Settings"
|
||||
msgstr "Definições de privacidade"
|
||||
|
||||
#: ../js/ui/status/location.js:176
|
||||
#: ../js/ui/status/location.js:214
|
||||
msgid "Location In Use"
|
||||
msgstr "Localização em uso"
|
||||
|
||||
#: ../js/ui/status/location.js:180
|
||||
#: ../js/ui/status/location.js:218
|
||||
msgid "Location Disabled"
|
||||
msgstr "Localização desativada"
|
||||
|
||||
#: ../js/ui/status/location.js:181
|
||||
#: ../js/ui/status/location.js:219
|
||||
msgid "Enable"
|
||||
msgstr "Ativar"
|
||||
|
||||
#: ../js/ui/status/location.js:426
|
||||
msgid "Deny Access"
|
||||
msgstr "Negar acesso"
|
||||
|
||||
#: ../js/ui/status/location.js:429
|
||||
msgid "Grant Access"
|
||||
msgstr "Conceder acesso"
|
||||
|
||||
#. Translators: %s is an application name
|
||||
#: ../js/ui/status/location.js:435
|
||||
#, javascript-format
|
||||
msgid "Give %s access to your location?"
|
||||
msgstr "Dar a %s permissão para usar a localização?"
|
||||
|
||||
#: ../js/ui/status/location.js:437
|
||||
msgid "Location access can be changed at any time from the privacy settings."
|
||||
msgstr ""
|
||||
"Acesso à localização pode ser alterado a qualquer altura a partir das "
|
||||
"definições de privacidade."
|
||||
|
||||
#: ../js/ui/status/network.js:101
|
||||
msgid "<unknown>"
|
||||
msgstr "<desconhecido>"
|
||||
@@ -1336,7 +1383,7 @@ msgstr "Falha na ligação a %s"
|
||||
msgid "Wired Settings"
|
||||
msgstr "Definições de ligação com fios"
|
||||
|
||||
#: ../js/ui/status/network.js:545 ../js/ui/status/network.js:624
|
||||
#: ../js/ui/status/network.js:545
|
||||
msgid "Mobile Broadband Settings"
|
||||
msgstr "Definições da banda larga móvel"
|
||||
|
||||
@@ -1354,8 +1401,8 @@ msgid "%s Disabled"
|
||||
msgstr "%s desativado"
|
||||
|
||||
#: ../js/ui/status/network.js:632
|
||||
msgid "Use as Internet connection"
|
||||
msgstr "Utilizar como ligação à Internet"
|
||||
msgid "Connect to Internet"
|
||||
msgstr "Ligar à Internet"
|
||||
|
||||
#: ../js/ui/status/network.js:813
|
||||
msgid "Airplane Mode is On"
|
||||
@@ -1492,27 +1539,27 @@ msgstr "%d %%"
|
||||
msgid "Airplane Mode On"
|
||||
msgstr "Modo Avião ligado"
|
||||
|
||||
#: ../js/ui/status/system.js:343
|
||||
#: ../js/ui/status/system.js:348
|
||||
msgid "Switch User"
|
||||
msgstr "Alternar utilizador"
|
||||
|
||||
#: ../js/ui/status/system.js:348
|
||||
#: ../js/ui/status/system.js:353
|
||||
msgid "Log Out"
|
||||
msgstr "Terminar sessão"
|
||||
|
||||
#: ../js/ui/status/system.js:353
|
||||
#: ../js/ui/status/system.js:358
|
||||
msgid "Account Settings"
|
||||
msgstr "Definições de conta"
|
||||
|
||||
#: ../js/ui/status/system.js:370
|
||||
#: ../js/ui/status/system.js:375
|
||||
msgid "Orientation Lock"
|
||||
msgstr "Orientação de bloqueio"
|
||||
|
||||
#: ../js/ui/status/system.js:378
|
||||
#: ../js/ui/status/system.js:383
|
||||
msgid "Suspend"
|
||||
msgstr "Suspender"
|
||||
|
||||
#: ../js/ui/status/system.js:381
|
||||
#: ../js/ui/status/system.js:386
|
||||
msgid "Power Off"
|
||||
msgstr "Desligar"
|
||||
|
||||
@@ -1524,10 +1571,6 @@ msgstr "Volume alterado"
|
||||
msgid "Volume"
|
||||
msgstr "Volume"
|
||||
|
||||
#: ../js/ui/status/volume.js:213
|
||||
msgid "Microphone"
|
||||
msgstr "Microfone"
|
||||
|
||||
#: ../js/ui/unlockDialog.js:67
|
||||
msgid "Log in as another user"
|
||||
msgstr "Iniciar sessão como outro utilizador"
|
||||
@@ -1648,7 +1691,7 @@ msgstr "Calendário do Evolution"
|
||||
|
||||
#. translators:
|
||||
#. * The number of sound outputs on a particular device
|
||||
#: ../src/gvc/gvc-mixer-control.c:1835
|
||||
#: ../src/gvc/gvc-mixer-control.c:1873
|
||||
#, c-format
|
||||
msgid "%u Output"
|
||||
msgid_plural "%u Outputs"
|
||||
@@ -1657,14 +1700,14 @@ msgstr[1] "%u saídas"
|
||||
|
||||
#. translators:
|
||||
#. * The number of sound inputs on a particular device
|
||||
#: ../src/gvc/gvc-mixer-control.c:1845
|
||||
#: ../src/gvc/gvc-mixer-control.c:1883
|
||||
#, c-format
|
||||
msgid "%u Input"
|
||||
msgid_plural "%u Inputs"
|
||||
msgstr[0] "%u entrada"
|
||||
msgstr[1] "%u entradas"
|
||||
|
||||
#: ../src/gvc/gvc-mixer-control.c:2371
|
||||
#: ../src/gvc/gvc-mixer-control.c:2738
|
||||
msgid "System Sounds"
|
||||
msgstr "Sons de sistema"
|
||||
|
||||
@@ -1707,6 +1750,18 @@ msgstr "A senha não pode estar vazia"
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "O diálogo de autenticação foi fechado pelo utilizador"
|
||||
|
||||
#~ msgid "Show the week date in the calendar"
|
||||
#~ msgstr "Mostrar o número da semana no calendário"
|
||||
|
||||
#~ msgid "If true, display the ISO week date in the calendar."
|
||||
#~ msgstr "Se verdadeiro, mostra o número ISO da semana no calendário."
|
||||
|
||||
#~ msgid "Use as Internet connection"
|
||||
#~ msgstr "Utilizar como ligação à Internet"
|
||||
|
||||
#~ msgid "%s is requesting access to your location."
|
||||
#~ msgstr "%s está a pedir acesso à sua localização."
|
||||
|
||||
#~ msgid "GNOME Shell (wayland compositor)"
|
||||
#~ msgstr "Interface GNOME (compositor wayland)"
|
||||
|
||||
@@ -1923,9 +1978,6 @@ msgstr "O diálogo de autenticação foi fechado pelo utilizador"
|
||||
#~ msgid "View account"
|
||||
#~ msgstr "Visualizar a conta"
|
||||
|
||||
#~ msgid "Unknown reason"
|
||||
#~ msgstr "Motivo desconhecido"
|
||||
|
||||
#~ msgid "Open Calendar"
|
||||
#~ msgstr "Abrir o Calendário"
|
||||
|
||||
@@ -2031,9 +2083,6 @@ msgstr "O diálogo de autenticação foi fechado pelo utilizador"
|
||||
#~ msgid "Device %s wants access to the service '%s'"
|
||||
#~ msgstr "O dispositivo %s deseja aceder ao serviço '%s'"
|
||||
|
||||
#~ msgid "Always grant access"
|
||||
#~ msgstr "Conceder sempre o acesso"
|
||||
|
||||
#~ msgid "Grant this time only"
|
||||
#~ msgstr "Conceder apenas desta vez"
|
||||
|
||||
|
116
po/pt_BR.po
116
po/pt_BR.po
@@ -1,5 +1,5 @@
|
||||
# Portuguese translations for gnome-shell package.
|
||||
# Copyright (C) 2015 THE gnome-shell'S COPYRIGHT HOLDER
|
||||
# Copyright (C) 2016 THE gnome-shell'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the gnome-shell package.
|
||||
# Og Maciel <ogmaciel@gnome.org>, 2009.
|
||||
# Rodrigo Flores <mail@rodrigoflores.org>, 2009.
|
||||
@@ -12,27 +12,26 @@
|
||||
# Djavan Fagundes <djavan@comum.org>, 2012.
|
||||
# Juan Diego Martins da Costa Cruz <juan.martins@ifrn.edu.br>, 2013.
|
||||
# Fábio Nogueira <fnogueira@gnome.org>, 2014.
|
||||
# Rafael Fontenelle <rffontenelle@gmail.com>, 2013, 2014,2015.
|
||||
# Georges Basile Stavracas Neto <georges.stavracas@gmail.com>, 2014.
|
||||
# Felipe Braga <fbobraga@gmail.com>, 2015.
|
||||
# Enrico Nicoletto <liverig@gmail.com>, 2013, 2014, 2015.
|
||||
# Artur de Aquino Morais <artur.morais93@outlook.com>, 2016.
|
||||
#
|
||||
# Rafael Fontenelle <rafaelff@gnome.org>, 2013, 2014, 2015, 2016.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2016-03-11 10:19+0000\n"
|
||||
"PO-Revision-Date: 2016-03-11 09:07-0300\n"
|
||||
"Last-Translator: Artur de Aquino Morais <artur.morais93@outlook.com>\n"
|
||||
"POT-Creation-Date: 2016-05-27 14:08+0000\n"
|
||||
"PO-Revision-Date: 2016-06-13 21:48-0200\n"
|
||||
"Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>\n"
|
||||
"Language-Team: Brazilian Portuguese <gnome-pt_br-list@gnome.org>\n"
|
||||
"Language: pt_BR\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
"X-Generator: Poedit 1.8.4\n"
|
||||
"X-Generator: Virtaal 0.7.1\n"
|
||||
"X-Project-Style: gnome\n"
|
||||
|
||||
#: ../data/50-gnome-shell-system.xml.in.h:1
|
||||
@@ -204,78 +203,70 @@ msgstr ""
|
||||
"sempre seja visto sem possuir dispositivos associados a ele."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
|
||||
msgid "Show the week date in the calendar"
|
||||
msgstr "Mostrar o número da semana na agenda"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
|
||||
msgid "If true, display the ISO week date in the calendar."
|
||||
msgstr "Se verdadeiro, exibe o número da semana na agenda."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
|
||||
msgid "Keybinding to open the application menu"
|
||||
msgstr "Atalho de teclado para abrir um menu de aplicativo"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
|
||||
msgid "Keybinding to open the application menu."
|
||||
msgstr "Atalho de teclado para abrir um menu de aplicativo."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
|
||||
msgid "Keybinding to open the \"Show Applications\" view"
|
||||
msgstr "Atalho de teclado para abrir a visualização \"Mostrar aplicativos\""
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
|
||||
msgid ""
|
||||
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
|
||||
msgstr ""
|
||||
"Atalho de teclado para abrir a visualização \"Mostrar aplicativos\" do "
|
||||
"panorama de atividades."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
|
||||
msgid "Keybinding to open the overview"
|
||||
msgstr "Atalho de teclado para abrir o panorama"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
|
||||
msgid "Keybinding to open the Activities Overview."
|
||||
msgstr "Atalho de teclado para abrir o panorama de atividades."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
|
||||
msgid "Keybinding to toggle the visibility of the notification list"
|
||||
msgstr "Atalho de teclado para alternar a visibilidade da lista de notificação"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
|
||||
msgid "Keybinding to toggle the visibility of the notification list."
|
||||
msgstr ""
|
||||
"Atalho de teclado para alternar a visibilidade da lista de notificação."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
|
||||
msgid "Keybinding to focus the active notification"
|
||||
msgstr "Atalho de teclado para ativar a notificação ativa"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
|
||||
msgid "Keybinding to focus the active notification."
|
||||
msgstr "Atalho de teclado para ativar a notificação ativa."
|
||||
|
||||
# Tween pode significar uma contração de Between ou se referir a um termo "in-between" usado em animação gráfica. -- Enrico
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
|
||||
msgid ""
|
||||
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
|
||||
msgstr ""
|
||||
"Atalho de teclado que pausa e continua todos os intermediários em execução, "
|
||||
"a fim de depuração"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
|
||||
msgid "Which keyboard to use"
|
||||
msgstr "Qual teclado usar"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
|
||||
msgid "The type of keyboard to use."
|
||||
msgstr "O tipo do teclado para usar."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
|
||||
msgid "Limit switcher to current workspace."
|
||||
msgstr "Limitar o alternador ao espaço de trabalho atual."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
|
||||
msgid ""
|
||||
"If true, only applications that have windows on the current workspace are "
|
||||
"shown in the switcher. Otherwise, all applications are included."
|
||||
@@ -284,11 +275,11 @@ msgstr ""
|
||||
"janelas no espaço de trabalho atual. Caso contrário, todos os aplicativos "
|
||||
"serão incluídos."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
|
||||
msgid "The application icon mode."
|
||||
msgstr "O modo ícone do aplicativo."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
||||
msgid ""
|
||||
"Configures how the windows are shown in the switcher. Valid possibilities "
|
||||
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
|
||||
@@ -298,7 +289,7 @@ msgstr ""
|
||||
"válidas são 'thumbnail-only' (mostra uma miniatura da janela), 'app-icon-"
|
||||
"only' (mostra apenas o ícone do aplicativo) ou 'both'."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
||||
msgid ""
|
||||
"If true, only windows from the current workspace are shown in the switcher. "
|
||||
"Otherwise, all windows are included."
|
||||
@@ -306,31 +297,31 @@ msgstr ""
|
||||
"Se verdadeiro, o alternador mostrará somente as janelas do espaço de "
|
||||
"trabalho atual. Caso contrário, todos as janelas serão incluídas."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "Anexar diálogo modal à janela pai"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr ""
|
||||
"Esta chave sobrescreve a chave em org.gnome.mutter ao executar o Shell do "
|
||||
"GNOME."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
msgstr ""
|
||||
"Habilitar contorno ladrilhado ao arrastar janelas sobre as bordas da tela"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
|
||||
msgid "Workspaces are managed dynamically"
|
||||
msgstr "Espaços de trabalho são gerenciados dinamicamente"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:44
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Espaços de trabalho apenas no monitor primário"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:45
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr "Atrasar foco altera o modo do mouse até o ponteiro parar de mover"
|
||||
|
||||
@@ -570,7 +561,7 @@ msgstr "Alterar plano de fundo…"
|
||||
msgid "Display Settings"
|
||||
msgstr "Configurações de exibição"
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
|
||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:371
|
||||
msgid "Settings"
|
||||
msgstr "Configurações"
|
||||
|
||||
@@ -812,7 +803,7 @@ msgstr "Desculpe, isto não funcionou. Por favor, tente novamente."
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#: ../js/ui/components/telepathyClient.js:759
|
||||
#: ../js/ui/components/telepathyClient.js:760
|
||||
#, javascript-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "%s agora é conhecido como %s"
|
||||
@@ -1032,7 +1023,7 @@ msgstr "Habilitado"
|
||||
|
||||
#. translators:
|
||||
#. * The device has been disabled
|
||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
|
||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1866
|
||||
msgid "Disabled"
|
||||
msgstr "Desabilitado"
|
||||
|
||||
@@ -1152,11 +1143,11 @@ msgid_plural "%d new notifications"
|
||||
msgstr[0] "%d nova notificação"
|
||||
msgstr[1] "%d novas notificações"
|
||||
|
||||
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:374
|
||||
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:379
|
||||
msgid "Lock"
|
||||
msgstr "Bloquear"
|
||||
|
||||
#: ../js/ui/screenShield.js:684
|
||||
#: ../js/ui/screenShield.js:687
|
||||
msgid "GNOME needs to lock the screen"
|
||||
msgstr "GNOME precisa bloquear a tela"
|
||||
|
||||
@@ -1167,11 +1158,11 @@ msgstr "GNOME precisa bloquear a tela"
|
||||
#.
|
||||
#. XXX: another option is to kick the user into the gdm login
|
||||
#. screen, where we're not affected by grabs
|
||||
#: ../js/ui/screenShield.js:805 ../js/ui/screenShield.js:1271
|
||||
#: ../js/ui/screenShield.js:808 ../js/ui/screenShield.js:1274
|
||||
msgid "Unable to lock"
|
||||
msgstr "Não foi possível bloquear"
|
||||
|
||||
#: ../js/ui/screenShield.js:806 ../js/ui/screenShield.js:1272
|
||||
#: ../js/ui/screenShield.js:809 ../js/ui/screenShield.js:1275
|
||||
msgid "Lock was blocked by an application"
|
||||
msgstr "O bloqueio foi impedido por um aplicativo"
|
||||
|
||||
@@ -1255,7 +1246,7 @@ msgstr "Texto grande"
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:56
|
||||
#: ../js/ui/status/bluetooth.js:56 ../js/ui/status/network.js:624
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Configurações de Bluetooth"
|
||||
|
||||
@@ -1406,7 +1397,7 @@ msgstr "Falha na conexão de %s"
|
||||
msgid "Wired Settings"
|
||||
msgstr "Configurações da rede cabeada"
|
||||
|
||||
#: ../js/ui/status/network.js:545 ../js/ui/status/network.js:624
|
||||
#: ../js/ui/status/network.js:545
|
||||
msgid "Mobile Broadband Settings"
|
||||
msgstr "Configurações de banda larga móvel"
|
||||
|
||||
@@ -1424,8 +1415,8 @@ msgid "%s Disabled"
|
||||
msgstr "%s está desabilitado"
|
||||
|
||||
#: ../js/ui/status/network.js:632
|
||||
msgid "Use as Internet connection"
|
||||
msgstr "Usar como conexão de Internet"
|
||||
msgid "Connect to Internet"
|
||||
msgstr "Conectar à Internet"
|
||||
|
||||
#: ../js/ui/status/network.js:813
|
||||
msgid "Airplane Mode is On"
|
||||
@@ -1562,27 +1553,27 @@ msgstr "%d %%"
|
||||
msgid "Airplane Mode On"
|
||||
msgstr "Modo avião ligado"
|
||||
|
||||
#: ../js/ui/status/system.js:343
|
||||
#: ../js/ui/status/system.js:348
|
||||
msgid "Switch User"
|
||||
msgstr "Alternar usuário"
|
||||
|
||||
#: ../js/ui/status/system.js:348
|
||||
#: ../js/ui/status/system.js:353
|
||||
msgid "Log Out"
|
||||
msgstr "Encerrar sessão"
|
||||
|
||||
#: ../js/ui/status/system.js:353
|
||||
#: ../js/ui/status/system.js:358
|
||||
msgid "Account Settings"
|
||||
msgstr "Configurações de conta"
|
||||
|
||||
#: ../js/ui/status/system.js:370
|
||||
#: ../js/ui/status/system.js:375
|
||||
msgid "Orientation Lock"
|
||||
msgstr "Bloqueio da orientação"
|
||||
|
||||
#: ../js/ui/status/system.js:378
|
||||
#: ../js/ui/status/system.js:383
|
||||
msgid "Suspend"
|
||||
msgstr "Suspender"
|
||||
|
||||
#: ../js/ui/status/system.js:381
|
||||
#: ../js/ui/status/system.js:386
|
||||
msgid "Power Off"
|
||||
msgstr "Desligar"
|
||||
|
||||
@@ -1714,7 +1705,7 @@ msgstr "Agenda do Evolution"
|
||||
|
||||
#. translators:
|
||||
#. * The number of sound outputs on a particular device
|
||||
#: ../src/gvc/gvc-mixer-control.c:1835
|
||||
#: ../src/gvc/gvc-mixer-control.c:1873
|
||||
#, c-format
|
||||
msgid "%u Output"
|
||||
msgid_plural "%u Outputs"
|
||||
@@ -1723,14 +1714,14 @@ msgstr[1] "%u saídas"
|
||||
|
||||
#. translators:
|
||||
#. * The number of sound inputs on a particular device
|
||||
#: ../src/gvc/gvc-mixer-control.c:1845
|
||||
#: ../src/gvc/gvc-mixer-control.c:1883
|
||||
#, c-format
|
||||
msgid "%u Input"
|
||||
msgid_plural "%u Inputs"
|
||||
msgstr[0] "%u entrada"
|
||||
msgstr[1] "%u entradas"
|
||||
|
||||
#: ../src/gvc/gvc-mixer-control.c:2371
|
||||
#: ../src/gvc/gvc-mixer-control.c:2738
|
||||
msgid "System Sounds"
|
||||
msgstr "Sons do sistema"
|
||||
|
||||
@@ -1772,6 +1763,15 @@ msgstr "A senha não pode estar em branco"
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "O diálogo de autenticação foi descartado pelo usuário"
|
||||
|
||||
#~ msgid "Show the week date in the calendar"
|
||||
#~ msgstr "Mostrar o número da semana na agenda"
|
||||
|
||||
#~ msgid "If true, display the ISO week date in the calendar."
|
||||
#~ msgstr "Se verdadeiro, exibe o número da semana na agenda."
|
||||
|
||||
#~ msgid "Use as Internet connection"
|
||||
#~ msgstr "Usar como conexão de Internet"
|
||||
|
||||
#~ msgid "%s is requesting access to your location."
|
||||
#~ msgstr "%s está solicitando acesso à sua localização."
|
||||
|
||||
|
155
po/sk.po
155
po/sk.po
@@ -9,8 +9,8 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2016-03-10 15:25+0000\n"
|
||||
"PO-Revision-Date: 2016-03-10 19:20+0100\n"
|
||||
"POT-Creation-Date: 2016-06-30 09:43+0000\n"
|
||||
"PO-Revision-Date: 2016-07-05 16:53+0200\n"
|
||||
"Last-Translator: Dušan Kazik <prescott66@gmail.com>\n"
|
||||
"Language-Team: Slovak <gnome-sk-list@gnome.org>\n"
|
||||
"Language: sk\n"
|
||||
@@ -19,7 +19,7 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||
"X-DamnedLies-Scope: partial\n"
|
||||
"X-Generator: Poedit 1.8.7\n"
|
||||
"X-Generator: Poedit 1.8.7.1\n"
|
||||
|
||||
#: ../data/50-gnome-shell-system.xml.in.h:1
|
||||
msgid "System"
|
||||
@@ -195,80 +195,71 @@ msgstr ""
|
||||
"priradené zariadenia."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
|
||||
msgid "Show the week date in the calendar"
|
||||
msgstr "Zobraziť čísla týždňov v kalendári"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
|
||||
msgid "If true, display the ISO week date in the calendar."
|
||||
msgstr ""
|
||||
"Ak je true, zobrazí v kalendári poradie dní v týždni podľa štandardu ISO."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
|
||||
msgid "Keybinding to open the application menu"
|
||||
msgstr "Klávesová skratka na otvorenie ponuky aplikácií"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
|
||||
msgid "Keybinding to open the application menu."
|
||||
msgstr "Klávesová skratka na otvorenie ponuky aplikácií."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
|
||||
msgid "Keybinding to open the \"Show Applications\" view"
|
||||
msgstr "Klávesová skratka na otvorenie pohľadu „Zobraziť aplikácie“"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
|
||||
msgid ""
|
||||
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
|
||||
msgstr ""
|
||||
"Klávesová skratka na otvorenie pohľadu „Zobraziť aplikácie“ v prehľade "
|
||||
"aktivít."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
|
||||
msgid "Keybinding to open the overview"
|
||||
msgstr "Klávesová skratka na otvorenie prehľadu"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
|
||||
msgid "Keybinding to open the Activities Overview."
|
||||
msgstr "Klávesová skratka na otvorenie prehľadu aktivít."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
|
||||
msgid "Keybinding to toggle the visibility of the notification list"
|
||||
msgstr "Klávesová skratka na prepnutie viditeľnosti zoznamu s oznámeniami"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
|
||||
msgid "Keybinding to toggle the visibility of the notification list."
|
||||
msgstr "Klávesová skratka na prepnutie viditeľnosti zoznamu s oznámeniami."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
|
||||
msgid "Keybinding to focus the active notification"
|
||||
msgstr "Klávesová skratka na zameranie aktívnych oznámení"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
|
||||
msgid "Keybinding to focus the active notification."
|
||||
msgstr "Klávesová skratka, s ktorou sa zamerá na aktívne oznámenia."
|
||||
|
||||
# summary
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
|
||||
msgid ""
|
||||
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
|
||||
msgstr ""
|
||||
"Klávesová skratka, ktorá pozastaví a znovu spustí všetky animácie(tween), "
|
||||
"pre ladiace účely"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
|
||||
msgid "Which keyboard to use"
|
||||
msgstr "Ktorú klávesnicu používať"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
|
||||
msgid "The type of keyboard to use."
|
||||
msgstr "Typ klávesnice, ktorá sa má používať."
|
||||
|
||||
# summary
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
|
||||
msgid "Limit switcher to current workspace."
|
||||
msgstr "Obmedziť prepínač na aktuálny pracovný priestor."
|
||||
|
||||
# desc
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
|
||||
msgid ""
|
||||
"If true, only applications that have windows on the current workspace are "
|
||||
"shown in the switcher. Otherwise, all applications are included."
|
||||
@@ -276,11 +267,11 @@ msgstr ""
|
||||
"Ak je true, iba aplikácie, ktoré majú okná na aktuálnom pracovnom priestore "
|
||||
"budú zobrazené v prepínači. Inak budú zahrnuté všetky aplikácie."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
|
||||
msgid "The application icon mode."
|
||||
msgstr "Režim ikonizácie aplikácií."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
||||
msgid ""
|
||||
"Configures how the windows are shown in the switcher. Valid possibilities "
|
||||
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
|
||||
@@ -291,7 +282,7 @@ msgstr ""
|
||||
"ikonu aplikácie) alebo „both“ (zobrazí oboje)."
|
||||
|
||||
# desc
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
||||
msgid ""
|
||||
"If true, only windows from the current workspace are shown in the switcher. "
|
||||
"Otherwise, all windows are included."
|
||||
@@ -299,31 +290,31 @@ msgstr ""
|
||||
"Ak je true, iba okná z aktuálneho pracovného priestoru budú zobrazené v "
|
||||
"prepínači. Inak budú zahrnuté všetky okná."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "Pripojiť modálne dialógové okno k rodičovskému oknu"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr ""
|
||||
"Tento kľúč preváži kľúč v org.gnome.mutter po spustení Shellu prostredia "
|
||||
"GNOME."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
msgstr "Povoliť natiahnutie k okraju pri pustení okien na okrajoch obrazovky"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
|
||||
msgid "Workspaces are managed dynamically"
|
||||
msgstr "Pracovné priestory sú spravované dynamicky"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:44
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Pracovné priestory sú iba na primárnom monitore"
|
||||
|
||||
# summary
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:45
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr ""
|
||||
"Oneskoriť pohyb zamerania v režime myši, až kým sa ukazovateľ nezastaví"
|
||||
@@ -332,18 +323,18 @@ msgstr ""
|
||||
msgid "Network Login"
|
||||
msgstr "Sieťové prihlásenie"
|
||||
|
||||
#: ../js/extensionPrefs/main.js:121
|
||||
#: ../js/extensionPrefs/main.js:117
|
||||
#, javascript-format
|
||||
msgid "There was an error loading the preferences dialog for %s:"
|
||||
msgstr "Vyskytla sa chyba pri načítavaní dialógového okna nastavení pre %s:"
|
||||
|
||||
#: ../js/extensionPrefs/main.js:153
|
||||
#: ../js/extensionPrefs/main.js:149
|
||||
msgid "GNOME Shell Extensions"
|
||||
msgstr "Rozšírenia pre Shell prostredia GNOME"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/audioDeviceSelection.js:71
|
||||
#: ../js/ui/components/networkAgent.js:145
|
||||
#: ../js/ui/components/polkitAgent.js:179 ../js/ui/endSessionDialog.js:452
|
||||
#: ../js/ui/components/polkitAgent.js:179 ../js/ui/endSessionDialog.js:483
|
||||
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
|
||||
#: ../js/ui/status/network.js:916
|
||||
msgid "Cancel"
|
||||
@@ -572,7 +563,7 @@ msgstr "Zmeniť pozadie…"
|
||||
msgid "Display Settings"
|
||||
msgstr "Nastavenia displeja"
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
|
||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:374
|
||||
msgid "Settings"
|
||||
msgstr "Nastavenia"
|
||||
|
||||
@@ -819,7 +810,7 @@ msgstr "Prepáčte, ale nezabralo to. Skúste to, prosím, znova."
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#: ../js/ui/components/telepathyClient.js:759
|
||||
#: ../js/ui/components/telepathyClient.js:760
|
||||
#, javascript-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "Kontakt %s odteraz vystupuje ako %s"
|
||||
@@ -957,7 +948,7 @@ msgstr[1] ""
|
||||
msgstr[2] ""
|
||||
"Systém sa automaticky reštartuje a nainštaluje aktualizácie o %d sekúnd."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:127
|
||||
#: ../js/ui/endSessionDialog.js:127 ../js/ui/endSessionDialog.js:147
|
||||
msgctxt "button"
|
||||
msgid "Restart & Install"
|
||||
msgstr "Reštartovať a inštalovať"
|
||||
@@ -972,28 +963,46 @@ msgctxt "checkbox"
|
||||
msgid "Power off after updates are installed"
|
||||
msgstr "Vypnúť po inštalácii aktualizácií"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:338
|
||||
#: ../js/ui/endSessionDialog.js:137
|
||||
msgctxt "title"
|
||||
msgid "Restart & Install Upgrade"
|
||||
msgstr "Reštart a inštalácia inovácie"
|
||||
|
||||
#. Translators: This is the text displayed for system upgrades in the
|
||||
#. shut down dialog. First %s gets replaced with the distro name and
|
||||
#. second %s with the distro version to upgrade to
|
||||
#: ../js/ui/endSessionDialog.js:142
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"%s %s will be installed after restart. Upgrade installation can take a long "
|
||||
"time: ensure that you have backed up and that the computer is plugged in."
|
||||
msgstr ""
|
||||
"Operačný systém %s %s bude nainštalovaný po reštarte. Inštalácia inovácie "
|
||||
"môže trvať dlhšiu dobu: uistite sa, že máte vytvorenú zálohu, a že počítač "
|
||||
"je pripojený k zdroju napájania."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:361
|
||||
msgid "Running on battery power: please plug in before installing updates."
|
||||
msgstr ""
|
||||
"Systém je napájaný z batérie. Pred inštaláciou aktualizácií pripojte "
|
||||
"napájací zdroj."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:355
|
||||
#: ../js/ui/endSessionDialog.js:378
|
||||
msgid "Some applications are busy or have unsaved work."
|
||||
msgstr "Niektoré aplikácie sú zaneprázdnené, alebo obsahujú neuloženú prácu."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:362
|
||||
#: ../js/ui/endSessionDialog.js:385
|
||||
msgid "Other users are logged in."
|
||||
msgstr "Sú prihlásení iní používatelia."
|
||||
|
||||
#. Translators: Remote here refers to a remote session, like a ssh login
|
||||
#: ../js/ui/endSessionDialog.js:640
|
||||
#: ../js/ui/endSessionDialog.js:671
|
||||
#, javascript-format
|
||||
msgid "%s (remote)"
|
||||
msgstr "%s (vzdialená relácia)"
|
||||
|
||||
#. Translators: Console here refers to a tty like a VT console
|
||||
#: ../js/ui/endSessionDialog.js:643
|
||||
#: ../js/ui/endSessionDialog.js:674
|
||||
#, javascript-format
|
||||
msgid "%s (console)"
|
||||
msgstr "%s (konzola)"
|
||||
@@ -1007,7 +1016,7 @@ msgstr "Inštalovať"
|
||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||
msgstr "Prevziať a nainštalovať rozšírenie „%s“ z extensions.gnome.org?"
|
||||
|
||||
#: ../js/ui/keyboard.js:741 ../js/ui/status/keyboard.js:713
|
||||
#: ../js/ui/keyboard.js:741 ../js/ui/status/keyboard.js:782
|
||||
msgid "Keyboard"
|
||||
msgstr "Klávesnica"
|
||||
|
||||
@@ -1044,7 +1053,7 @@ msgstr "Povolené"
|
||||
|
||||
#. translators:
|
||||
#. * The device has been disabled
|
||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
|
||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1866
|
||||
msgid "Disabled"
|
||||
msgstr "Zakázané"
|
||||
|
||||
@@ -1093,7 +1102,7 @@ msgstr "Médiá"
|
||||
msgid "Undo"
|
||||
msgstr "Vrátiť"
|
||||
|
||||
#: ../js/ui/overview.js:117
|
||||
#: ../js/ui/overview.js:113
|
||||
msgid "Overview"
|
||||
msgstr "Prehľad"
|
||||
|
||||
@@ -1102,7 +1111,7 @@ msgstr "Prehľad"
|
||||
#. in the search entry when no search is
|
||||
#. active; it should not exceed ~30
|
||||
#. characters.
|
||||
#: ../js/ui/overview.js:244
|
||||
#: ../js/ui/overview.js:240
|
||||
msgid "Type to search…"
|
||||
msgstr "Zadajte text na vyhľadanie…"
|
||||
|
||||
@@ -1171,11 +1180,11 @@ msgstr[0] "%d nové oznámenie"
|
||||
msgstr[1] "%d nové oznámenia"
|
||||
msgstr[2] "%d nových oznámení"
|
||||
|
||||
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:374
|
||||
#: ../js/ui/screenShield.js:449 ../js/ui/status/system.js:382
|
||||
msgid "Lock"
|
||||
msgstr "Uzamknúť"
|
||||
|
||||
#: ../js/ui/screenShield.js:684
|
||||
#: ../js/ui/screenShield.js:704
|
||||
msgid "GNOME needs to lock the screen"
|
||||
msgstr "Prostredie GNOME vyžaduje uzamknutie obrazovky"
|
||||
|
||||
@@ -1186,11 +1195,11 @@ msgstr "Prostredie GNOME vyžaduje uzamknutie obrazovky"
|
||||
#.
|
||||
#. XXX: another option is to kick the user into the gdm login
|
||||
#. screen, where we're not affected by grabs
|
||||
#: ../js/ui/screenShield.js:805 ../js/ui/screenShield.js:1271
|
||||
#: ../js/ui/screenShield.js:825 ../js/ui/screenShield.js:1291
|
||||
msgid "Unable to lock"
|
||||
msgstr "Nepodarilo sa uzamknúť obrazovku"
|
||||
|
||||
#: ../js/ui/screenShield.js:806 ../js/ui/screenShield.js:1272
|
||||
#: ../js/ui/screenShield.js:826 ../js/ui/screenShield.js:1292
|
||||
msgid "Lock was blocked by an application"
|
||||
msgstr "Uzamknutie bolo zablokované aplikáciou"
|
||||
|
||||
@@ -1277,7 +1286,7 @@ msgstr "Veľký text"
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:56
|
||||
#: ../js/ui/status/bluetooth.js:56 ../js/ui/status/network.js:624
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Nastavenia Bluetooth"
|
||||
|
||||
@@ -1315,7 +1324,7 @@ msgid "Brightness"
|
||||
msgstr "Jas"
|
||||
|
||||
# menu item
|
||||
#: ../js/ui/status/keyboard.js:736
|
||||
#: ../js/ui/status/keyboard.js:805
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "Zobraziť rozloženie klávesnice"
|
||||
|
||||
@@ -1428,7 +1437,7 @@ msgstr "Pripojenie %s zlyhalo"
|
||||
msgid "Wired Settings"
|
||||
msgstr "Nastavenia drôtovej siete"
|
||||
|
||||
#: ../js/ui/status/network.js:545 ../js/ui/status/network.js:624
|
||||
#: ../js/ui/status/network.js:545
|
||||
msgid "Mobile Broadband Settings"
|
||||
msgstr "Nastavenia mobilnej širokopásmovej siete"
|
||||
|
||||
@@ -1446,8 +1455,8 @@ msgid "%s Disabled"
|
||||
msgstr "%s zakázané"
|
||||
|
||||
#: ../js/ui/status/network.js:632
|
||||
msgid "Use as Internet connection"
|
||||
msgstr "Použiť na pripojenie k internetu"
|
||||
msgid "Connect to Internet"
|
||||
msgstr "Pripojiť k internetu"
|
||||
|
||||
#: ../js/ui/status/network.js:813
|
||||
msgid "Airplane Mode is On"
|
||||
@@ -1585,28 +1594,28 @@ msgstr "%d %%"
|
||||
msgid "Airplane Mode On"
|
||||
msgstr "Režim v lietadle zapnutý"
|
||||
|
||||
#: ../js/ui/status/system.js:343
|
||||
#: ../js/ui/status/system.js:351
|
||||
msgid "Switch User"
|
||||
msgstr "Prepnúť používateľa"
|
||||
|
||||
#: ../js/ui/status/system.js:348
|
||||
#: ../js/ui/status/system.js:356
|
||||
msgid "Log Out"
|
||||
msgstr "Odhlásiť sa"
|
||||
|
||||
#: ../js/ui/status/system.js:353
|
||||
#: ../js/ui/status/system.js:361
|
||||
msgid "Account Settings"
|
||||
msgstr "Nastavenia účtu"
|
||||
|
||||
# action button
|
||||
#: ../js/ui/status/system.js:370
|
||||
#: ../js/ui/status/system.js:378
|
||||
msgid "Orientation Lock"
|
||||
msgstr "Uzamknutie orientácie"
|
||||
|
||||
#: ../js/ui/status/system.js:378
|
||||
#: ../js/ui/status/system.js:386
|
||||
msgid "Suspend"
|
||||
msgstr "Uspať"
|
||||
|
||||
#: ../js/ui/status/system.js:381
|
||||
#: ../js/ui/status/system.js:389
|
||||
msgid "Power Off"
|
||||
msgstr "Vypnúť"
|
||||
|
||||
@@ -1741,7 +1750,7 @@ msgstr "Kalendár Evolution"
|
||||
|
||||
#. translators:
|
||||
#. * The number of sound outputs on a particular device
|
||||
#: ../src/gvc/gvc-mixer-control.c:1835
|
||||
#: ../src/gvc/gvc-mixer-control.c:1873
|
||||
#, c-format
|
||||
msgid "%u Output"
|
||||
msgid_plural "%u Outputs"
|
||||
@@ -1751,7 +1760,7 @@ msgstr[2] "%u výstupov"
|
||||
|
||||
#. translators:
|
||||
#. * The number of sound inputs on a particular device
|
||||
#: ../src/gvc/gvc-mixer-control.c:1845
|
||||
#: ../src/gvc/gvc-mixer-control.c:1883
|
||||
#, c-format
|
||||
msgid "%u Input"
|
||||
msgid_plural "%u Inputs"
|
||||
@@ -1759,7 +1768,7 @@ msgstr[0] "%u vstup"
|
||||
msgstr[1] "%u vstupy"
|
||||
msgstr[2] "%u vstupov"
|
||||
|
||||
#: ../src/gvc/gvc-mixer-control.c:2371
|
||||
#: ../src/gvc/gvc-mixer-control.c:2738
|
||||
msgid "System Sounds"
|
||||
msgstr "Systémové zvuky"
|
||||
|
||||
@@ -1802,6 +1811,16 @@ msgstr "Heslo nemôže byť prázdne"
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "Dialógové okno overenia totožnosti bolo zatvorené používateľom"
|
||||
|
||||
#~ msgid "Show the week date in the calendar"
|
||||
#~ msgstr "Zobraziť čísla týždňov v kalendári"
|
||||
|
||||
#~ msgid "If true, display the ISO week date in the calendar."
|
||||
#~ msgstr ""
|
||||
#~ "Ak je true, zobrazí v kalendári poradie dní v týždni podľa štandardu ISO."
|
||||
|
||||
#~ msgid "Use as Internet connection"
|
||||
#~ msgstr "Použiť na pripojenie k internetu"
|
||||
|
||||
#~ msgid "%s is requesting access to your location."
|
||||
#~ msgstr "Aplikácia %s požaduje prístup k vášmu umiestneniu."
|
||||
|
||||
|
21
po/sl.po
21
po/sl.po
@@ -9,8 +9,8 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2016-03-12 21:15+0100\n"
|
||||
"PO-Revision-Date: 2016-03-12 21:15+0100\n"
|
||||
"POT-Creation-Date: 2016-03-22 21:45+0100\n"
|
||||
"PO-Revision-Date: 2016-03-22 21:56+0100\n"
|
||||
"Last-Translator: Matej Urbančič <mateju@svn.gnome.org>\n"
|
||||
"Language-Team: Slovenian GNOME Translation Team <gnome-si@googlegroups.com>\n"
|
||||
"Language: sl\n"
|
||||
@@ -168,7 +168,7 @@ msgstr ""
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
|
||||
msgid ""
|
||||
"Whether the default Bluetooth adapter had set up devices associated to it"
|
||||
msgstr ""
|
||||
msgstr "Ali ima privzeti prilagodilnik Bluetooth nastavljeno pripeto napravo"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
|
||||
msgid ""
|
||||
@@ -177,6 +177,9 @@ msgid ""
|
||||
"adapter. This will be reset if the default adapter is ever seen not to have "
|
||||
"devices associated to it."
|
||||
msgstr ""
|
||||
"Meni Bluetooth bo prikazan le, če je prilagodilnih pripet oziroma, če so "
|
||||
"nastavljene za delo. Možnost bo ponastavljena, če privzeti prilagodilnih ne "
|
||||
"bo povezan z ničemer."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
|
||||
msgid "Show the week date in the calendar"
|
||||
@@ -517,7 +520,7 @@ msgstr "Program \"%s\" je odstranjen iz priljubljenih."
|
||||
|
||||
#: ../js/ui/audioDeviceSelection.js:59
|
||||
msgid "Select Audio Device"
|
||||
msgstr ""
|
||||
msgstr "Izbor zvokovne naprave"
|
||||
|
||||
#: ../js/ui/audioDeviceSelection.js:69
|
||||
msgid "Sound Settings"
|
||||
@@ -785,7 +788,7 @@ msgstr "Dejanje je spodletelo. Poskusite znova."
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#: ../js/ui/components/telepathyClient.js:759
|
||||
#: ../js/ui/components/telepathyClient.js:760
|
||||
#, javascript-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "%s je sedaj znan kot v %s"
|
||||
@@ -1320,11 +1323,13 @@ msgstr "Dovoli dostop"
|
||||
#: ../js/ui/status/location.js:435
|
||||
#, javascript-format
|
||||
msgid "Give %s access to your location?"
|
||||
msgstr ""
|
||||
msgstr "Dovoli %s dostop do podatka trenutnega mesta?"
|
||||
|
||||
#: ../js/ui/status/location.js:437
|
||||
msgid "Location access can be changed at any time from the privacy settings."
|
||||
msgstr ""
|
||||
"Dostop do trenutnega mesta je mogoče spremeniti kadarkoli med nastavitvami "
|
||||
"zasebnosti."
|
||||
|
||||
#: ../js/ui/status/network.js:101
|
||||
msgid "<unknown>"
|
||||
@@ -1528,13 +1533,13 @@ msgstr "Ocenjevanje ...."
|
||||
#: ../js/ui/status/power.js:98
|
||||
#, javascript-format
|
||||
msgid "%d∶%02d Remaining (%d %%)"
|
||||
msgstr ""
|
||||
msgstr "Preostaja %d∶%02d (%d %%)"
|
||||
|
||||
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
|
||||
#: ../js/ui/status/power.js:103
|
||||
#, javascript-format
|
||||
msgid "%d∶%02d Until Full (%d %%)"
|
||||
msgstr ""
|
||||
msgstr "%d∶%02d do polnosti (%d %%)"
|
||||
|
||||
#: ../js/ui/status/power.js:131 ../js/ui/status/power.js:133
|
||||
#, javascript-format
|
||||
|
113
po/tr.po
113
po/tr.po
@@ -14,16 +14,16 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2016-03-19 10:22+0000\n"
|
||||
"PO-Revision-Date: 2016-03-19 20:56+0200\n"
|
||||
"POT-Creation-Date: 2016-05-27 14:08+0000\n"
|
||||
"PO-Revision-Date: 2016-06-05 00:12+0300\n"
|
||||
"Last-Translator: Muhammet Kara <muhammetk@gmail.com>\n"
|
||||
"Language-Team: Turkish <gnome-turk@gnome.org>\n"
|
||||
"Language-Team: Türkçe <gnome-turk@gnome.org>\n"
|
||||
"Language: tr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Gtranslator 2.91.6\n"
|
||||
"X-Generator: Gtranslator 2.91.7\n"
|
||||
"X-Project-Style: gnome\n"
|
||||
|
||||
#: ../data/50-gnome-shell-system.xml.in.h:1
|
||||
@@ -189,76 +189,68 @@ msgstr ""
|
||||
"olmadığı görülecek olursa bu durum sıfırlanacaktır."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
|
||||
msgid "Show the week date in the calendar"
|
||||
msgstr "Hafta tarihini takvimde göster"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
|
||||
msgid "If true, display the ISO week date in the calendar."
|
||||
msgstr "Doğru ise ISO hafta tarihini takvimde göster."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
|
||||
msgid "Keybinding to open the application menu"
|
||||
msgstr "Uygulama menüsünü açmak için klavye kısayolu"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
|
||||
msgid "Keybinding to open the application menu."
|
||||
msgstr "Uygulama menüsünü açmak için klavye kısayolu."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
|
||||
msgid "Keybinding to open the \"Show Applications\" view"
|
||||
msgstr "\"Uygulamaları Göster\" görünümünü açmak için klavye kısayolu"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
|
||||
msgid ""
|
||||
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
|
||||
msgstr ""
|
||||
"Etkinlikler Genel Görünümünün \"Uygulamaları Göster\" görünümünü açmak için "
|
||||
"klavye kısayolu."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
|
||||
msgid "Keybinding to open the overview"
|
||||
msgstr "Genel görünümü açmak için klavye kısayolu"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
|
||||
msgid "Keybinding to open the Activities Overview."
|
||||
msgstr "Etkinlikler Genel Görünümünü açmak için klavye kısayolu"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
|
||||
msgid "Keybinding to toggle the visibility of the notification list"
|
||||
msgstr "Bildirim listesinin görünürlüğünü değiştirmek için klavye kısayolu"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
|
||||
msgid "Keybinding to toggle the visibility of the notification list."
|
||||
msgstr "Bildirim listesinin görünürlüğünü değiştirmek için klavye kısayolu."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
|
||||
msgid "Keybinding to focus the active notification"
|
||||
msgstr "Etkin bildirime odaklanmak için klavye kısayolu"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
|
||||
msgid "Keybinding to focus the active notification."
|
||||
msgstr "Etkin bildirime odaklanmak için klavye kısayolu."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
|
||||
msgid ""
|
||||
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
|
||||
msgstr ""
|
||||
"Hata ayıklama amacıyla, çalışmakta olan tüm ara çerçeveleri duraklatan ve "
|
||||
"devam ettiren tuş bağı."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
|
||||
msgid "Which keyboard to use"
|
||||
msgstr "Hangi klavyenin kullanılacağı"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
|
||||
msgid "The type of keyboard to use."
|
||||
msgstr "Kullanılacak klavye türü."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
|
||||
msgid "Limit switcher to current workspace."
|
||||
msgstr "Geçiş menüsünü geçerli çalışma alanıyla sınırla."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
|
||||
msgid ""
|
||||
"If true, only applications that have windows on the current workspace are "
|
||||
"shown in the switcher. Otherwise, all applications are included."
|
||||
@@ -267,11 +259,11 @@ msgstr ""
|
||||
"uygulamalar geçiş menüsünde gösterilir. Aksi halde, tüm uygulamalar "
|
||||
"görünecektir."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
|
||||
msgid "The application icon mode."
|
||||
msgstr "Uygulama simge kipi."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
||||
msgid ""
|
||||
"Configures how the windows are shown in the switcher. Valid possibilities "
|
||||
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
|
||||
@@ -282,7 +274,7 @@ msgstr ""
|
||||
"icon-only' (sadece uygulama simgesini gösterir) ya da 'both' (her ikisi) "
|
||||
"değerleridir."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
||||
msgid ""
|
||||
"If true, only windows from the current workspace are shown in the switcher. "
|
||||
"Otherwise, all windows are included."
|
||||
@@ -290,31 +282,31 @@ msgstr ""
|
||||
"Eğer bu seçenek etkinse, sadece geçerli çalışma alanındaki pencereler geçiş "
|
||||
"menüsünde gösterilir. Aksi halde, tüm pencereler görünecektir."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "Yardımcı iletişim penceresini üst pencereye iliştir"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr ""
|
||||
"Bu anahtar, GNOME Shell çalışırken org.gnome.mutter içindeki anahtarı "
|
||||
"geçersiz kılar."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
msgstr ""
|
||||
"Pencereler ekran kenarlarında bırakıldığında kenar döşemeyi etkinleştir."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
|
||||
msgid "Workspaces are managed dynamically"
|
||||
msgstr "Çalışma alanları dinamik olarak yönetilir"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:44
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Çalışma alanları sadece birincil ekranda"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:45
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr ""
|
||||
"Fare kipinde odak değişikliklerini işaretçi hareketi durana kadar beklet"
|
||||
@@ -532,7 +524,6 @@ msgid "Select Audio Device"
|
||||
msgstr "Ses Aygıtı Seç"
|
||||
|
||||
#: ../js/ui/audioDeviceSelection.js:69
|
||||
#| msgid "Account Settings"
|
||||
msgid "Sound Settings"
|
||||
msgstr "Ses Ayarları"
|
||||
|
||||
@@ -556,7 +547,7 @@ msgstr "Arkaplanı Değiştir…"
|
||||
msgid "Display Settings"
|
||||
msgstr "Görüntü Ayarları"
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
|
||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:371
|
||||
msgid "Settings"
|
||||
msgstr "Ayarlar"
|
||||
|
||||
@@ -1010,7 +1001,7 @@ msgstr "Etkin"
|
||||
|
||||
#. translators:
|
||||
#. * The device has been disabled
|
||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
|
||||
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1866
|
||||
msgid "Disabled"
|
||||
msgstr "Devre dışı"
|
||||
|
||||
@@ -1043,13 +1034,10 @@ msgid "System Information"
|
||||
msgstr "Sistem Bilgisi"
|
||||
|
||||
#: ../js/ui/mpris.js:194
|
||||
#| msgid "Unknown reason"
|
||||
msgid "Unknown artist"
|
||||
msgstr "Bilinmeyen sanatçı"
|
||||
|
||||
#: ../js/ui/mpris.js:195
|
||||
#| msgctxt "program"
|
||||
#| msgid "Unknown"
|
||||
msgid "Unknown title"
|
||||
msgstr "Bilinmeyen başlık"
|
||||
|
||||
@@ -1131,11 +1119,11 @@ msgid "%d new notification"
|
||||
msgid_plural "%d new notifications"
|
||||
msgstr[0] "%d yeni bildirim"
|
||||
|
||||
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:374
|
||||
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:379
|
||||
msgid "Lock"
|
||||
msgstr "Kilitle"
|
||||
|
||||
#: ../js/ui/screenShield.js:684
|
||||
#: ../js/ui/screenShield.js:687
|
||||
msgid "GNOME needs to lock the screen"
|
||||
msgstr "GNOME'un ekranı kilitlemesi gerekiyor"
|
||||
|
||||
@@ -1146,11 +1134,11 @@ msgstr "GNOME'un ekranı kilitlemesi gerekiyor"
|
||||
#.
|
||||
#. XXX: another option is to kick the user into the gdm login
|
||||
#. screen, where we're not affected by grabs
|
||||
#: ../js/ui/screenShield.js:805 ../js/ui/screenShield.js:1271
|
||||
#: ../js/ui/screenShield.js:808 ../js/ui/screenShield.js:1274
|
||||
msgid "Unable to lock"
|
||||
msgstr "Kilitlenemedi"
|
||||
|
||||
#: ../js/ui/screenShield.js:806 ../js/ui/screenShield.js:1272
|
||||
#: ../js/ui/screenShield.js:809 ../js/ui/screenShield.js:1275
|
||||
msgid "Lock was blocked by an application"
|
||||
msgstr "Kilitleme bir uygulama tarafından engellendi"
|
||||
|
||||
@@ -1234,7 +1222,7 @@ msgstr "Büyük Yazı"
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:56
|
||||
#: ../js/ui/status/bluetooth.js:56 ../js/ui/status/network.js:624
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Bluetooth Ayarları"
|
||||
|
||||
@@ -1380,7 +1368,7 @@ msgstr "%s Bağlantısı Başarısız Oldu"
|
||||
msgid "Wired Settings"
|
||||
msgstr "Kablolu Ağ Ayarları"
|
||||
|
||||
#: ../js/ui/status/network.js:545 ../js/ui/status/network.js:624
|
||||
#: ../js/ui/status/network.js:545
|
||||
msgid "Mobile Broadband Settings"
|
||||
msgstr "Mobil Geniş Bant Ayarları"
|
||||
|
||||
@@ -1398,8 +1386,8 @@ msgid "%s Disabled"
|
||||
msgstr "%s Devre Dışı"
|
||||
|
||||
#: ../js/ui/status/network.js:632
|
||||
msgid "Use as Internet connection"
|
||||
msgstr "İnternet bağlantısı olarak kullan"
|
||||
msgid "Connect to Internet"
|
||||
msgstr "İnternet'e Bağlan"
|
||||
|
||||
#: ../js/ui/status/network.js:813
|
||||
msgid "Airplane Mode is On"
|
||||
@@ -1536,27 +1524,27 @@ msgstr "%% %d"
|
||||
msgid "Airplane Mode On"
|
||||
msgstr "Uçak Kipi Açık"
|
||||
|
||||
#: ../js/ui/status/system.js:343
|
||||
#: ../js/ui/status/system.js:348
|
||||
msgid "Switch User"
|
||||
msgstr "Kullanıcı Değiştir"
|
||||
|
||||
#: ../js/ui/status/system.js:348
|
||||
#: ../js/ui/status/system.js:353
|
||||
msgid "Log Out"
|
||||
msgstr "Oturumu Kapat"
|
||||
|
||||
#: ../js/ui/status/system.js:353
|
||||
#: ../js/ui/status/system.js:358
|
||||
msgid "Account Settings"
|
||||
msgstr "Hesap Ayarları"
|
||||
|
||||
#: ../js/ui/status/system.js:370
|
||||
#: ../js/ui/status/system.js:375
|
||||
msgid "Orientation Lock"
|
||||
msgstr "Yönelim Kilidi"
|
||||
|
||||
#: ../js/ui/status/system.js:378
|
||||
#: ../js/ui/status/system.js:383
|
||||
msgid "Suspend"
|
||||
msgstr "Beklet"
|
||||
|
||||
#: ../js/ui/status/system.js:381
|
||||
#: ../js/ui/status/system.js:386
|
||||
msgid "Power Off"
|
||||
msgstr "Kapat"
|
||||
|
||||
@@ -1687,7 +1675,7 @@ msgstr "Evolution Takvim"
|
||||
|
||||
#. translators:
|
||||
#. * The number of sound outputs on a particular device
|
||||
#: ../src/gvc/gvc-mixer-control.c:1835
|
||||
#: ../src/gvc/gvc-mixer-control.c:1873
|
||||
#, c-format
|
||||
msgid "%u Output"
|
||||
msgid_plural "%u Outputs"
|
||||
@@ -1695,13 +1683,13 @@ msgstr[0] "%u Çıktı"
|
||||
|
||||
#. translators:
|
||||
#. * The number of sound inputs on a particular device
|
||||
#: ../src/gvc/gvc-mixer-control.c:1845
|
||||
#: ../src/gvc/gvc-mixer-control.c:1883
|
||||
#, c-format
|
||||
msgid "%u Input"
|
||||
msgid_plural "%u Inputs"
|
||||
msgstr[0] "%u Girdi"
|
||||
|
||||
#: ../src/gvc/gvc-mixer-control.c:2371
|
||||
#: ../src/gvc/gvc-mixer-control.c:2738
|
||||
msgid "System Sounds"
|
||||
msgstr "Sistem Sesleri"
|
||||
|
||||
@@ -1743,6 +1731,15 @@ msgstr "Parola boş bırakılamaz"
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "Kimlik doğrulama penceresi kullanıcı tarafından kapatıldı"
|
||||
|
||||
#~ msgid "Show the week date in the calendar"
|
||||
#~ msgstr "Hafta tarihini takvimde göster"
|
||||
|
||||
#~ msgid "If true, display the ISO week date in the calendar."
|
||||
#~ msgstr "Doğru ise ISO hafta tarihini takvimde göster."
|
||||
|
||||
#~ msgid "Use as Internet connection"
|
||||
#~ msgstr "İnternet bağlantısı olarak kullan"
|
||||
|
||||
#~ msgid "GNOME Shell (wayland compositor)"
|
||||
#~ msgstr "GNOME Kabuğu (wayland bestecisi)"
|
||||
|
||||
|
33
po/uk.po
33
po/uk.po
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-02-23 13:06+0200\n"
|
||||
"PO-Revision-Date: 2016-02-23 13:08+0300\n"
|
||||
"POT-Creation-Date: 2016-03-22 22:29+0200\n"
|
||||
"PO-Revision-Date: 2016-03-22 22:30+0300\n"
|
||||
"Last-Translator: Daniel Korostil <ted.korostiled@gmail.com>\n"
|
||||
"Language-Team: linux.org.ua\n"
|
||||
"Language: uk\n"
|
||||
@@ -307,12 +307,12 @@ msgstr "Затримувати зміни фокусу миші, поки вка
|
||||
msgid "Network Login"
|
||||
msgstr "Мережевий вхід"
|
||||
|
||||
#: ../js/extensionPrefs/main.js:121
|
||||
#: ../js/extensionPrefs/main.js:117
|
||||
#, javascript-format
|
||||
msgid "There was an error loading the preferences dialog for %s:"
|
||||
msgstr "Помилка завантаження вікна параметрів для %s:"
|
||||
|
||||
#: ../js/extensionPrefs/main.js:153
|
||||
#: ../js/extensionPrefs/main.js:149
|
||||
msgid "GNOME Shell Extensions"
|
||||
msgstr "Розширення GNOME Shell"
|
||||
|
||||
@@ -779,7 +779,7 @@ msgstr "Вибачте, це не працює. Спробуйте ще."
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#: ../js/ui/components/telepathyClient.js:759
|
||||
#: ../js/ui/components/telepathyClient.js:760
|
||||
#, javascript-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "%s тепер відомий як %s"
|
||||
@@ -969,11 +969,11 @@ msgid "Keyboard"
|
||||
msgstr "Клавіатура"
|
||||
|
||||
#. translators: 'Hide' is a verb
|
||||
#: ../js/ui/legacyTray.js:66
|
||||
#: ../js/ui/legacyTray.js:65
|
||||
msgid "Hide tray"
|
||||
msgstr "Сховати лоток"
|
||||
|
||||
#: ../js/ui/legacyTray.js:107
|
||||
#: ../js/ui/legacyTray.js:106
|
||||
msgid "Status Icons"
|
||||
msgstr "Піктограми стану"
|
||||
|
||||
@@ -1290,25 +1290,25 @@ msgstr "Місцевість вимкнено"
|
||||
msgid "Enable"
|
||||
msgstr "Увімкнути"
|
||||
|
||||
#: ../js/ui/status/location.js:434
|
||||
#: ../js/ui/status/location.js:426
|
||||
msgid "Deny Access"
|
||||
msgstr "Відкинути доступ"
|
||||
|
||||
#: ../js/ui/status/location.js:437
|
||||
#: ../js/ui/status/location.js:429
|
||||
msgid "Grant Access"
|
||||
msgstr "Надати доступ"
|
||||
|
||||
#. Translators: %s is an application name
|
||||
#: ../js/ui/status/location.js:443
|
||||
#: ../js/ui/status/location.js:435
|
||||
#, javascript-format
|
||||
msgid "Give %s access to your location?"
|
||||
msgstr "Надати %s доступ до вашого розміщення?"
|
||||
|
||||
#. Translators: %s is an application name
|
||||
#: ../js/ui/status/location.js:446
|
||||
#, javascript-format
|
||||
msgid "%s is requesting access to your location."
|
||||
msgstr "%s вимагає доступ до вашого розміщення."
|
||||
#: ../js/ui/status/location.js:437
|
||||
msgid "Location access can be changed at any time from the privacy settings."
|
||||
msgstr ""
|
||||
"Доступ до місця перебування можна змінити в будь-яку мить у параметрах "
|
||||
"конфіденційності."
|
||||
|
||||
#: ../js/ui/status/network.js:101
|
||||
msgid "<unknown>"
|
||||
@@ -1745,6 +1745,9 @@ msgstr "Пароль не може бути порожнім"
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "Вікно авторизації відхилено користувачем"
|
||||
|
||||
#~ msgid "%s is requesting access to your location."
|
||||
#~ msgstr "%s вимагає доступ до вашого розміщення."
|
||||
|
||||
#~ msgid "GNOME Shell (wayland compositor)"
|
||||
#~ msgstr "Оболонка GNOME (поверх wayland)"
|
||||
|
||||
|
351
po/vi.po
351
po/vi.po
@@ -1,18 +1,18 @@
|
||||
# Vietnamese translation for gnome-shell.
|
||||
# Bản dịch tiếng Việt dành cho gnome-shell.
|
||||
# Copyright (C) 2015 GNOME i18n Project for Vietnamese.
|
||||
# Copyright (C) 2016 GNOME i18n Project for Vietnamese.
|
||||
# This file is distributed under the same license as the gnome-shell package.
|
||||
# Nguyễn Thái Ngọc Duy <pclouds@gmail.com>, 2010-2013.
|
||||
# Ngô Chin <ndtrung4419@gmail.com>, 2011.
|
||||
# Trần Ngọc Quân <vnwildman@gmail.com>, 2013-2014, 2015.
|
||||
# Trần Ngọc Quân <vnwildman@gmail.com>, 2013-2014, 2015, 2016.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2015-09-28 22:53+0000\n"
|
||||
"PO-Revision-Date: 2015-10-01 07:15+0700\n"
|
||||
"POT-Creation-Date: 2016-03-25 22:36+0000\n"
|
||||
"PO-Revision-Date: 2016-03-26 13:42+0700\n"
|
||||
"Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
|
||||
"Language-Team: Vietnamese <gnome-vi-list@gnome.org>\n"
|
||||
"Language: vi\n"
|
||||
@@ -46,15 +46,6 @@ msgstr "Hiện mọi ứng dụng"
|
||||
msgid "Open the application menu"
|
||||
msgstr "Mở trình đơn ứng dụng"
|
||||
|
||||
#: ../data/gnome-shell.desktop.in.in.h:1
|
||||
msgid "GNOME Shell"
|
||||
msgstr "Hệ vỏ GNOME"
|
||||
|
||||
#: ../data/gnome-shell.desktop.in.in.h:2
|
||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
|
||||
msgid "Window management and application launching"
|
||||
msgstr "Quản lý cửa sổ và chạy ứng dụng"
|
||||
|
||||
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1
|
||||
msgid "GNOME Shell Extension Preferences"
|
||||
msgstr "Cá nhân hóa phần mở rộng hệ vỏ GNOME"
|
||||
@@ -63,9 +54,13 @@ msgstr "Cá nhân hóa phần mở rộng hệ vỏ GNOME"
|
||||
msgid "Configure GNOME Shell Extensions"
|
||||
msgstr "Cấu hình phần mở rộng Hệ vỏ GNOME"
|
||||
|
||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
|
||||
msgid "GNOME Shell (wayland compositor)"
|
||||
msgstr "Hệ vỏ GNOME (wayland compositor)"
|
||||
#: ../data/org.gnome.Shell.desktop.in.in.h:1
|
||||
msgid "GNOME Shell"
|
||||
msgstr "Hệ vỏ GNOME"
|
||||
|
||||
#: ../data/org.gnome.Shell.desktop.in.in.h:2
|
||||
msgid "Window management and application launching"
|
||||
msgstr "Quản lý cửa sổ và chạy ứng dụng"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
|
||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
|
||||
@@ -169,72 +164,90 @@ msgstr ""
|
||||
"hộp dấu kiểm."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
|
||||
msgid ""
|
||||
"Whether the default Bluetooth adapter had set up devices associated to it"
|
||||
msgstr ""
|
||||
"Có nên để bộ điều hợp Bluetooth mặc định phải cài đặt thiết bị liên kết với "
|
||||
"nó hay không"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
|
||||
msgid ""
|
||||
"The shell will only show a Bluetooth menu item if a Bluetooth adapter is "
|
||||
"powered, or if there were devices set up associated with the default "
|
||||
"adapter. This will be reset if the default adapter is ever seen not to have "
|
||||
"devices associated to it."
|
||||
msgstr ""
|
||||
"Hệ vỏ sẽ chỉ hiển thị mục tin trình đơn Bluetooth nếu nó được bật, hoặc là "
|
||||
"có các thiết bị được cài đặt liên kết với bộ tiếp hợp mặc định. Cái này sẽ "
|
||||
"được đặt lại nếu bộ tiếp hợp mặc định không còn được liên kết với nó nữa."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
|
||||
msgid "Show the week date in the calendar"
|
||||
msgstr "Hiện tuần trên lịch"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
|
||||
msgid "If true, display the ISO week date in the calendar."
|
||||
msgstr "Nếu được đặt, hiện tuần trong lịch theo chuẩn ISO."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
|
||||
msgid "Keybinding to open the application menu"
|
||||
msgstr "Phím mở trình đơn ứng dụng"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
|
||||
msgid "Keybinding to open the application menu."
|
||||
msgstr "Phím mở trình đơn ứng dụng."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
|
||||
msgid "Keybinding to open the \"Show Applications\" view"
|
||||
msgstr "Phím hiện “Ứng dụng”"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
|
||||
msgid ""
|
||||
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
|
||||
msgstr "Phím hiện “Ứng dụng” trong “Tổng quan hoạt động”."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
|
||||
msgid "Keybinding to open the overview"
|
||||
msgstr "Phím mở tổng quan"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
|
||||
msgid "Keybinding to open the Activities Overview."
|
||||
msgstr "Phím mở tổng quan hoạt động."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
|
||||
msgid "Keybinding to toggle the visibility of the notification list"
|
||||
msgstr "Phím để bật/tắt hiển thị danh sách thông báo"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
|
||||
msgid "Keybinding to toggle the visibility of the notification list."
|
||||
msgstr "Phím để bật/tắt hiển thị danh sách thông báo."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
|
||||
msgid "Keybinding to focus the active notification"
|
||||
msgstr "Phím để tập trung vào thông báo hoạt động"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
|
||||
msgid "Keybinding to focus the active notification."
|
||||
msgstr "Phím để tập trung vào thông báo hoạt động."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
|
||||
msgid ""
|
||||
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
|
||||
msgstr "Phím ràng buộc cái mà dừng hay tiếp tục chạy, dành cho mục đích gỡ lỗi"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
|
||||
msgid "Which keyboard to use"
|
||||
msgstr "Bàn phím được dùng"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
|
||||
msgid "The type of keyboard to use."
|
||||
msgstr "Kiểu bàn phím được dùng."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
|
||||
msgid "Limit switcher to current workspace."
|
||||
msgstr "Giới hạn bộ chuyển đổi cho không gian làm việc hiện tại."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
||||
msgid ""
|
||||
"If true, only applications that have windows on the current workspace are "
|
||||
"shown in the switcher. Otherwise, all applications are included."
|
||||
@@ -243,11 +256,11 @@ msgstr ""
|
||||
"tại là hiện ra trên bộ chuyển. Nếu không, tất cả các ứng dụng sẽ được bao "
|
||||
"gồm."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
||||
msgid "The application icon mode."
|
||||
msgstr "Chế độ biểu tượng ứng dụng."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||
msgid ""
|
||||
"Configures how the windows are shown in the switcher. Valid possibilities "
|
||||
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
|
||||
@@ -257,7 +270,7 @@ msgstr ""
|
||||
"“thumbnail-only” (hiển thị ảnh thu nhỏ của cửa sổ), “app-icon-only” (chỉ "
|
||||
"hiển thị biểu tượng của ứng dụng) hoặc “both” (cả hai)."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
|
||||
msgid ""
|
||||
"If true, only windows from the current workspace are shown in the switcher. "
|
||||
"Otherwise, all windows are included."
|
||||
@@ -265,29 +278,29 @@ msgstr ""
|
||||
"Nếu được đặt, chỉ những cửa sổ từ không gian làm việc hiện hành được hiện "
|
||||
"thị ở bộ chuyển. Nếu không, tất cả các cửa sổ sẽ được gộp vào."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "Gắn hộp thoại dạng modal vào cửa sổ mẹ"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr ""
|
||||
"Khóa này sẽ đè lên khóa có trong org.gnome.mutter khi chạy hệ vỏ GNOME."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
msgstr "Bật xếp lớp ở cạnh khi thả cửa sổ vào cạnh màn hình"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
|
||||
msgid "Workspaces are managed dynamically"
|
||||
msgstr "Quản lý động vùng làm việc"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:44
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Vùng làm việc chỉ ở trên màn hình chính"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:45
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr "Khoảng trễ chờ cho con chuột ngừng di chuyển"
|
||||
|
||||
@@ -295,51 +308,52 @@ msgstr "Khoảng trễ chờ cho con chuột ngừng di chuyển"
|
||||
msgid "Network Login"
|
||||
msgstr "Đăng nhập mạng"
|
||||
|
||||
#: ../js/extensionPrefs/main.js:122
|
||||
#: ../js/extensionPrefs/main.js:117
|
||||
#, javascript-format
|
||||
msgid "There was an error loading the preferences dialog for %s:"
|
||||
msgstr "Có lỗi khi đang tải hộp thoại tùy thích cho %s:"
|
||||
|
||||
#: ../js/extensionPrefs/main.js:154
|
||||
#: ../js/extensionPrefs/main.js:149
|
||||
msgid "GNOME Shell Extensions"
|
||||
msgstr "Phần mở rộng Hệ vỏ GNOME"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:145
|
||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/audioDeviceSelection.js:71
|
||||
#: ../js/ui/components/networkAgent.js:145
|
||||
#: ../js/ui/components/polkitAgent.js:179 ../js/ui/endSessionDialog.js:452
|
||||
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
|
||||
#: ../js/ui/status/network.js:916
|
||||
msgid "Cancel"
|
||||
msgstr "Thôi"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215
|
||||
#: ../js/gdm/authPrompt.js:447
|
||||
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:216
|
||||
#: ../js/gdm/authPrompt.js:448
|
||||
msgid "Next"
|
||||
msgstr "Kế tiếp"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:211 ../js/ui/shellMountOperation.js:403
|
||||
#: ../js/gdm/authPrompt.js:212 ../js/ui/shellMountOperation.js:403
|
||||
#: ../js/ui/unlockDialog.js:59
|
||||
msgid "Unlock"
|
||||
msgstr "Mở khóa"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:213
|
||||
#: ../js/gdm/authPrompt.js:214
|
||||
msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "Đăng nhập"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:281
|
||||
#: ../js/gdm/loginDialog.js:285
|
||||
msgid "Choose Session"
|
||||
msgstr "Chọn phiên làm việc"
|
||||
|
||||
#. translators: this message is shown below the user list on the
|
||||
#. login screen. It can be activated to reveal an entry for
|
||||
#. manually entering the username.
|
||||
#: ../js/gdm/loginDialog.js:431
|
||||
#: ../js/gdm/loginDialog.js:435
|
||||
msgid "Not listed?"
|
||||
msgstr "Không có trong danh sách?"
|
||||
|
||||
#. Translators: this message is shown below the username entry field
|
||||
#. to clue the user in on how to login to the local network realm
|
||||
#: ../js/gdm/loginDialog.js:850
|
||||
#: ../js/gdm/loginDialog.js:854
|
||||
#, javascript-format
|
||||
msgid "(e.g., user or %s)"
|
||||
msgstr "(ví dụ: tài khoản hoặc %s)"
|
||||
@@ -347,12 +361,12 @@ msgstr "(ví dụ: tài khoản hoặc %s)"
|
||||
#. TTLS and PEAP are actually much more complicated, but this complication
|
||||
#. is not visible here since we only care about phase2 authentication
|
||||
#. (and don't even care of which one)
|
||||
#: ../js/gdm/loginDialog.js:855 ../js/ui/components/networkAgent.js:271
|
||||
#: ../js/gdm/loginDialog.js:859 ../js/ui/components/networkAgent.js:271
|
||||
#: ../js/ui/components/networkAgent.js:289
|
||||
msgid "Username: "
|
||||
msgstr "Tài khoản: "
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1184
|
||||
#: ../js/gdm/loginDialog.js:1196
|
||||
msgid "Login Window"
|
||||
msgstr "Cửa sổ đăng nhập"
|
||||
|
||||
@@ -488,16 +502,36 @@ msgstr "Đánh dấu ưa thích"
|
||||
msgid "Show Details"
|
||||
msgstr "Hiện chi tiết"
|
||||
|
||||
#: ../js/ui/appFavorites.js:132
|
||||
#: ../js/ui/appFavorites.js:134
|
||||
#, javascript-format
|
||||
msgid "%s has been added to your favorites."
|
||||
msgstr "Đã đánh dấu ưa thích cho %s."
|
||||
|
||||
#: ../js/ui/appFavorites.js:166
|
||||
#: ../js/ui/appFavorites.js:168
|
||||
#, javascript-format
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "%s đã bị xóa khỏi danh sách ưa thích."
|
||||
|
||||
#: ../js/ui/audioDeviceSelection.js:59
|
||||
msgid "Select Audio Device"
|
||||
msgstr "Chọn thiết bị âm thanh"
|
||||
|
||||
#: ../js/ui/audioDeviceSelection.js:69
|
||||
msgid "Sound Settings"
|
||||
msgstr "Cài đặt âm thanh"
|
||||
|
||||
#: ../js/ui/audioDeviceSelection.js:78
|
||||
msgid "Headphones"
|
||||
msgstr "Tai nghe"
|
||||
|
||||
#: ../js/ui/audioDeviceSelection.js:80
|
||||
msgid "Headset"
|
||||
msgstr "Bộ tai nghe + micrô"
|
||||
|
||||
#: ../js/ui/audioDeviceSelection.js:82 ../js/ui/status/volume.js:213
|
||||
msgid "Microphone"
|
||||
msgstr "Micrô"
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:19
|
||||
msgid "Change Background…"
|
||||
msgstr "Đổi ảnh nền…"
|
||||
@@ -511,7 +545,7 @@ msgid "Settings"
|
||||
msgstr "Cài đặt"
|
||||
|
||||
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday).
|
||||
#: ../js/ui/calendar.js:55
|
||||
#: ../js/ui/calendar.js:47
|
||||
msgctxt "calendar-no-work"
|
||||
msgid "06"
|
||||
msgstr "06"
|
||||
@@ -521,94 +555,96 @@ msgstr "06"
|
||||
#. * NOTE: These grid abbreviations are always shown together
|
||||
#. * and in order, e.g. "S M T W T F S".
|
||||
#.
|
||||
#: ../js/ui/calendar.js:84
|
||||
#: ../js/ui/calendar.js:76
|
||||
msgctxt "grid sunday"
|
||||
msgid "S"
|
||||
msgstr "C"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Monday
|
||||
#: ../js/ui/calendar.js:86
|
||||
#: ../js/ui/calendar.js:78
|
||||
msgctxt "grid monday"
|
||||
msgid "M"
|
||||
msgstr "2"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Tuesday
|
||||
#: ../js/ui/calendar.js:88
|
||||
#: ../js/ui/calendar.js:80
|
||||
msgctxt "grid tuesday"
|
||||
msgid "T"
|
||||
msgstr "3"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Wednesday
|
||||
#: ../js/ui/calendar.js:90
|
||||
#: ../js/ui/calendar.js:82
|
||||
msgctxt "grid wednesday"
|
||||
msgid "W"
|
||||
msgstr "4"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Thursday
|
||||
#: ../js/ui/calendar.js:92
|
||||
#: ../js/ui/calendar.js:84
|
||||
msgctxt "grid thursday"
|
||||
msgid "T"
|
||||
msgstr "5"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Friday
|
||||
#: ../js/ui/calendar.js:94
|
||||
#: ../js/ui/calendar.js:86
|
||||
msgctxt "grid friday"
|
||||
msgid "F"
|
||||
msgstr "6"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Saturday
|
||||
#: ../js/ui/calendar.js:96
|
||||
#: ../js/ui/calendar.js:88
|
||||
msgctxt "grid saturday"
|
||||
msgid "S"
|
||||
msgstr "7"
|
||||
|
||||
#: ../js/ui/calendar.js:566
|
||||
#: ../js/ui/calendar.js:416
|
||||
msgid "Previous month"
|
||||
msgstr "Tháng trước"
|
||||
|
||||
#: ../js/ui/calendar.js:576
|
||||
#: ../js/ui/calendar.js:426
|
||||
msgid "Next month"
|
||||
msgstr "Tháng tới"
|
||||
|
||||
#: ../js/ui/calendar.js:783
|
||||
#: ../js/ui/calendar.js:579
|
||||
#, no-javascript-format
|
||||
msgctxt "date day number format"
|
||||
msgid "%d"
|
||||
msgstr "%d"
|
||||
|
||||
#: ../js/ui/calendar.js:634
|
||||
msgid "Week %V"
|
||||
msgstr "Tuần %V"
|
||||
|
||||
#. Translators: Shown in calendar event list for all day events
|
||||
#. * Keep it short, best if you can use less then 10 characters
|
||||
#.
|
||||
#: ../js/ui/calendar.js:1188
|
||||
#: ../js/ui/calendar.js:695
|
||||
msgctxt "event list time"
|
||||
msgid "All Day"
|
||||
msgstr "Cả ngày"
|
||||
|
||||
#: ../js/ui/calendar.js:1295
|
||||
msgid "Clear section"
|
||||
msgstr "Xóa một phần"
|
||||
|
||||
#: ../js/ui/calendar.js:1522
|
||||
#: ../js/ui/calendar.js:821
|
||||
msgid "Events"
|
||||
msgstr "Sự kiện"
|
||||
|
||||
#: ../js/ui/calendar.js:1531
|
||||
#: ../js/ui/calendar.js:830
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, %d %B"
|
||||
|
||||
#: ../js/ui/calendar.js:1535
|
||||
#: ../js/ui/calendar.js:834
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%A, %d %B, %Y"
|
||||
|
||||
#: ../js/ui/calendar.js:1620
|
||||
#: ../js/ui/calendar.js:919
|
||||
msgid "Notifications"
|
||||
msgstr "Thông báo"
|
||||
|
||||
#: ../js/ui/calendar.js:1771
|
||||
#: ../js/ui/calendar.js:1070
|
||||
msgid "No Notifications"
|
||||
msgstr "Không có thông báo nào"
|
||||
|
||||
#: ../js/ui/calendar.js:1774
|
||||
#: ../js/ui/calendar.js:1073
|
||||
msgid "No Events"
|
||||
msgstr "Không có sự kiện"
|
||||
|
||||
@@ -620,7 +656,7 @@ msgstr "Ổ ngoài đã kết nối"
|
||||
msgid "External drive disconnected"
|
||||
msgstr "Ổ ngoài đã ngắt kết nối"
|
||||
|
||||
#: ../js/ui/components/autorunManager.js:354
|
||||
#: ../js/ui/components/autorunManager.js:355
|
||||
#, javascript-format
|
||||
msgid "Open with %s"
|
||||
msgstr "Mở bằng %s"
|
||||
@@ -744,7 +780,7 @@ msgstr "Rất tiếc, không được. Vui lòng thử lại."
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#: ../js/ui/components/telepathyClient.js:759
|
||||
#: ../js/ui/components/telepathyClient.js:760
|
||||
#, javascript-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "%s bây giờ đổi thành %s"
|
||||
@@ -924,11 +960,11 @@ msgid "Keyboard"
|
||||
msgstr "Bàn phím"
|
||||
|
||||
#. translators: 'Hide' is a verb
|
||||
#: ../js/ui/legacyTray.js:66
|
||||
#: ../js/ui/legacyTray.js:65
|
||||
msgid "Hide tray"
|
||||
msgstr "Ẩn khay"
|
||||
|
||||
#: ../js/ui/legacyTray.js:107
|
||||
#: ../js/ui/legacyTray.js:106
|
||||
msgid "Status Icons"
|
||||
msgstr "Biểu tượng trạng thái"
|
||||
|
||||
@@ -980,10 +1016,26 @@ msgstr "Xem mã nguồn"
|
||||
msgid "Web Page"
|
||||
msgstr "Trang thông tin điện tử"
|
||||
|
||||
#: ../js/ui/messageList.js:543
|
||||
msgid "Clear section"
|
||||
msgstr "Xóa một phần"
|
||||
|
||||
#: ../js/ui/messageTray.js:1486
|
||||
msgid "System Information"
|
||||
msgstr "Thông tin hệ thống"
|
||||
|
||||
#: ../js/ui/mpris.js:194
|
||||
msgid "Unknown artist"
|
||||
msgstr "Không rõ nghệ sĩ"
|
||||
|
||||
#: ../js/ui/mpris.js:195
|
||||
msgid "Unknown title"
|
||||
msgstr "Chưa biết tiêu đề"
|
||||
|
||||
#: ../js/ui/mpris.js:217
|
||||
msgid "Media"
|
||||
msgstr "Đa phương tiện"
|
||||
|
||||
#: ../js/ui/overview.js:84
|
||||
msgid "Undo"
|
||||
msgstr "Hoàn lại"
|
||||
@@ -1000,22 +1052,22 @@ msgstr "Tổng quan"
|
||||
msgid "Type to search…"
|
||||
msgstr "Gõ từ muốn tìm…"
|
||||
|
||||
#: ../js/ui/panel.js:352
|
||||
#: ../js/ui/panel.js:358
|
||||
msgid "Quit"
|
||||
msgstr "Thoát"
|
||||
|
||||
#. Translators: If there is no suitable word for "Activities"
|
||||
#. in your language, you can use the word for "Overview".
|
||||
#: ../js/ui/panel.js:404
|
||||
#: ../js/ui/panel.js:414
|
||||
msgid "Activities"
|
||||
msgstr "Hoạt động"
|
||||
|
||||
#: ../js/ui/panel.js:650
|
||||
#: ../js/ui/panel.js:695
|
||||
msgctxt "System menu in the top bar"
|
||||
msgid "System"
|
||||
msgstr "Hệ thống"
|
||||
|
||||
#: ../js/ui/panel.js:754
|
||||
#: ../js/ui/panel.js:807
|
||||
msgid "Top Bar"
|
||||
msgstr "Thanh đỉnh"
|
||||
|
||||
@@ -1028,15 +1080,15 @@ msgstr "Thanh đỉnh"
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-intl"
|
||||
|
||||
#: ../js/ui/runDialog.js:70
|
||||
#: ../js/ui/runDialog.js:71
|
||||
msgid "Enter a Command"
|
||||
msgstr "Nhập lệnh"
|
||||
|
||||
#: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:162
|
||||
#: ../js/ui/runDialog.js:111 ../js/ui/windowMenu.js:162
|
||||
msgid "Close"
|
||||
msgstr "Đóng"
|
||||
|
||||
#: ../js/ui/runDialog.js:281
|
||||
#: ../js/ui/runDialog.js:282
|
||||
msgid "Restarting…"
|
||||
msgstr "Đang khởi động lại…"
|
||||
|
||||
@@ -1157,28 +1209,40 @@ msgstr "Tương phản cao"
|
||||
msgid "Large Text"
|
||||
msgstr "Chữ lớn"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:178
|
||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
|
||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
|
||||
#: ../js/ui/status/rfkill.js:117
|
||||
msgid "Turn Off"
|
||||
msgstr "Tắt"
|
||||
#: ../js/ui/status/bluetooth.js:47
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:54
|
||||
#: ../js/ui/status/bluetooth.js:56
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Cài đặt Bluetooth"
|
||||
|
||||
#. Translators: this is the number of connected bluetooth devices
|
||||
#: ../js/ui/status/bluetooth.js:105
|
||||
#: ../js/ui/status/bluetooth.js:136
|
||||
#, javascript-format
|
||||
msgid "%d Connected"
|
||||
msgid_plural "%d Connected"
|
||||
msgstr[0] "%d Đã kết nối"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:107
|
||||
#: ../js/ui/status/bluetooth.js:138
|
||||
msgid "Off"
|
||||
msgstr "Tắt"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:140
|
||||
msgid "Not In Use"
|
||||
msgstr "Không dùng"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:1279
|
||||
msgid "Turn On"
|
||||
msgstr "Bật"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:178
|
||||
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
|
||||
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
|
||||
#: ../js/ui/status/rfkill.js:117
|
||||
msgid "Turn Off"
|
||||
msgstr "Tắt"
|
||||
|
||||
#: ../js/ui/status/brightness.js:44
|
||||
msgid "Brightness"
|
||||
msgstr "Độ sáng"
|
||||
@@ -1187,30 +1251,50 @@ msgstr "Độ sáng"
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "Hiện bố cục của bàn phím"
|
||||
|
||||
#: ../js/ui/status/location.js:71 ../js/ui/status/location.js:177
|
||||
#: ../js/ui/status/location.js:107 ../js/ui/status/location.js:215
|
||||
msgid "Location Enabled"
|
||||
msgstr "Vị trí được bật"
|
||||
|
||||
#: ../js/ui/status/location.js:72 ../js/ui/status/location.js:178
|
||||
#: ../js/ui/status/location.js:108 ../js/ui/status/location.js:216
|
||||
msgid "Disable"
|
||||
msgstr "Tắt"
|
||||
|
||||
#: ../js/ui/status/location.js:73
|
||||
#: ../js/ui/status/location.js:109
|
||||
msgid "Privacy Settings"
|
||||
msgstr "Cài đặt chính sách riêng tư"
|
||||
|
||||
#: ../js/ui/status/location.js:176
|
||||
#: ../js/ui/status/location.js:214
|
||||
msgid "Location In Use"
|
||||
msgstr "Vị trí đang dùng"
|
||||
|
||||
#: ../js/ui/status/location.js:180
|
||||
#: ../js/ui/status/location.js:218
|
||||
msgid "Location Disabled"
|
||||
msgstr "Vị trí bị tắt"
|
||||
|
||||
#: ../js/ui/status/location.js:181
|
||||
#: ../js/ui/status/location.js:219
|
||||
msgid "Enable"
|
||||
msgstr "Bật"
|
||||
|
||||
#: ../js/ui/status/location.js:426
|
||||
msgid "Deny Access"
|
||||
msgstr "Từ chối truy cập"
|
||||
|
||||
#: ../js/ui/status/location.js:429
|
||||
msgid "Grant Access"
|
||||
msgstr "Cấp quyền truy cập"
|
||||
|
||||
#. Translators: %s is an application name
|
||||
#: ../js/ui/status/location.js:435
|
||||
#, javascript-format
|
||||
msgid "Give %s access to your location?"
|
||||
msgstr "Cho %s truy cập vào vị trí của bạn?"
|
||||
|
||||
#: ../js/ui/status/location.js:437
|
||||
msgid "Location access can be changed at any time from the privacy settings."
|
||||
msgstr ""
|
||||
"Truy cập vị trí có thể được thay đổi vào bất kỳ lúc nào từ các cài đặt riêng "
|
||||
"tư."
|
||||
|
||||
#: ../js/ui/status/network.js:101
|
||||
msgid "<unknown>"
|
||||
msgstr "<không rõ>"
|
||||
@@ -1346,10 +1430,6 @@ msgstr "Chọn mạng"
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "Cài đặt Wi-Fi"
|
||||
|
||||
#: ../js/ui/status/network.js:1279
|
||||
msgid "Turn On"
|
||||
msgstr "Bật"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: ../js/ui/status/network.js:1296
|
||||
#, javascript-format
|
||||
@@ -1399,31 +1479,36 @@ msgstr "Lỗi kết nối"
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Lỗi kích hoạt kết nối mạng"
|
||||
|
||||
#: ../js/ui/status/power.js:49
|
||||
#: ../js/ui/status/power.js:61
|
||||
msgid "Power Settings"
|
||||
msgstr "Cài đặt nguồn điện"
|
||||
|
||||
#: ../js/ui/status/power.js:65
|
||||
#: ../js/ui/status/power.js:77
|
||||
msgid "Fully Charged"
|
||||
msgstr "Đã sạc đầy"
|
||||
|
||||
#. 0 is reported when UPower does not have enough data
|
||||
#. to estimate battery life
|
||||
#: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78
|
||||
#: ../js/ui/status/power.js:84 ../js/ui/status/power.js:90
|
||||
msgid "Estimating…"
|
||||
msgstr "Ước tính…"
|
||||
|
||||
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
|
||||
#: ../js/ui/status/power.js:86
|
||||
#: ../js/ui/status/power.js:98
|
||||
#, javascript-format
|
||||
msgid "%d∶%02d Remaining (%d%%)"
|
||||
msgstr "Còn %d∶%02d (%d%%)"
|
||||
msgid "%d∶%02d Remaining (%d %%)"
|
||||
msgstr "Còn %d∶%02d (%d %%)"
|
||||
|
||||
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
|
||||
#: ../js/ui/status/power.js:91
|
||||
#: ../js/ui/status/power.js:103
|
||||
#, javascript-format
|
||||
msgid "%d∶%02d Until Full (%d%%)"
|
||||
msgstr "Cho đến lúc đầy cần %d∶%02d (%d%%)"
|
||||
msgid "%d∶%02d Until Full (%d %%)"
|
||||
msgstr "Cho đến lúc đầy cần %d∶%02d (%d %%)"
|
||||
|
||||
#: ../js/ui/status/power.js:131 ../js/ui/status/power.js:133
|
||||
#, javascript-format
|
||||
msgid "%d %%"
|
||||
msgstr "%d %%"
|
||||
|
||||
#. The menu only appears when airplane mode is on, so just
|
||||
#. statically build it as if it was on, rather than dynamically
|
||||
@@ -1464,10 +1549,6 @@ msgstr "Âm lượng đã thay đổi"
|
||||
msgid "Volume"
|
||||
msgstr "Âm lượng"
|
||||
|
||||
#: ../js/ui/status/volume.js:213
|
||||
msgid "Microphone"
|
||||
msgstr "Micrô"
|
||||
|
||||
#: ../js/ui/unlockDialog.js:67
|
||||
msgid "Log in as another user"
|
||||
msgstr "Đăng nhập người dùng khác"
|
||||
@@ -1623,38 +1704,35 @@ msgstr "Dùng chế độ đặc biệt, ví dụ “gdm” cho màn hình đăn
|
||||
msgid "List possible modes"
|
||||
msgstr "Danh sách chế độ có thể"
|
||||
|
||||
#: ../src/shell-app.c:239
|
||||
#: ../src/shell-app.c:246
|
||||
msgctxt "program"
|
||||
msgid "Unknown"
|
||||
msgstr "Chưa biết"
|
||||
|
||||
#: ../src/shell-app.c:480
|
||||
#: ../src/shell-app.c:487
|
||||
#, c-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Gặp lỗi khi khởi chạy “%s”"
|
||||
|
||||
#: ../src/shell-keyring-prompt.c:742
|
||||
#: ../src/shell-keyring-prompt.c:730
|
||||
msgid "Passwords do not match."
|
||||
msgstr "Mật khẩu không đúng."
|
||||
|
||||
#: ../src/shell-keyring-prompt.c:750
|
||||
#: ../src/shell-keyring-prompt.c:738
|
||||
msgid "Password cannot be blank"
|
||||
msgstr "Mật khẩu không thể để trống"
|
||||
|
||||
#: ../src/shell-polkit-authentication-agent.c:346
|
||||
#: ../src/shell-polkit-authentication-agent.c:353
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "Hộp thoại xác thực bị người dùng bỏ qua"
|
||||
|
||||
#~ msgid "Bluetooth"
|
||||
#~ msgstr "Bluetooth"
|
||||
#~ msgid "GNOME Shell (wayland compositor)"
|
||||
#~ msgstr "Hệ vỏ GNOME (wayland compositor)"
|
||||
|
||||
#~ msgid "%d Connected Device"
|
||||
#~ msgid_plural "%d Connected Devices"
|
||||
#~ msgstr[0] "%d thiết bị đã kết nối"
|
||||
|
||||
#~ msgid "Off"
|
||||
#~ msgstr "Tắt"
|
||||
|
||||
#~ msgid "Authentication required"
|
||||
#~ msgstr "Cần xác thực"
|
||||
|
||||
@@ -1859,9 +1937,6 @@ msgstr "Hộp thoại xác thực bị người dùng bỏ qua"
|
||||
#~ msgid "View account"
|
||||
#~ msgstr "Xem tài khoản"
|
||||
|
||||
#~ msgid "Unknown reason"
|
||||
#~ msgstr "Không rõ nguyên nhân"
|
||||
|
||||
#~ msgid "Open Calendar"
|
||||
#~ msgstr "Mở lịch"
|
||||
|
||||
@@ -2046,9 +2121,6 @@ msgstr "Hộp thoại xác thực bị người dùng bỏ qua"
|
||||
#~ msgid "Visibility"
|
||||
#~ msgstr "Tầm nhìn"
|
||||
|
||||
#~ msgid "Send Files to Device…"
|
||||
#~ msgstr "Gửi tập tin đến thiết bị…"
|
||||
|
||||
#~ msgid "Set Up a New Device…"
|
||||
#~ msgstr "Cài đặt thiết bị mới…"
|
||||
|
||||
@@ -2076,9 +2148,6 @@ msgstr "Hộp thoại xác thực bị người dùng bỏ qua"
|
||||
#~ msgid "Device %s wants access to the service '%s'"
|
||||
#~ msgstr "Thiết bị %s muốn truy cập dịch vụ “%s”"
|
||||
|
||||
#~ msgid "Always grant access"
|
||||
#~ msgstr "Luôn cho phép"
|
||||
|
||||
#~ msgid "Grant this time only"
|
||||
#~ msgstr "Chỉ cho phép lần này"
|
||||
|
||||
@@ -2151,10 +2220,6 @@ msgstr "Hộp thoại xác thực bị người dùng bỏ qua"
|
||||
#~ msgid_plural "%d minutes remaining"
|
||||
#~ msgstr[0] "%d phút còn lại"
|
||||
|
||||
#~ msgctxt "percent of battery remaining"
|
||||
#~ msgid "%d%%"
|
||||
#~ msgstr "%d%%"
|
||||
|
||||
#~ msgid "AC Adapter"
|
||||
#~ msgstr "Nguồn AC"
|
||||
|
||||
|
32
po/zh_CN.po
32
po/zh_CN.po
@@ -22,8 +22,8 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2016-03-01 22:21+0000\n"
|
||||
"PO-Revision-Date: 2016-03-02 13:50+0800\n"
|
||||
"POT-Creation-Date: 2016-03-25 22:36+0000\n"
|
||||
"PO-Revision-Date: 2016-03-26 15:13+0800\n"
|
||||
"Last-Translator: Aron Xu <happyaron.xu@gmail.com>\n"
|
||||
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
|
||||
"Language: zh_CN\n"
|
||||
@@ -31,6 +31,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Poedit 1.7.6\n"
|
||||
|
||||
#: ../data/50-gnome-shell-system.xml.in.h:1
|
||||
msgid "System"
|
||||
@@ -299,12 +300,12 @@ msgstr "将鼠标模式下焦点的更改推迟到指针停止移动之后"
|
||||
msgid "Network Login"
|
||||
msgstr "网络登录"
|
||||
|
||||
#: ../js/extensionPrefs/main.js:121
|
||||
#: ../js/extensionPrefs/main.js:117
|
||||
#, javascript-format
|
||||
msgid "There was an error loading the preferences dialog for %s:"
|
||||
msgstr "载入 %s 的首选想对话框出错:"
|
||||
|
||||
#: ../js/extensionPrefs/main.js:153
|
||||
#: ../js/extensionPrefs/main.js:149
|
||||
msgid "GNOME Shell Extensions"
|
||||
msgstr "配置 GNOME Shell 扩展"
|
||||
|
||||
@@ -771,7 +772,7 @@ msgstr "抱歉,您的输入有误。请重试。"
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#: ../js/ui/components/telepathyClient.js:759
|
||||
#: ../js/ui/components/telepathyClient.js:760
|
||||
#, javascript-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "%s 现在叫做 %s"
|
||||
@@ -948,11 +949,11 @@ msgid "Keyboard"
|
||||
msgstr "键盘"
|
||||
|
||||
#. translators: 'Hide' is a verb
|
||||
#: ../js/ui/legacyTray.js:66
|
||||
#: ../js/ui/legacyTray.js:65
|
||||
msgid "Hide tray"
|
||||
msgstr "隐藏托盘"
|
||||
|
||||
#: ../js/ui/legacyTray.js:107
|
||||
#: ../js/ui/legacyTray.js:106
|
||||
msgid "Status Icons"
|
||||
msgstr "状态图标"
|
||||
|
||||
@@ -1263,25 +1264,23 @@ msgstr "定位服务已禁用"
|
||||
msgid "Enable"
|
||||
msgstr "启用"
|
||||
|
||||
#: ../js/ui/status/location.js:434
|
||||
#: ../js/ui/status/location.js:426
|
||||
msgid "Deny Access"
|
||||
msgstr "拒绝访问"
|
||||
|
||||
#: ../js/ui/status/location.js:437
|
||||
#: ../js/ui/status/location.js:429
|
||||
msgid "Grant Access"
|
||||
msgstr "允许访问"
|
||||
|
||||
#. Translators: %s is an application name
|
||||
#: ../js/ui/status/location.js:443
|
||||
#: ../js/ui/status/location.js:435
|
||||
#, javascript-format
|
||||
msgid "Give %s access to your location?"
|
||||
msgstr "允许 %s 访问您的位置信息?"
|
||||
|
||||
#. Translators: %s is an application name
|
||||
#: ../js/ui/status/location.js:446
|
||||
#, javascript-format
|
||||
msgid "%s is requesting access to your location."
|
||||
msgstr "%s 申请访问您的位置信息。"
|
||||
#: ../js/ui/status/location.js:437
|
||||
msgid "Location access can be changed at any time from the privacy settings."
|
||||
msgstr "位置访问权限可以随时在隐私设置里更改。"
|
||||
|
||||
#: ../js/ui/status/network.js:101
|
||||
msgid "<unknown>"
|
||||
@@ -1712,6 +1711,9 @@ msgstr "密码不能为空"
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "认证对话框被用户驳回"
|
||||
|
||||
#~ msgid "%s is requesting access to your location."
|
||||
#~ msgstr "%s 申请访问您的位置信息。"
|
||||
|
||||
#~ msgid "GNOME Shell (wayland compositor)"
|
||||
#~ msgstr "GNOME Shell (wayland 合成器)"
|
||||
|
||||
|
1633
po/zh_HK.po
1633
po/zh_HK.po
File diff suppressed because it is too large
Load Diff
59
po/zh_TW.po
59
po/zh_TW.po
@@ -9,16 +9,16 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell 3.3.90\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2016-02-20 22:19+0000\n"
|
||||
"PO-Revision-Date: 2016-02-23 09:05+0800\n"
|
||||
"Last-Translator: Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>\n"
|
||||
"POT-Creation-Date: 2016-03-24 10:32+0000\n"
|
||||
"PO-Revision-Date: 2016-03-25 01:07+0800\n"
|
||||
"Last-Translator: Cheng-Chia Tseng <pswo10680@gmail.com>\n"
|
||||
"Language-Team: Chinese (Taiwan) <zh-l10n@lists.linux.org.tw>\n"
|
||||
"Language: zh_TW\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Poedit 1.8.7\n"
|
||||
"X-Generator: Poedit 1.8.7.1\n"
|
||||
|
||||
#: ../data/50-gnome-shell-system.xml.in.h:1
|
||||
msgid "System"
|
||||
@@ -46,11 +46,11 @@ msgstr "開啟應用程式選單"
|
||||
|
||||
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1
|
||||
msgid "GNOME Shell Extension Preferences"
|
||||
msgstr "GNOME Shell 擴充功能偏好設定"
|
||||
msgstr "GNOME Shell 擴充套件偏好設定"
|
||||
|
||||
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:2
|
||||
msgid "Configure GNOME Shell Extensions"
|
||||
msgstr "設定 GNOME Shell 擴充功能"
|
||||
msgstr "設定 GNOME Shell 擴充套件"
|
||||
|
||||
#: ../data/org.gnome.Shell.desktop.in.in.h:1
|
||||
msgid "GNOME Shell"
|
||||
@@ -72,7 +72,7 @@ msgstr "允許使用 Alt-F2 對話盒存取內部除錯和監控工具。"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:3
|
||||
msgid "UUIDs of extensions to enable"
|
||||
msgstr "要啟用的擴充功能 UUID"
|
||||
msgstr "要啟用的擴充套件 UUID"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:4
|
||||
msgid ""
|
||||
@@ -81,13 +81,13 @@ msgid ""
|
||||
"list. You can also manipulate this list with the EnableExtension and "
|
||||
"DisableExtension D-Bus methods on org.gnome.Shell."
|
||||
msgstr ""
|
||||
"GNOME Shell 擴充功能有 UUID 屬性;這個設定鍵列出了應載入的擴充功能。任何要載"
|
||||
"入的擴充功能都要出現在這個清單中。您也可以用 org.gnome.Shell 中的 "
|
||||
"GNOME Shell 擴充套件有 UUID 屬性;這個設定鍵列出了應載入的擴充套件。任何要載"
|
||||
"入的擴充套件都要出現在這個清單中。您也可以用 org.gnome.Shell 中的 "
|
||||
"EnableExtension 和 DisableExtension D-Bus 方法來操作這個清單。"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:5
|
||||
msgid "Disables the validation of extension version compatibility"
|
||||
msgstr "停用擴充功能版本相容性的驗證"
|
||||
msgstr "停用擴充套件版本相容性的驗證"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:6
|
||||
msgid ""
|
||||
@@ -95,8 +95,8 @@ msgid ""
|
||||
"running version. Enabling this option will disable this check and try to "
|
||||
"load all extensions regardless of the versions they claim to support."
|
||||
msgstr ""
|
||||
"GNOME Shell 只會載入宣稱支援目前運行中版本的擴充功能。啟用此選項會停用這項檢"
|
||||
"查,並嘗試載入所有的擴充功能,而不去管它們所宣稱支援的版本為何。"
|
||||
"GNOME Shell 只會載入宣稱支援目前運行中版本的擴充套件。啟用此選項會停用這項檢"
|
||||
"查,並嘗試載入所有的擴充套件,而不去管它們所宣稱支援的版本為何。"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:7
|
||||
msgid "List of desktop file IDs for favorite applications"
|
||||
@@ -290,14 +290,14 @@ msgstr "在滑鼠模式中延遲焦點變更直到指標停止移動"
|
||||
msgid "Network Login"
|
||||
msgstr "網路登入"
|
||||
|
||||
#: ../js/extensionPrefs/main.js:121
|
||||
#: ../js/extensionPrefs/main.js:117
|
||||
#, javascript-format
|
||||
msgid "There was an error loading the preferences dialog for %s:"
|
||||
msgstr "載入 %s 的偏好設定對話盒時發生錯誤:"
|
||||
|
||||
#: ../js/extensionPrefs/main.js:153
|
||||
#: ../js/extensionPrefs/main.js:149
|
||||
msgid "GNOME Shell Extensions"
|
||||
msgstr "GNOME Shell 擴充功能"
|
||||
msgstr "GNOME Shell 擴充套件"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/audioDeviceSelection.js:71
|
||||
#: ../js/ui/components/networkAgent.js:145
|
||||
@@ -520,7 +520,7 @@ msgstr "改變背景…"
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:21
|
||||
msgid "Display Settings"
|
||||
msgstr "顯示設定值"
|
||||
msgstr "顯示器設定值"
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
|
||||
msgid "Settings"
|
||||
@@ -762,7 +762,7 @@ msgstr "抱歉,那樣沒有作用。請再試一次。"
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#: ../js/ui/components/telepathyClient.js:759
|
||||
#: ../js/ui/components/telepathyClient.js:760
|
||||
#, javascript-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "%s 現在被稱為 %s"
|
||||
@@ -939,17 +939,17 @@ msgid "Keyboard"
|
||||
msgstr "鍵盤"
|
||||
|
||||
#. translators: 'Hide' is a verb
|
||||
#: ../js/ui/legacyTray.js:66
|
||||
#: ../js/ui/legacyTray.js:65
|
||||
msgid "Hide tray"
|
||||
msgstr "隱藏系統匣"
|
||||
|
||||
#: ../js/ui/legacyTray.js:107
|
||||
#: ../js/ui/legacyTray.js:106
|
||||
msgid "Status Icons"
|
||||
msgstr "狀態圖示"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:643
|
||||
msgid "No extensions installed"
|
||||
msgstr "沒有安裝擴充功能"
|
||||
msgstr "沒有安裝擴充套件"
|
||||
|
||||
#. Translators: argument is an extension UUID.
|
||||
#: ../js/ui/lookingGlass.js:697
|
||||
@@ -995,7 +995,7 @@ msgstr "檢示來源"
|
||||
msgid "Web Page"
|
||||
msgstr "網頁"
|
||||
|
||||
#: ../js/ui/messageList.js:542
|
||||
#: ../js/ui/messageList.js:543
|
||||
msgid "Clear section"
|
||||
msgstr "清除區段"
|
||||
|
||||
@@ -1254,25 +1254,23 @@ msgstr "位置已停用"
|
||||
msgid "Enable"
|
||||
msgstr "啟用"
|
||||
|
||||
#: ../js/ui/status/location.js:434
|
||||
#: ../js/ui/status/location.js:426
|
||||
msgid "Deny Access"
|
||||
msgstr "禁止存取"
|
||||
|
||||
#: ../js/ui/status/location.js:437
|
||||
#: ../js/ui/status/location.js:429
|
||||
msgid "Grant Access"
|
||||
msgstr "授予存取權限"
|
||||
|
||||
#. Translators: %s is an application name
|
||||
#: ../js/ui/status/location.js:443
|
||||
#: ../js/ui/status/location.js:435
|
||||
#, javascript-format
|
||||
msgid "Give %s access to your location?"
|
||||
msgstr "允許 %s 存取您的位置?"
|
||||
|
||||
#. Translators: %s is an application name
|
||||
#: ../js/ui/status/location.js:446
|
||||
#, javascript-format
|
||||
msgid "%s is requesting access to your location."
|
||||
msgstr "%s 要求存取您的位置。"
|
||||
#: ../js/ui/status/location.js:437
|
||||
msgid "Location access can be changed at any time from the privacy settings."
|
||||
msgstr "位置存取可以隨時從隱私設定值中更改。"
|
||||
|
||||
#: ../js/ui/status/network.js:101
|
||||
msgid "<unknown>"
|
||||
@@ -1703,6 +1701,9 @@ msgstr "密碼不能為空白"
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "核對對話盒被使用者取消了"
|
||||
|
||||
#~ msgid "%s is requesting access to your location."
|
||||
#~ msgstr "%s 要求存取您的位置。"
|
||||
|
||||
#~ msgid "GNOME Shell (wayland compositor)"
|
||||
#~ msgstr "GNOME Shell (wayland 組合器)"
|
||||
|
||||
|
@@ -12,7 +12,7 @@ SUBDIRS = gvc
|
||||
|
||||
-include $(INTROSPECTION_MAKEFILE)
|
||||
INTROSPECTION_GIRS =
|
||||
INTROSPECTION_SCANNER_ARGS = --warn-all --warn-error --add-include-path=$(srcdir)
|
||||
INTROSPECTION_SCANNER_ARGS = --warn-all --warn-error --add-include-path=$(srcdir) --add-include-path=$(MUTTER_GIR_DIR) -L$(MUTTER_TYPELIB_DIR)
|
||||
INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir) --includedir=$(MUTTER_TYPELIB_DIR)
|
||||
|
||||
typelibdir = $(pkglibdir)
|
||||
@@ -201,6 +201,7 @@ gnome_shell_CPPFLAGS = \
|
||||
# Here, and after, we repeat mutter and bluetooth libraries just for the rpath
|
||||
# The dependency is already pulled in by libtool
|
||||
gnome_shell_LDADD = libgnome-shell.la libgnome-shell-js.la $(GNOME_SHELL_LIBS) $(MUTTER_LIBS)
|
||||
gnome_shell_LDFLAGS = -rpath $(MUTTER_TYPELIB_DIR)
|
||||
gnome_shell_DEPENDENCIES = libgnome-shell.la
|
||||
|
||||
gnome_shell_extension_prefs_SOURCES = \
|
||||
@@ -212,6 +213,7 @@ nodist_gnome_shell_extension_prefs_SOURCES = \
|
||||
$(NULL)
|
||||
gnome_shell_extension_prefs_CPPFLAGS = $(gnome_shell_cflags)
|
||||
gnome_shell_extension_prefs_LDADD = libgnome-shell-js.la $(GNOME_SHELL_LIBS)
|
||||
gnome_shell_extension_prefs_LDFLAGS = -rpath $(MUTTER_TYPELIB_DIR)
|
||||
|
||||
if HAVE_NETWORKMANAGER
|
||||
|
||||
@@ -225,6 +227,7 @@ nodist_gnome_shell_portal_helper_SOURCES = \
|
||||
$(NULL)
|
||||
gnome_shell_portal_helper_CPPFLAGS = $(gnome_shell_cflags)
|
||||
gnome_shell_portal_helper_LDADD = libgnome-shell-js.la $(GNOME_SHELL_LIBS)
|
||||
gnome_shell_portal_helper_LDFLAGS = -rpath $(MUTTER_TYPELIB_DIR)
|
||||
|
||||
endif
|
||||
|
||||
@@ -279,7 +282,7 @@ noinst_PROGRAMS += run-js-test
|
||||
|
||||
run_js_test_CPPFLAGS = $(MUTTER_CFLAGS) $(gnome_shell_cflags)
|
||||
run_js_test_LDADD = libgnome-shell.la $(GNOME_SHELL_JS_LIBS) $(MUTTER_LIBS)
|
||||
run_js_test_LDFLAGS = -export-dynamic
|
||||
run_js_test_LDFLAGS = -export-dynamic -rpath $(MUTTER_TYPELIB_DIR)
|
||||
|
||||
run_js_test_SOURCES = \
|
||||
run-js-test.c
|
||||
|
@@ -74,15 +74,15 @@ static App *_global_app = NULL;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
char *rid;
|
||||
time_t start_time;
|
||||
time_t end_time;
|
||||
} CalendarOccurrence;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
char *id;
|
||||
char *uid;
|
||||
char *rid;
|
||||
char *source_id;
|
||||
char *backend_name;
|
||||
char *summary;
|
||||
char *description;
|
||||
@@ -95,6 +95,12 @@ typedef struct
|
||||
GSList *occurrences;
|
||||
} CalendarAppointment;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
ECalClient *client;
|
||||
GHashTable *appointments;
|
||||
} CollectAppointmentsData;
|
||||
|
||||
static time_t
|
||||
get_time_from_property (icalcomponent *ical,
|
||||
icalproperty_kind prop_kind,
|
||||
@@ -129,22 +135,6 @@ get_ical_uid (icalcomponent *ical)
|
||||
return g_strdup (icalcomponent_get_uid (ical));
|
||||
}
|
||||
|
||||
static char *
|
||||
get_ical_rid (icalcomponent *ical)
|
||||
{
|
||||
icalproperty *prop;
|
||||
struct icaltimetype ical_time;
|
||||
|
||||
prop = icalcomponent_get_first_property (ical, ICAL_RECURRENCEID_PROPERTY);
|
||||
if (!prop)
|
||||
return NULL;
|
||||
|
||||
ical_time = icalproperty_get_recurrenceid (prop);
|
||||
|
||||
return icaltime_is_valid_time (ical_time) && !icaltime_is_null_time (ical_time) ?
|
||||
g_strdup (icaltime_as_ical_string (ical_time)) : NULL;
|
||||
}
|
||||
|
||||
static char *
|
||||
get_ical_summary (icalcomponent *ical)
|
||||
{
|
||||
@@ -324,12 +314,14 @@ calendar_appointment_equal (CalendarAppointment *a,
|
||||
CalendarOccurrence *ob = lb->data;
|
||||
|
||||
if (oa->start_time != ob->start_time ||
|
||||
oa->end_time != ob->end_time)
|
||||
oa->end_time != ob->end_time ||
|
||||
null_safe_strcmp (oa->rid, ob->rid) != 0)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return
|
||||
null_safe_strcmp (a->uid, b->uid) == 0 &&
|
||||
null_safe_strcmp (a->source_id, b->source_id) == 0 &&
|
||||
null_safe_strcmp (a->backend_name, b->backend_name) == 0 &&
|
||||
null_safe_strcmp (a->summary, b->summary) == 0 &&
|
||||
null_safe_strcmp (a->description, b->description) == 0 &&
|
||||
@@ -345,18 +337,15 @@ calendar_appointment_free (CalendarAppointment *appointment)
|
||||
GSList *l;
|
||||
|
||||
for (l = appointment->occurrences; l; l = l->next)
|
||||
g_free (l->data);
|
||||
g_slist_free (appointment->occurrences);
|
||||
g_free (((CalendarOccurrence *)l->data)->rid);
|
||||
g_slist_free_full (appointment->occurrences, g_free);
|
||||
appointment->occurrences = NULL;
|
||||
|
||||
g_free (appointment->id);
|
||||
appointment->id = NULL;
|
||||
|
||||
g_free (appointment->uid);
|
||||
appointment->uid = NULL;
|
||||
|
||||
g_free (appointment->rid);
|
||||
appointment->rid = NULL;
|
||||
g_free (appointment->source_id);
|
||||
appointment->source_id = NULL;
|
||||
|
||||
g_free (appointment->backend_name);
|
||||
appointment->backend_name = NULL;
|
||||
@@ -377,13 +366,16 @@ calendar_appointment_free (CalendarAppointment *appointment)
|
||||
static void
|
||||
calendar_appointment_init (CalendarAppointment *appointment,
|
||||
icalcomponent *ical,
|
||||
ECalClient *cal,
|
||||
icaltimezone *default_zone)
|
||||
ECalClient *cal)
|
||||
{
|
||||
const char *source_uid;
|
||||
icaltimezone *default_zone;
|
||||
const char *source_id;
|
||||
|
||||
source_id = e_source_get_uid (e_client_get_source (E_CLIENT (cal)));
|
||||
default_zone = e_cal_client_get_default_timezone (cal);
|
||||
|
||||
appointment->uid = get_ical_uid (ical);
|
||||
appointment->rid = get_ical_rid (ical);
|
||||
appointment->source_id = g_strdup (source_id);
|
||||
appointment->backend_name = get_source_backend_name (cal);
|
||||
appointment->summary = get_ical_summary (ical);
|
||||
appointment->description = get_ical_description (ical);
|
||||
@@ -393,16 +385,6 @@ calendar_appointment_init (CalendarAppointment *appointment,
|
||||
appointment->is_all_day = get_ical_is_all_day (ical,
|
||||
appointment->start_time,
|
||||
default_zone);
|
||||
|
||||
/* While the UID is usually enough to identify an event, only the triple
|
||||
* of (source,UID,RID) is fully unambiguous; neither may contain '\n',
|
||||
* so we can safely use it to create a unique ID from the triple
|
||||
*/
|
||||
source_uid = e_source_get_uid (e_client_get_source (E_CLIENT (cal)));
|
||||
appointment->id = g_strdup_printf ("%s\n%s\n%s",
|
||||
source_uid,
|
||||
appointment->uid,
|
||||
appointment->rid ? appointment->rid : "");
|
||||
}
|
||||
|
||||
static icaltimezone *
|
||||
@@ -420,70 +402,50 @@ resolve_timezone_id (const char *tzid,
|
||||
return retval;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
calendar_appointment_collect_occurrence (ECalComponent *component,
|
||||
time_t occurrence_start,
|
||||
time_t occurrence_end,
|
||||
gpointer data)
|
||||
{
|
||||
CalendarOccurrence *occurrence;
|
||||
GSList **collect_loc = data;
|
||||
|
||||
occurrence = g_new0 (CalendarOccurrence, 1);
|
||||
occurrence->start_time = occurrence_start;
|
||||
occurrence->end_time = occurrence_end;
|
||||
|
||||
*collect_loc = g_slist_prepend (*collect_loc, occurrence);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static void
|
||||
calendar_appointment_generate_occurrences (CalendarAppointment *appointment,
|
||||
icalcomponent *ical,
|
||||
ECalClient *cal,
|
||||
time_t start,
|
||||
time_t end,
|
||||
icaltimezone *default_zone)
|
||||
{
|
||||
ECalComponent *ecal;
|
||||
|
||||
g_assert (appointment->occurrences == NULL);
|
||||
|
||||
ecal = e_cal_component_new ();
|
||||
e_cal_component_set_icalcomponent (ecal,
|
||||
icalcomponent_new_clone (ical));
|
||||
|
||||
e_cal_recur_generate_instances (ecal,
|
||||
start,
|
||||
end,
|
||||
calendar_appointment_collect_occurrence,
|
||||
&appointment->occurrences,
|
||||
(ECalRecurResolveTimezoneFn) resolve_timezone_id,
|
||||
cal,
|
||||
default_zone);
|
||||
|
||||
g_object_unref (ecal);
|
||||
|
||||
appointment->occurrences = g_slist_reverse (appointment->occurrences);
|
||||
}
|
||||
|
||||
static CalendarAppointment *
|
||||
calendar_appointment_new (icalcomponent *ical,
|
||||
ECalClient *cal,
|
||||
icaltimezone *default_zone)
|
||||
ECalClient *cal)
|
||||
{
|
||||
CalendarAppointment *appointment;
|
||||
|
||||
appointment = g_new0 (CalendarAppointment, 1);
|
||||
|
||||
calendar_appointment_init (appointment,
|
||||
ical,
|
||||
cal,
|
||||
default_zone);
|
||||
calendar_appointment_init (appointment, ical, cal);
|
||||
return appointment;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
generate_instances_cb (ECalComponent *comp,
|
||||
time_t start,
|
||||
time_t end,
|
||||
gpointer data)
|
||||
{
|
||||
ECalClient *cal = ((CollectAppointmentsData *)data)->client;
|
||||
GHashTable *appointments = ((CollectAppointmentsData *)data)->appointments;
|
||||
CalendarAppointment *appointment;
|
||||
CalendarOccurrence *occurrence;
|
||||
const char *uid;
|
||||
|
||||
e_cal_component_get_uid (comp, &uid);
|
||||
appointment = g_hash_table_lookup (appointments, uid);
|
||||
|
||||
if (appointment == NULL)
|
||||
{
|
||||
icalcomponent *ical = e_cal_component_get_icalcomponent (comp);
|
||||
|
||||
appointment = calendar_appointment_new (ical, cal);
|
||||
g_hash_table_insert (appointments, g_strdup (uid), appointment);
|
||||
}
|
||||
|
||||
occurrence = g_new0 (CalendarOccurrence, 1);
|
||||
occurrence->start_time = start;
|
||||
occurrence->end_time = end;
|
||||
occurrence->rid = e_cal_component_get_recurid_as_string (comp);
|
||||
|
||||
appointment->occurrences = g_slist_append (appointment->occurrences, occurrence);
|
||||
}
|
||||
|
||||
|
||||
/* ---------------------------------------------------------------------------------------------------- */
|
||||
|
||||
struct _App
|
||||
@@ -526,6 +488,10 @@ app_update_timezone (App *app)
|
||||
app->timezone_location = location;
|
||||
print_debug ("Using timezone %s", app->timezone_location);
|
||||
}
|
||||
else
|
||||
{
|
||||
g_free (location);
|
||||
}
|
||||
}
|
||||
|
||||
static gboolean
|
||||
@@ -619,6 +585,7 @@ app_load_events (App *app)
|
||||
GList *ll;
|
||||
gchar *since_iso8601;
|
||||
gchar *until_iso8601;
|
||||
gchar *query;
|
||||
|
||||
/* out with the old */
|
||||
g_hash_table_remove_all (app->appointments);
|
||||
@@ -645,14 +612,19 @@ app_load_events (App *app)
|
||||
since_iso8601,
|
||||
until_iso8601);
|
||||
|
||||
query = g_strdup_printf ("occur-in-time-range? (make-time \"%s\") "
|
||||
"(make-time \"%s\")",
|
||||
since_iso8601,
|
||||
until_iso8601);
|
||||
|
||||
clients = calendar_sources_get_appointment_clients (app->sources);
|
||||
for (l = clients; l != NULL; l = l->next)
|
||||
{
|
||||
ECalClient *cal = E_CAL_CLIENT (l->data);
|
||||
GError *error;
|
||||
gchar *query;
|
||||
GSList *objects, *j;
|
||||
ECalClientView *view;
|
||||
CollectAppointmentsData data;
|
||||
|
||||
e_cal_client_set_default_timezone (cal, app->zone);
|
||||
|
||||
@@ -666,45 +638,13 @@ app_load_events (App *app)
|
||||
continue;
|
||||
}
|
||||
|
||||
query = g_strdup_printf ("occur-in-time-range? (make-time \"%s\") "
|
||||
"(make-time \"%s\")",
|
||||
since_iso8601,
|
||||
until_iso8601);
|
||||
error = NULL;
|
||||
objects = NULL;
|
||||
if (!e_cal_client_get_object_list_sync (cal,
|
||||
query,
|
||||
&objects,
|
||||
NULL, /* cancellable */
|
||||
&error))
|
||||
{
|
||||
ESource *source = e_client_get_source (E_CLIENT (cal));
|
||||
g_warning ("Error querying calendar %s: %s\n",
|
||||
e_source_get_uid (source), error->message);
|
||||
g_error_free (error);
|
||||
g_free (query);
|
||||
continue;
|
||||
}
|
||||
|
||||
for (j = objects; j != NULL; j = j->next)
|
||||
{
|
||||
icalcomponent *ical = j->data;
|
||||
CalendarAppointment *appointment;
|
||||
|
||||
appointment = calendar_appointment_new (ical, cal, app->zone);
|
||||
if (appointment == NULL)
|
||||
continue;
|
||||
|
||||
calendar_appointment_generate_occurrences (appointment,
|
||||
ical,
|
||||
cal,
|
||||
app->since,
|
||||
app->until,
|
||||
app->zone);
|
||||
g_hash_table_insert (app->appointments, g_strdup (appointment->uid), appointment);
|
||||
}
|
||||
|
||||
e_cal_client_free_icalcomp_slist (objects);
|
||||
data.client = cal;
|
||||
data.appointments = app->appointments;
|
||||
e_cal_client_generate_instances_sync (cal,
|
||||
app->since,
|
||||
app->until,
|
||||
generate_instances_cb,
|
||||
&data);
|
||||
|
||||
error = NULL;
|
||||
if (!e_cal_client_get_view_sync (cal,
|
||||
@@ -733,12 +673,11 @@ app_load_events (App *app)
|
||||
e_cal_client_view_start (view, NULL);
|
||||
app->live_views = g_list_prepend (app->live_views, view);
|
||||
}
|
||||
|
||||
g_free (query);
|
||||
}
|
||||
g_list_free (clients);
|
||||
g_free (since_iso8601);
|
||||
g_free (until_iso8601);
|
||||
g_free (query);
|
||||
app->cache_invalid = FALSE;
|
||||
}
|
||||
|
||||
@@ -929,16 +868,27 @@ handle_method_call (GDBusConnection *connection,
|
||||
(start_time <= app->since &&
|
||||
(end_time - 1) > app->since))
|
||||
{
|
||||
/* While the UID is usually enough to identify an event,
|
||||
* only the triple of (source,UID,RID) is fully unambiguous;
|
||||
* neither may contain '\n', so we can safely use it to
|
||||
* create a unique ID from the triple
|
||||
*/
|
||||
char *id = g_strdup_printf ("%s\n%s\n%s",
|
||||
a->source_id,
|
||||
a->uid,
|
||||
o->rid ? o->rid : "");
|
||||
|
||||
g_variant_builder_init (&extras_builder, G_VARIANT_TYPE ("a{sv}"));
|
||||
g_variant_builder_add (&builder,
|
||||
"(sssbxxa{sv})",
|
||||
a->id,
|
||||
id,
|
||||
a->summary != NULL ? a->summary : "",
|
||||
a->description != NULL ? a->description : "",
|
||||
(gboolean) a->is_all_day,
|
||||
(gint64) start_time,
|
||||
(gint64) end_time,
|
||||
extras_builder);
|
||||
g_free (id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
2
src/gvc
2
src/gvc
Submodule src/gvc updated: 0a79019088...25bf3ed75f
@@ -59,6 +59,8 @@ main(int argc, char **argv)
|
||||
gsize len;
|
||||
int code;
|
||||
|
||||
gdk_set_allowed_backends("x11");
|
||||
|
||||
gtk_init (&argc, &argv);
|
||||
|
||||
clutter_x11_set_display (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()));
|
||||
@@ -66,6 +68,9 @@ main(int argc, char **argv)
|
||||
if (clutter_init (&argc, &argv) != CLUTTER_INIT_SUCCESS)
|
||||
return 1;
|
||||
|
||||
g_object_set (clutter_settings_get_default (), "window-scaling-factor", 1, NULL);
|
||||
gdk_x11_display_set_window_scale (gdk_display_get_default (), 1);
|
||||
|
||||
context = g_option_context_new (NULL);
|
||||
|
||||
/* pass unknown through to the JS script */
|
||||
|
@@ -96,7 +96,8 @@ enum {
|
||||
PROP_ID,
|
||||
PROP_DBUS_ID,
|
||||
PROP_ACTION_GROUP,
|
||||
PROP_MENU
|
||||
PROP_MENU,
|
||||
PROP_APP_INFO
|
||||
};
|
||||
|
||||
enum {
|
||||
@@ -138,6 +139,29 @@ shell_app_get_property (GObject *gobject,
|
||||
if (app->running_state)
|
||||
g_value_set_object (value, app->running_state->remote_menu);
|
||||
break;
|
||||
case PROP_APP_INFO:
|
||||
if (app->info)
|
||||
g_value_set_object (value, app->info);
|
||||
break;
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
shell_app_set_property (GObject *gobject,
|
||||
guint prop_id,
|
||||
const GValue *value,
|
||||
GParamSpec *pspec)
|
||||
{
|
||||
ShellApp *app = SHELL_APP (gobject);
|
||||
|
||||
switch (prop_id)
|
||||
{
|
||||
case PROP_APP_INFO:
|
||||
_shell_app_set_app_info (app, g_value_get_object (value));
|
||||
break;
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
|
||||
break;
|
||||
@@ -722,6 +746,23 @@ shell_app_get_last_user_time (ShellApp *app)
|
||||
return (int)last_user_time;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
shell_app_is_minimized (ShellApp *app)
|
||||
{
|
||||
GSList *iter;
|
||||
|
||||
if (app->running_state == NULL)
|
||||
return FALSE;
|
||||
|
||||
for (iter = app->running_state->windows; iter; iter = iter->next)
|
||||
{
|
||||
if (meta_window_showing_on_its_workspace (iter->data))
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* shell_app_compare:
|
||||
* @app:
|
||||
@@ -729,13 +770,17 @@ shell_app_get_last_user_time (ShellApp *app)
|
||||
*
|
||||
* Compare one #ShellApp instance to another, in the following way:
|
||||
* - Running applications sort before not-running applications.
|
||||
* - The application which the user interacted with most recently
|
||||
* - If one of them has non-minimized windows and the other does not,
|
||||
* the one with visible windows is first.
|
||||
* - Finally, the application which the user interacted with most recently
|
||||
* compares earlier.
|
||||
*/
|
||||
int
|
||||
shell_app_compare (ShellApp *app,
|
||||
ShellApp *other)
|
||||
{
|
||||
gboolean min_app, min_other;
|
||||
|
||||
if (app->state != other->state)
|
||||
{
|
||||
if (app->state == SHELL_APP_STATE_RUNNING)
|
||||
@@ -743,6 +788,16 @@ shell_app_compare (ShellApp *app,
|
||||
return 1;
|
||||
}
|
||||
|
||||
min_app = shell_app_is_minimized (app);
|
||||
min_other = shell_app_is_minimized (other);
|
||||
|
||||
if (min_app != min_other)
|
||||
{
|
||||
if (min_other)
|
||||
return -1;
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (app->state == SHELL_APP_STATE_RUNNING)
|
||||
{
|
||||
if (app->running_state->windows && !other->running_state->windows)
|
||||
@@ -775,9 +830,9 @@ _shell_app_new (GDesktopAppInfo *info)
|
||||
{
|
||||
ShellApp *app;
|
||||
|
||||
app = g_object_new (SHELL_TYPE_APP, NULL);
|
||||
|
||||
_shell_app_set_app_info (app, info);
|
||||
app = g_object_new (SHELL_TYPE_APP,
|
||||
"app-info", info,
|
||||
NULL);
|
||||
|
||||
return app;
|
||||
}
|
||||
@@ -786,12 +841,11 @@ void
|
||||
_shell_app_set_app_info (ShellApp *app,
|
||||
GDesktopAppInfo *info)
|
||||
{
|
||||
g_clear_object (&app->info);
|
||||
app->info = g_object_ref (info);
|
||||
g_set_object (&app->info, info);
|
||||
|
||||
if (app->name_collation_key != NULL)
|
||||
g_free (app->name_collation_key);
|
||||
app->name_collation_key = g_utf8_collate_key (shell_app_get_name (app), -1);
|
||||
g_clear_pointer (&app->name_collation_key, g_free);
|
||||
if (app->info)
|
||||
app->name_collation_key = g_utf8_collate_key (shell_app_get_name (app), -1);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -1374,6 +1428,7 @@ shell_app_class_init(ShellAppClass *klass)
|
||||
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
|
||||
|
||||
gobject_class->get_property = shell_app_get_property;
|
||||
gobject_class->set_property = shell_app_set_property;
|
||||
gobject_class->dispose = shell_app_dispose;
|
||||
gobject_class->finalize = shell_app_finalize;
|
||||
|
||||
@@ -1452,5 +1507,17 @@ shell_app_class_init(ShellAppClass *klass)
|
||||
"The primary menu exported by the remote application",
|
||||
G_TYPE_MENU_MODEL,
|
||||
G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
|
||||
/**
|
||||
* ShellApp:app-info:
|
||||
*
|
||||
* The #GDesktopAppInfo associated with this ShellApp, if any.
|
||||
*/
|
||||
g_object_class_install_property (gobject_class,
|
||||
PROP_APP_INFO,
|
||||
g_param_spec_object ("app-info",
|
||||
"DesktopAppInfo",
|
||||
"The DesktopAppInfo associated with this app",
|
||||
G_TYPE_DESKTOP_APP_INFO,
|
||||
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS));
|
||||
|
||||
}
|
||||
|
@@ -18,7 +18,6 @@
|
||||
#include <X11/extensions/Xfixes.h>
|
||||
#include <canberra.h>
|
||||
#include <canberra-gtk.h>
|
||||
#include <clutter/glx/clutter-glx.h>
|
||||
#include <clutter/x11/clutter-x11.h>
|
||||
#include <gdk/gdkx.h>
|
||||
#include <gio/gio.h>
|
||||
|
@@ -107,6 +107,8 @@ static void recorder_set_draw_cursor (ShellRecorder *recorder,
|
||||
static void recorder_pipeline_set_caps (RecorderPipeline *pipeline);
|
||||
static void recorder_pipeline_closed (RecorderPipeline *pipeline);
|
||||
|
||||
static void recorder_remove_redraw_timeout (ShellRecorder *recorder);
|
||||
|
||||
enum {
|
||||
PROP_0,
|
||||
PROP_SCREEN,
|
||||
@@ -235,6 +237,8 @@ shell_recorder_finalize (GObject *object)
|
||||
recorder_set_pipeline (recorder, NULL);
|
||||
recorder_set_file_template (recorder, NULL);
|
||||
|
||||
recorder_remove_redraw_timeout (recorder);
|
||||
|
||||
g_clear_object (&recorder->a11y_settings);
|
||||
|
||||
G_OBJECT_CLASS (shell_recorder_parent_class)->finalize (object);
|
||||
@@ -317,6 +321,9 @@ recorder_fetch_cursor_image (ShellRecorder *recorder)
|
||||
guint8 *data;
|
||||
|
||||
texture = meta_cursor_tracker_get_sprite (recorder->cursor_tracker);
|
||||
if (!texture)
|
||||
return;
|
||||
|
||||
width = cogl_texture_get_width (texture);
|
||||
height = cogl_texture_get_height (texture);
|
||||
stride = 4 * width;
|
||||
@@ -382,11 +389,17 @@ recorder_draw_cursor (ShellRecorder *recorder,
|
||||
/* Retrieve a frame and feed it into the pipeline
|
||||
*/
|
||||
static void
|
||||
recorder_record_frame (ShellRecorder *recorder)
|
||||
recorder_record_frame (ShellRecorder *recorder,
|
||||
gboolean paint)
|
||||
{
|
||||
GstBuffer *buffer;
|
||||
guint8 *data;
|
||||
ClutterCapture *captures;
|
||||
int n_captures;
|
||||
cairo_surface_t *image;
|
||||
guint size;
|
||||
uint8_t *data;
|
||||
GstMemory *memory;
|
||||
int i;
|
||||
GstClock *clock;
|
||||
GstClockTime now, base_time;
|
||||
|
||||
@@ -418,21 +431,31 @@ recorder_record_frame (ShellRecorder *recorder)
|
||||
return;
|
||||
recorder->last_frame_time = now;
|
||||
|
||||
size = recorder->area.width * recorder->area.height * 4;
|
||||
clutter_stage_capture (recorder->stage, paint, &recorder->area,
|
||||
&captures, &n_captures);
|
||||
|
||||
data = g_malloc (size);
|
||||
cogl_framebuffer_read_pixels (cogl_get_draw_framebuffer (),
|
||||
recorder->area.x,
|
||||
recorder->area.y,
|
||||
recorder->area.width,
|
||||
recorder->area.height,
|
||||
CLUTTER_CAIRO_FORMAT_ARGB32,
|
||||
data);
|
||||
if (n_captures == 0)
|
||||
return;
|
||||
|
||||
/*
|
||||
* TODO: Deal with each capture region separately, instead of dropping
|
||||
* anything except the first one.
|
||||
*/
|
||||
|
||||
image = captures[0].image;
|
||||
data = cairo_image_surface_get_data (image);
|
||||
size = captures[0].rect.width * captures[0].rect.height * 4;
|
||||
|
||||
/* TODO: Capture more than the first framebuffer. */
|
||||
for (i = 1; i < n_captures; i++)
|
||||
cairo_surface_destroy (captures[i].image);
|
||||
g_free (captures);
|
||||
|
||||
buffer = gst_buffer_new();
|
||||
gst_buffer_insert_memory (buffer, -1,
|
||||
gst_memory_new_wrapped (0, data, size, 0,
|
||||
size, data, g_free));
|
||||
memory = gst_memory_new_wrapped (0, data, size, 0, size,
|
||||
image,
|
||||
(GDestroyNotify) cairo_surface_destroy);
|
||||
gst_buffer_insert_memory (buffer, -1, memory);
|
||||
|
||||
GST_BUFFER_PTS(buffer) = now;
|
||||
|
||||
@@ -456,7 +479,7 @@ recorder_on_stage_paint (ClutterActor *actor,
|
||||
ShellRecorder *recorder)
|
||||
{
|
||||
if (recorder->state == RECORDER_STATE_RECORDING)
|
||||
recorder_record_frame (recorder);
|
||||
recorder_record_frame (recorder, FALSE);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -944,6 +967,9 @@ get_absolute_path (char *maybe_relative)
|
||||
else
|
||||
{
|
||||
const char *video_dir = g_get_user_special_dir (G_USER_DIRECTORY_VIDEOS);
|
||||
if (!g_file_test (video_dir, G_FILE_TEST_EXISTS))
|
||||
video_dir = g_get_home_dir ();
|
||||
|
||||
path = g_build_filename (video_dir, maybe_relative, NULL);
|
||||
}
|
||||
|
||||
@@ -1551,7 +1577,7 @@ shell_recorder_close (ShellRecorder *recorder)
|
||||
/* We want to record one more frame since some time may have
|
||||
* elapsed since the last frame
|
||||
*/
|
||||
clutter_actor_paint (CLUTTER_ACTOR (recorder->stage));
|
||||
recorder_record_frame (recorder, TRUE);
|
||||
|
||||
recorder_remove_update_pointer_timeout (recorder);
|
||||
recorder_close_pipeline (recorder);
|
||||
|
@@ -210,41 +210,40 @@ write_screenshot_thread (GTask *result,
|
||||
|
||||
static void
|
||||
do_grab_screenshot (ShellScreenshot *screenshot,
|
||||
ClutterStage *stage,
|
||||
int x,
|
||||
int y,
|
||||
int width,
|
||||
int height)
|
||||
{
|
||||
CoglBitmap *bitmap;
|
||||
ClutterBackend *backend;
|
||||
CoglContext *context;
|
||||
int stride;
|
||||
guchar *data;
|
||||
ShellScreenshotPrivate *priv = screenshot->priv;
|
||||
ClutterCapture *captures;
|
||||
int n_captures;
|
||||
int i;
|
||||
|
||||
backend = clutter_get_default_backend ();
|
||||
context = clutter_backend_get_cogl_context (backend);
|
||||
clutter_stage_capture (stage, FALSE,
|
||||
&(cairo_rectangle_int_t) {
|
||||
.x = x,
|
||||
.y = y,
|
||||
.width = width,
|
||||
.height = height
|
||||
},
|
||||
&captures,
|
||||
&n_captures);
|
||||
|
||||
priv->image = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
|
||||
width, height);
|
||||
if (n_captures == 0)
|
||||
return;
|
||||
|
||||
/*
|
||||
* TODO: Deal with each capture region separately, instead of dropping
|
||||
* anything except the first one.
|
||||
*/
|
||||
priv->image = captures[0].image;
|
||||
|
||||
data = cairo_image_surface_get_data (priv->image);
|
||||
stride = cairo_image_surface_get_stride (priv->image);
|
||||
for (i = 1; i < n_captures; i++)
|
||||
cairo_surface_destroy (captures[i].image);
|
||||
|
||||
bitmap = cogl_bitmap_new_for_data (context,
|
||||
width,
|
||||
height,
|
||||
CLUTTER_CAIRO_FORMAT_ARGB32,
|
||||
stride,
|
||||
data);
|
||||
cogl_framebuffer_read_pixels_into_bitmap (cogl_get_draw_framebuffer (),
|
||||
x, y,
|
||||
COGL_READ_PIXELS_COLOR_BUFFER,
|
||||
bitmap);
|
||||
|
||||
cairo_surface_mark_dirty (priv->image);
|
||||
cogl_object_unref (bitmap);
|
||||
g_free (captures);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -312,7 +311,7 @@ grab_screenshot (ClutterActor *stage,
|
||||
screen = shell_global_get_screen (priv->global);
|
||||
meta_screen_get_size (screen, &width, &height);
|
||||
|
||||
do_grab_screenshot (screenshot, 0, 0, width, height);
|
||||
do_grab_screenshot (screenshot, CLUTTER_STAGE (stage), 0, 0, width, height);
|
||||
|
||||
if (meta_screen_get_n_monitors (screen) > 1)
|
||||
{
|
||||
@@ -381,6 +380,7 @@ grab_area_screenshot (ClutterActor *stage,
|
||||
ShellScreenshotPrivate *priv = screenshot->priv;
|
||||
|
||||
do_grab_screenshot (screenshot,
|
||||
CLUTTER_STAGE (stage),
|
||||
priv->screenshot_area.x,
|
||||
priv->screenshot_area.y,
|
||||
priv->screenshot_area.width,
|
||||
|
@@ -608,6 +608,8 @@ st_entry_key_press_event (ClutterActor *actor,
|
||||
/* paste */
|
||||
if (((event->modifier_state & CLUTTER_CONTROL_MASK)
|
||||
&& event->keyval == CLUTTER_KEY_v) ||
|
||||
((event->modifier_state & CLUTTER_CONTROL_MASK)
|
||||
&& event->keyval == CLUTTER_KEY_V) ||
|
||||
((event->modifier_state & CLUTTER_SHIFT_MASK)
|
||||
&& event->keyval == CLUTTER_KEY_Insert))
|
||||
{
|
||||
@@ -625,7 +627,7 @@ st_entry_key_press_event (ClutterActor *actor,
|
||||
|
||||
/* copy */
|
||||
if ((event->modifier_state & CLUTTER_CONTROL_MASK)
|
||||
&& event->keyval == CLUTTER_KEY_c &&
|
||||
&& (event->keyval == CLUTTER_KEY_c || event->keyval == CLUTTER_KEY_C) &&
|
||||
clutter_text_get_password_char ((ClutterText*) priv->entry) == 0)
|
||||
{
|
||||
StClipboard *clipboard;
|
||||
@@ -646,7 +648,7 @@ st_entry_key_press_event (ClutterActor *actor,
|
||||
|
||||
/* cut */
|
||||
if ((event->modifier_state & CLUTTER_CONTROL_MASK)
|
||||
&& event->keyval == CLUTTER_KEY_x &&
|
||||
&& (event->keyval == CLUTTER_KEY_x || event->keyval == CLUTTER_KEY_X) &&
|
||||
clutter_text_get_password_char ((ClutterText*) priv->entry) == 0)
|
||||
{
|
||||
StClipboard *clipboard;
|
||||
@@ -671,8 +673,8 @@ st_entry_key_press_event (ClutterActor *actor,
|
||||
|
||||
|
||||
/* delete to beginning of line */
|
||||
if ((event->modifier_state & CLUTTER_CONTROL_MASK)
|
||||
&& event->keyval == CLUTTER_KEY_u)
|
||||
if ((event->modifier_state & CLUTTER_CONTROL_MASK) &&
|
||||
(event->keyval == CLUTTER_KEY_u || event->keyval == CLUTTER_KEY_U))
|
||||
{
|
||||
int pos = clutter_text_get_cursor_position ((ClutterText *)priv->entry);
|
||||
clutter_text_delete_text ((ClutterText *)priv->entry, 0, pos);
|
||||
@@ -682,8 +684,8 @@ st_entry_key_press_event (ClutterActor *actor,
|
||||
|
||||
|
||||
/* delete to end of line */
|
||||
if ((event->modifier_state & CLUTTER_CONTROL_MASK)
|
||||
&& event->keyval == CLUTTER_KEY_k)
|
||||
if ((event->modifier_state & CLUTTER_CONTROL_MASK) &&
|
||||
(event->keyval == CLUTTER_KEY_k || event->keyval == CLUTTER_KEY_K))
|
||||
{
|
||||
ClutterTextBuffer *buffer = clutter_text_get_buffer ((ClutterText *)priv->entry);
|
||||
int pos = clutter_text_get_cursor_position ((ClutterText *)priv->entry);
|
||||
|
@@ -347,6 +347,7 @@ _st_create_shadow_pipeline (StShadow *shadow_spec,
|
||||
{
|
||||
ClutterBackend *backend = clutter_get_default_backend ();
|
||||
CoglContext *ctx = clutter_backend_get_cogl_context (backend);
|
||||
CoglError *error = NULL;
|
||||
|
||||
static CoglPipeline *shadow_pipeline_template = NULL;
|
||||
|
||||
@@ -377,7 +378,13 @@ _st_create_shadow_pipeline (StShadow *shadow_spec,
|
||||
COGL_PIXEL_FORMAT_A_8,
|
||||
rowstride_out,
|
||||
pixels_out,
|
||||
NULL));
|
||||
&error));
|
||||
|
||||
if (error)
|
||||
{
|
||||
g_warning ("Failed to allocate texture: %s", error->message);
|
||||
cogl_error_free (error);
|
||||
}
|
||||
|
||||
g_free (pixels_out);
|
||||
|
||||
@@ -395,7 +402,10 @@ _st_create_shadow_pipeline (StShadow *shadow_spec,
|
||||
|
||||
pipeline = cogl_pipeline_copy (shadow_pipeline_template);
|
||||
cogl_pipeline_set_layer_texture (pipeline, 0, texture);
|
||||
cogl_object_unref (texture);
|
||||
|
||||
if (texture)
|
||||
cogl_object_unref (texture);
|
||||
|
||||
return pipeline;
|
||||
}
|
||||
|
||||
@@ -442,6 +452,7 @@ _st_create_shadow_pipeline_from_actor (StShadow *shadow_spec,
|
||||
if (!cogl_framebuffer_allocate (fb, &catch_error))
|
||||
{
|
||||
cogl_error_free (catch_error);
|
||||
cogl_object_unref (offscreen);
|
||||
cogl_object_unref (buffer);
|
||||
return NULL;
|
||||
}
|
||||
|
@@ -287,13 +287,8 @@ st_shadow_helper_paint (StShadowHelper *helper,
|
||||
ClutterActorBox *actor_box,
|
||||
guint8 paint_opacity)
|
||||
{
|
||||
ClutterActorBox allocation;
|
||||
float width, height;
|
||||
|
||||
clutter_actor_box_get_size (actor_box, &width, &height);
|
||||
|
||||
_st_paint_shadow_with_opacity (helper->shadow,
|
||||
helper->pipeline,
|
||||
&allocation,
|
||||
actor_box,
|
||||
paint_opacity);
|
||||
}
|
||||
|
@@ -461,14 +461,24 @@ pixbuf_to_cogl_texture (GdkPixbuf *pixbuf)
|
||||
{
|
||||
ClutterBackend *backend = clutter_get_default_backend ();
|
||||
CoglContext *ctx = clutter_backend_get_cogl_context (backend);
|
||||
CoglError *error = NULL;
|
||||
CoglTexture2D *texture;
|
||||
|
||||
return COGL_TEXTURE (cogl_texture_2d_new_from_data (ctx,
|
||||
gdk_pixbuf_get_width (pixbuf),
|
||||
gdk_pixbuf_get_height (pixbuf),
|
||||
gdk_pixbuf_get_has_alpha (pixbuf) ? COGL_PIXEL_FORMAT_RGBA_8888 : COGL_PIXEL_FORMAT_RGB_888,
|
||||
gdk_pixbuf_get_rowstride (pixbuf),
|
||||
gdk_pixbuf_get_pixels (pixbuf),
|
||||
NULL));
|
||||
texture = cogl_texture_2d_new_from_data (ctx,
|
||||
gdk_pixbuf_get_width (pixbuf),
|
||||
gdk_pixbuf_get_height (pixbuf),
|
||||
gdk_pixbuf_get_has_alpha (pixbuf) ? COGL_PIXEL_FORMAT_RGBA_8888 : COGL_PIXEL_FORMAT_RGB_888,
|
||||
gdk_pixbuf_get_rowstride (pixbuf),
|
||||
gdk_pixbuf_get_pixels (pixbuf),
|
||||
&error);
|
||||
|
||||
if (error)
|
||||
{
|
||||
g_warning ("Failed to allocate texture: %s", error->message);
|
||||
cogl_error_free (error);
|
||||
}
|
||||
|
||||
return texture ? COGL_TEXTURE (texture) : NULL;
|
||||
}
|
||||
|
||||
static cairo_surface_t *
|
||||
@@ -632,6 +642,8 @@ st_texture_cache_reset_texture (StTextureCachePropertyBind *bind,
|
||||
(cairo_image_surface_get_format (surface) == CAIRO_FORMAT_ARGB32 ||
|
||||
cairo_image_surface_get_format (surface) == CAIRO_FORMAT_RGB24))
|
||||
{
|
||||
CoglError *error = NULL;
|
||||
|
||||
texdata = COGL_TEXTURE (cogl_texture_2d_new_from_data (ctx,
|
||||
cairo_image_surface_get_width (surface),
|
||||
cairo_image_surface_get_height (surface),
|
||||
@@ -639,9 +651,18 @@ st_texture_cache_reset_texture (StTextureCachePropertyBind *bind,
|
||||
COGL_PIXEL_FORMAT_BGRA_8888 : COGL_PIXEL_FORMAT_BGR_888,
|
||||
cairo_image_surface_get_stride (surface),
|
||||
cairo_image_surface_get_data (surface),
|
||||
NULL));
|
||||
clutter_texture_set_cogl_texture (bind->texture, texdata);
|
||||
cogl_object_unref (texdata);
|
||||
&error));
|
||||
|
||||
if (texdata)
|
||||
{
|
||||
clutter_texture_set_cogl_texture (bind->texture, texdata);
|
||||
cogl_object_unref (texdata);
|
||||
}
|
||||
else if (error)
|
||||
{
|
||||
g_warning ("Failed to allocate texture: %s", error->message);
|
||||
cogl_error_free (error);
|
||||
}
|
||||
|
||||
clutter_actor_set_opacity (CLUTTER_ACTOR (bind->texture), 255);
|
||||
}
|
||||
|
@@ -71,6 +71,7 @@ create_corner_material (StCornerSpec *corner)
|
||||
{
|
||||
ClutterBackend *backend = clutter_get_default_backend ();
|
||||
CoglContext *ctx = clutter_backend_get_cogl_context (backend);
|
||||
CoglError *error = NULL;
|
||||
CoglHandle texture;
|
||||
cairo_t *cr;
|
||||
cairo_surface_t *surface;
|
||||
@@ -172,9 +173,15 @@ create_corner_material (StCornerSpec *corner)
|
||||
CLUTTER_CAIRO_FORMAT_ARGB32,
|
||||
rowstride,
|
||||
data,
|
||||
NULL));
|
||||
&error));
|
||||
|
||||
if (error)
|
||||
{
|
||||
g_warning ("Failed to allocate texture: %s", error->message);
|
||||
cogl_error_free (error);
|
||||
}
|
||||
|
||||
g_free (data);
|
||||
g_assert (texture != COGL_INVALID_HANDLE);
|
||||
|
||||
return texture;
|
||||
}
|
||||
@@ -347,7 +354,7 @@ st_theme_node_lookup_corner (StThemeNode *node,
|
||||
float height,
|
||||
StCorner corner_id)
|
||||
{
|
||||
CoglHandle texture, material;
|
||||
CoglHandle texture, material = COGL_INVALID_HANDLE;
|
||||
char *key;
|
||||
StTextureCache *cache;
|
||||
StCornerSpec corner;
|
||||
@@ -396,8 +403,12 @@ st_theme_node_lookup_corner (StThemeNode *node,
|
||||
|
||||
key = corner_to_string (&corner);
|
||||
texture = st_texture_cache_load (cache, key, ST_TEXTURE_CACHE_POLICY_NONE, load_corner, &corner, NULL);
|
||||
material = _st_create_texture_pipeline (texture);
|
||||
cogl_handle_unref (texture);
|
||||
|
||||
if (texture)
|
||||
{
|
||||
material = _st_create_texture_pipeline (texture);
|
||||
cogl_handle_unref (texture);
|
||||
}
|
||||
|
||||
g_free (key);
|
||||
|
||||
@@ -958,6 +969,7 @@ st_theme_node_prerender_background (StThemeNode *node,
|
||||
{
|
||||
ClutterBackend *backend = clutter_get_default_backend ();
|
||||
CoglContext *ctx = clutter_backend_get_cogl_context (backend);
|
||||
CoglError *error = NULL;
|
||||
StBorderImage *border_image;
|
||||
CoglHandle texture;
|
||||
guint radius[4];
|
||||
@@ -1277,7 +1289,13 @@ st_theme_node_prerender_background (StThemeNode *node,
|
||||
CLUTTER_CAIRO_FORMAT_ARGB32,
|
||||
rowstride,
|
||||
data,
|
||||
NULL));
|
||||
&error));
|
||||
|
||||
if (error)
|
||||
{
|
||||
g_warning ("Failed to allocate texture: %s", error->message);
|
||||
cogl_error_free (error);
|
||||
}
|
||||
|
||||
cairo_destroy (cr);
|
||||
cairo_surface_destroy (surface);
|
||||
@@ -2206,6 +2224,7 @@ st_theme_node_prerender_shadow (StThemeNodePaintState *state)
|
||||
int max_borders[4];
|
||||
int center_radius, corner_id;
|
||||
CoglHandle buffer, offscreen = COGL_INVALID_HANDLE;
|
||||
CoglError *error = NULL;
|
||||
|
||||
/* Get infos from the node */
|
||||
if (state->alloc_width < node->box_shadow_min_width ||
|
||||
@@ -2246,10 +2265,12 @@ st_theme_node_prerender_shadow (StThemeNodePaintState *state)
|
||||
state->box_shadow_height,
|
||||
COGL_TEXTURE_NO_SLICING,
|
||||
COGL_PIXEL_FORMAT_ANY);
|
||||
if (buffer != COGL_INVALID_HANDLE)
|
||||
offscreen = cogl_offscreen_new_with_texture (buffer);
|
||||
if (buffer == NULL)
|
||||
return;
|
||||
|
||||
if (offscreen != COGL_INVALID_HANDLE)
|
||||
offscreen = cogl_offscreen_new_with_texture (buffer);
|
||||
|
||||
if (cogl_framebuffer_allocate (COGL_FRAMEBUFFER (offscreen), &error))
|
||||
{
|
||||
ClutterActorBox box = { 0, 0, state->box_shadow_width, state->box_shadow_height};
|
||||
|
||||
@@ -2259,14 +2280,17 @@ st_theme_node_prerender_shadow (StThemeNodePaintState *state)
|
||||
cogl_framebuffer_clear4f (offscreen, COGL_BUFFER_BIT_COLOR, 0, 0, 0, 0);
|
||||
|
||||
st_theme_node_paint_borders (state, offscreen, &box, 0xFF);
|
||||
cogl_handle_unref (offscreen);
|
||||
|
||||
state->box_shadow_pipeline = _st_create_shadow_pipeline (st_theme_node_get_box_shadow (node),
|
||||
buffer);
|
||||
}
|
||||
else
|
||||
{
|
||||
cogl_error_free (error);
|
||||
}
|
||||
|
||||
if (buffer != COGL_INVALID_HANDLE)
|
||||
cogl_handle_unref (buffer);
|
||||
cogl_handle_unref (offscreen);
|
||||
cogl_handle_unref (buffer);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@@ -241,6 +241,7 @@ setup_framebuffers (StThemeNodeTransition *transition,
|
||||
{
|
||||
StThemeNodeTransitionPrivate *priv = transition->priv;
|
||||
guint width, height;
|
||||
CoglError *catch_error = NULL;
|
||||
|
||||
/* template material to avoid unnecessary shader compilation */
|
||||
static CoglHandle material_template = COGL_INVALID_HANDLE;
|
||||
@@ -263,19 +264,33 @@ setup_framebuffers (StThemeNodeTransition *transition,
|
||||
COGL_TEXTURE_NO_SLICING,
|
||||
COGL_PIXEL_FORMAT_ANY);
|
||||
|
||||
g_return_val_if_fail (priv->old_texture != COGL_INVALID_HANDLE, FALSE);
|
||||
g_return_val_if_fail (priv->new_texture != COGL_INVALID_HANDLE, FALSE);
|
||||
if (priv->old_texture == COGL_INVALID_HANDLE)
|
||||
return FALSE;
|
||||
|
||||
if (priv->new_texture == COGL_INVALID_HANDLE)
|
||||
return FALSE;
|
||||
|
||||
if (priv->old_offscreen)
|
||||
cogl_handle_unref (priv->old_offscreen);
|
||||
priv->old_offscreen = cogl_offscreen_new_with_texture (priv->old_texture);
|
||||
if (!cogl_framebuffer_allocate (COGL_FRAMEBUFFER (priv->old_offscreen), &catch_error))
|
||||
{
|
||||
cogl_object_unref (priv->old_offscreen);
|
||||
cogl_error_free (catch_error);
|
||||
priv->old_offscreen = COGL_INVALID_HANDLE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (priv->new_offscreen)
|
||||
cogl_handle_unref (priv->new_offscreen);
|
||||
priv->new_offscreen = cogl_offscreen_new_with_texture (priv->new_texture);
|
||||
|
||||
g_return_val_if_fail (priv->old_offscreen != COGL_INVALID_HANDLE, FALSE);
|
||||
g_return_val_if_fail (priv->new_offscreen != COGL_INVALID_HANDLE, FALSE);
|
||||
if (!cogl_framebuffer_allocate (COGL_FRAMEBUFFER (priv->new_offscreen), &catch_error))
|
||||
{
|
||||
cogl_object_unref (priv->new_offscreen);
|
||||
cogl_error_free (catch_error);
|
||||
priv->new_offscreen = COGL_INVALID_HANDLE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (priv->material == NULL)
|
||||
{
|
||||
|
@@ -66,11 +66,30 @@ st_theme_node_class_init (StThemeNodeClass *klass)
|
||||
object_class->finalize = st_theme_node_finalize;
|
||||
}
|
||||
|
||||
static void
|
||||
maybe_free_properties (StThemeNode *node)
|
||||
{
|
||||
if (node->properties)
|
||||
{
|
||||
g_free (node->properties);
|
||||
node->properties = NULL;
|
||||
node->n_properties = 0;
|
||||
}
|
||||
|
||||
if (node->inline_properties)
|
||||
{
|
||||
/* This destroys the list, not just the head of the list */
|
||||
cr_declaration_destroy (node->inline_properties);
|
||||
node->inline_properties = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
on_custom_stylesheets_changed (StTheme *theme,
|
||||
gpointer data)
|
||||
{
|
||||
StThemeNode *node = data;
|
||||
maybe_free_properties (node);
|
||||
node->properties_computed = FALSE;
|
||||
}
|
||||
|
||||
@@ -119,18 +138,7 @@ st_theme_node_finalize (GObject *object)
|
||||
g_strfreev (node->pseudo_classes);
|
||||
g_free (node->inline_style);
|
||||
|
||||
if (node->properties)
|
||||
{
|
||||
g_free (node->properties);
|
||||
node->properties = NULL;
|
||||
node->n_properties = 0;
|
||||
}
|
||||
|
||||
if (node->inline_properties)
|
||||
{
|
||||
/* This destroys the list, not just the head of the list */
|
||||
cr_declaration_destroy (node->inline_properties);
|
||||
}
|
||||
maybe_free_properties (node);
|
||||
|
||||
if (node->font_desc)
|
||||
{
|
||||
|
@@ -12,12 +12,13 @@ srcdir=sys.argv[1]
|
||||
distdir=sys.argv[2]
|
||||
excludes=sys.argv[3:]
|
||||
|
||||
cwd=os.getcwd()
|
||||
os.chdir(srcdir)
|
||||
|
||||
status=0
|
||||
for f in subprocess.Popen(["git", "ls-files"], stdout=subprocess.PIPE).stdout:
|
||||
f = f.decode('utf-8').strip()
|
||||
if (not os.path.exists(os.path.join(distdir, f)) and
|
||||
if (not os.path.exists(os.path.join(cwd, distdir, f)) and
|
||||
not any((fnmatch.fnmatch(f, p) for p in excludes))):
|
||||
print("File missing from distribution:", f)
|
||||
status=1
|
||||
|
Reference in New Issue
Block a user