Compare commits
51 Commits
Author | SHA1 | Date | |
---|---|---|---|
f8c980cb22 | |||
74ed3646ad | |||
80dfda17cd | |||
3e98d47687 | |||
3d3494a15b | |||
3bf11dbd31 | |||
626e962e03 | |||
759de873b5 | |||
552ae78557 | |||
d85a16589b | |||
136c76dcbe | |||
2d95201af2 | |||
039c683bac | |||
d9ab2320d5 | |||
fa515328eb | |||
0cfedcaad6 | |||
65230bfd7f | |||
a5324462c3 | |||
7e654ab3ca | |||
9601908fca | |||
ab4c160f9d | |||
234882cbc6 | |||
e890674e49 | |||
cd01e2fb25 | |||
62027beb8e | |||
ee4d861a29 | |||
3a3e26c1bd | |||
bf2ad9d4e8 | |||
b053d9c84f | |||
4afa8bebdb | |||
caf3d5add0 | |||
7cf038474a | |||
c7bcc8150c | |||
6d58397508 | |||
49d0fc178d | |||
b83b8f64ff | |||
6cc8a42720 | |||
50a2d285eb | |||
fdf05310e9 | |||
7baa393b1b | |||
113694c44b | |||
0c2f51b27f | |||
04cb84de2a | |||
9475c16e80 | |||
6f41a9e10c | |||
be3b939a24 | |||
04fb3a5a7c | |||
697b6dbfff | |||
bb4639e423 | |||
69db63b4cd | |||
f9d17b214e |
13
.gitignore
vendored
13
.gitignore
vendored
@ -21,19 +21,6 @@ data/gnome-shell.desktop.in
|
||||
data/gschemas.compiled
|
||||
data/org.gnome.shell.gschema.xml
|
||||
data/org.gnome.shell.gschema.valid
|
||||
docs/reference/*/*.args
|
||||
docs/reference/*/*.bak
|
||||
docs/reference/*/*.hierarchy
|
||||
docs/reference/*/*.interfaces
|
||||
docs/reference/*/*.prerequisites
|
||||
docs/reference/*/*.sgml
|
||||
docs/reference/*/*.signals
|
||||
docs/reference/*/*.stamp
|
||||
docs/reference/*/*.txt
|
||||
docs/reference/*/*.types
|
||||
docs/reference/*/html/
|
||||
docs/reference/*/xml/
|
||||
gtk-doc.make
|
||||
js/misc/config.js
|
||||
intltool-extract.in
|
||||
intltool-merge.in
|
||||
|
@ -1,7 +1,7 @@
|
||||
# Point to our macro directory and pick up user flags from the environment
|
||||
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
|
||||
|
||||
SUBDIRS = data js src browser-plugin tests po man docs
|
||||
SUBDIRS = data js src browser-plugin tests po man
|
||||
|
||||
EXTRA_DIST = \
|
||||
.project \
|
||||
@ -19,5 +19,3 @@ DIST_EXCLUDE = \
|
||||
distcheck-hook:
|
||||
@echo "Checking disted files against files in git"
|
||||
@$(srcdir)/tools/check-for-missing.py $(srcdir) $(distdir) $(DIST_EXCLUDE)
|
||||
|
||||
DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
|
||||
|
44
NEWS
44
NEWS
@ -1,3 +1,47 @@
|
||||
3.2.2
|
||||
=====
|
||||
* Fix crash when searching in the shell caused by .desktop files
|
||||
without Exec= lines (commonly, nautilus-pastebin) [Ray; #663815]
|
||||
* Message Tray:
|
||||
- Fix bug that would cause confusion between notifications from different
|
||||
services running in the gnome-settings-daemon process
|
||||
[Marina, Jasper; #664138]
|
||||
- Don't steal the focus when popping up beneath the pointer [Rui; #661358]
|
||||
- Only pop up the message tray from a hot corner, rather than trapping
|
||||
clicks on the entire bottom row. [Rui; #663366]
|
||||
* Browser plugin and extension.gnome.org integration
|
||||
- Fix multiple bugs that kept the plugin from working in WebKit-based browsers
|
||||
[Jasper, #663823, #666444]
|
||||
- Fix plugin crash when the shell is installed but not running [Jürg]
|
||||
- Fix problem that kept plugin uninstallation from working [Jasper]
|
||||
* gnome-shell-extension-tool
|
||||
- Fix error that was printed after creating an extension [Jasper; #661623]
|
||||
- Use xdg-open rather than the deprecated gnome-open [Jasper]
|
||||
* Don't recreate dash icons unnecessarily - this hopefully fixes various
|
||||
crashes. [Owen, Giovanni; #648450]
|
||||
* Fix several bugs that caused errors and slowdowns when updating the
|
||||
network menu. [Giovanni; #651378, #659277, #663278]
|
||||
* Fix several crashers related to updating workspace thumbnails
|
||||
[Owen; #667652]
|
||||
* Fix memory management error causing gnome-shell-hotplug-sniffer to crash
|
||||
[Owen; #667378]
|
||||
* Fix crash and misdrawing with shadowed elements [Owen; #668048, #668050]
|
||||
* Fix several small memory leaks. [Jasper, Florian]
|
||||
|
||||
Contributors:
|
||||
Jürg Billeter, Rui Matos, Florian Müllner, Jasper St. Pierre, Ray Strode,
|
||||
Owen Taylor, Marina Zhurakhinskaya
|
||||
|
||||
Translations:
|
||||
Alexander Shopov [bg], Gil Forcada [ca], Carles Ferrando [ca@valencia],
|
||||
Marek Černocký [cz], Kris Thomsen [dk], Bruce Cowan [en_GB],
|
||||
Kristjan Schmidt [eo], Daniel Mustieles [es], Arash Mousavi [fa],
|
||||
Ville-Pekka Vainio [fi], Bruno Brouard [fr], Hideki Yamane [ja],
|
||||
Žygimantas Beručka, Aurimas Černius [lt], Kjartan Maraas [nb],
|
||||
"Andreas N" [nn], Djavan Fagundes, Antonio Fernandes C. Neto [pt_BR],
|
||||
Daniel Nylander [se], Matej Urbančič [sl], Praveen Illa [te],
|
||||
Nguyễn Thái Ngọc Duy [vi]
|
||||
|
||||
3.2.1
|
||||
=====
|
||||
* Restore the IM state on startup - if you were available in when you logged
|
||||
|
@ -455,7 +455,7 @@ plugin_enable_extension (PluginObject *obj,
|
||||
NPString uuid,
|
||||
gboolean enabled)
|
||||
{
|
||||
const gchar *uuid_str = uuid.UTF8Characters;
|
||||
gchar *uuid_str = g_strndup (uuid.UTF8Characters, uuid.UTF8Length);
|
||||
if (!uuid_is_valid (uuid_str))
|
||||
return FALSE;
|
||||
|
||||
@ -468,6 +468,8 @@ plugin_enable_extension (PluginObject *obj,
|
||||
NULL, /* callback */
|
||||
NULL /* user_data */);
|
||||
|
||||
g_free (uuid_str);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -476,21 +478,32 @@ plugin_install_extension (PluginObject *obj,
|
||||
NPString uuid,
|
||||
NPString version_tag)
|
||||
{
|
||||
const gchar *uuid_str = uuid.UTF8Characters;
|
||||
gchar *uuid_str = g_strndup (uuid.UTF8Characters, uuid.UTF8Length);
|
||||
gchar *version_tag_str;
|
||||
|
||||
if (!uuid_is_valid (uuid_str))
|
||||
return FALSE;
|
||||
{
|
||||
g_free (uuid_str);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
version_tag_str = g_strndup (version_tag.UTF8Characters,
|
||||
version_tag.UTF8Length);
|
||||
|
||||
g_dbus_proxy_call (obj->proxy,
|
||||
"InstallRemoteExtension",
|
||||
g_variant_new ("(ss)",
|
||||
uuid_str,
|
||||
version_tag.UTF8Characters),
|
||||
version_tag_str),
|
||||
G_DBUS_CALL_FLAGS_NONE,
|
||||
-1, /* timeout */
|
||||
NULL, /* cancellable */
|
||||
NULL, /* callback */
|
||||
NULL /* user_data */);
|
||||
|
||||
g_free (uuid_str);
|
||||
g_free (version_tag_str);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -501,11 +514,14 @@ plugin_uninstall_extension (PluginObject *obj,
|
||||
{
|
||||
GError *error = NULL;
|
||||
GVariant *res;
|
||||
const gchar *uuid_str;
|
||||
gchar *uuid_str;
|
||||
|
||||
uuid_str = uuid.UTF8Characters;
|
||||
uuid_str = g_strndup (uuid.UTF8Characters, uuid.UTF8Length);
|
||||
if (!uuid_is_valid (uuid_str))
|
||||
return FALSE;
|
||||
{
|
||||
g_free (uuid_str);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
res = g_dbus_proxy_call_sync (obj->proxy,
|
||||
"UninstallExtension",
|
||||
@ -516,6 +532,8 @@ plugin_uninstall_extension (PluginObject *obj,
|
||||
NULL, /* cancellable */
|
||||
&error);
|
||||
|
||||
g_free (uuid_str);
|
||||
|
||||
if (!res)
|
||||
{
|
||||
g_warning ("Failed to uninstall extension: %s", error->message);
|
||||
@ -533,11 +551,14 @@ plugin_get_info (PluginObject *obj,
|
||||
{
|
||||
GError *error = NULL;
|
||||
GVariant *res;
|
||||
const gchar *uuid_str;
|
||||
gchar *uuid_str;
|
||||
|
||||
uuid_str = uuid.UTF8Characters;
|
||||
uuid_str = g_strndup (uuid.UTF8Characters, uuid.UTF8Length);
|
||||
if (!uuid_is_valid (uuid_str))
|
||||
return FALSE;
|
||||
{
|
||||
g_free (uuid_str);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
res = g_dbus_proxy_call_sync (obj->proxy,
|
||||
"GetExtensionInfo",
|
||||
@ -547,6 +568,8 @@ plugin_get_info (PluginObject *obj,
|
||||
NULL, /* cancellable */
|
||||
&error);
|
||||
|
||||
g_free (uuid_str);
|
||||
|
||||
if (!res)
|
||||
{
|
||||
g_warning ("Failed to retrieve extension metadata: %s", error->message);
|
||||
@ -564,11 +587,14 @@ plugin_get_errors (PluginObject *obj,
|
||||
{
|
||||
GError *error = NULL;
|
||||
GVariant *res;
|
||||
const gchar *uuid_str;
|
||||
gchar *uuid_str;
|
||||
|
||||
uuid_str = uuid.UTF8Characters;
|
||||
uuid_str = g_strndup (uuid.UTF8Characters, uuid.UTF8Length);
|
||||
if (!uuid_is_valid (uuid_str))
|
||||
return FALSE;
|
||||
{
|
||||
g_free (uuid_str);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
res = g_dbus_proxy_call_sync (obj->proxy,
|
||||
"GetExtensionErrors",
|
||||
@ -578,6 +604,8 @@ plugin_get_errors (PluginObject *obj,
|
||||
NULL, /* cancellable */
|
||||
&error);
|
||||
|
||||
g_free (uuid_str);
|
||||
|
||||
if (!res)
|
||||
{
|
||||
g_warning ("Failed to retrieve errors: %s", error->message);
|
||||
@ -633,7 +661,8 @@ plugin_get_shell_version (PluginObject *obj,
|
||||
STRINGN_TO_NPVARIANT (buffer, length, *result);
|
||||
|
||||
out:
|
||||
g_variant_unref (res);
|
||||
if (res)
|
||||
g_variant_unref (res);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
23
configure.ac
23
configure.ac
@ -1,5 +1,5 @@
|
||||
AC_PREREQ(2.63)
|
||||
AC_INIT([gnome-shell],[3.2.1],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
|
||||
AC_INIT([gnome-shell],[3.2.2],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
|
||||
|
||||
AC_CONFIG_HEADERS([config.h])
|
||||
AC_CONFIG_SRCDIR([src/shell-global.c])
|
||||
@ -36,6 +36,10 @@ AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE",
|
||||
|
||||
PKG_PROG_PKG_CONFIG([0.22])
|
||||
|
||||
# GConf stuff
|
||||
AC_PATH_PROG(GCONFTOOL, gconftool-2, no)
|
||||
AM_GCONF_SOURCE_2
|
||||
|
||||
GLIB_GSETTINGS
|
||||
|
||||
# Get a value to substitute into gnome-shell.in
|
||||
@ -66,7 +70,7 @@ GJS_MIN_VERSION=1.29.18
|
||||
MUTTER_MIN_VERSION=3.2.1
|
||||
FOLKS_MIN_VERSION=0.5.2
|
||||
GTK_MIN_VERSION=3.0.0
|
||||
GIO_MIN_VERSION=2.31.0
|
||||
GIO_MIN_VERSION=2.29.10
|
||||
LIBECAL_MIN_VERSION=2.32.0
|
||||
LIBEDATASERVER_MIN_VERSION=1.2.0
|
||||
LIBEDATASERVERUI_MIN_VERSION=2.91.6
|
||||
@ -76,8 +80,8 @@ POLKIT_MIN_VERSION=0.100
|
||||
STARTUP_NOTIFICATION_MIN_VERSION=0.11
|
||||
|
||||
# Collect more than 20 libraries for a prize!
|
||||
PKG_CHECK_MODULES(GNOME_SHELL, gio-unix-2.0 >= $GIO_MIN_VERSION
|
||||
libxml-2.0
|
||||
PKG_CHECK_MODULES(GNOME_SHELL, gio-2.0 >= $GIO_MIN_VERSION
|
||||
gio-unix-2.0 dbus-glib-1 libxml-2.0
|
||||
gtk+-3.0 >= $GTK_MIN_VERSION
|
||||
folks >= $FOLKS_MIN_VERSION
|
||||
libmutter >= $MUTTER_MIN_VERSION
|
||||
@ -127,7 +131,6 @@ PKG_CHECK_EXISTS([gnome-bluetooth-1.0 >= 3.1.0],
|
||||
[BLUETOOTH_DIR=`$PKG_CONFIG --variable=applet_libdir gnome-bluetooth-1.0`
|
||||
BLUETOOTH_LIBS=`$PKG_CONFIG --variable=applet_libs gnome-bluetooth-1.0`
|
||||
AC_SUBST([BLUETOOTH_LIBS],["$BLUETOOTH_LIBS"])
|
||||
AC_SUBST([BLUETOOTH_DIR],["$BLUETOOTH_DIR"])
|
||||
AC_DEFINE_UNQUOTED([BLUETOOTH_DIR],["$BLUETOOTH_DIR"],[Path to installed GnomeBluetooth typelib and library])
|
||||
AC_DEFINE([HAVE_BLUETOOTH],[1],[Define if you have libgnome-bluetooth-applet])
|
||||
AC_SUBST([HAVE_BLUETOOTH],[1])
|
||||
@ -176,13 +179,11 @@ AC_SUBST(GIRDIR)
|
||||
TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
|
||||
AC_SUBST(TYPELIBDIR)
|
||||
|
||||
GTK_DOC_CHECK([1.15], [--flavour no-tmpl])
|
||||
|
||||
# Stay command-line compatible with the gnome-common configure option. Here
|
||||
# minimum/yes/maximum are the same, however.
|
||||
AC_ARG_ENABLE(compile_warnings,
|
||||
AS_HELP_STRING([--enable-compile-warnings=@<:@no/minimum/yes/maximum/error@:>@],[Turn on compiler warnings]),,
|
||||
enable_compile_warnings=maximum)
|
||||
enable_compile_warnings=error)
|
||||
|
||||
changequote(,)dnl
|
||||
if test "$enable_compile_warnings" != no ; then
|
||||
@ -240,12 +241,6 @@ AC_ARG_VAR([BROWSER_PLUGIN_DIR],[Where to install the plugin to])
|
||||
AC_CONFIG_FILES([
|
||||
Makefile
|
||||
data/Makefile
|
||||
docs/Makefile
|
||||
docs/reference/Makefile
|
||||
docs/reference/shell/Makefile
|
||||
docs/reference/shell/shell-docs.sgml
|
||||
docs/reference/st/Makefile
|
||||
docs/reference/st/st-docs.sgml
|
||||
js/Makefile
|
||||
js/misc/config.js
|
||||
src/Makefile
|
||||
|
@ -60,14 +60,23 @@ gschemas.compiled: $(gsettings_SCHEMAS:.xml=.valid)
|
||||
all-local: gschemas.compiled
|
||||
|
||||
|
||||
# GConf schemas: provide defaults for keys from Metacity we are overriding
|
||||
gconfschemadir = @GCONF_SCHEMA_FILE_DIR@
|
||||
gconfschema_DATA = gnome-shell.schemas
|
||||
|
||||
shadersdir = $(pkgdatadir)/shaders
|
||||
shaders_DATA = \
|
||||
shaders/dim-window.glsl
|
||||
|
||||
install-data-local:
|
||||
GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) --makefile-install-rule $(srcdir)/$(gconfschema_DATA)
|
||||
|
||||
|
||||
|
||||
EXTRA_DIST = \
|
||||
gnome-shell.desktop.in.in \
|
||||
$(menu_DATA) \
|
||||
$(gconfschema_DATA) \
|
||||
$(shaders_DATA) \
|
||||
org.gnome.shell.gschema.xml.in
|
||||
|
||||
|
100
data/gnome-shell.schemas
Normal file
100
data/gnome-shell.schemas
Normal file
@ -0,0 +1,100 @@
|
||||
<gconfschemafile>
|
||||
<schemalist>
|
||||
|
||||
<!-- Metacity overrides -->
|
||||
<schema>
|
||||
<key>/schemas/desktop/gnome/shell/windows/attach_modal_dialogs</key>
|
||||
<applyto>/desktop/gnome/shell/windows/attach_modal_dialogs</applyto>
|
||||
<owner>gnome-shell</owner>
|
||||
<type>bool</type>
|
||||
<default>true</default>
|
||||
<locale name="C">
|
||||
<short>Attach modal dialog to the parent window</short>
|
||||
<long>
|
||||
This key overrides /apps/mutter/general/attach_modal_dialogs when
|
||||
running GNOME Shell.
|
||||
</long>
|
||||
</locale>
|
||||
</schema>
|
||||
|
||||
<schema>
|
||||
<key>/schemas/desktop/gnome/shell/windows/button_layout</key>
|
||||
<applyto>/desktop/gnome/shell/windows/button_layout</applyto>
|
||||
<owner>gnome-shell</owner>
|
||||
<type>string</type>
|
||||
<default>:close</default>
|
||||
<locale name="C">
|
||||
<short>Arrangement of buttons on the titlebar</short>
|
||||
<long>
|
||||
Arrangement of buttons on the titlebar. The
|
||||
value should be a string, such as
|
||||
"menu:minimize,maximize,spacer,close"; the colon separates the
|
||||
left corner of the window from the right corner, and
|
||||
the button names are comma-separated. Duplicate buttons
|
||||
are not allowed. Unknown button names are silently ignored
|
||||
so that buttons can be added in future gnome-shell versions
|
||||
without breaking older versions.
|
||||
A special spacer tag can be used to insert some space between
|
||||
two adjacent buttons.
|
||||
|
||||
This key overrides /apps/metacity/general/button_layout when
|
||||
running GNOME Shell.
|
||||
</long>
|
||||
</locale>
|
||||
</schema>
|
||||
|
||||
<schema>
|
||||
<key>/schemas/desktop/gnome/shell/windows/edge_tiling</key>
|
||||
<applyto>/desktop/gnome/shell/windows/edge_tiling</applyto>
|
||||
<owner>gnome-shell</owner>
|
||||
<type>bool</type>
|
||||
<default>true</default>
|
||||
<locale name="C">
|
||||
<short>enable edge tiling when dropping windows on screen edges</short>
|
||||
<long>
|
||||
If enabled, dropping windows on vertical screen edges maximizes them
|
||||
vertically and resizes them horizontally to cover half of the
|
||||
available area. Dropping windows on the top screen edge maximizes them
|
||||
completely.
|
||||
|
||||
This key overrides /apps/metacity/general/edge_tiling when
|
||||
running GNOME Shell.
|
||||
</long>
|
||||
</locale>
|
||||
</schema>
|
||||
|
||||
<schema>
|
||||
<key>/schemas/desktop/gnome/shell/windows/theme</key>
|
||||
<applyto>/desktop/gnome/shell/windows/theme</applyto>
|
||||
<owner>gnome-shell</owner>
|
||||
<type>string</type>
|
||||
<default>Adwaita</default>
|
||||
<locale name="C">
|
||||
<short>Current theme</short>
|
||||
<long>
|
||||
The theme determines the appearance of window borders,
|
||||
titlebar, and so forth.
|
||||
|
||||
This key overrides /apps/metacity/general/theme when
|
||||
running GNOME Shell.
|
||||
</long>
|
||||
</locale>
|
||||
</schema>
|
||||
|
||||
<schema>
|
||||
<key>/schemas/desktop/gnome/shell/windows/workspaces_only_on_primary</key>
|
||||
<applyto>/desktop/gnome/shell/windows/workspaces_only_on_primary</applyto>
|
||||
<owner>gnome-shell</owner>
|
||||
<type>bool</type>
|
||||
<default>true</default>
|
||||
<locale name="C">
|
||||
<short>Workspaces only on primary monitor</short>
|
||||
<long>
|
||||
This key overrides /apps/mutter/general/workspaces_only_on_primary when
|
||||
running GNOME Shell.
|
||||
</long>
|
||||
</locale>
|
||||
</schema>
|
||||
|
||||
</schemalist>
|
||||
</gconfschemafile>
|
@ -16,9 +16,8 @@
|
||||
<_summary>Uuids of extensions to enable</_summary>
|
||||
<_description>
|
||||
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 DBus methods on org.gnome.Shell.
|
||||
which should be loaded. disabled-extensions overrides this setting for
|
||||
extensions that appear in both lists.
|
||||
</_description>
|
||||
</key>
|
||||
<key name="enable-app-monitoring" type="b">
|
||||
@ -142,40 +141,4 @@
|
||||
</_description>
|
||||
</key>
|
||||
</schema>
|
||||
|
||||
<schema id="org.gnome.shell.overrides" path="/org/gnome/shell/overrides/">
|
||||
<key name="attach-modal-dialogs" type="b">
|
||||
<default>true</default>
|
||||
<summary>Attach modal dialog to the parent window</summary>
|
||||
<description>
|
||||
This key overrides the key in org.gnome.mutter when running
|
||||
GNOME Shell.
|
||||
</description>
|
||||
</key>
|
||||
|
||||
<key name="button-layout" type="s">
|
||||
<default>":close"</default>
|
||||
<summary>Arrangement of buttons on the titlebar</summary>
|
||||
<description>
|
||||
This key overrides the key in org.gnome.desktop.wm.preferences when
|
||||
running GNOME Shell.
|
||||
</description>
|
||||
</key>
|
||||
|
||||
<key name="edge-tiling" type="b">
|
||||
<default>true</default>
|
||||
<summary>Enable edge tiling when dropping windows on screen edges</summary>
|
||||
<description>
|
||||
This key overrides the key in org.gnome.mutter when running GNOME Shell.
|
||||
</description>
|
||||
</key>
|
||||
|
||||
<key name="workspaces-only-on-primary" type="b">
|
||||
<default>true</default>
|
||||
<summary>Workspaces only on primary monitor</summary>
|
||||
<description>
|
||||
This key overrides the key in org.gnome.mutter when running GNOME Shell.
|
||||
</description>
|
||||
</key>
|
||||
</schema>
|
||||
</schemalist>
|
||||
|
@ -36,18 +36,18 @@ stage {
|
||||
|
||||
StScrollBar
|
||||
{
|
||||
padding: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
StScrollView.vfade
|
||||
{
|
||||
-st-vfade-offset: 68px;
|
||||
-st-vfade-offset: 68px;
|
||||
}
|
||||
|
||||
StScrollView StScrollBar
|
||||
{
|
||||
min-width: 16px;
|
||||
min-height: 16px;
|
||||
min-width: 16px;
|
||||
min-height: 16px;
|
||||
}
|
||||
|
||||
|
||||
@ -509,9 +509,8 @@ StTooltip StLabel {
|
||||
width: 60px;
|
||||
}
|
||||
|
||||
.placeholder {
|
||||
.dash-placeholder {
|
||||
background-image: url("dash-placeholder.svg");
|
||||
height: 24px;
|
||||
}
|
||||
|
||||
#viewSelector {
|
||||
@ -743,24 +742,24 @@ StTooltip StLabel {
|
||||
}
|
||||
|
||||
.contact-icon {
|
||||
border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.contact-details {
|
||||
padding: 6px 8px 11px 8px;
|
||||
padding: 6px 8px 11px 8px;
|
||||
}
|
||||
|
||||
.contact-details-alias {
|
||||
font-size: 16px;
|
||||
padding-bottom: 11px;
|
||||
font-size: 16px;
|
||||
padding-bottom: 11px;
|
||||
}
|
||||
|
||||
.contact-details-status {
|
||||
font-size: 11pt;
|
||||
font-size: 11pt;
|
||||
}
|
||||
|
||||
.contact-details-status-icon {
|
||||
padding-right: 2px;
|
||||
padding-right: 2px;
|
||||
}
|
||||
|
||||
.contact:hover {
|
||||
@ -801,45 +800,37 @@ StTooltip StLabel {
|
||||
|
||||
#LookingGlassDialog
|
||||
{
|
||||
background-color: rgba(0,0,0,0.80);
|
||||
spacing: 4px;
|
||||
padding: 4px;
|
||||
border: 2px solid grey;
|
||||
border-radius: 4px;
|
||||
background-color: rgba(0,0,0,0.85);
|
||||
spacing: 4px;
|
||||
padding: 4px;
|
||||
border: 2px solid grey;
|
||||
border-radius: 4px;
|
||||
|
||||
color: #ffffff;
|
||||
color: #88ff66;
|
||||
}
|
||||
|
||||
#LookingGlassDialog > #Toolbar
|
||||
{
|
||||
border: 1px solid grey;
|
||||
border-radius: 4px;
|
||||
border: 1px solid grey;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
#LookingGlassDialog .labels {
|
||||
spacing: 4px;
|
||||
spacing: 4px;
|
||||
}
|
||||
|
||||
#LookingGlassDialog .notebook-tab {
|
||||
-natural-hpadding: 12px;
|
||||
-minimum-hpadding: 6px;
|
||||
font-weight: bold;
|
||||
color: #ccc;
|
||||
transition-duration: 100;
|
||||
padding-left: .3em;
|
||||
padding-right: .3em;
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
#LookingGlassDialog .notebook-tab:hover {
|
||||
color: white;
|
||||
text-shadow: black 0px 2px 2px;
|
||||
color: #00ff00;
|
||||
}
|
||||
|
||||
#LookingGlassDialog .notebook-tab:selected {
|
||||
border-image: url("panel-button-border.svg") 10 10 0 2;
|
||||
background-image: url("panel-button-highlight-wide.svg");
|
||||
color: white;
|
||||
text-shadow: black 0px 2px 2px;
|
||||
border: 1px solid #88ff66;
|
||||
border-radius: 4px;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
#LookingGlassDialog .lg-inspector-title {
|
||||
@ -849,58 +840,52 @@ StTooltip StLabel {
|
||||
|
||||
.lg-dialog StLabel
|
||||
{
|
||||
color: #ffffff;
|
||||
color: #88ff66;
|
||||
}
|
||||
|
||||
.lg-dialog StEntry
|
||||
{
|
||||
color: #ffffff;
|
||||
selection-background-color: #bbbbbb;
|
||||
selected-color: #333333;
|
||||
}
|
||||
|
||||
.lg-completions-text
|
||||
{
|
||||
font-size: .9em;
|
||||
font-style: italic;
|
||||
color: #88ff66;
|
||||
selection-background-color: #88ff66;
|
||||
selected-color: black;
|
||||
}
|
||||
|
||||
.lg-obj-inspector-title
|
||||
{
|
||||
spacing: 4px;
|
||||
spacing: 4px;
|
||||
}
|
||||
|
||||
.lg-obj-inspector-button
|
||||
{
|
||||
border: 1px solid gray;
|
||||
padding: 4px;
|
||||
border-radius: 4px;
|
||||
border: 1px solid #88ff66;
|
||||
padding: 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.lg-obj-inspector-button:hover
|
||||
{
|
||||
border: 1px solid #ffffff;
|
||||
border: 1px solid #00ff00;
|
||||
}
|
||||
|
||||
.lg-dialog .shell-link
|
||||
{
|
||||
color: #999999;
|
||||
color: #88ff66;
|
||||
}
|
||||
|
||||
.lg-dialog .shell-link:hover
|
||||
{
|
||||
color: #dddddd;
|
||||
color: #00ff00;
|
||||
}
|
||||
|
||||
#LookingGlassDialog StBoxLayout#EvalBox
|
||||
{
|
||||
padding: 4px;
|
||||
spacing: 4px;
|
||||
padding: 4px;
|
||||
spacing: 4px;
|
||||
}
|
||||
|
||||
#LookingGlassDialog StBoxLayout#ResultsArea
|
||||
{
|
||||
spacing: 4px;
|
||||
spacing: 4px;
|
||||
}
|
||||
|
||||
#lookingGlassExtensions {
|
||||
@ -927,11 +912,11 @@ StTooltip StLabel {
|
||||
}
|
||||
|
||||
#LookingGlassPropertyInspector {
|
||||
background: rgba(0, 0, 0, 0.8);
|
||||
background: rgba(0, 0, 0, 0.9);
|
||||
border: 2px solid grey;
|
||||
border-radius: 4px;
|
||||
padding: 6px;
|
||||
color: #ffffff;
|
||||
color: #88ff66;
|
||||
}
|
||||
|
||||
/* Calendar popup */
|
||||
@ -1224,7 +1209,6 @@ StTooltip StLabel {
|
||||
|
||||
#notification-scrollview {
|
||||
max-height: 10em;
|
||||
-st-vfade-offset: 24px;
|
||||
}
|
||||
|
||||
#notification-scrollview > .top-shadow, #notification-scrollview > .bottom-shadow {
|
||||
@ -1337,8 +1321,9 @@ StTooltip StLabel {
|
||||
padding: 8px 0;
|
||||
}
|
||||
|
||||
.chat-received {
|
||||
.chat-sent {
|
||||
padding-left: 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.chat-received:rtl {
|
||||
@ -1348,7 +1333,8 @@ StTooltip StLabel {
|
||||
|
||||
.chat-sent {
|
||||
padding-left: 18pt;
|
||||
color: #959595;
|
||||
border-radius: 4px;
|
||||
color: #7E7E7E;
|
||||
}
|
||||
|
||||
.chat-sent:rtl {
|
||||
@ -1358,6 +1344,7 @@ StTooltip StLabel {
|
||||
|
||||
.chat-meta-message {
|
||||
padding-left: 4px;
|
||||
border-radius: 4px;
|
||||
font-size: 9pt;
|
||||
color: #bbbbbb;
|
||||
}
|
||||
@ -1912,7 +1899,6 @@ StTooltip StLabel {
|
||||
background-gradient-end: white;
|
||||
background-gradient-direction: vertical;
|
||||
color: black;
|
||||
selected-color: white;
|
||||
border-radius: 5px;
|
||||
border: 2px solid #555753;
|
||||
}
|
||||
|
@ -1 +0,0 @@
|
||||
SUBDIRS = reference
|
@ -1 +0,0 @@
|
||||
SUBDIRS = shell st
|
@ -1,105 +0,0 @@
|
||||
## Process this file with automake to produce Makefile.in
|
||||
|
||||
# We require automake 1.6 at least.
|
||||
AUTOMAKE_OPTIONS = 1.6
|
||||
|
||||
# This is a blank Makefile.am for using gtk-doc.
|
||||
# Copy this to your project's API docs directory and modify the variables to
|
||||
# suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples
|
||||
# of using the various options.
|
||||
|
||||
# The name of the module, e.g. 'glib'.
|
||||
DOC_MODULE=shell
|
||||
|
||||
# Uncomment for versioned docs and specify the version of the module, e.g. '2'.
|
||||
#DOC_MODULE_VERSION=2
|
||||
|
||||
|
||||
# The top-level SGML file. You can change this if you want to.
|
||||
DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml
|
||||
|
||||
# Directories containing the source code, relative to $(srcdir).
|
||||
# gtk-doc will search all .c and .h files beneath these paths
|
||||
# for inline comments documenting functions and macros.
|
||||
# e.g. DOC_SOURCE_DIR=../../../gtk ../../../gdk
|
||||
DOC_SOURCE_DIR=../../../src
|
||||
|
||||
# Extra options to pass to gtkdoc-scangobj. Not normally needed.
|
||||
SCANGOBJ_OPTIONS=
|
||||
|
||||
# Extra options to supply to gtkdoc-scan.
|
||||
# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
|
||||
SCAN_OPTIONS=--rebuild-types
|
||||
|
||||
# Extra options to supply to gtkdoc-mkdb.
|
||||
# e.g. MKDB_OPTIONS=--xml-mode --output-format=xml
|
||||
MKDB_OPTIONS=--xml-mode --output-format=xml
|
||||
|
||||
# Extra options to supply to gtkdoc-mktmpl
|
||||
# e.g. MKTMPL_OPTIONS=--only-section-tmpl
|
||||
MKTMPL_OPTIONS=
|
||||
|
||||
# Extra options to supply to gtkdoc-mkhtml
|
||||
MKHTML_OPTIONS=
|
||||
|
||||
# Extra options to supply to gtkdoc-fixref. Not normally needed.
|
||||
# e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
|
||||
FIXXREF_OPTIONS=
|
||||
|
||||
# Used for dependencies. The docs will be rebuilt if any of these change.
|
||||
# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
|
||||
# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
|
||||
HFILE_GLOB=$(top_srcdir)/src/*.h
|
||||
CFILE_GLOB=$(top_srcdir)/src/*.c
|
||||
|
||||
# Extra header to include when scanning, which are not under DOC_SOURCE_DIR
|
||||
# e.g. EXTRA_HFILES=$(top_srcdir}/contrib/extra.h
|
||||
EXTRA_HFILES=
|
||||
|
||||
# Header files or dirs to ignore when scanning. Use base file/dir names
|
||||
# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h private_code
|
||||
IGNORE_HFILES=calendar-server gvc hotplug-sniffer st tray
|
||||
|
||||
# Images to copy into HTML directory.
|
||||
# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
|
||||
HTML_IMAGES=
|
||||
|
||||
# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
|
||||
# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
|
||||
content_files=
|
||||
|
||||
# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
|
||||
# These files must be listed here *and* in content_files
|
||||
# e.g. expand_content_files=running.sgml
|
||||
expand_content_files=
|
||||
|
||||
# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
|
||||
# Only needed if you are using gtkdoc-scangobj to dynamically query widget
|
||||
# signals and properties.
|
||||
# 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.la
|
||||
|
||||
# This includes the standard gtk-doc make rules, copied by gtkdocize.
|
||||
include $(top_srcdir)/gtk-doc.make
|
||||
|
||||
# Other files to distribute
|
||||
# e.g. EXTRA_DIST += version.xml.in
|
||||
EXTRA_DIST +=
|
||||
|
||||
# Files not to distribute
|
||||
# for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types
|
||||
# for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt
|
||||
DISTCLEANFILES = $(DOC_MODULES).types
|
||||
|
||||
# Comment this out if you want 'make check' to test you doc status
|
||||
# and run some sanity checks
|
||||
if ENABLE_GTK_DOC
|
||||
TESTS_ENVIRONMENT = cd $(srcdir) && \
|
||||
DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
|
||||
SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
|
||||
#TESTS = $(GTKDOC_CHECK)
|
||||
endif
|
||||
|
||||
-include $(top_srcdir)/git.mk
|
@ -1,73 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
|
||||
[
|
||||
<!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
|
||||
]>
|
||||
<book id="index">
|
||||
<bookinfo>
|
||||
<title>Shell Reference Manual</title>
|
||||
<releaseinfo>
|
||||
for Shell @VERSION@.
|
||||
<!--The latest version of this documentation can be found on-line at
|
||||
<ulink role="online-location" url="http://[SERVER]/shell/index.html">http://[SERVER]/shell/</ulink>.-->
|
||||
</releaseinfo>
|
||||
</bookinfo>
|
||||
|
||||
<chapter>
|
||||
<title>Actors</title>
|
||||
<xi:include href="xml/shell-generic-container.xml"/>
|
||||
<xi:include href="xml/shell-slicer.xml"/>
|
||||
<xi:include href="xml/shell-stack.xml"/>
|
||||
</chapter>
|
||||
<chapter>
|
||||
<title>Application tracking</title>
|
||||
<xi:include href="xml/shell-app.xml"/>
|
||||
<xi:include href="xml/shell-app-usage.xml"/>
|
||||
<xi:include href="xml/shell-window-tracker.xml"/>
|
||||
</chapter>
|
||||
<chapter>
|
||||
<title>Search</title>
|
||||
<xi:include href="xml/shell-app-system.xml"/>
|
||||
<xi:include href="xml/shell-contact-system.xml"/>
|
||||
<xi:include href="xml/shell-doc-system.xml"/>
|
||||
</chapter>
|
||||
<chapter>
|
||||
<title>Tray Icons</title>
|
||||
<xi:include href="xml/shell-embedded-window.xml"/>
|
||||
<xi:include href="xml/shell-gtk-embed.xml"/>
|
||||
<xi:include href="xml/shell-tray-icon.xml"/>
|
||||
<xi:include href="xml/shell-tray-manager.xml"/>
|
||||
</chapter>
|
||||
<chapter>
|
||||
<title>Recorder</title>
|
||||
<xi:include href="xml/shell-recorder.xml"/>
|
||||
<xi:include href="xml/shell-recorder-src.xml"/>
|
||||
</chapter>
|
||||
<chapter>
|
||||
<title>Integration helpers and utilities</title>
|
||||
<xi:include href="xml/shell-global.xml"/>
|
||||
<xi:include href="xml/shell-wm.xml"/>
|
||||
<xi:include href="xml/shell-xfixes-cursor.xml"/>
|
||||
<xi:include href="xml/shell-util.xml"/>
|
||||
<xi:include href="xml/shell-mount-operation.xml"/>
|
||||
<xi:include href="xml/shell-mobile-providers.xml"/>
|
||||
<xi:include href="xml/shell-network-agent.xml"/>
|
||||
<xi:include href="xml/shell-polkit-authentication-agent.xml"/>
|
||||
<xi:include href="xml/shell-tp-client.xml"/>
|
||||
</chapter>
|
||||
<chapter id="object-tree">
|
||||
<title>Object Hierarchy</title>
|
||||
<xi:include href="xml/tree_index.sgml"/>
|
||||
</chapter>
|
||||
<index id="api-index-full">
|
||||
<title>API Index</title>
|
||||
<xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
|
||||
</index>
|
||||
<index id="deprecated-api-index" role="deprecated">
|
||||
<title>Index of deprecated API</title>
|
||||
<xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
|
||||
</index>
|
||||
|
||||
<xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
|
||||
</book>
|
@ -1,105 +0,0 @@
|
||||
## Process this file with automake to produce Makefile.in
|
||||
|
||||
# We require automake 1.6 at least.
|
||||
AUTOMAKE_OPTIONS = 1.6
|
||||
|
||||
# This is a blank Makefile.am for using gtk-doc.
|
||||
# Copy this to your project's API docs directory and modify the variables to
|
||||
# suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples
|
||||
# of using the various options.
|
||||
|
||||
# The name of the module, e.g. 'glib'.
|
||||
DOC_MODULE=st
|
||||
|
||||
# Uncomment for versioned docs and specify the version of the module, e.g. '2'.
|
||||
#DOC_MODULE_VERSION=2
|
||||
|
||||
|
||||
# The top-level SGML file. You can change this if you want to.
|
||||
DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml
|
||||
|
||||
# Directories containing the source code, relative to $(srcdir).
|
||||
# gtk-doc will search all .c and .h files beneath these paths
|
||||
# for inline comments documenting functions and macros.
|
||||
# e.g. DOC_SOURCE_DIR=../../../gtk ../../../gdk
|
||||
DOC_SOURCE_DIR=../../../src/st
|
||||
|
||||
# Extra options to pass to gtkdoc-scangobj. Not normally needed.
|
||||
SCANGOBJ_OPTIONS=
|
||||
|
||||
# Extra options to supply to gtkdoc-scan.
|
||||
# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
|
||||
SCAN_OPTIONS=--rebuild-types --rebuild-sections
|
||||
|
||||
# Extra options to supply to gtkdoc-mkdb.
|
||||
# e.g. MKDB_OPTIONS=--xml-mode --output-format=xml
|
||||
MKDB_OPTIONS=--xml-mode --output-format=xml
|
||||
|
||||
# Extra options to supply to gtkdoc-mktmpl
|
||||
# e.g. MKTMPL_OPTIONS=--only-section-tmpl
|
||||
MKTMPL_OPTIONS=
|
||||
|
||||
# Extra options to supply to gtkdoc-mkhtml
|
||||
MKHTML_OPTIONS=
|
||||
|
||||
# Extra options to supply to gtkdoc-fixref. Not normally needed.
|
||||
# e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
|
||||
FIXXREF_OPTIONS=
|
||||
|
||||
# Used for dependencies. The docs will be rebuilt if any of these change.
|
||||
# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
|
||||
# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
|
||||
HFILE_GLOB=$(top_srcdir)/src/st/*.h
|
||||
CFILE_GLOB=$(top_srcdir)/src/st/*.c
|
||||
|
||||
# Extra header to include when scanning, which are not under DOC_SOURCE_DIR
|
||||
# e.g. EXTRA_HFILES=$(top_srcdir}/contrib/extra.h
|
||||
EXTRA_HFILES=
|
||||
|
||||
# Header files or dirs to ignore when scanning. Use base file/dir names
|
||||
# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h private_code
|
||||
IGNORE_HFILES=st-private.h st-theme-node-private.h
|
||||
|
||||
# Images to copy into HTML directory.
|
||||
# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
|
||||
HTML_IMAGES=
|
||||
|
||||
# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
|
||||
# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
|
||||
content_files=
|
||||
|
||||
# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
|
||||
# These files must be listed here *and* in content_files
|
||||
# e.g. expand_content_files=running.sgml
|
||||
expand_content_files=
|
||||
|
||||
# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
|
||||
# Only needed if you are using gtkdoc-scangobj to dynamically query widget
|
||||
# signals and properties.
|
||||
# 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
|
||||
|
||||
# This includes the standard gtk-doc make rules, copied by gtkdocize.
|
||||
include $(top_srcdir)/gtk-doc.make
|
||||
|
||||
# Other files to distribute
|
||||
# e.g. EXTRA_DIST += version.xml.in
|
||||
EXTRA_DIST +=
|
||||
|
||||
# Files not to distribute
|
||||
# for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types
|
||||
# for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt
|
||||
DISTCLEANFILES = $(DOC_MODULE).types $(DOC_MODULE)-sections.txt
|
||||
|
||||
# Comment this out if you want 'make check' to test you doc status
|
||||
# and run some sanity checks
|
||||
if ENABLE_GTK_DOC
|
||||
TESTS_ENVIRONMENT = cd $(srcdir) && \
|
||||
DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
|
||||
SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
|
||||
#TESTS = $(GTKDOC_CHECK)
|
||||
endif
|
||||
|
||||
-include $(top_srcdir)/git.mk
|
@ -1,68 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
|
||||
[
|
||||
<!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
|
||||
]>
|
||||
<book id="index">
|
||||
<bookinfo>
|
||||
<title>St Reference Manual</title>
|
||||
<releaseinfo>
|
||||
for St @VERSION@.
|
||||
<!--The latest version of this documentation can be found on-line at
|
||||
<ulink role="online-location" url="http://[SERVER]/st/index.html">http://[SERVER]/st/</ulink>.-->
|
||||
</releaseinfo>
|
||||
</bookinfo>
|
||||
|
||||
<part>
|
||||
<title>API reference</title>
|
||||
<chapter id="base">
|
||||
<title>Abstract classes and Interfaces</title>
|
||||
<xi:include href="xml/st-widget.xml"/>
|
||||
<xi:include href="xml/st-widget-accessible.xml"/>
|
||||
<xi:include href="xml/st-container.xml"/>
|
||||
<xi:include href="xml/st-scrollable.xml"/>
|
||||
</chapter>
|
||||
<chapter id="widgets">
|
||||
<title>Widgets</title>
|
||||
<xi:include href="xml/st-button.xml"/>
|
||||
<xi:include href="xml/st-drawing-area.xml"/>
|
||||
<xi:include href="xml/st-entry.xml"/>
|
||||
<xi:include href="xml/st-icon.xml"/>
|
||||
<xi:include href="xml/st-label.xml"/>
|
||||
<xi:include href="xml/st-tooltip.xml"/>
|
||||
</chapter>
|
||||
<chapter id="containers">
|
||||
<title>Containers</title>
|
||||
<xi:include href="xml/st-bin.xml"/>
|
||||
<xi:include href="xml/st-box-layout.xml"/>
|
||||
<xi:include href="xml/st-group.xml"/>
|
||||
<xi:include href="xml/st-overflow-box.xml"/>
|
||||
<xi:include href="xml/st-scroll-view.xml"/>
|
||||
<xi:include href="xml/st-table.xml"/>
|
||||
</chapter>
|
||||
|
||||
<chapter id="styling">
|
||||
<title>Styling</title>
|
||||
<xi:include href="xml/st-theme.xml"/>
|
||||
<xi:include href="xml/st-theme-context.xml"/>
|
||||
<xi:include href="xml/st-theme-node.xml"/>
|
||||
<xi:include href="xml/st-theme-node-transition.xml"/>
|
||||
<xi:include href="xml/st-texture-cache.xml"/>
|
||||
</chapter>
|
||||
</part>
|
||||
<chapter id="object-tree">
|
||||
<title>Object Hierarchy</title>
|
||||
<xi:include href="xml/tree_index.sgml"/>
|
||||
</chapter>
|
||||
<index id="api-index-full">
|
||||
<title>API Index</title>
|
||||
<xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
|
||||
</index>
|
||||
<index id="deprecated-api-index" role="deprecated">
|
||||
<title>Index of deprecated API</title>
|
||||
<xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
|
||||
</index>
|
||||
|
||||
<xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
|
||||
</book>
|
@ -13,7 +13,6 @@ nobase_dist_js_DATA = \
|
||||
misc/format.js \
|
||||
misc/gnomeSession.js \
|
||||
misc/history.js \
|
||||
misc/jsParse.js \
|
||||
misc/modemManager.js \
|
||||
misc/params.js \
|
||||
misc/screenSaver.js \
|
||||
|
@ -844,7 +844,7 @@ LoginDialog.prototype = {
|
||||
x_fill: true,
|
||||
y_fill: false,
|
||||
x_align: St.Align.START });
|
||||
// Translators: this message is shown below the password entry field
|
||||
// translators: this message is shown below the password entry field
|
||||
// to indicate the user can swipe their finger instead
|
||||
this._promptFingerprintMessage = new St.Label({ text: _("(or swipe finger)"),
|
||||
style_class: 'login-dialog-prompt-fingerprint-message' });
|
||||
@ -864,9 +864,6 @@ LoginDialog.prototype = {
|
||||
x_align: St.Align.START });
|
||||
this._promptBox.hide();
|
||||
|
||||
// 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.
|
||||
let notListedLabel = new St.Label({ text: _("Not listed?"),
|
||||
style_class: 'login-dialog-not-listed-label' });
|
||||
this._notListedButton = new St.Button({ style_class: 'login-dialog-not-listed-button',
|
||||
|
@ -38,7 +38,7 @@ function recursivelyDeleteDir(dir) {
|
||||
let child = dir.get_child(info.get_name());
|
||||
if (type == Gio.FileType.REGULAR)
|
||||
deleteGFile(child);
|
||||
else if (type == Gio.TypeType.DIRECTORY)
|
||||
else if (type == Gio.FileType.DIRECTORY)
|
||||
recursivelyDeleteDir(child);
|
||||
}
|
||||
|
||||
|
@ -1,18 +1,20 @@
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Gio = imports.gi.Gio;
|
||||
const DBus = imports.dbus;
|
||||
const Lang = imports.lang;
|
||||
const Signals = imports.signals;
|
||||
|
||||
const PresenceIface = <interface name="org.gnome.SessionManager.Presence">
|
||||
<method name="SetStatus">
|
||||
<arg type="u" direction="in"/>
|
||||
</method>
|
||||
<property name="status" type="u" access="readwrite"/>
|
||||
<signal name="StatusChanged">
|
||||
<arg type="u" direction="out"/>
|
||||
</signal>
|
||||
</interface>;
|
||||
const PresenceIface = {
|
||||
name: 'org.gnome.SessionManager.Presence',
|
||||
methods: [{ name: 'SetStatus',
|
||||
inSignature: 'u',
|
||||
outSignature: '' }],
|
||||
properties: [{ name: 'status',
|
||||
signature: 'u',
|
||||
access: 'readwrite' }],
|
||||
signals: [{ name: 'StatusChanged',
|
||||
inSignature: 'u' }]
|
||||
};
|
||||
|
||||
const PresenceStatus = {
|
||||
AVAILABLE: 0,
|
||||
@ -21,41 +23,104 @@ const PresenceStatus = {
|
||||
IDLE: 3
|
||||
};
|
||||
|
||||
var PresenceProxy = Gio.DBusProxy.makeProxyWrapper(PresenceIface);
|
||||
function Presence(initCallback, cancellable) {
|
||||
return new PresenceProxy(Gio.DBus.session, 'org.gnome.SessionManager',
|
||||
'/org/gnome/SessionManager/Presence', initCallback, cancellable);
|
||||
function Presence() {
|
||||
this._init();
|
||||
}
|
||||
|
||||
Presence.prototype = {
|
||||
_init: function() {
|
||||
DBus.session.proxifyObject(this, 'org.gnome.SessionManager', '/org/gnome/SessionManager/Presence', this);
|
||||
},
|
||||
|
||||
getStatus: function(callback) {
|
||||
this.GetRemote('status', Lang.bind(this,
|
||||
function(status, ex) {
|
||||
if (!ex)
|
||||
callback(this, status);
|
||||
}));
|
||||
},
|
||||
|
||||
setStatus: function(status) {
|
||||
this.SetStatusRemote(status);
|
||||
}
|
||||
};
|
||||
DBus.proxifyPrototype(Presence.prototype, PresenceIface);
|
||||
|
||||
// Note inhibitors are immutable objects, so they don't
|
||||
// change at runtime (changes always come in the form
|
||||
// of new inhibitors)
|
||||
const InhibitorIface = <interface name="org.gnome.SessionManager.Inhibitor">
|
||||
<property name="app_id" type="s" access="read" />
|
||||
<property name="client_id" type="s" access="read" />
|
||||
<property name="reason" type="s" access="read" />
|
||||
<property name="flags" type="u" access="read" />
|
||||
<property name="toplevel_xid" type="u" access="read" />
|
||||
<property name="cookie" type="u" access="read" />
|
||||
</interface>;
|
||||
const InhibitorIface = {
|
||||
name: 'org.gnome.SessionManager.Inhibitor',
|
||||
properties: [{ name: 'app_id',
|
||||
signature: 's',
|
||||
access: 'readonly' },
|
||||
{ name: 'client_id',
|
||||
signature: 's',
|
||||
access: 'readonly' },
|
||||
{ name: 'reason',
|
||||
signature: 's',
|
||||
access: 'readonly' },
|
||||
{ name: 'flags',
|
||||
signature: 'u',
|
||||
access: 'readonly' },
|
||||
{ name: 'toplevel_xid',
|
||||
signature: 'u',
|
||||
access: 'readonly' },
|
||||
{ name: 'cookie',
|
||||
signature: 'u',
|
||||
access: 'readonly' }],
|
||||
};
|
||||
|
||||
var InhibitorProxy = Gio.DBusProxy.makeProxyWrapper(InhibitorIface);
|
||||
function Inhibitor(objectPath, initCallback, cancellable) {
|
||||
return new InhibitorProxy(Gio.DBus.session, 'org.gnome.SessionManager', objectPath, initCallback, cancellable);
|
||||
function Inhibitor(objectPath) {
|
||||
this._init(objectPath);
|
||||
}
|
||||
|
||||
Inhibitor.prototype = {
|
||||
_init: function(objectPath) {
|
||||
DBus.session.proxifyObject(this,
|
||||
'org.gnome.SessionManager',
|
||||
objectPath);
|
||||
this.isLoaded = false;
|
||||
this._loadingPropertiesCount = InhibitorIface.properties.length;
|
||||
for (let i = 0; i < InhibitorIface.properties.length; i++) {
|
||||
let propertyName = InhibitorIface.properties[i].name;
|
||||
this.GetRemote(propertyName, Lang.bind(this,
|
||||
function(value, exception) {
|
||||
if (exception)
|
||||
return;
|
||||
|
||||
this[propertyName] = value;
|
||||
this._loadingPropertiesCount--;
|
||||
|
||||
if (this._loadingPropertiesCount == 0) {
|
||||
this.isLoaded = true;
|
||||
this.emit('is-loaded');
|
||||
}
|
||||
}));
|
||||
}
|
||||
},
|
||||
};
|
||||
DBus.proxifyPrototype(Inhibitor.prototype, InhibitorIface);
|
||||
Signals.addSignalMethods(Inhibitor.prototype);
|
||||
|
||||
|
||||
// Not the full interface, only the methods we use
|
||||
const SessionManagerIface = <interface name="org.gnome.SessionManager">
|
||||
<method name="Logout">
|
||||
<arg type="u" direction="in" />
|
||||
</method>
|
||||
<method name="Shutdown" />
|
||||
<method name="CanShutdown">
|
||||
<arg type="b" direction="out" />
|
||||
</method>
|
||||
</interface>;
|
||||
const SessionManagerIface = {
|
||||
name: 'org.gnome.SessionManager',
|
||||
methods: [
|
||||
{ name: 'Logout', inSignature: 'u', outSignature: '' },
|
||||
{ name: 'Shutdown', inSignature: '', outSignature: '' },
|
||||
{ name: 'CanShutdown', inSignature: '', outSignature: 'b' }
|
||||
]
|
||||
};
|
||||
|
||||
var SessionManagerProxy = Gio.DBusProxy.makeProxyWrapper(SessionManagerIface);
|
||||
function SessionManager(initCallback, cancellable) {
|
||||
return new SessionManagerProxy(Gio.DBus.session, 'org.gnome.SessionManager', '/org/gnome/SessionManager', initCallback, cancellable);
|
||||
function SessionManager() {
|
||||
this._init();
|
||||
}
|
||||
|
||||
SessionManager.prototype = {
|
||||
_init: function() {
|
||||
DBus.session.proxifyObject(this, 'org.gnome.SessionManager', '/org/gnome/SessionManager');
|
||||
}
|
||||
};
|
||||
DBus.proxifyPrototype(SessionManager.prototype, SessionManagerIface);
|
@ -1,246 +0,0 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
|
||||
// Returns a list of potential completions for text. Completions either
|
||||
// follow a dot (e.g. foo.ba -> bar) or they are picked from globalCompletionList (e.g. fo -> foo)
|
||||
// commandHeader is prefixed on any expression before it is eval'ed. It will most likely
|
||||
// consist of global constants that might not carry over from the calling environment.
|
||||
//
|
||||
// This function is likely the one you want to call from external modules
|
||||
function getCompletions(text, commandHeader, globalCompletionList) {
|
||||
let methods = [];
|
||||
let expr, base;
|
||||
let attrHead = '';
|
||||
if (globalCompletionList == null) {
|
||||
globalCompletionList = [];
|
||||
}
|
||||
|
||||
let offset = getExpressionOffset(text, text.length - 1);
|
||||
if (offset >= 0) {
|
||||
text = text.slice(offset);
|
||||
|
||||
// Look for expressions like "Main.panel.foo" and match Main.panel and foo
|
||||
let matches = text.match(/(.*)\.(.*)/);
|
||||
if (matches) {
|
||||
[expr, base, attrHead] = matches;
|
||||
|
||||
methods = getPropertyNamesFromExpression(base, commandHeader).filter(function(attr) {
|
||||
return attr.slice(0, attrHead.length) == attrHead;
|
||||
});
|
||||
}
|
||||
|
||||
// Look for the empty expression or partially entered words
|
||||
// not proceeded by a dot and match them against global constants
|
||||
matches = text.match(/^(\w*)$/);
|
||||
if (text == '' || matches) {
|
||||
[expr, attrHead] = matches;
|
||||
methods = globalCompletionList.filter(function(attr) {
|
||||
return attr.slice(0, attrHead.length) == attrHead;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
return [methods, attrHead];
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// A few functions for parsing strings of javascript code.
|
||||
//
|
||||
|
||||
// Identify characters that delimit an expression. That is,
|
||||
// if we encounter anything that isn't a letter, '.', ')', or ']',
|
||||
// we should stop parsing.
|
||||
function isStopChar(c) {
|
||||
return !c.match(/[\w\.\)\]]/);
|
||||
}
|
||||
|
||||
// Given the ending position of a quoted string, find where it starts
|
||||
function findMatchingQuote(expr, offset) {
|
||||
let quoteChar = expr.charAt(offset);
|
||||
for (let i = offset - 1; i >= 0; --i) {
|
||||
if (expr.charAt(i) == quoteChar && expr.charAt(i-1) != '\\'){
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
// Given the ending position of a regex, find where it starts
|
||||
function findMatchingSlash(expr, offset) {
|
||||
for (let i = offset - 1; i >= 0; --i) {
|
||||
if (expr.charAt(i) == '/' && expr.charAt(i-1) != '\\'){
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
// If expr.charAt(offset) is ')' or ']',
|
||||
// return the position of the corresponding '(' or '[' bracket.
|
||||
// This function does not check for syntactic correctness. e.g.,
|
||||
// findMatchingBrace("[(])", 3) returns 1.
|
||||
function findMatchingBrace(expr, offset) {
|
||||
let closeBrace = expr.charAt(offset);
|
||||
let openBrace = ({')': '(', ']': '['})[closeBrace];
|
||||
|
||||
function findTheBrace(expr, offset) {
|
||||
if (offset < 0) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (expr.charAt(offset) == openBrace) {
|
||||
return offset;
|
||||
}
|
||||
if (expr.charAt(offset).match(/['"]/)) {
|
||||
return findTheBrace(expr, findMatchingQuote(expr, offset) - 1);
|
||||
}
|
||||
if (expr.charAt(offset) == '/') {
|
||||
return findTheBrace(expr, findMatchingSlash(expr, offset) - 1);
|
||||
}
|
||||
if (expr.charAt(offset) == closeBrace) {
|
||||
return findTheBrace(expr, findTheBrace(expr, offset - 1) - 1);
|
||||
}
|
||||
|
||||
return findTheBrace(expr, offset - 1);
|
||||
|
||||
}
|
||||
|
||||
return findTheBrace(expr, offset - 1);
|
||||
}
|
||||
|
||||
// Walk expr backwards from offset looking for the beginning of an
|
||||
// expression suitable for passing to eval.
|
||||
// There is no guarantee of correct javascript syntax between the return
|
||||
// value and offset. This function is meant to take a string like
|
||||
// "foo(Obj.We.Are.Completing" and allow you to extract "Obj.We.Are.Completing"
|
||||
function getExpressionOffset(expr, offset) {
|
||||
while (offset >= 0) {
|
||||
let currChar = expr.charAt(offset);
|
||||
|
||||
if (isStopChar(currChar)){
|
||||
return offset + 1;
|
||||
}
|
||||
|
||||
if (currChar.match(/[\)\]]/)) {
|
||||
offset = findMatchingBrace(expr, offset);
|
||||
}
|
||||
|
||||
--offset;
|
||||
}
|
||||
|
||||
return offset + 1;
|
||||
}
|
||||
|
||||
// Things with non-word characters or that start with a number
|
||||
// are not accessible via .foo notation and so aren't returned
|
||||
function isValidPropertyName(w) {
|
||||
return !(w.match(/\W/) || w.match(/^\d/));
|
||||
}
|
||||
|
||||
// To get all properties (enumerable and not), we need to walk
|
||||
// the prototype chain ourselves
|
||||
function getAllProps(obj) {
|
||||
if (obj === null || obj === undefined) {
|
||||
return [];
|
||||
}
|
||||
return Object.getOwnPropertyNames(obj).concat( getAllProps(Object.getPrototypeOf(obj)) );
|
||||
}
|
||||
|
||||
// Given a string _expr_, returns all methods
|
||||
// that can be accessed via '.' notation.
|
||||
// e.g., expr="({ foo: null, bar: null, 4: null })" will
|
||||
// return ["foo", "bar", ...] but the list will not include "4",
|
||||
// since methods accessed with '.' notation must star with a letter or _.
|
||||
function getPropertyNamesFromExpression(expr, commandHeader) {
|
||||
if (commandHeader == null) {
|
||||
commandHeader = '';
|
||||
}
|
||||
|
||||
let obj = {};
|
||||
if (!isUnsafeExpression(expr)) {
|
||||
try {
|
||||
obj = eval(commandHeader + expr);
|
||||
} catch (e) {
|
||||
return [];
|
||||
}
|
||||
} else {
|
||||
return [];
|
||||
}
|
||||
|
||||
let propsUnique = {};
|
||||
if (typeof obj === 'object'){
|
||||
let allProps = getAllProps(obj);
|
||||
// Get only things we are allowed to complete following a '.'
|
||||
allProps = allProps.filter( isValidPropertyName );
|
||||
|
||||
// Make sure propsUnique contains one key for every
|
||||
// property so we end up with a unique list of properties
|
||||
allProps.map(function(p){ propsUnique[p] = null; });
|
||||
}
|
||||
return Object.keys(propsUnique).sort();
|
||||
}
|
||||
|
||||
// Given a list of words, returns the longest prefix they all have in common
|
||||
function getCommonPrefix(words) {
|
||||
let word = words[0];
|
||||
for (let i = 0; i < word.length; i++) {
|
||||
for (let w = 1; w < words.length; w++) {
|
||||
if (words[w].charAt(i) != word.charAt(i))
|
||||
return word.slice(0, i);
|
||||
}
|
||||
}
|
||||
return word;
|
||||
}
|
||||
|
||||
// Returns true if there is reason to think that eval(str)
|
||||
// will modify the global scope
|
||||
function isUnsafeExpression(str) {
|
||||
// Remove any blocks that are quoted or are in a regex
|
||||
function removeLiterals(str) {
|
||||
if (str.length == 0) {
|
||||
return '';
|
||||
}
|
||||
|
||||
let currChar = str.charAt(str.length - 1);
|
||||
if (currChar == '"' || currChar == '\'') {
|
||||
return removeLiterals(str.slice(0, findMatchingQuote(str, str.length - 1)));
|
||||
} else if (currChar == '/') {
|
||||
return removeLiterals(str.slice(0, findMatchingSlash(str, str.length - 1)));
|
||||
}
|
||||
|
||||
return removeLiterals(str.slice(0, str.length - 1)) + currChar;
|
||||
}
|
||||
|
||||
// Check for any sort of assignment
|
||||
// The strategy used is dumb: remove any quotes
|
||||
// or regexs and comparison operators and see if there is an '=' character.
|
||||
// If there is, it might be an unsafe assignment.
|
||||
|
||||
let prunedStr = removeLiterals(str);
|
||||
prunedStr = prunedStr.replace(/[=!]==/g, ''); //replace === and !== with nothing
|
||||
prunedStr = prunedStr.replace(/[=<>!]=/g, ''); //replace ==, <=, >=, != with nothing
|
||||
|
||||
if (prunedStr.match(/=/)) {
|
||||
return true;
|
||||
} else if (prunedStr.match(/;/)) {
|
||||
// If we contain a semicolon not inside of a quote/regex, assume we're unsafe as well
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// Returns a list of global keywords derived from str
|
||||
function getDeclaredConstants(str) {
|
||||
let ret = [];
|
||||
str.split(';').forEach(function(s) {
|
||||
let base, keyword;
|
||||
let match = s.match(/const\s+(\w+)\s*=/);
|
||||
if (match) {
|
||||
[base, keyword] = match;
|
||||
ret.push(keyword);
|
||||
}
|
||||
});
|
||||
|
||||
return ret;
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Gio = imports.gi.Gio;
|
||||
const DBus = imports.dbus;
|
||||
const Lang = imports.lang;
|
||||
const Shell = imports.gi.Shell;
|
||||
const Signals = imports.signals;
|
||||
@ -8,43 +8,33 @@ const Signals = imports.signals;
|
||||
// The following are not the complete interfaces, just the methods we need
|
||||
// (or may need in the future)
|
||||
|
||||
const ModemGsmNetworkInterface = <interface name="org.freedesktop.ModemManager.Modem.Gsm.Network">
|
||||
<method name="GetRegistrationInfo">
|
||||
<arg type="u" direction="out" />
|
||||
<arg type="s" direction="out" />
|
||||
<arg type="s" direction="out" />
|
||||
</method>
|
||||
<method name="GetSignalQuality">
|
||||
<arg type="u" direction="out" />
|
||||
</method>
|
||||
<property name="AccessTechnology" type="u" access="read" />
|
||||
<signal name="SignalQuality">
|
||||
<arg type="u" direction="out" />
|
||||
</signal>
|
||||
<signal name="RegistrationInfo">
|
||||
<arg type="u" direction="out" />
|
||||
<arg type="s" direction="out" />
|
||||
<arg type="s" direction="out" />
|
||||
</signal>
|
||||
</interface>;
|
||||
const ModemGsmNetworkInterface = {
|
||||
name: 'org.freedesktop.ModemManager.Modem.Gsm.Network',
|
||||
methods: [
|
||||
{ name: 'GetRegistrationInfo', inSignature: '', outSignature: 'uss' },
|
||||
{ name: 'GetSignalQuality', inSignature: '', outSignature: 'u' }
|
||||
],
|
||||
properties: [
|
||||
{ name: 'AccessTechnology', signature: 'u', access: 'read' }
|
||||
],
|
||||
signals: [
|
||||
{ name: 'SignalQuality', inSignature: 'u' },
|
||||
{ name: 'RegistrationInfo', inSignature: 'uss' }
|
||||
]
|
||||
};
|
||||
const ModemGsmNetworkProxy = DBus.makeProxyClass(ModemGsmNetworkInterface);
|
||||
|
||||
const ModemGsmNetworkProxy = Gio.DBusProxy.makeProxyWrapper(ModemGsmNetworkInterface);
|
||||
|
||||
const ModemCdmaInterface = <interface name="org.freedesktop.ModemManager.Modem.Cdma">
|
||||
<method name="GetSignalQuality">
|
||||
<arg type="u" direction="out" />
|
||||
</method>
|
||||
<method name="GetServingSystem">
|
||||
<arg type="u" direction="out" />
|
||||
<arg type="s" direction="out" />
|
||||
<arg type="u" direction="out" />
|
||||
</method>
|
||||
<signal name="SignalQuality">
|
||||
<arg type="u" direction="out" />
|
||||
</signal>
|
||||
</interface>;
|
||||
|
||||
const ModemCdmaProxy = Gio.DBusProxy.makeProxyWrapper(ModemCdmaInterface);
|
||||
const ModemCdmaInterface = {
|
||||
name: 'org.freedesktop.ModemManager.Modem.Cdma',
|
||||
methods: [
|
||||
{ name: 'GetSignalQuality', inSignature: '', outSignature: 'u' },
|
||||
{ name: 'GetServingSystem', inSignature: '', outSignature: 'usu' }
|
||||
],
|
||||
signals: [
|
||||
{ name: 'SignalQuality', inSignature: 'u' }
|
||||
]
|
||||
};
|
||||
const ModemCdmaProxy = DBus.makeProxyClass(ModemCdmaInterface);
|
||||
|
||||
let _providersTable;
|
||||
function _getProvidersTable() {
|
||||
@ -60,17 +50,17 @@ function ModemGsm() {
|
||||
|
||||
ModemGsm.prototype = {
|
||||
_init: function(path) {
|
||||
this._proxy = new ModemGsmNetworkProxy(Gio.DBus.system, 'org.freedesktop.ModemManager', path);
|
||||
this._proxy = new ModemGsmNetworkProxy(DBus.system, 'org.freedesktop.ModemManager', path);
|
||||
|
||||
this.signal_quality = 0;
|
||||
this.operator_name = null;
|
||||
|
||||
// Code is duplicated because the function have different signatures
|
||||
this._proxy.connectSignal('SignalQuality', Lang.bind(this, function(proxy, sender, [quality]) {
|
||||
this._proxy.connect('SignalQuality', Lang.bind(this, function(proxy, quality) {
|
||||
this.signal_quality = quality;
|
||||
this.emit('notify::signal-quality');
|
||||
}));
|
||||
this._proxy.connectSignal('RegistrationInfo', Lang.bind(this, function(proxy, sender, [status, code, name]) {
|
||||
this._proxy.connect('RegistrationInfo', Lang.bind(this, function(proxy, status, code, name) {
|
||||
this.operator_name = this._findOperatorName(name, code);
|
||||
this.emit('notify::operator-name');
|
||||
}));
|
||||
@ -165,12 +155,12 @@ function ModemCdma() {
|
||||
|
||||
ModemCdma.prototype = {
|
||||
_init: function(path) {
|
||||
this._proxy = new ModemCdmaProxy(Gio.DBus.system, 'org.freedesktop.ModemManager', path);
|
||||
this._proxy = new ModemCdmaProxy(DBus.system, 'org.freedesktop.ModemManager', path);
|
||||
|
||||
this.signal_quality = 0;
|
||||
this.operator_name = null;
|
||||
this._proxy.connect('SignalQuality', Lang.bind(this, function(proxy, sender, params) {
|
||||
this.signal_quality = params[0];
|
||||
this._proxy.connect('SignalQuality', Lang.bind(this, function(proxy, quality) {
|
||||
this.signal_quality = quality;
|
||||
this.emit('notify::signal-quality');
|
||||
|
||||
// receiving this signal means the device got activated
|
||||
|
@ -1,48 +1,53 @@
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Gio = imports.gi.Gio;
|
||||
const DBus = imports.dbus;
|
||||
const Lang = imports.lang;
|
||||
|
||||
const ScreenSaverIface = <interface name="org.gnome.ScreenSaver">
|
||||
<method name="GetActive">
|
||||
<arg type="b" direction="out" />
|
||||
</method>
|
||||
<method name="Lock" />
|
||||
<method name="SetActive">
|
||||
<arg type="b" direction="in" />
|
||||
</method>
|
||||
<signal name="ActiveChanged">
|
||||
<arg type="b" direction="out" />
|
||||
</signal>
|
||||
</interface>;
|
||||
|
||||
const ScreenSaverInfo = Gio.DBusInterfaceInfo.new_for_xml(ScreenSaverIface);
|
||||
const ScreenSaverIface = {
|
||||
name: 'org.gnome.ScreenSaver',
|
||||
methods: [{ name: 'GetActive',
|
||||
inSignature: '',
|
||||
outSignature: 'b' },
|
||||
{ name: 'Lock',
|
||||
inSignature: '' },
|
||||
{ name: 'SetActive',
|
||||
inSignature: 'b' }],
|
||||
signals: [{ name: 'ActiveChanged',
|
||||
inSignature: 'b' }]
|
||||
};
|
||||
|
||||
function ScreenSaverProxy() {
|
||||
var self = new Gio.DBusProxy({ g_connection: Gio.DBus.session,
|
||||
g_interface_name: ScreenSaverInfo.name,
|
||||
g_interface_info: ScreenSaverInfo,
|
||||
g_name: 'org.gnome.ScreenSaver',
|
||||
g_object_path: '/org/gnome/ScreenSaver',
|
||||
g_flags: (Gio.DBusProxyFlags.DO_NOT_AUTO_START |
|
||||
Gio.DBusProxyFlags.DO_NOT_LOAD_PROPERTIES) });
|
||||
self.init(null);
|
||||
self.screenSaverActive = false;
|
||||
|
||||
self.connectSignal('ActiveChanged', function(proxy, senderName, [isActive]) {
|
||||
self.screenSaverActive = isActive;
|
||||
});
|
||||
self.connect('notify::g-name-owner', function() {
|
||||
if (self.g_name_owner) {
|
||||
self.GetActiveRemote(function(result, excp) {
|
||||
if (result) {
|
||||
let [isActive] = result;
|
||||
self.screenSaverActive = isActive;
|
||||
}
|
||||
});
|
||||
} else
|
||||
self.screenSaverActive = false;
|
||||
});
|
||||
|
||||
return self;
|
||||
this._init();
|
||||
}
|
||||
|
||||
ScreenSaverProxy.prototype = {
|
||||
_init: function() {
|
||||
DBus.session.proxifyObject(this,
|
||||
'org.gnome.ScreenSaver',
|
||||
'/org/gnome/ScreenSaver');
|
||||
|
||||
DBus.session.watch_name('org.gnome.ScreenSaver',
|
||||
false, // do not launch a name-owner if none exists
|
||||
Lang.bind(this, this._onSSAppeared),
|
||||
Lang.bind(this, this._onSSVanished));
|
||||
|
||||
this.screenSaverActive = false;
|
||||
this.connect('ActiveChanged',
|
||||
Lang.bind(this, this._onActiveChanged));
|
||||
},
|
||||
|
||||
_onSSAppeared: function(owner) {
|
||||
this.GetActiveRemote(Lang.bind(this, function(isActive) {
|
||||
this.screenSaverActive = isActive;
|
||||
}))
|
||||
},
|
||||
|
||||
_onSSVanished: function(oldOwner) {
|
||||
this.screenSaverActive = false;
|
||||
},
|
||||
|
||||
_onActiveChanged: function(object, isActive) {
|
||||
this.screenSaverActive = isActive;
|
||||
}
|
||||
};
|
||||
DBus.proxifyPrototype(ScreenSaverProxy.prototype, ScreenSaverIface);
|
||||
|
@ -170,12 +170,8 @@ AltTabPopup.prototype = {
|
||||
if (localApps.length == 0 && otherApps.length == 0)
|
||||
return false;
|
||||
|
||||
if (!Main.pushModal(this.actor)) {
|
||||
// Probably someone else has a pointer grab, try again with keyboard only
|
||||
if (!Main.pushModal(this.actor, global.get_current_time(), Meta.ModalOptions.POINTER_ALREADY_GRABBED)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (!Main.pushModal(this.actor))
|
||||
return false;
|
||||
this._haveModal = true;
|
||||
this._modifierMask = primaryModifier(mask);
|
||||
|
||||
@ -199,7 +195,7 @@ AltTabPopup.prototype = {
|
||||
this.actor.get_allocation_box();
|
||||
|
||||
// Make the initial selection
|
||||
if (binding == 'switch-group') {
|
||||
if (binding == 'switch_group') {
|
||||
if (backward) {
|
||||
this._select(0, this._appIcons[0].cachedWindows.length - 1);
|
||||
} else {
|
||||
@ -208,9 +204,9 @@ AltTabPopup.prototype = {
|
||||
else
|
||||
this._select(0, 0);
|
||||
}
|
||||
} else if (binding == 'switch-group-backward') {
|
||||
} else if (binding == 'switch_group_backward') {
|
||||
this._select(0, this._appIcons[0].cachedWindows.length - 1);
|
||||
} else if (binding == 'switch-windows-backward') {
|
||||
} else if (binding == 'switch_windows_backward') {
|
||||
this._select(this._appIcons.length - 1);
|
||||
} else if (this._appIcons.length == 1) {
|
||||
this._select(0);
|
||||
|
@ -1,6 +1,7 @@
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Lang = imports.lang;
|
||||
const DBus = imports.dbus;
|
||||
const Mainloop = imports.mainloop;
|
||||
const Gio = imports.gi.Gio;
|
||||
const Params = imports.misc.params;
|
||||
@ -15,54 +16,63 @@ const SETTING_ENABLE_AUTOMOUNT = 'automount';
|
||||
|
||||
const AUTORUN_EXPIRE_TIMEOUT_SECS = 10;
|
||||
|
||||
const ConsoleKitSessionIface = <interface name="org.freedesktop.ConsoleKit.Session">
|
||||
<method name="IsActive">
|
||||
<arg type="b" direction="out" />
|
||||
</method>
|
||||
<signal name="ActiveChanged">
|
||||
<arg type="b" direction="out" />
|
||||
</signal>
|
||||
</interface>;
|
||||
const ConsoleKitSessionIface = {
|
||||
name: 'org.freedesktop.ConsoleKit.Session',
|
||||
methods: [{ name: 'IsActive',
|
||||
inSignature: '',
|
||||
outSignature: 'b' }],
|
||||
signals: [{ name: 'ActiveChanged',
|
||||
inSignature: 'b' }]
|
||||
};
|
||||
|
||||
const ConsoleKitSessionProxy = Gio.DBusProxy.makeProxyWrapper(ConsoleKitSessionIface);
|
||||
const ConsoleKitSessionProxy = DBus.makeProxyClass(ConsoleKitSessionIface);
|
||||
|
||||
const ConsoleKitManagerIface = <interface name="org.freedesktop.ConsoleKit.Manager">
|
||||
<method name="GetCurrentSession">
|
||||
<arg type="o" direction="out" />
|
||||
</method>
|
||||
</interface>;
|
||||
|
||||
const ConsoleKitManagerInfo = Gio.DBusInterfaceInfo.new_for_xml(ConsoleKitManagerIface);
|
||||
const ConsoleKitManagerIface = {
|
||||
name: 'org.freedesktop.ConsoleKit.Manager',
|
||||
methods: [{ name: 'GetCurrentSession',
|
||||
inSignature: '',
|
||||
outSignature: 'o' }]
|
||||
};
|
||||
|
||||
function ConsoleKitManager() {
|
||||
var self = new Gio.DBusProxy({ g_connection: Gio.DBus.system,
|
||||
g_interface_name: ConsoleKitManagerInfo.name,
|
||||
g_interface_info: ConsoleKitManagerInfo,
|
||||
g_name: 'org.freedesktop.ConsoleKit',
|
||||
g_object_path: '/org/freedesktop/ConsoleKit/Manager',
|
||||
g_flags: (Gio.DBusProxyFlags.DO_NOT_AUTO_START |
|
||||
Gio.DBusProxyFlags.DO_NOT_LOAD_PROPERTIES) });
|
||||
this._init();
|
||||
};
|
||||
|
||||
self.connect('notify::g-name-owner', function() {
|
||||
if (self.g_name_owner) {
|
||||
self.GetCurrentSessionRemote(function([session]) {
|
||||
self._ckSession = new ConsoleKitSessionProxy(Gio.DBus.system, 'org.freedesktop.ConsoleKit', session);
|
||||
ConsoleKitManager.prototype = {
|
||||
_init: function() {
|
||||
this.sessionActive = true;
|
||||
|
||||
self._ckSession.connectSignal('ActiveChanged', function(object, senderName, [isActive]) {
|
||||
self.sessionActive = isActive;
|
||||
});
|
||||
self._ckSession.IsActiveRemote(function([isActive]) {
|
||||
self.sessionActive = isActive;
|
||||
});
|
||||
});
|
||||
} else {
|
||||
self.sessionActive = true;
|
||||
}
|
||||
});
|
||||
DBus.system.proxifyObject(this,
|
||||
'org.freedesktop.ConsoleKit',
|
||||
'/org/freedesktop/ConsoleKit/Manager');
|
||||
|
||||
self.init(null);
|
||||
return self;
|
||||
}
|
||||
DBus.system.watch_name('org.freedesktop.ConsoleKit',
|
||||
false, // do not launch a name-owner if none exists
|
||||
Lang.bind(this, this._onManagerAppeared),
|
||||
Lang.bind(this, this._onManagerVanished));
|
||||
},
|
||||
|
||||
_onManagerAppeared: function(owner) {
|
||||
this.GetCurrentSessionRemote(Lang.bind(this, this._onCurrentSession));
|
||||
},
|
||||
|
||||
_onManagerVanished: function(oldOwner) {
|
||||
this.sessionActive = true;
|
||||
},
|
||||
|
||||
_onCurrentSession: function(session) {
|
||||
this._ckSession = new ConsoleKitSessionProxy(DBus.system, 'org.freedesktop.ConsoleKit', session);
|
||||
|
||||
this._ckSession.connect
|
||||
('ActiveChanged', Lang.bind(this, function(object, isActive) {
|
||||
this.sessionActive = isActive;
|
||||
}));
|
||||
this._ckSession.IsActiveRemote(Lang.bind(this, function(isActive) {
|
||||
this.sessionActive = isActive;
|
||||
}));
|
||||
}
|
||||
};
|
||||
DBus.proxifyPrototype(ConsoleKitManager.prototype, ConsoleKitManagerIface);
|
||||
|
||||
function AutomountManager() {
|
||||
this._init();
|
||||
@ -76,8 +86,9 @@ AutomountManager.prototype = {
|
||||
this.ckListener = new ConsoleKitManager();
|
||||
|
||||
this._ssProxy = new ScreenSaver.ScreenSaverProxy();
|
||||
this._ssProxy.connectSignal('ActiveChanged',
|
||||
Lang.bind(this, this._screenSaverActiveChanged));
|
||||
this._ssProxy.connect('ActiveChanged',
|
||||
Lang.bind(this,
|
||||
this._screenSaverActiveChanged));
|
||||
|
||||
this._volumeMonitor = Gio.VolumeMonitor.get();
|
||||
|
||||
@ -100,7 +111,7 @@ AutomountManager.prototype = {
|
||||
Mainloop.idle_add(Lang.bind(this, this._startupMountAll));
|
||||
},
|
||||
|
||||
_screenSaverActiveChanged: function(object, senderName, [isActive]) {
|
||||
_screenSaverActiveChanged: function(object, isActive) {
|
||||
if (!isActive) {
|
||||
this._volumeQueue.forEach(Lang.bind(this, function(volume) {
|
||||
this._checkAndMountVolume(volume);
|
||||
|
@ -1,6 +1,7 @@
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Lang = imports.lang;
|
||||
const DBus = imports.dbus;
|
||||
const Gio = imports.gi.Gio;
|
||||
const St = imports.gi.St;
|
||||
|
||||
@ -61,19 +62,25 @@ function startAppForMount(app, mount) {
|
||||
|
||||
/******************************************/
|
||||
|
||||
const HotplugSnifferIface = <interface name="org.gnome.Shell.HotplugSniffer">
|
||||
<method name="SniffURI">
|
||||
<arg type="s" direction="in" />
|
||||
<arg type="as" direction="out" />
|
||||
</method>
|
||||
</interface>;
|
||||
const HotplugSnifferIface = {
|
||||
name: 'org.gnome.Shell.HotplugSniffer',
|
||||
methods: [{ name: 'SniffURI',
|
||||
inSignature: 's',
|
||||
outSignature: 'as' }]
|
||||
};
|
||||
|
||||
const HotplugSnifferProxy = Gio.DBusProxy.makeProxyWrapper(HotplugSnifferIface);
|
||||
function HotplugSniffer() {
|
||||
return new HotplugSnifferProxy(Gio.DBus.session,
|
||||
const HotplugSniffer = function() {
|
||||
this._init();
|
||||
};
|
||||
|
||||
HotplugSniffer.prototype = {
|
||||
_init: function() {
|
||||
DBus.session.proxifyObject(this,
|
||||
'org.gnome.Shell.HotplugSniffer',
|
||||
'/org/gnome/Shell/HotplugSniffer');
|
||||
}
|
||||
},
|
||||
};
|
||||
DBus.proxifyPrototype(HotplugSniffer.prototype, HotplugSnifferIface);
|
||||
|
||||
function ContentTypeDiscoverer(callback) {
|
||||
this._init(callback);
|
||||
@ -107,8 +114,9 @@ ContentTypeDiscoverer.prototype = {
|
||||
let root = mount.get_root();
|
||||
|
||||
let hotplugSniffer = new HotplugSniffer();
|
||||
hotplugSniffer.SniffURIRemote(root.get_uri(),
|
||||
Lang.bind(this, function([contentTypes]) {
|
||||
hotplugSniffer.SniffURIRemote
|
||||
(root.get_uri(), DBus.CALL_FLAG_START,
|
||||
Lang.bind(this, function(contentTypes) {
|
||||
this._emitCallback(mount, contentTypes);
|
||||
}));
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const DBus = imports.dbus;
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const Gio = imports.gi.Gio;
|
||||
const Lang = imports.lang;
|
||||
@ -194,34 +195,30 @@ EmptyEventSource.prototype = {
|
||||
};
|
||||
Signals.addSignalMethods(EmptyEventSource.prototype);
|
||||
|
||||
const CalendarServerIface = <interface name="org.gnome.Shell.CalendarServer">
|
||||
<method name="GetEvents">
|
||||
<arg type="x" direction="in" />
|
||||
<arg type="x" direction="in" />
|
||||
<arg type="b" direction="in" />
|
||||
<arg type="a(sssbxxa{sv})" direction="out" />
|
||||
</method>
|
||||
<signal name="Changed" />
|
||||
</interface>;
|
||||
const CalendarServerIface = {
|
||||
name: 'org.gnome.Shell.CalendarServer',
|
||||
methods: [{ name: 'GetEvents',
|
||||
inSignature: 'xxb',
|
||||
outSignature: 'a(sssbxxa{sv})' }],
|
||||
signals: [{ name: 'Changed',
|
||||
inSignature: '' }]
|
||||
};
|
||||
|
||||
const CalendarServerInfo = Gio.DBusInterfaceInfo.new_for_xml(CalendarServerIface);
|
||||
const CalendarServer = function () {
|
||||
this._init();
|
||||
};
|
||||
|
||||
function CalendarServer() {
|
||||
var self = new Gio.DBusProxy({ g_connection: Gio.DBus.session,
|
||||
g_interface_name: CalendarServerInfo.name,
|
||||
g_interface_info: CalendarServerInfo,
|
||||
g_name: 'org.gnome.Shell.CalendarServer',
|
||||
g_object_path: '/org/gnome/Shell/CalendarServer',
|
||||
g_flags: (Gio.DBusProxyFlags.DO_NOT_AUTO_START |
|
||||
Gio.DBusProxyFlags.DO_NOT_LOAD_PROPERTIES) });
|
||||
CalendarServer.prototype = {
|
||||
_init: function() {
|
||||
DBus.session.proxifyObject(this, 'org.gnome.Shell.CalendarServer', '/org/gnome/Shell/CalendarServer');
|
||||
}
|
||||
};
|
||||
|
||||
self.init(null);
|
||||
return self;
|
||||
}
|
||||
DBus.proxifyPrototype(CalendarServer.prototype, CalendarServerIface);
|
||||
|
||||
// an implementation that reads data from a session bus service
|
||||
function DBusEventSource() {
|
||||
this._init();
|
||||
function DBusEventSource(owner) {
|
||||
this._init(owner);
|
||||
}
|
||||
|
||||
function _datesEqual(a, b) {
|
||||
@ -244,18 +241,16 @@ function _dateIntervalsOverlap(a0, a1, b0, b1)
|
||||
|
||||
|
||||
DBusEventSource.prototype = {
|
||||
_init: function() {
|
||||
_init: function(owner) {
|
||||
this._resetCache();
|
||||
|
||||
this._dbusProxy = new CalendarServer();
|
||||
this._dbusProxy.connectSignal('Changed', Lang.bind(this, this._onChanged));
|
||||
this._dbusProxy = new CalendarServer(owner);
|
||||
this._dbusProxy.connect('Changed', Lang.bind(this, this._onChanged));
|
||||
|
||||
this._dbusProxy.connect('notify::g-name-owner', Lang.bind(this, function() {
|
||||
if (this._dbusProxy.g_name_owner)
|
||||
this._onNameAppeared();
|
||||
else
|
||||
this._onNameVanished();
|
||||
}));
|
||||
DBus.session.watch_name('org.gnome.Shell.CalendarServer',
|
||||
false, // do not launch a name-owner if none exists
|
||||
Lang.bind(this, this._onNameAppeared),
|
||||
Lang.bind(this, this._onNameVanished));
|
||||
},
|
||||
|
||||
_resetCache: function() {
|
||||
@ -278,7 +273,7 @@ DBusEventSource.prototype = {
|
||||
this._loadEvents(false);
|
||||
},
|
||||
|
||||
_onEventsReceived: function([appointments]) {
|
||||
_onEventsReceived: function(appointments) {
|
||||
let newEvents = [];
|
||||
if (appointments != null) {
|
||||
for (let n = 0; n < appointments.length; n++) {
|
||||
@ -301,9 +296,9 @@ DBusEventSource.prototype = {
|
||||
|
||||
_loadEvents: function(forceReload) {
|
||||
if (this._curRequestBegin && this._curRequestEnd){
|
||||
let callFlags = Gio.DBusCallFlags.NO_AUTO_START;
|
||||
let callFlags = 0;
|
||||
if (forceReload)
|
||||
callFlags = Gio.DBusCallFlags.NONE;
|
||||
callFlags |= DBus.CALL_FLAG_START;
|
||||
this._dbusProxy.GetEventsRemote(this._curRequestBegin.getTime() / 1000,
|
||||
this._curRequestEnd.getTime() / 1000,
|
||||
forceReload,
|
||||
|
@ -187,7 +187,7 @@ CtrlAltTabPopup.prototype = {
|
||||
let [childMinHeight, childNaturalHeight] = this._switcher.actor.get_preferred_height(primary.width - hPadding);
|
||||
let [childMinWidth, childNaturalWidth] = this._switcher.actor.get_preferred_width(childNaturalHeight);
|
||||
childBox.x1 = Math.max(primary.x + leftPadding, primary.x + Math.floor((primary.width - childNaturalWidth) / 2));
|
||||
childBox.x2 = Math.min(primary.x + primary.width - hPadding, childBox.x1 + childNaturalWidth);
|
||||
childBox.x2 = Math.min(primary.width - hPadding, childBox.x1 + childNaturalWidth);
|
||||
childBox.y1 = primary.y + Math.floor((primary.height - childNaturalHeight) / 2);
|
||||
childBox.y2 = childBox.y1 + childNaturalHeight;
|
||||
this._switcher.actor.allocate(childBox, flags);
|
||||
|
@ -231,7 +231,7 @@ DragPlaceholderItem.prototype = {
|
||||
|
||||
_init: function() {
|
||||
DashItemContainer.prototype._init.call(this);
|
||||
this.setChild(new St.Bin({ style_class: 'placeholder' }));
|
||||
this.setChild(new St.Bin({ style_class: 'dash-placeholder' }));
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -18,19 +18,19 @@
|
||||
* 02111-1307, USA.
|
||||
*/
|
||||
|
||||
const DBus = imports.dbus;
|
||||
const Lang = imports.lang;
|
||||
const Signals = imports.signals;
|
||||
|
||||
const AccountsService = imports.gi.AccountsService;
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const Gio = imports.gi.Gio;
|
||||
const GLib = imports.gi.GLib;
|
||||
const Gtk = imports.gi.Gtk;
|
||||
const Pango = imports.gi.Pango;
|
||||
const St = imports.gi.St;
|
||||
const Shell = imports.gi.Shell;
|
||||
|
||||
const GnomeSession = imports.misc.gnomeSession;
|
||||
const GnomeSession = imports.misc.gnomeSession
|
||||
const Lightbox = imports.ui.lightbox;
|
||||
const Main = imports.ui.main;
|
||||
const ModalDialog = imports.ui.modalDialog;
|
||||
@ -43,23 +43,22 @@ const _DIALOG_ICON_SIZE = 32;
|
||||
|
||||
const GSM_SESSION_MANAGER_LOGOUT_FORCE = 2;
|
||||
|
||||
const EndSessionDialogIface = <interface name="org.gnome.SessionManager.EndSessionDialog">
|
||||
<method name="Open">
|
||||
<arg type="u" direction="in" />
|
||||
<arg type="u" direction="in" />
|
||||
<arg type="u" direction="in" />
|
||||
<arg type="ao" direction="in" />
|
||||
</method>
|
||||
<signal name="ConfirmedLogout" />
|
||||
<signal name="ConfirmedReboot" />
|
||||
<signal name="ConfirmedShutdown" />
|
||||
<signal name="Canceled" />
|
||||
<signal name="Closed" />
|
||||
</interface>;
|
||||
const EndSessionDialogIface = {
|
||||
name: 'org.gnome.SessionManager.EndSessionDialog',
|
||||
methods: [{ name: 'Open',
|
||||
inSignature: 'uuuao',
|
||||
outSignature: ''
|
||||
}
|
||||
],
|
||||
signals: [{ name: 'Canceled',
|
||||
inSignature: '',
|
||||
}],
|
||||
properties: []
|
||||
};
|
||||
|
||||
const logoutDialogContent = {
|
||||
subjectWithUser: C_("title", "Log Out %s"),
|
||||
subject: C_("title", "Log Out"),
|
||||
subjectWithUser: _("Log Out %s"),
|
||||
subject: _("Log Out"),
|
||||
inhibitedDescription: _("Click Log Out to quit these applications and log out of the system."),
|
||||
uninhibitedDescriptionWithUser: function(user, seconds) {
|
||||
return ngettext("%s will be logged out automatically in %d second.",
|
||||
@ -73,12 +72,12 @@ const logoutDialogContent = {
|
||||
},
|
||||
endDescription: _("Logging out of the system."),
|
||||
confirmButtons: [{ signal: 'ConfirmedLogout',
|
||||
label: C_("button", "Log Out") }],
|
||||
label: _("Log Out") }],
|
||||
iconStyleClass: 'end-session-dialog-logout-icon'
|
||||
};
|
||||
|
||||
const shutdownDialogContent = {
|
||||
subject: C_("title", "Power Off"),
|
||||
subject: _("Power Off"),
|
||||
inhibitedDescription: _("Click Power Off to quit these applications and power off the system."),
|
||||
uninhibitedDescription: function(seconds) {
|
||||
return ngettext("The system will power off automatically in %d second.",
|
||||
@ -87,15 +86,15 @@ const shutdownDialogContent = {
|
||||
},
|
||||
endDescription: _("Powering off the system."),
|
||||
confirmButtons: [{ signal: 'ConfirmedReboot',
|
||||
label: C_("button", "Restart") },
|
||||
label: _("Restart") },
|
||||
{ signal: 'ConfirmedShutdown',
|
||||
label: C_("button", "Power Off") }],
|
||||
label: _("Power Off") }],
|
||||
iconName: 'system-shutdown',
|
||||
iconStyleClass: 'end-session-dialog-shutdown-icon'
|
||||
};
|
||||
|
||||
const restartDialogContent = {
|
||||
subject: C_("title", "Restart"),
|
||||
subject: _("Restart"),
|
||||
inhibitedDescription: _("Click Restart to quit these applications and restart the system."),
|
||||
uninhibitedDescription: function(seconds) {
|
||||
return ngettext("The system will restart automatically in %d second.",
|
||||
@ -104,7 +103,7 @@ const restartDialogContent = {
|
||||
},
|
||||
endDescription: _("Restarting the system."),
|
||||
confirmButtons: [{ signal: 'ConfirmedReboot',
|
||||
label: C_("button", "Restart") }],
|
||||
label: _("Restart") }],
|
||||
iconName: 'system-shutdown',
|
||||
iconStyleClass: 'end-session-dialog-shutdown-icon'
|
||||
};
|
||||
@ -233,6 +232,8 @@ function _setLabelText(label, text) {
|
||||
function EndSessionDialog() {
|
||||
if (_endSessionDialog == null) {
|
||||
this._init();
|
||||
DBus.session.exportObject('/org/gnome/SessionManager/EndSessionDialog',
|
||||
this);
|
||||
_endSessionDialog = this;
|
||||
}
|
||||
|
||||
@ -325,9 +326,6 @@ EndSessionDialog.prototype = {
|
||||
if (this._applicationList.get_children().length == 0)
|
||||
scrollView.hide();
|
||||
}));
|
||||
|
||||
this._dbusImpl = Gio.DBusExportedObject.wrapJSObject(EndSessionDialogIface, this);
|
||||
this._dbusImpl.export(Gio.DBus.session, '/org/gnome/SessionManager/EndSessionDialog');
|
||||
},
|
||||
|
||||
_onDestroy: function() {
|
||||
@ -442,19 +440,25 @@ EndSessionDialog.prototype = {
|
||||
|
||||
close: function() {
|
||||
ModalDialog.ModalDialog.prototype.close.call(this);
|
||||
this._dbusImpl.emit_signal('Closed', null);
|
||||
DBus.session.emit_signal('/org/gnome/SessionManager/EndSessionDialog',
|
||||
'org.gnome.SessionManager.EndSessionDialog',
|
||||
'Closed', '', []);
|
||||
},
|
||||
|
||||
cancel: function() {
|
||||
this._stopTimer();
|
||||
this._dbusImpl.emit_signal('Canceled', null);
|
||||
DBus.session.emit_signal('/org/gnome/SessionManager/EndSessionDialog',
|
||||
'org.gnome.SessionManager.EndSessionDialog',
|
||||
'Canceled', '', []);
|
||||
this.close(global.get_current_time());
|
||||
},
|
||||
|
||||
_confirm: function(signal) {
|
||||
this._fadeOutDialog();
|
||||
this._stopTimer();
|
||||
this._dbusImpl.emit_signal(signal, null);
|
||||
DBus.session.emit_signal('/org/gnome/SessionManager/EndSessionDialog',
|
||||
'org.gnome.SessionManager.EndSessionDialog',
|
||||
signal, '', []);
|
||||
},
|
||||
|
||||
_onOpened: function() {
|
||||
@ -506,41 +510,39 @@ EndSessionDialog.prototype = {
|
||||
this._updateContent();
|
||||
},
|
||||
|
||||
OpenAsync: function(parameters, invocation) {
|
||||
let [type, timestamp, totalSecondsToStayOpen, inhibitorObjectPaths] = parameters;
|
||||
OpenAsync: function(type, timestamp, totalSecondsToStayOpen, inhibitorObjectPaths, callback) {
|
||||
this._totalSecondsToStayOpen = totalSecondsToStayOpen;
|
||||
this._inhibitors = [];
|
||||
this._applicationList.destroy_children();
|
||||
this._type = type;
|
||||
|
||||
if (!(this._type in DialogContent)) {
|
||||
invocation.report_dbus_error('org.gnome.Shell.ModalDialog.TypeError',
|
||||
"Unknown dialog type requested");
|
||||
return;
|
||||
}
|
||||
if (!(this._type in DialogContent))
|
||||
throw new DBus.DBusError('org.gnome.Shell.ModalDialog.TypeError',
|
||||
"Unknown dialog type requested");
|
||||
|
||||
for (let i = 0; i < inhibitorObjectPaths.length; i++) {
|
||||
let inhibitor = new GnomeSession.Inhibitor(inhibitorObjectPaths[i], Lang.bind(this, function(proxy, error) {
|
||||
this._onInhibitorLoaded(proxy);
|
||||
}));
|
||||
let inhibitor = new GnomeSession.Inhibitor(inhibitorObjectPaths[i]);
|
||||
|
||||
inhibitor.connect('is-loaded',
|
||||
Lang.bind(this, function() {
|
||||
this._onInhibitorLoaded(inhibitor);
|
||||
}));
|
||||
this._inhibitors.push(inhibitor);
|
||||
}
|
||||
|
||||
this._updateButtons();
|
||||
|
||||
if (!this.open(timestamp)) {
|
||||
invocation.report_dbus_error('org.gnome.Shell.ModalDialog.GrabError',
|
||||
"Cannot grab pointer and keyboard");
|
||||
return;
|
||||
}
|
||||
if (!this.open(timestamp))
|
||||
throw new DBus.DBusError('org.gnome.Shell.ModalDialog.GrabError',
|
||||
"Cannot grab pointer and keyboard");
|
||||
|
||||
this._updateContent();
|
||||
|
||||
let signalId = this.connect('opened',
|
||||
Lang.bind(this, function() {
|
||||
invocation.return_value(null);
|
||||
callback();
|
||||
this.disconnect(signalId);
|
||||
}));
|
||||
}
|
||||
};
|
||||
DBus.conformExport(EndSessionDialog.prototype, EndSessionDialogIface);
|
||||
|
@ -22,7 +22,6 @@ const ExtensionState = {
|
||||
ERROR: 3,
|
||||
OUT_OF_DATE: 4,
|
||||
DOWNLOADING: 5,
|
||||
INITIALIZED: 6,
|
||||
|
||||
// Used as an error state for operations on unknown extensions,
|
||||
// should never be in a real extensionMeta object.
|
||||
@ -63,9 +62,6 @@ const extensionMeta = {};
|
||||
const extensions = {};
|
||||
// Maps uuid -> extension state object (returned from init())
|
||||
const extensionStateObjs = {};
|
||||
// Contains the order that extensions were enabled in.
|
||||
const extensionOrder = [];
|
||||
|
||||
// Arrays of uuids
|
||||
var enabledExtensions;
|
||||
// GFile for user extensions
|
||||
@ -216,27 +212,6 @@ function disableExtension(uuid) {
|
||||
|
||||
let extensionState = extensionStateObjs[uuid];
|
||||
|
||||
// "Rebase" the extension order by disabling and then enabling extensions
|
||||
// in order to help prevent conflicts.
|
||||
|
||||
// Example:
|
||||
// order = [A, B, C, D, E]
|
||||
// user disables C
|
||||
// this should: disable E, disable D, disable C, enable D, enable E
|
||||
|
||||
let orderIdx = extensionOrder.indexOf(uuid);
|
||||
let order = extensionOrder.slice(orderIdx + 1);
|
||||
let orderReversed = order.slice().reverse();
|
||||
|
||||
for (let i = 0; i < orderReversed.length; i++) {
|
||||
let uuid = orderReversed[i];
|
||||
try {
|
||||
extensionStateObjs[uuid].disable();
|
||||
} catch(e) {
|
||||
logExtensionError(uuid, e.toString());
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
extensionState.disable();
|
||||
} catch(e) {
|
||||
@ -244,17 +219,6 @@ function disableExtension(uuid) {
|
||||
return;
|
||||
}
|
||||
|
||||
for (let i = 0; i < order.length; i++) {
|
||||
let uuid = order[i];
|
||||
try {
|
||||
extensionStateObjs[uuid].enable();
|
||||
} catch(e) {
|
||||
logExtensionError(uuid, e.toString());
|
||||
}
|
||||
}
|
||||
|
||||
extensionOrder.splice(orderIdx, 1);
|
||||
|
||||
meta.state = ExtensionState.DISABLED;
|
||||
_signals.emit('extension-state-changed', meta);
|
||||
}
|
||||
@ -264,18 +228,11 @@ function enableExtension(uuid) {
|
||||
if (!meta)
|
||||
return;
|
||||
|
||||
if (meta.state == ExtensionState.INITIALIZED) {
|
||||
loadExtension(meta.dir, meta.type, true);
|
||||
return;
|
||||
}
|
||||
|
||||
if (meta.state != ExtensionState.DISABLED)
|
||||
return;
|
||||
|
||||
let extensionState = extensionStateObjs[uuid];
|
||||
|
||||
extensionOrder.push(uuid);
|
||||
|
||||
try {
|
||||
extensionState.enable();
|
||||
} catch(e) {
|
||||
@ -297,7 +254,7 @@ function logExtensionError(uuid, message, state) {
|
||||
state: state });
|
||||
}
|
||||
|
||||
function loadExtension(dir, type, enabled) {
|
||||
function loadExtension(dir, enabled, type) {
|
||||
let info;
|
||||
let uuid = dir.get_basename();
|
||||
|
||||
@ -346,9 +303,14 @@ function loadExtension(dir, type, enabled) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!versionCheck(meta['shell-version'], Config.PACKAGE_VERSION) ||
|
||||
(meta['js-version'] && !versionCheck(meta['js-version'], Config.GJS_VERSION))) {
|
||||
logExtensionError(uuid, 'extension is not compatible with current GNOME Shell and/or GJS version');
|
||||
return;
|
||||
}
|
||||
|
||||
extensionMeta[uuid] = meta;
|
||||
meta.type = type;
|
||||
meta.dir = dir;
|
||||
meta.path = dir.get_path();
|
||||
meta.error = '';
|
||||
|
||||
@ -362,11 +324,6 @@ function loadExtension(dir, type, enabled) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!enabled) {
|
||||
meta.state = ExtensionState.INITIALIZED;
|
||||
return;
|
||||
}
|
||||
|
||||
let extensionJs = dir.get_child('extension.js');
|
||||
if (!extensionJs.query_exists(null)) {
|
||||
logExtensionError(uuid, 'Missing extension.js');
|
||||
@ -426,7 +383,8 @@ function loadExtension(dir, type, enabled) {
|
||||
|
||||
meta.state = ExtensionState.DISABLED;
|
||||
|
||||
enableExtension(uuid);
|
||||
if (enabled)
|
||||
enableExtension(uuid);
|
||||
|
||||
_signals.emit('extension-loaded', meta.uuid);
|
||||
_signals.emit('extension-state-changed', meta);
|
||||
@ -486,7 +444,7 @@ function _loadExtensionsIn(dir, type) {
|
||||
let name = info.get_name();
|
||||
let child = dir.get_child(name);
|
||||
let enabled = enabledExtensions.indexOf(name) != -1;
|
||||
loadExtension(child, type, enabled);
|
||||
loadExtension(child, enabled, type);
|
||||
}
|
||||
fileEnum.close(null);
|
||||
}
|
||||
|
@ -147,6 +147,11 @@ BaseIcon.prototype = {
|
||||
size = found ? len : ICON_SIZE;
|
||||
}
|
||||
|
||||
// don't create icons unnecessarily
|
||||
if (size == this.iconSize &&
|
||||
this._iconBin.child)
|
||||
return;
|
||||
|
||||
this._createIconTexture(size);
|
||||
}
|
||||
};
|
||||
|
@ -289,7 +289,7 @@ Keyboard.prototype = {
|
||||
if (focus && (focus._extended_keys || (focus._key && focus._key.extended_key)))
|
||||
return;
|
||||
|
||||
let time = global.get_current_time();
|
||||
let time = global.current_event_time();
|
||||
if (focus instanceof Clutter.Text)
|
||||
this.Show(time);
|
||||
else
|
||||
|
@ -587,13 +587,12 @@ Chrome.prototype = {
|
||||
|
||||
this._screenSaverActive = false;
|
||||
this._screenSaverProxy = new ScreenSaver.ScreenSaverProxy();
|
||||
this._screenSaverProxy.connectSignal('ActiveChanged', Lang.bind(this, function(proxy, senderName, [isActive]) {
|
||||
this._onScreenSaverActiveChanged(isActive);
|
||||
}));
|
||||
this._screenSaverProxy.GetActiveRemote(Lang.bind(this, function(result, err) {
|
||||
if (!err)
|
||||
this._onScreenSaverActiveChanged(result[0]);
|
||||
}));
|
||||
this._screenSaverProxy.connect('ActiveChanged', Lang.bind(this, this._onScreenSaverActiveChanged));
|
||||
this._screenSaverProxy.GetActiveRemote(Lang.bind(this,
|
||||
function(result, err) {
|
||||
if (!err)
|
||||
this._onScreenSaverActiveChanged(this._screenSaverProxy, result);
|
||||
}));
|
||||
|
||||
this._relayout();
|
||||
},
|
||||
@ -734,7 +733,7 @@ Chrome.prototype = {
|
||||
this._queueUpdateRegions();
|
||||
},
|
||||
|
||||
_onScreenSaverActiveChanged: function(screenSaverActive) {
|
||||
_onScreenSaverActiveChanged: function(proxy, screenSaverActive) {
|
||||
this._screenSaverActive = screenSaverActive;
|
||||
this._updateVisibility();
|
||||
this._queueUpdateRegions();
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const Cogl = imports.gi.Cogl;
|
||||
const GConf = imports.gi.GConf;
|
||||
const GLib = imports.gi.GLib;
|
||||
const Gio = imports.gi.Gio;
|
||||
const Gtk = imports.gi.Gtk;
|
||||
@ -19,7 +20,6 @@ const Link = imports.ui.link;
|
||||
const ShellEntry = imports.ui.shellEntry;
|
||||
const Tweener = imports.ui.tweener;
|
||||
const Main = imports.ui.main;
|
||||
const JsParse = imports.misc.jsParse;
|
||||
|
||||
/* Imports...feel free to add here as needed */
|
||||
var commandHeader = 'const Clutter = imports.gi.Clutter; ' +
|
||||
@ -41,86 +41,6 @@ var commandHeader = 'const Clutter = imports.gi.Clutter; ' +
|
||||
'const r = Lang.bind(Main.lookingGlass, Main.lookingGlass.getResult); ';
|
||||
|
||||
const HISTORY_KEY = 'looking-glass-history';
|
||||
// Time between tabs for them to count as a double-tab event
|
||||
const AUTO_COMPLETE_DOUBLE_TAB_DELAY = 500;
|
||||
const AUTO_COMPLETE_SHOW_COMPLETION_ANIMATION_DURATION = 0.2;
|
||||
const AUTO_COMPLETE_GLOBAL_KEYWORDS = _getAutoCompleteGlobalKeywords();
|
||||
|
||||
function _getAutoCompleteGlobalKeywords() {
|
||||
const keywords = ['true', 'false', 'null', 'new'];
|
||||
// Don't add the private properties of window (i.e., ones starting with '_')
|
||||
const windowProperties = Object.getOwnPropertyNames(window).filter(function(a){ return a.charAt(0) != '_' });
|
||||
const headerProperties = JsParse.getDeclaredConstants(commandHeader);
|
||||
|
||||
return keywords.concat(windowProperties).concat(headerProperties);
|
||||
}
|
||||
|
||||
function AutoComplete(entry) {
|
||||
this._init(entry);
|
||||
}
|
||||
|
||||
AutoComplete.prototype = {
|
||||
_init: function(entry) {
|
||||
this._entry = entry;
|
||||
this._entry.connect('key-press-event', Lang.bind(this, this._entryKeyPressEvent));
|
||||
this._lastTabTime = global.get_current_time();
|
||||
},
|
||||
|
||||
_processCompletionRequest: function(event) {
|
||||
if (event.completions.length == 0) {
|
||||
return;
|
||||
}
|
||||
// Unique match = go ahead and complete; multiple matches + single tab = complete the common starting string;
|
||||
// multiple matches + double tab = emit a suggest event with all possible options
|
||||
if (event.completions.length == 1) {
|
||||
this.additionalCompletionText(event.completions[0], event.attrHead);
|
||||
this.emit('completion', { completion: event.completions[0], type: 'whole-word' });
|
||||
} else if (event.completions.length > 1 && event.tabType === 'single') {
|
||||
let commonPrefix = JsParse.getCommonPrefix(event.completions);
|
||||
|
||||
if (commonPrefix.length > 0) {
|
||||
this.additionalCompletionText(commonPrefix, event.attrHead);
|
||||
this.emit('completion', { completion: commonPrefix, type: 'prefix' });
|
||||
this.emit('suggest', { completions: event.completions});
|
||||
}
|
||||
} else if (event.completions.length > 1 && event.tabType === 'double') {
|
||||
this.emit('suggest', { completions: event.completions});
|
||||
}
|
||||
},
|
||||
|
||||
_entryKeyPressEvent: function(actor, event) {
|
||||
let cursorPos = this._entry.clutter_text.get_cursor_position();
|
||||
let text = this._entry.get_text();
|
||||
if (cursorPos != -1) {
|
||||
text = text.slice(0, cursorPos);
|
||||
}
|
||||
if (event.get_key_symbol() == Clutter.Tab) {
|
||||
let [completions, attrHead] = JsParse.getCompletions(text, commandHeader, AUTO_COMPLETE_GLOBAL_KEYWORDS);
|
||||
let currTime = global.get_current_time();
|
||||
if ((currTime - this._lastTabTime) < AUTO_COMPLETE_DOUBLE_TAB_DELAY) {
|
||||
this._processCompletionRequest({ tabType: 'double',
|
||||
completions: completions,
|
||||
attrHead: attrHead });
|
||||
} else {
|
||||
this._processCompletionRequest({ tabType: 'single',
|
||||
completions: completions,
|
||||
attrHead: attrHead });
|
||||
}
|
||||
this._lastTabTime = currTime;
|
||||
}
|
||||
},
|
||||
|
||||
// Insert characters of text not already included in head at cursor position. i.e., if text="abc" and head="a",
|
||||
// the string "bc" will be appended to this._entry
|
||||
additionalCompletionText: function(text, head) {
|
||||
let additionalCompletionText = text.slice(head.length);
|
||||
let cursorPos = this._entry.clutter_text.get_cursor_position();
|
||||
|
||||
this._entry.clutter_text.insert_text(additionalCompletionText, cursorPos);
|
||||
}
|
||||
};
|
||||
Signals.addSignalMethods(AutoComplete.prototype);
|
||||
|
||||
|
||||
function Notebook() {
|
||||
this._init();
|
||||
@ -231,24 +151,6 @@ Notebook.prototype = {
|
||||
return;
|
||||
let vAdjust = tabData.scrollView.vscroll.adjustment;
|
||||
vAdjust.value = vAdjust.upper - vAdjust.page_size;
|
||||
},
|
||||
|
||||
nextTab: function() {
|
||||
let nextIndex = this._selectedIndex;
|
||||
if (nextIndex < this._tabs.length - 1) {
|
||||
++nextIndex;
|
||||
}
|
||||
|
||||
this.selectIndex(nextIndex);
|
||||
},
|
||||
|
||||
prevTab: function() {
|
||||
let prevIndex = this._selectedIndex;
|
||||
if (prevIndex > 0) {
|
||||
--prevIndex;
|
||||
}
|
||||
|
||||
this.selectIndex(prevIndex);
|
||||
}
|
||||
};
|
||||
Signals.addSignalMethods(Notebook.prototype);
|
||||
@ -784,40 +686,11 @@ Extensions.prototype = {
|
||||
Main.lookingGlass.close();
|
||||
},
|
||||
|
||||
_onViewErrors: function (actor) {
|
||||
let meta = actor._extensionMeta;
|
||||
let shouldShow = !actor._isShowing;
|
||||
|
||||
if (shouldShow) {
|
||||
let errors = ExtensionSystem.errors[meta.uuid];
|
||||
let errorDisplay = new St.BoxLayout({ vertical: true });
|
||||
if (errors && errors.length) {
|
||||
for (let i = 0; i < errors.length; i ++)
|
||||
errorDisplay.add(new St.Label({ text: errors[i] }));
|
||||
} else {
|
||||
/* Translators: argument is an extension UUID. */
|
||||
let message = _("%s has not emitted any errors.").format(meta.uuid);
|
||||
errorDisplay.add(new St.Label({ text: message }));
|
||||
}
|
||||
|
||||
actor._errorDisplay = errorDisplay;
|
||||
actor._parentBox.add(errorDisplay);
|
||||
actor.label = _("Hide Errors");
|
||||
} else {
|
||||
actor._errorDisplay.destroy();
|
||||
actor._errorDisplay = null;
|
||||
actor.label = _("Show Errors");
|
||||
}
|
||||
|
||||
actor._isShowing = shouldShow;
|
||||
},
|
||||
|
||||
_stateToString: function(extensionState) {
|
||||
switch (extensionState) {
|
||||
case ExtensionSystem.ExtensionState.ENABLED:
|
||||
return _("Enabled");
|
||||
case ExtensionSystem.ExtensionState.DISABLED:
|
||||
case ExtensionSystem.ExtensionState.INITIALIZED:
|
||||
return _("Disabled");
|
||||
case ExtensionSystem.ExtensionState.ERROR:
|
||||
return _("Error");
|
||||
@ -857,13 +730,6 @@ Extensions.prototype = {
|
||||
metaBox.add(webpage.actor);
|
||||
}
|
||||
|
||||
let viewerrors = new Link.Link({ label: _("Show Errors") });
|
||||
viewerrors.actor._extensionMeta = meta;
|
||||
viewerrors.actor._parentBox = box;
|
||||
viewerrors.actor._isShowing = false;
|
||||
viewerrors.actor.connect('clicked', Lang.bind(this, this._onViewErrors));
|
||||
metaBox.add(viewerrors.actor);
|
||||
|
||||
return box;
|
||||
}
|
||||
};
|
||||
@ -944,15 +810,15 @@ LookingGlass.prototype = {
|
||||
this._resultsArea = new St.BoxLayout({ name: 'ResultsArea', vertical: true });
|
||||
this._evalBox.add(this._resultsArea, { expand: true });
|
||||
|
||||
this._entryArea = new St.BoxLayout({ name: 'EntryArea' });
|
||||
this._evalBox.add_actor(this._entryArea);
|
||||
let entryArea = new St.BoxLayout({ name: 'EntryArea' });
|
||||
this._evalBox.add_actor(entryArea);
|
||||
|
||||
let label = new St.Label({ text: 'js>>> ' });
|
||||
this._entryArea.add(label);
|
||||
entryArea.add(label);
|
||||
|
||||
this._entry = new St.Entry({ can_focus: true });
|
||||
ShellEntry.addContextMenu(this._entry);
|
||||
this._entryArea.add(this._entry, { expand: true });
|
||||
entryArea.add(this._entry, { expand: true });
|
||||
|
||||
this._windowList = new WindowList();
|
||||
this._windowList.connect('selected', Lang.bind(this, function(list, window) {
|
||||
@ -971,9 +837,6 @@ LookingGlass.prototype = {
|
||||
notebook.appendPage('Extensions', this._extensions.actor);
|
||||
|
||||
this._entry.clutter_text.connect('activate', Lang.bind(this, function (o, e) {
|
||||
// Hide any completions we are currently showing
|
||||
this._hideCompletions();
|
||||
|
||||
let text = o.get_text();
|
||||
// Ensure we don't get newlines in the command; the history file is
|
||||
// newline-separated.
|
||||
@ -989,17 +852,6 @@ LookingGlass.prototype = {
|
||||
this._history = new History.HistoryManager({ gsettingsKey: HISTORY_KEY,
|
||||
entry: this._entry.clutter_text });
|
||||
|
||||
this._autoComplete = new AutoComplete(this._entry);
|
||||
this._autoComplete.connect('suggest', Lang.bind(this, function(a,e) {
|
||||
this._showCompletions(e.completions);
|
||||
}));
|
||||
// If a completion is completed unambiguously, the currently-displayed completion
|
||||
// suggestions become irrelevant.
|
||||
this._autoComplete.connect('completion', Lang.bind(this, function(a,e) {
|
||||
if (e.type == 'whole-word')
|
||||
this._hideCompletions();
|
||||
}));
|
||||
|
||||
this._resize();
|
||||
},
|
||||
|
||||
@ -1044,59 +896,6 @@ LookingGlass.prototype = {
|
||||
this._notebook.scrollToBottom(0);
|
||||
},
|
||||
|
||||
_showCompletions: function(completions) {
|
||||
if (!this._completionActor) {
|
||||
let actor = new St.BoxLayout({ vertical: true });
|
||||
|
||||
this._completionText = new St.Label({ name: 'LookingGlassAutoCompletionText', style_class: 'lg-completions-text' });
|
||||
this._completionText.clutter_text.ellipsize = Pango.EllipsizeMode.NONE;
|
||||
this._completionText.clutter_text.line_wrap = true;
|
||||
actor.add(this._completionText);
|
||||
|
||||
let line = new Clutter.Rectangle();
|
||||
let padBin = new St.Bin({ x_fill: true, y_fill: true });
|
||||
padBin.add_actor(line);
|
||||
actor.add(padBin);
|
||||
|
||||
this._completionActor = actor;
|
||||
this._evalBox.insert_before(this._completionActor, this._entryArea);
|
||||
}
|
||||
|
||||
this._completionText.set_text(completions.join(', '));
|
||||
|
||||
// Setting the height to -1 allows us to get its actual preferred height rather than
|
||||
// whatever was last given in set_height by Tweener.
|
||||
this._completionActor.set_height(-1);
|
||||
let [minHeight, naturalHeight] = this._completionText.get_preferred_height(this._resultsArea.get_width());
|
||||
|
||||
// Don't reanimate if we are already visible
|
||||
if (this._completionActor.visible) {
|
||||
this._completionActor.height = naturalHeight;
|
||||
} else {
|
||||
this._completionActor.show();
|
||||
Tweener.removeTweens(this._completionActor);
|
||||
Tweener.addTween(this._completionActor, { time: AUTO_COMPLETE_SHOW_COMPLETION_ANIMATION_DURATION / St.get_slow_down_factor(),
|
||||
transition: 'easeOutQuad',
|
||||
height: naturalHeight,
|
||||
opacity: 255
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
_hideCompletions: function() {
|
||||
if (this._completionActor) {
|
||||
Tweener.removeTweens(this._completionActor);
|
||||
Tweener.addTween(this._completionActor, { time: AUTO_COMPLETE_SHOW_COMPLETION_ANIMATION_DURATION / St.get_slow_down_factor(),
|
||||
transition: 'easeOutQuad',
|
||||
height: 0,
|
||||
opacity: 0,
|
||||
onComplete: Lang.bind(this, function () {
|
||||
this._completionActor.hide();
|
||||
})
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
_evaluate : function(command) {
|
||||
this._history.addItem(command);
|
||||
|
||||
@ -1161,7 +960,6 @@ LookingGlass.prototype = {
|
||||
// Handle key events which are relevant for all tabs of the LookingGlass
|
||||
_globalKeyPressEvent : function(actor, event) {
|
||||
let symbol = event.get_key_symbol();
|
||||
let modifierState = Shell.get_event_state(event);
|
||||
if (symbol == Clutter.Escape) {
|
||||
if (this._objInspector.actor.visible) {
|
||||
this._objInspector.close();
|
||||
@ -1170,14 +968,6 @@ LookingGlass.prototype = {
|
||||
}
|
||||
return true;
|
||||
}
|
||||
// Ctrl+PgUp and Ctrl+PgDown switches tabs in the notebook view
|
||||
if (modifierState & Clutter.ModifierType.CONTROL_MASK) {
|
||||
if (symbol == Clutter.KEY_Page_Up) {
|
||||
this._notebook.prevTab();
|
||||
} else if (symbol == Clutter.KEY_Page_Down) {
|
||||
this._notebook.nextTab();
|
||||
}
|
||||
}
|
||||
return false;
|
||||
},
|
||||
|
||||
|
@ -1,7 +1,6 @@
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const GDesktopEnums = imports.gi.GDesktopEnums;
|
||||
const Gio = imports.gi.Gio;
|
||||
const Shell = imports.gi.Shell;
|
||||
const St = imports.gi.St;
|
||||
@ -13,6 +12,22 @@ const Main = imports.ui.main;
|
||||
const MagnifierDBus = imports.ui.magnifierDBus;
|
||||
const Params = imports.misc.params;
|
||||
|
||||
// Keep enums in sync with GSettings schemas
|
||||
const MouseTrackingMode = {
|
||||
NONE: 0,
|
||||
CENTERED: 1,
|
||||
PROPORTIONAL: 2,
|
||||
PUSH: 3
|
||||
};
|
||||
|
||||
const ScreenPosition = {
|
||||
NONE: 0,
|
||||
FULL_SCREEN: 1,
|
||||
TOP_HALF: 2,
|
||||
BOTTOM_HALF: 3,
|
||||
LEFT_HALF: 4,
|
||||
RIGHT_HALF: 5
|
||||
};
|
||||
|
||||
const MOUSE_POLL_FREQUENCY = 50;
|
||||
const CROSSHAIRS_CLIP_SIZE = [100, 100];
|
||||
@ -505,7 +520,7 @@ Magnifier.prototype = {
|
||||
if (this._zoomRegions.length) {
|
||||
let position = this._settings.get_enum(SCREEN_POSITION_KEY);
|
||||
this._zoomRegions[0].setScreenPosition(position);
|
||||
if (position != GDesktopEnums.MagnifierScreenPosition.FULL_SCREEN)
|
||||
if (position != ScreenPosition.FULL_SCREEN)
|
||||
this._updateLensMode();
|
||||
}
|
||||
},
|
||||
@ -554,10 +569,10 @@ ZoomRegion.prototype = {
|
||||
_init: function(magnifier, mouseSourceActor) {
|
||||
this._magnifier = magnifier;
|
||||
|
||||
this._mouseTrackingMode = GDesktopEnums.MagnifierMouseTrackingMode.NONE;
|
||||
this._mouseTrackingMode = MouseTrackingMode.NONE;
|
||||
this._clampScrollingAtEdges = false;
|
||||
this._lensMode = false;
|
||||
this._screenPosition = GDesktopEnums.MagnifierScreenPosition.FULL_SCREEN;
|
||||
this._screenPosition = ScreenPosition.FULL_SCREEN;
|
||||
|
||||
this._magView = null;
|
||||
this._uiGroupClone = null;
|
||||
@ -632,8 +647,7 @@ ZoomRegion.prototype = {
|
||||
* @mode: One of the enum MouseTrackingMode values.
|
||||
*/
|
||||
setMouseTrackingMode: function(mode) {
|
||||
if (mode >= GDesktopEnums.MagnifierMouseTrackingMode.NONE &&
|
||||
mode <= GDesktopEnums.MagnifierMouseTrackingMode.PUSH)
|
||||
if (mode >= MouseTrackingMode.NONE && mode <= MouseTrackingMode.PUSH)
|
||||
this._mouseTrackingMode = mode;
|
||||
},
|
||||
|
||||
@ -654,7 +668,7 @@ ZoomRegion.prototype = {
|
||||
*/
|
||||
setViewPort: function(viewPort) {
|
||||
this._setViewPort(viewPort);
|
||||
this._screenPosition = GDesktopEnums.MagnifierScreenPosition.NONE;
|
||||
this._screenPosition = ScreenPosition.NONE;
|
||||
},
|
||||
|
||||
/**
|
||||
@ -736,7 +750,7 @@ ZoomRegion.prototype = {
|
||||
viewPort.width = global.screen_width;
|
||||
viewPort.height = global.screen_height/2;
|
||||
this._setViewPort(viewPort);
|
||||
this._screenPosition = GDesktopEnums.MagnifierScreenPosition.TOP_HALF;
|
||||
this._screenPosition = ScreenPosition.TOP_HALF;
|
||||
},
|
||||
|
||||
/**
|
||||
@ -750,7 +764,7 @@ ZoomRegion.prototype = {
|
||||
viewPort.width = global.screen_width;
|
||||
viewPort.height = global.screen_height/2;
|
||||
this._setViewPort(viewPort);
|
||||
this._screenPosition = GDesktopEnums.MagnifierScreenPosition.BOTTOM_HALF;
|
||||
this._screenPosition = ScreenPosition.BOTTOM_HALF;
|
||||
},
|
||||
|
||||
/**
|
||||
@ -764,7 +778,7 @@ ZoomRegion.prototype = {
|
||||
viewPort.width = global.screen_width/2;
|
||||
viewPort.height = global.screen_height;
|
||||
this._setViewPort(viewPort);
|
||||
this._screenPosition = GDesktopEnums.MagnifierScreenPosition.LEFT_HALF;
|
||||
this._screenPosition = ScreenPosition.LEFT_HALF;
|
||||
},
|
||||
|
||||
/**
|
||||
@ -778,7 +792,7 @@ ZoomRegion.prototype = {
|
||||
viewPort.width = global.screen_width/2;
|
||||
viewPort.height = global.screen_height;
|
||||
this._setViewPort(viewPort);
|
||||
this._screenPosition = GDesktopEnums.MagnifierScreenPosition.RIGHT_HALF;
|
||||
this._screenPosition = ScreenPosition.RIGHT_HALF;
|
||||
},
|
||||
|
||||
/**
|
||||
@ -794,7 +808,7 @@ ZoomRegion.prototype = {
|
||||
viewPort.height = global.screen_height;
|
||||
this.setViewPort(viewPort);
|
||||
|
||||
this._screenPosition = GDesktopEnums.MagnifierScreenPosition.FULL_SCREEN;
|
||||
this._screenPosition = ScreenPosition.FULL_SCREEN;
|
||||
},
|
||||
|
||||
/**
|
||||
@ -807,19 +821,19 @@ ZoomRegion.prototype = {
|
||||
*/
|
||||
setScreenPosition: function(inPosition) {
|
||||
switch (inPosition) {
|
||||
case GDesktopEnums.MagnifierScreenPosition.FULL_SCREEN:
|
||||
case ScreenPosition.FULL_SCREEN:
|
||||
this.setFullScreenMode();
|
||||
break;
|
||||
case GDesktopEnums.MagnifierScreenPosition.TOP_HALF:
|
||||
case ScreenPosition.TOP_HALF:
|
||||
this.setTopHalf();
|
||||
break;
|
||||
case GDesktopEnums.MagnifierScreenPosition.BOTTOM_HALF:
|
||||
case ScreenPosition.BOTTOM_HALF:
|
||||
this.setBottomHalf();
|
||||
break;
|
||||
case GDesktopEnums.MagnifierScreenPosition.LEFT_HALF:
|
||||
case ScreenPosition.LEFT_HALF:
|
||||
this.setLeftHalf();
|
||||
break;
|
||||
case GDesktopEnums.MagnifierScreenPosition.RIGHT_HALF:
|
||||
case ScreenPosition.RIGHT_HALF:
|
||||
this.setRightHalf();
|
||||
break;
|
||||
}
|
||||
@ -842,7 +856,7 @@ ZoomRegion.prototype = {
|
||||
*/
|
||||
scrollToMousePos: function() {
|
||||
this._followingCursor = true;
|
||||
if (this._mouseTrackingMode != GDesktopEnums.MagnifierMouseTrackingMode.NONE)
|
||||
if (this._mouseTrackingMode != MouseTrackingMode.NONE)
|
||||
this._changeROI({ redoCursorTracking: true });
|
||||
else
|
||||
this._updateMousePosition();
|
||||
@ -977,7 +991,7 @@ ZoomRegion.prototype = {
|
||||
this._yMagFactor = params.yMagFactor;
|
||||
|
||||
if (params.redoCursorTracking &&
|
||||
this._mouseTrackingMode != GDesktopEnums.MagnifierMouseTrackingMode.NONE) {
|
||||
this._mouseTrackingMode != MouseTrackingMode.NONE) {
|
||||
// This depends on this.xMagFactor/yMagFactor already being updated
|
||||
[params.xCenter, params.yCenter] = this._centerFromMousePosition();
|
||||
}
|
||||
@ -1027,7 +1041,7 @@ ZoomRegion.prototype = {
|
||||
_isFullScreen: function() {
|
||||
// Does the magnified view occupy the whole screen? Note that this
|
||||
// doesn't necessarily imply
|
||||
// this._screenPosition = GDesktopEnums.MagnifierScreenPosition.FULL_SCREEN;
|
||||
// this._screenPosition = ScreenPosition.FULL_SCREEN;
|
||||
|
||||
if (this._viewPortX != 0 || this._viewPortY != 0)
|
||||
return false;
|
||||
@ -1044,13 +1058,13 @@ ZoomRegion.prototype = {
|
||||
let xMouse = this._magnifier.xMouse;
|
||||
let yMouse = this._magnifier.yMouse;
|
||||
|
||||
if (this._mouseTrackingMode == GDesktopEnums.MagnifierMouseTrackingMode.PROPORTIONAL) {
|
||||
if (this._mouseTrackingMode == MouseTrackingMode.PROPORTIONAL) {
|
||||
return this._centerFromMouseProportional(xMouse, yMouse);
|
||||
}
|
||||
else if (this._mouseTrackingMode == GDesktopEnums.MagnifierMouseTrackingMode.PUSH) {
|
||||
else if (this._mouseTrackingMode == MouseTrackingMode.PUSH) {
|
||||
return this._centerFromMousePush(xMouse, yMouse);
|
||||
}
|
||||
else if (this._mouseTrackingMode == GDesktopEnums.MagnifierMouseTrackingMode.CENTERED) {
|
||||
else if (this._mouseTrackingMode == MouseTrackingMode.CENTERED) {
|
||||
return this._centerFromMouseCentered(xMouse, yMouse);
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,6 @@
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Gio = imports.gi.Gio;
|
||||
const GLib = imports.gi.GLib;
|
||||
const DBus = imports.dbus;
|
||||
const Main = imports.ui.main;
|
||||
|
||||
const MAG_SERVICE_NAME = 'org.gnome.Magnifier';
|
||||
@ -11,85 +10,47 @@ const ZOOM_SERVICE_PATH = '/org/gnome/Magnifier/ZoomRegion';
|
||||
|
||||
// Subset of gnome-mag's Magnifier dbus interface -- to be expanded. See:
|
||||
// http://git.gnome.org/browse/gnome-mag/tree/xml/...Magnifier.xml
|
||||
const MagnifierIface = <interface name={MAG_SERVICE_NAME}>
|
||||
<method name="setActive">
|
||||
<arg type="b" direction="in" />
|
||||
</method>
|
||||
<method name="isActive">
|
||||
<arg type="b" direction="out" />
|
||||
</method>
|
||||
<method name="showCursor" />
|
||||
<method name="hideCursor" />
|
||||
<method name="createZoomRegion">
|
||||
<arg type="d" direction="in" />
|
||||
<arg type="d" direction="in" />
|
||||
<arg type="ai" direction="in" />
|
||||
<arg type="ai" direction="in" />
|
||||
<arg type="o" direction="out" />
|
||||
</method>
|
||||
<method name="addZoomRegion">
|
||||
<arg type="o" direction="in" />
|
||||
<arg type="b" direction="out" />
|
||||
</method>
|
||||
<method name="getZoomRegions">
|
||||
<arg type="ao" direction="out" />
|
||||
</method>
|
||||
<method name="clearAllZoomRegions" />
|
||||
<method name="fullScreenCapable">
|
||||
<arg type="b" direction="out" />
|
||||
</method>
|
||||
<method name="setCrosswireSize">
|
||||
<arg type="i" direction="in" />
|
||||
</method>
|
||||
<method name="getCrosswireSize">
|
||||
<arg type="i" direction="out" />
|
||||
</method>
|
||||
<method name="setCrosswireLength">
|
||||
<arg type="i" direction="in" />
|
||||
</method>
|
||||
<method name="getCrosswireLength">
|
||||
<arg type="i" direction="out" />
|
||||
</method>
|
||||
<method name="setCrosswireClip">
|
||||
<arg type="b" direction="in" />
|
||||
</method>
|
||||
<method name="getCrosswireClip">
|
||||
<arg type="b" direction="out" />
|
||||
</method>
|
||||
<method name="setCrosswireColor">
|
||||
<arg type="u" direction="in" />
|
||||
</method>
|
||||
<method name="getCrosswireColor">
|
||||
<arg type="u" direction="out" />
|
||||
</method>
|
||||
</interface>;
|
||||
const MagnifierIface = {
|
||||
name: MAG_SERVICE_NAME,
|
||||
methods: [
|
||||
{ name: 'setActive', inSignature: 'b', outSignature: '' },
|
||||
{ name: 'isActive', inSignature: '', outSignature: 'b' },
|
||||
{ name: 'showCursor', inSignature: '', outSignature: '' },
|
||||
{ name: 'hideCursor', inSignature: '', outSignature: '' },
|
||||
{ name: 'createZoomRegion', inSignature: 'ddaiai', outSignature: 'o' },
|
||||
{ name: 'addZoomRegion', inSignature: 'o', outSignature: 'b' },
|
||||
{ name: 'getZoomRegions', inSignature: '', outSignature: 'ao' },
|
||||
{ name: 'clearAllZoomRegions', inSignature: '', outSignature: '' },
|
||||
{ name: 'fullScreenCapable', inSignature: '', outSignature: 'b' },
|
||||
|
||||
{ name: 'setCrosswireSize', inSignature: 'i', outSignature: '' },
|
||||
{ name: 'getCrosswireSize', inSignature: '', outSignature: 'i' },
|
||||
{ name: 'setCrosswireLength', inSignature: 'i', outSignature: '' },
|
||||
{ name: 'getCrosswireLength', inSignature: '', outSignature: 'i' },
|
||||
{ name: 'setCrosswireClip', inSignature: 'b', outSignature: '' },
|
||||
{ name: 'getCrosswireClip', inSignature: '', outSignature: 'b' },
|
||||
{ name: 'setCrosswireColor', inSignature: 'u', outSignature: '' },
|
||||
{ name: 'getCrosswireColor', inSignature: '', outSignature: 'u' }
|
||||
],
|
||||
signals: [],
|
||||
properties: []
|
||||
};
|
||||
|
||||
// Subset of gnome-mag's ZoomRegion dbus interface -- to be expanded. See:
|
||||
// http://git.gnome.org/browse/gnome-mag/tree/xml/...ZoomRegion.xml
|
||||
const ZoomRegionIface = <interface name={ZOOM_SERVICE_NAME}>
|
||||
<method name="setMagFactor">
|
||||
<arg type="d" direction="in" />
|
||||
<arg type="d" direction="in" />
|
||||
</method>
|
||||
<method name="getMagFactor">
|
||||
<arg type="d" direction="out" />
|
||||
<arg type="d" direction="out" />
|
||||
</method>
|
||||
<method name="setRoi">
|
||||
<arg type="ai" direction="in" />
|
||||
</method>
|
||||
<method name="getRoi">
|
||||
<arg type="ai" direction="out" />
|
||||
</method>
|
||||
<method name="shiftContentsTo">
|
||||
<arg type="i" direction="in" />
|
||||
<arg type="i" direction="in" />
|
||||
<arg type="b" direction="out" />
|
||||
</method>
|
||||
<method name="moveResize">
|
||||
<arg type="ai" direction="in" />
|
||||
</method>
|
||||
</interface>;
|
||||
const ZoomRegionIface = {
|
||||
name: ZOOM_SERVICE_NAME,
|
||||
methods: [
|
||||
{ name: 'setMagFactor', inSignature: 'dd', outSignature: ''},
|
||||
{ name: 'getMagFactor', inSignature: '', outSignature: 'dd' },
|
||||
{ name: 'setRoi', inSignature: 'ai', outSignature: '' },
|
||||
{ name: 'getRoi', inSignature: '', outSignature: 'ai' },
|
||||
{ name: 'shiftContentsTo', inSignature: 'ii', outSignature: 'b' },
|
||||
{ name: 'moveResize', inSignature: 'ai', outSignature: '' }
|
||||
],
|
||||
signals: [],
|
||||
properties: []
|
||||
};
|
||||
|
||||
// For making unique ZoomRegion DBus proxy object paths of the form:
|
||||
// '/org/gnome/Magnifier/ZoomRegion/zoomer0',
|
||||
@ -103,9 +64,7 @@ function ShellMagnifier() {
|
||||
ShellMagnifier.prototype = {
|
||||
_init: function() {
|
||||
this._zoomers = {};
|
||||
|
||||
this._dbusImpl = Gio.DBusExportedObject.wrapJSObject(MagnifierIface, this);
|
||||
this._dbusImpl.export(Gio.DBus.session, MAG_SERVICE_PATH);
|
||||
DBus.session.exportObject(MAG_SERVICE_PATH, this);
|
||||
},
|
||||
|
||||
/**
|
||||
@ -236,10 +195,10 @@ ShellMagnifier.prototype = {
|
||||
Main.magnifier.clearAllZoomRegions();
|
||||
for (let objectPath in this._zoomers) {
|
||||
let proxyAndZoomer = this._zoomers[objectPath];
|
||||
proxyAndZoomer.proxy.destroy();
|
||||
proxyAndZoomer.proxy = null;
|
||||
proxyAndZoomer.zoomRegion = null;
|
||||
delete this._zoomers[objectPath];
|
||||
DBus.session.unexportObject(proxyAndZoomer);
|
||||
}
|
||||
this._zoomers = {};
|
||||
},
|
||||
@ -341,9 +300,8 @@ function ShellMagnifierZoomRegion(zoomerObjectPath, zoomRegion) {
|
||||
ShellMagnifierZoomRegion.prototype = {
|
||||
_init: function(zoomerObjectPath, zoomRegion) {
|
||||
this._zoomRegion = zoomRegion;
|
||||
|
||||
this._dbusImpl = Gio.DBusExportedObject.wrapJSObject(ZoomRegionIface, this);
|
||||
this._dbusImpl.export(Gio.DBus.session, zoomerObjectPath);
|
||||
DBus.session.proxifyObject(this, ZOOM_SERVICE_NAME, zoomerObjectPath);
|
||||
DBus.session.exportObject(zoomerObjectPath, this);
|
||||
},
|
||||
|
||||
/**
|
||||
@ -418,9 +376,8 @@ ShellMagnifierZoomRegion.prototype = {
|
||||
moveResize: function(viewPort) {
|
||||
let viewRect = { x: viewPort[0], y: viewPort[1], width: viewPort[2] - viewPort[0], height: viewPort[3] - viewPort[1] };
|
||||
this._zoomRegion.setViewPort(viewRect);
|
||||
},
|
||||
|
||||
destroy: function() {
|
||||
this._dbusImpl.unexport();
|
||||
}
|
||||
};
|
||||
|
||||
DBus.conformExport(ShellMagnifier.prototype, MagnifierIface);
|
||||
DBus.conformExport(ShellMagnifierZoomRegion.prototype, ZoomRegionIface);
|
||||
|
@ -1,9 +1,11 @@
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const DBus = imports.dbus;
|
||||
const Gdk = imports.gi.Gdk;
|
||||
const Gio = imports.gi.Gio;
|
||||
const GLib = imports.gi.GLib;
|
||||
const GConf = imports.gi.GConf;
|
||||
const Lang = imports.lang;
|
||||
const Mainloop = imports.mainloop;
|
||||
const Meta = imports.gi.Meta;
|
||||
@ -134,13 +136,13 @@ function _initUserSession() {
|
||||
|
||||
let shellwm = global.window_manager;
|
||||
|
||||
shellwm.takeover_keybinding('panel-run-dialog');
|
||||
shellwm.connect('keybinding::panel-run-dialog', function () {
|
||||
shellwm.takeover_keybinding('panel_run_dialog');
|
||||
shellwm.connect('keybinding::panel_run_dialog', function () {
|
||||
getRunDialog().open();
|
||||
});
|
||||
|
||||
shellwm.takeover_keybinding('panel-main-menu');
|
||||
shellwm.connect('keybinding::panel-main-menu', function () {
|
||||
shellwm.takeover_keybinding('panel_main_menu');
|
||||
shellwm.connect('keybinding::panel_main_menu', function () {
|
||||
overview.toggle();
|
||||
});
|
||||
|
||||
@ -161,6 +163,11 @@ function start() {
|
||||
Gio.DesktopAppInfo.set_desktop_env('GNOME');
|
||||
|
||||
shellDBusService = new ShellDBus.GnomeShell();
|
||||
// Force a connection now; dbus.js will do this internally
|
||||
// if we use its name acquisition stuff but we aren't right
|
||||
// now; to do so we'd need to convert from its async calls
|
||||
// back into sync ones.
|
||||
DBus.session.flush();
|
||||
|
||||
// Ensure ShellWindowTracker and ShellAppUsage are initialized; this will
|
||||
// also initialize ShellAppSystem first. ShellAppSystem
|
||||
@ -576,6 +583,16 @@ function _globalKeyPressHandler(actor, event) {
|
||||
// This relies on the fact that Clutter.ModifierType is the same as Gdk.ModifierType
|
||||
let action = global.display.get_keybinding_action(keyCode, modifierState);
|
||||
|
||||
// The screenshot action should always be available (even if a
|
||||
// modal dialog is present)
|
||||
if (action == Meta.KeyBindingAction.COMMAND_SCREENSHOT) {
|
||||
let gconf = GConf.Client.get_default();
|
||||
let command = gconf.get_string('/apps/metacity/keybinding_commands/command_screenshot');
|
||||
if (command != null && command != '')
|
||||
Util.spawnCommandLine(command);
|
||||
return true;
|
||||
}
|
||||
|
||||
// Other bindings are only available to the user session when the overview is up and
|
||||
// no modal dialog is present.
|
||||
if (global.session_type == Shell.SessionType.USER && (!overview.visible || modalCount > 1))
|
||||
@ -651,17 +668,14 @@ function _findModal(actor) {
|
||||
* initiated event. If not provided then the value of
|
||||
* global.get_current_time() is assumed.
|
||||
*
|
||||
* @options: optional Meta.ModalOptions flags to indicate that the
|
||||
* pointer is alrady grabbed
|
||||
*
|
||||
* Returns: true iff we successfully acquired a grab or already had one
|
||||
*/
|
||||
function pushModal(actor, timestamp, options) {
|
||||
function pushModal(actor, timestamp) {
|
||||
if (timestamp == undefined)
|
||||
timestamp = global.get_current_time();
|
||||
|
||||
if (modalCount == 0) {
|
||||
if (!global.begin_modal(timestamp, options ? options : 0)) {
|
||||
if (!global.begin_modal(timestamp)) {
|
||||
log('pushModal: invocation of begin_modal failed');
|
||||
return false;
|
||||
}
|
||||
|
@ -597,7 +597,8 @@ Notification.prototype = {
|
||||
this._table.add_style_class_name('multi-line-notification');
|
||||
this._scrollArea = new St.ScrollView({ name: 'notification-scrollview',
|
||||
vscrollbar_policy: this._scrollPolicy,
|
||||
hscrollbar_policy: Gtk.PolicyType.NEVER });
|
||||
hscrollbar_policy: Gtk.PolicyType.NEVER,
|
||||
style_class: 'vfade' });
|
||||
this._table.add(this._scrollArea, { row: 1,
|
||||
col: 2 });
|
||||
this._updateLastColumnSettings();
|
||||
@ -991,7 +992,6 @@ Source.prototype = {
|
||||
|
||||
this.isTransient = false;
|
||||
this.isChat = false;
|
||||
this.isMuted = false;
|
||||
|
||||
this.notifications = [];
|
||||
},
|
||||
@ -1056,13 +1056,6 @@ Source.prototype = {
|
||||
this.emit('title-changed');
|
||||
},
|
||||
|
||||
setMuted: function(muted) {
|
||||
if (!this.isChat || this.isMuted == muted)
|
||||
return;
|
||||
this.isMuted = muted;
|
||||
this.emit('muted-changed');
|
||||
},
|
||||
|
||||
// Called to create a new icon actor (of size this.ICON_SIZE).
|
||||
// Must be overridden by the subclass if you do not pass icons
|
||||
// explicitly to the Notification() constructor.
|
||||
@ -1101,8 +1094,7 @@ Source.prototype = {
|
||||
|
||||
notify: function(notification) {
|
||||
this.pushNotification(notification);
|
||||
if (!this.isMuted)
|
||||
this.emit('notify', notification);
|
||||
this.emit('notify', notification);
|
||||
},
|
||||
|
||||
destroy: function(reason) {
|
||||
@ -1218,18 +1210,6 @@ SummaryItem.prototype = {
|
||||
}));
|
||||
this.rightClickMenu.add(item.actor);
|
||||
|
||||
if (source.isChat) {
|
||||
item = new PopupMenu.PopupMenuItem('');
|
||||
item.actor.connect('notify::mapped', Lang.bind(this, function() {
|
||||
item.label.set_text(source.isMuted ? _("Unmute") : _("Mute"));
|
||||
}));
|
||||
item.connect('activate', Lang.bind(this, function() {
|
||||
source.setMuted(!source.isMuted);
|
||||
this.emit('done-displaying-content');
|
||||
}));
|
||||
this.rightClickMenu.add(item.actor);
|
||||
}
|
||||
|
||||
let focusManager = St.FocusManager.get_for_stage(global.stage);
|
||||
focusManager.add_group(this.rightClickMenu);
|
||||
},
|
||||
@ -1349,15 +1329,12 @@ function MessageTray() {
|
||||
|
||||
MessageTray.prototype = {
|
||||
_init: function() {
|
||||
this._presence = new GnomeSession.Presence(Lang.bind(this, function(proxy, error) {
|
||||
this._onStatusChanged(proxy.status);
|
||||
}));
|
||||
this._presence = new GnomeSession.Presence();
|
||||
this._userStatus = GnomeSession.PresenceStatus.AVAILABLE;
|
||||
this._busy = false;
|
||||
this._backFromAway = false;
|
||||
this._presence.connectSignal('StatusChanged', Lang.bind(this, function(proxy, senderName, [status]) {
|
||||
this._onStatusChanged(status);
|
||||
}));
|
||||
this._presence.connect('StatusChanged', Lang.bind(this, this._onStatusChanged));
|
||||
this._presence.getStatus(Lang.bind(this, this._onStatusChanged));
|
||||
|
||||
this.actor = new St.Group({ name: 'message-tray',
|
||||
reactive: true,
|
||||
@ -1442,8 +1419,16 @@ MessageTray.prototype = {
|
||||
this._notificationRemoved = false;
|
||||
this._reNotifyAfterHideNotification = null;
|
||||
|
||||
this._corner = new Clutter.Rectangle({ width: 1,
|
||||
height: 1,
|
||||
opacity: 0,
|
||||
reactive: true });
|
||||
this._corner.connect('enter-event', Lang.bind(this, this._onCornerEnter));
|
||||
Main.layoutManager.trayBox.add_actor(this._corner);
|
||||
Main.layoutManager.trackChrome(this._corner);
|
||||
|
||||
Main.layoutManager.trayBox.add_actor(this.actor);
|
||||
this.actor.y = -1;
|
||||
this.actor.y = this.actor.height;
|
||||
Main.layoutManager.trackChrome(this.actor);
|
||||
Main.layoutManager.trackChrome(this._notificationBin);
|
||||
|
||||
@ -1482,12 +1467,24 @@ MessageTray.prototype = {
|
||||
this._chatSummaryItemsCount = 0;
|
||||
},
|
||||
|
||||
_onCornerEnter: function(actor, event) {
|
||||
this._pointerInSummary = true;
|
||||
this._updateState();
|
||||
},
|
||||
|
||||
_setSizePosition: function() {
|
||||
let monitor = Main.layoutManager.bottomMonitor;
|
||||
this._notificationBin.x = 0;
|
||||
this._notificationBin.width = monitor.width;
|
||||
this._summaryBin.x = 0;
|
||||
this._summaryBin.width = monitor.width;
|
||||
|
||||
if (St.Widget.get_default_direction() == St.TextDirection.RTL)
|
||||
this._corner.x = 0;
|
||||
else
|
||||
this._corner.x = Main.layoutManager.trayBox.width - 1;
|
||||
|
||||
this._corner.y = Main.layoutManager.trayBox.height - 1;
|
||||
},
|
||||
|
||||
contains: function(source) {
|
||||
@ -1541,14 +1538,6 @@ MessageTray.prototype = {
|
||||
|
||||
source.connect('notify', Lang.bind(this, this._onNotify));
|
||||
|
||||
source.connect('muted-changed', Lang.bind(this,
|
||||
function () {
|
||||
if (source.isMuted)
|
||||
this._notificationQueue = this._notificationQueue.filter(function(notification) {
|
||||
return source != notification.source;
|
||||
});
|
||||
}));
|
||||
|
||||
summaryItem.actor.connect('notify::hover', Lang.bind(this,
|
||||
function () {
|
||||
this._onSummaryItemHoverChanged(summaryItem);
|
||||
@ -1905,7 +1894,7 @@ MessageTray.prototype = {
|
||||
this._updateState();
|
||||
},
|
||||
|
||||
_onStatusChanged: function(status) {
|
||||
_onStatusChanged: function(presence, status) {
|
||||
this._backFromAway = (this._userStatus == GnomeSession.PresenceStatus.IDLE && this._userStatus != status);
|
||||
this._userStatus = status;
|
||||
|
||||
@ -2088,7 +2077,7 @@ MessageTray.prototype = {
|
||||
|
||||
_hideTray: function() {
|
||||
this._tween(this.actor, '_trayState', State.HIDDEN,
|
||||
{ y: -1,
|
||||
{ y: this.actor.height,
|
||||
time: ANIMATION_TIME,
|
||||
transition: 'easeOutQuad'
|
||||
});
|
||||
|
@ -110,7 +110,7 @@ ModalDialog.prototype = {
|
||||
this._buttonLayout.destroy_children();
|
||||
this._actionKeys = {};
|
||||
|
||||
for (let i = 0; i < buttons.length; i++) {
|
||||
for (let i = 0; i < buttons.length; i ++) {
|
||||
let buttonInfo = buttons[i];
|
||||
let label = buttonInfo['label'];
|
||||
let action = buttonInfo['action'];
|
||||
|
@ -1,7 +1,7 @@
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const Gio = imports.gi.Gio;
|
||||
const DBus = imports.dbus;
|
||||
const GLib = imports.gi.GLib;
|
||||
const Lang = imports.lang;
|
||||
const Shell = imports.gi.Shell;
|
||||
@ -16,52 +16,49 @@ const Util = imports.misc.util;
|
||||
|
||||
let nextNotificationId = 1;
|
||||
|
||||
// Should really be defined in Gio.js
|
||||
const BusIface = <interface name="org.freedesktop.DBus">
|
||||
<method name="GetConnectionUnixProcessID">
|
||||
<arg type="s" direction="in" />
|
||||
<arg type="u" direction="out" />
|
||||
</method>
|
||||
</interface>;
|
||||
// Should really be defined in dbus.js
|
||||
const BusIface = {
|
||||
name: 'org.freedesktop.DBus',
|
||||
methods: [{ name: 'GetConnectionUnixProcessID',
|
||||
inSignature: 's',
|
||||
outSignature: 'i' }]
|
||||
};
|
||||
|
||||
var BusProxy = Gio.DBusProxy.makeProxyWrapper(BusIface);
|
||||
function Bus() {
|
||||
return new BusProxy(Gio.DBus.session, 'org.freedesktop.DBus', '/org/freedesktop/DBus');
|
||||
}
|
||||
const Bus = function () {
|
||||
this._init();
|
||||
};
|
||||
|
||||
const NotificationDaemonIface = <interface name="org.freedesktop.Notifications">
|
||||
<method name="Notify">
|
||||
<arg type="s" direction="in"/>
|
||||
<arg type="u" direction="in"/>
|
||||
<arg type="s" direction="in"/>
|
||||
<arg type="s" direction="in"/>
|
||||
<arg type="s" direction="in"/>
|
||||
<arg type="as" direction="in"/>
|
||||
<arg type="a{sv}" direction="in"/>
|
||||
<arg type="i" direction="in"/>
|
||||
<arg type="u" direction="out"/>
|
||||
</method>
|
||||
<method name="CloseNotification">
|
||||
<arg type="u" direction="in"/>
|
||||
</method>
|
||||
<method name="GetCapabilities">
|
||||
<arg type="as" direction="out"/>
|
||||
</method>
|
||||
<method name="GetServerInformation">
|
||||
<arg type="s" direction="out"/>
|
||||
<arg type="s" direction="out"/>
|
||||
<arg type="s" direction="out"/>
|
||||
<arg type="s" direction="out"/>
|
||||
</method>
|
||||
<signal name="NotificationClosed">
|
||||
<arg type="u"/>
|
||||
<arg type="u"/>
|
||||
</signal>
|
||||
<signal name="ActionInvoked">
|
||||
<arg type="u"/>
|
||||
<arg type="s"/>
|
||||
</signal>
|
||||
</interface>;
|
||||
Bus.prototype = {
|
||||
_init: function() {
|
||||
DBus.session.proxifyObject(this, 'org.freedesktop.DBus', '/org/freedesktop/DBus');
|
||||
}
|
||||
};
|
||||
|
||||
DBus.proxifyPrototype(Bus.prototype, BusIface);
|
||||
|
||||
const NotificationDaemonIface = {
|
||||
name: 'org.freedesktop.Notifications',
|
||||
methods: [{ name: 'Notify',
|
||||
inSignature: 'susssasa{sv}i',
|
||||
outSignature: 'u'
|
||||
},
|
||||
{ name: 'CloseNotification',
|
||||
inSignature: 'u',
|
||||
outSignature: ''
|
||||
},
|
||||
{ name: 'GetCapabilities',
|
||||
inSignature: '',
|
||||
outSignature: 'as'
|
||||
},
|
||||
{ name: 'GetServerInformation',
|
||||
inSignature: '',
|
||||
outSignature: 'ssss'
|
||||
}],
|
||||
signals: [{ name: 'NotificationClosed',
|
||||
inSignature: 'uu' },
|
||||
{ name: 'ActionInvoked',
|
||||
inSignature: 'us' }]
|
||||
};
|
||||
|
||||
const NotificationClosedReason = {
|
||||
EXPIRED: 1,
|
||||
@ -93,10 +90,9 @@ function NotificationDaemon() {
|
||||
|
||||
NotificationDaemon.prototype = {
|
||||
_init: function() {
|
||||
this._dbusImpl = Gio.DBusExportedObject.wrapJSObject(NotificationDaemonIface, this);
|
||||
this._dbusImpl.export(Gio.DBus.session, '/org/freedesktop/Notifications');
|
||||
DBus.session.exportObject('/org/freedesktop/Notifications', this);
|
||||
|
||||
this._sources = {};
|
||||
this._sources = [];
|
||||
this._senderToPid = {};
|
||||
this._notifications = {};
|
||||
this._busProxy = new Bus();
|
||||
@ -154,14 +150,30 @@ NotificationDaemon.prototype = {
|
||||
}
|
||||
},
|
||||
|
||||
_lookupSource: function(title, pid, trayIcon) {
|
||||
for (let i = 0; i < this._sources.length; i++) {
|
||||
let source = this._sources[i];
|
||||
if (source.pid == pid &&
|
||||
(source.initialTitle == title || source.trayIcon || trayIcon))
|
||||
return source;
|
||||
}
|
||||
return null;
|
||||
},
|
||||
|
||||
// Returns the source associated with ndata.notification if it is set.
|
||||
// Otherwise, returns the source associated with the pid if one is
|
||||
// stored in this._sources and the notification is not transient.
|
||||
// Otherwise, creates a new source as long as pid is provided.
|
||||
// Otherwise, returns the source associated with the title and pid if
|
||||
// such source is stored in this._sources and the notification is not
|
||||
// transient. If the existing or requested source is associated with
|
||||
// a tray icon and passed in pid matches a pid of an existing source,
|
||||
// the title match is ignored to enable representing a tray icon and
|
||||
// notifications from the same application with a single source.
|
||||
//
|
||||
// If no existing source is found, a new source is created as long as
|
||||
// pid is provided.
|
||||
//
|
||||
// Either a pid or ndata.notification is needed to retrieve or
|
||||
// create a source.
|
||||
_getSource: function(title, pid, ndata, sender) {
|
||||
_getSource: function(title, pid, ndata, sender, trayIcon) {
|
||||
if (!pid && !(ndata && ndata.notification))
|
||||
return null;
|
||||
|
||||
@ -178,20 +190,24 @@ NotificationDaemon.prototype = {
|
||||
// with a transient one from the same sender, so we
|
||||
// always create a new source object for new transient notifications
|
||||
// and never add it to this._sources .
|
||||
if (!isForTransientNotification && this._sources[pid]) {
|
||||
let source = this._sources[pid];
|
||||
source.setTitle(title);
|
||||
return source;
|
||||
if (!isForTransientNotification) {
|
||||
let source = this._lookupSource(title, pid, trayIcon);
|
||||
if (source) {
|
||||
source.setTitle(title);
|
||||
return source;
|
||||
}
|
||||
}
|
||||
|
||||
let source = new Source(title, pid, sender);
|
||||
let source = new Source(title, pid, sender, trayIcon);
|
||||
source.setTransient(isForTransientNotification);
|
||||
|
||||
if (!isForTransientNotification) {
|
||||
this._sources[pid] = source;
|
||||
this._sources.push(source);
|
||||
source.connect('destroy', Lang.bind(this,
|
||||
function() {
|
||||
delete this._sources[pid];
|
||||
let index = this._sources.indexOf(source);
|
||||
if (index >= 0)
|
||||
this._sources.splice(index, 1);
|
||||
}));
|
||||
}
|
||||
|
||||
@ -199,8 +215,8 @@ NotificationDaemon.prototype = {
|
||||
return source;
|
||||
},
|
||||
|
||||
NotifyAsync: function(params, invocation) {
|
||||
let [appName, replacesId, icon, summary, body, actions, hints, timeout] = params;
|
||||
Notify: function(appName, replacesId, icon, summary, body,
|
||||
actions, hints, timeout) {
|
||||
let id;
|
||||
|
||||
// Filter out chat, presence, calls and invitation notifications from
|
||||
@ -219,7 +235,7 @@ NotificationDaemon.prototype = {
|
||||
function () {
|
||||
this._emitNotificationClosed(id, NotificationClosedReason.DISMISSED);
|
||||
}));
|
||||
return invocation.return_value(GLib.Variant.new('(u)', [id]));
|
||||
return id;
|
||||
}
|
||||
|
||||
let rewrites = rewriteRules[appName];
|
||||
@ -231,11 +247,6 @@ NotificationDaemon.prototype = {
|
||||
}
|
||||
}
|
||||
|
||||
for (let hint in hints) {
|
||||
// unpack the variants
|
||||
hints[hint] = hints[hint].deep_unpack();
|
||||
}
|
||||
|
||||
hints = Params.parse(hints, { urgency: Urgency.NORMAL }, true);
|
||||
|
||||
// Be compatible with the various hints for image data and image path
|
||||
@ -267,55 +278,51 @@ NotificationDaemon.prototype = {
|
||||
}
|
||||
this._notifications[id] = ndata;
|
||||
|
||||
let sender = invocation.get_sender();
|
||||
let sender = DBus.getCurrentMessageContext().sender;
|
||||
let pid = this._senderToPid[sender];
|
||||
|
||||
let source = this._getSource(appName, pid, ndata, sender);
|
||||
let source = this._getSource(appName, pid, ndata, sender, null);
|
||||
|
||||
if (source) {
|
||||
this._notifyForSource(source, ndata);
|
||||
return invocation.return_value(GLib.Variant.new('(u)', [id]));
|
||||
return id;
|
||||
}
|
||||
|
||||
if (replacesId) {
|
||||
// There's already a pending call to GetConnectionUnixProcessID,
|
||||
// which will see the new notification data when it finishes,
|
||||
// so we don't have to do anything.
|
||||
return invocation.return_value(GLib.Variant.new('(u)', [id]));;
|
||||
return id;
|
||||
}
|
||||
|
||||
this._busProxy.GetConnectionUnixProcessIDRemote(sender, Lang.bind(this, function (result, excp) {
|
||||
// The app may have updated or removed the notification
|
||||
ndata = this._notifications[id];
|
||||
if (!ndata)
|
||||
return;
|
||||
this._busProxy.GetConnectionUnixProcessIDRemote(sender, Lang.bind(this,
|
||||
function (pid, ex) {
|
||||
// The app may have updated or removed the notification
|
||||
ndata = this._notifications[id];
|
||||
if (!ndata)
|
||||
return;
|
||||
|
||||
if (excp) {
|
||||
logError(excp, 'Call to GetConnectionUnixProcessID failed');
|
||||
return;
|
||||
}
|
||||
source = this._getSource(appName, pid, ndata, sender, null);
|
||||
|
||||
let [pid] = result;
|
||||
source = this._getSource(appName, pid, ndata, sender);
|
||||
// We only store sender-pid entries for persistent sources.
|
||||
// Removing the entries once the source is destroyed
|
||||
// would result in the entries associated with transient
|
||||
// sources removed once the notification is shown anyway.
|
||||
// However, keeping these pairs would mean that we would
|
||||
// possibly remove an entry associated with a persistent
|
||||
// source when a transient source for the same sender is
|
||||
// distroyed.
|
||||
if (!source.isTransient) {
|
||||
this._senderToPid[sender] = pid;
|
||||
source.connect('destroy', Lang.bind(this,
|
||||
function() {
|
||||
delete this._senderToPid[sender];
|
||||
}));
|
||||
}
|
||||
this._notifyForSource(source, ndata);
|
||||
}));
|
||||
|
||||
// We only store sender-pid entries for persistent sources.
|
||||
// Removing the entries once the source is destroyed
|
||||
// would result in the entries associated with transient
|
||||
// sources removed once the notification is shown anyway.
|
||||
// However, keeping these pairs would mean that we would
|
||||
// possibly remove an entry associated with a persistent
|
||||
// source when a transient source for the same sender is
|
||||
// distroyed.
|
||||
if (!source.isTransient) {
|
||||
this._senderToPid[sender] = pid;
|
||||
source.connect('destroy', Lang.bind(this, function() {
|
||||
delete this._senderToPid[sender];
|
||||
}));
|
||||
}
|
||||
this._notifyForSource(source, ndata);
|
||||
}));
|
||||
|
||||
return invocation.return_value(GLib.Variant.new('(u)', [id]));
|
||||
return id;
|
||||
},
|
||||
|
||||
_notifyForSource: function(source, ndata) {
|
||||
@ -445,8 +452,8 @@ NotificationDaemon.prototype = {
|
||||
if (!tracker.focus_app)
|
||||
return;
|
||||
|
||||
for (let id in this._sources) {
|
||||
let source = this._sources[id];
|
||||
for (let i = 0; i < this._sources.length; i++) {
|
||||
let source = this._sources[i];
|
||||
if (source.app == tracker.focus_app) {
|
||||
source.destroyNonResidentNotifications();
|
||||
return;
|
||||
@ -455,27 +462,32 @@ NotificationDaemon.prototype = {
|
||||
},
|
||||
|
||||
_emitNotificationClosed: function(id, reason) {
|
||||
this._dbusImpl.emit_signal('NotificationClosed',
|
||||
GLib.Variant.new('(uu)', [id, reason]));
|
||||
DBus.session.emit_signal('/org/freedesktop/Notifications',
|
||||
'org.freedesktop.Notifications',
|
||||
'NotificationClosed', 'uu',
|
||||
[id, reason]);
|
||||
},
|
||||
|
||||
_emitActionInvoked: function(id, action) {
|
||||
this._dbusImpl.emit_signal('ActionInvoked',
|
||||
GLib.Variant.new('(us)', [id, action]));
|
||||
DBus.session.emit_signal('/org/freedesktop/Notifications',
|
||||
'org.freedesktop.Notifications',
|
||||
'ActionInvoked', 'us',
|
||||
[id, action]);
|
||||
},
|
||||
|
||||
_onTrayIconAdded: function(o, icon) {
|
||||
let source = this._getSource(icon.title || icon.wm_class || _("Unknown"), icon.pid, null, null);
|
||||
source.setTrayIcon(icon);
|
||||
let source = this._getSource(icon.title || icon.wm_class || _("Unknown"), icon.pid, null, null, icon);
|
||||
},
|
||||
|
||||
_onTrayIconRemoved: function(o, icon) {
|
||||
let source = this._sources[icon.pid];
|
||||
let source = this._lookupSource(icon.pid, null, true);
|
||||
if (source)
|
||||
source.destroy();
|
||||
}
|
||||
};
|
||||
|
||||
DBus.conformExport(NotificationDaemon.prototype, NotificationDaemonIface);
|
||||
|
||||
function Source(title, pid, sender) {
|
||||
this._init(title, pid, sender);
|
||||
}
|
||||
@ -483,24 +495,34 @@ function Source(title, pid, sender) {
|
||||
Source.prototype = {
|
||||
__proto__: MessageTray.Source.prototype,
|
||||
|
||||
_init: function(title, pid, sender) {
|
||||
_init: function(title, pid, sender, trayIcon) {
|
||||
MessageTray.Source.prototype._init.call(this, title);
|
||||
|
||||
this._pid = pid;
|
||||
this.initialTitle = title;
|
||||
|
||||
this.pid = pid;
|
||||
if (sender)
|
||||
this._nameWatcherId = Gio.DBus.session.watch_name(sender,
|
||||
Gio.BusNameWatcherFlags.NONE,
|
||||
null,
|
||||
Lang.bind(this, this._onNameVanished));
|
||||
else
|
||||
this._nameWatcherId = 0;
|
||||
// TODO: dbus-glib implementation of watch_name() doesn’t return an id to be used for
|
||||
// unwatch_name() or implement unwatch_name(), however when we move to using GDBus implementation,
|
||||
// we should save the id here and call unwatch_name() with it in destroy().
|
||||
// Moving to GDBus is the work in progress: https://bugzilla.gnome.org/show_bug.cgi?id=648651
|
||||
// and https://bugzilla.gnome.org/show_bug.cgi?id=622921 .
|
||||
DBus.session.watch_name(sender,
|
||||
false,
|
||||
null,
|
||||
Lang.bind(this, this._onNameVanished));
|
||||
|
||||
this._setApp();
|
||||
if (this.app)
|
||||
this.title = this.app.get_name();
|
||||
else
|
||||
this.useNotificationIcon = true;
|
||||
this._trayIcon = null;
|
||||
|
||||
this.trayIcon = trayIcon;
|
||||
if (this.trayIcon) {
|
||||
this._setSummaryIcon(this.trayIcon);
|
||||
this.useNotificationIcon = false;
|
||||
}
|
||||
},
|
||||
|
||||
_onNameVanished: function() {
|
||||
@ -527,7 +549,7 @@ Source.prototype = {
|
||||
},
|
||||
|
||||
handleSummaryClick: function() {
|
||||
if (!this._trayIcon)
|
||||
if (!this.trayIcon)
|
||||
return false;
|
||||
|
||||
let event = Clutter.get_current_event();
|
||||
@ -548,11 +570,11 @@ Source.prototype = {
|
||||
let id = global.connect('notify::stage-input-mode', Lang.bind(this,
|
||||
function () {
|
||||
global.disconnect(id);
|
||||
this._trayIcon.click(event);
|
||||
this.trayIcon.click(event);
|
||||
}));
|
||||
Main.overview.hide();
|
||||
} else {
|
||||
this._trayIcon.click(event);
|
||||
this.trayIcon.click(event);
|
||||
}
|
||||
return true;
|
||||
},
|
||||
@ -561,31 +583,25 @@ Source.prototype = {
|
||||
if (this.app)
|
||||
return;
|
||||
|
||||
this.app = Shell.WindowTracker.get_default().get_app_from_pid(this._pid);
|
||||
this.app = Shell.WindowTracker.get_default().get_app_from_pid(this.pid);
|
||||
if (!this.app)
|
||||
return;
|
||||
|
||||
// Only override the icon if we were previously using
|
||||
// notification-based icons (ie, not a trayicon) or if it was unset before
|
||||
if (!this._trayIcon) {
|
||||
if (!this.trayIcon) {
|
||||
this.useNotificationIcon = false;
|
||||
this._setSummaryIcon(this.app.create_icon_texture (this.ICON_SIZE));
|
||||
}
|
||||
},
|
||||
|
||||
setTrayIcon: function(icon) {
|
||||
this._setSummaryIcon(icon);
|
||||
this.useNotificationIcon = false;
|
||||
this._trayIcon = icon;
|
||||
},
|
||||
|
||||
open: function(notification) {
|
||||
this.destroyNonResidentNotifications();
|
||||
this.openApp();
|
||||
},
|
||||
|
||||
_lastNotificationRemoved: function() {
|
||||
if (!this._trayIcon)
|
||||
if (!this.trayIcon)
|
||||
this.destroy();
|
||||
},
|
||||
|
||||
@ -601,11 +617,6 @@ Source.prototype = {
|
||||
},
|
||||
|
||||
destroy: function() {
|
||||
if (this._nameWatcherId) {
|
||||
Gio.DBus.session.unwatch_name(this._nameWatcherId);
|
||||
this._nameWatcherId = 0;
|
||||
}
|
||||
|
||||
MessageTray.Source.prototype.destroy.call(this);
|
||||
}
|
||||
};
|
||||
|
@ -195,9 +195,9 @@ PlacesManager.prototype = {
|
||||
|
||||
this._bookmarksPath = GLib.build_filenamev([GLib.get_home_dir(), '.gtk-bookmarks']);
|
||||
this._bookmarksFile = Gio.file_new_for_path(this._bookmarksPath);
|
||||
this._monitor = this._bookmarksFile.monitor_file(Gio.FileMonitorFlags.NONE, null);
|
||||
let monitor = this._bookmarksFile.monitor_file(Gio.FileMonitorFlags.NONE, null);
|
||||
this._bookmarkTimeoutId = 0;
|
||||
this._monitor.connect('changed', Lang.bind(this, function () {
|
||||
monitor.connect('changed', Lang.bind(this, function () {
|
||||
if (this._bookmarkTimeoutId > 0)
|
||||
return;
|
||||
/* Defensive event compression */
|
||||
|
@ -108,16 +108,14 @@ PopupBaseMenuItem.prototype = {
|
||||
this.emit('activate', event);
|
||||
},
|
||||
|
||||
setActive: function (active, params) {
|
||||
setActive: function (active) {
|
||||
let activeChanged = active != this.active;
|
||||
params = Params.parse (params, { grabKeyboard: true });
|
||||
|
||||
if (activeChanged) {
|
||||
this.active = active;
|
||||
if (active) {
|
||||
this.actor.add_style_pseudo_class('active');
|
||||
if (params.grabKeyboard)
|
||||
this.actor.grab_key_focus();
|
||||
this.actor.grab_key_focus();
|
||||
} else
|
||||
this.actor.remove_style_pseudo_class('active');
|
||||
this.emit('active-changed', active);
|
||||
@ -1021,11 +1019,6 @@ PopupMenuBase.prototype = {
|
||||
}
|
||||
if (menuItem instanceof PopupMenuSection) {
|
||||
this._connectSubMenuSignals(menuItem, menuItem);
|
||||
menuItem._closingId = this.connect('open-state-changed',
|
||||
function(self, open) {
|
||||
if (!open)
|
||||
menuItem.close(false);
|
||||
});
|
||||
menuItem.connect('destroy', Lang.bind(this, function() {
|
||||
menuItem.disconnect(menuItem._subMenuActivateId);
|
||||
menuItem.disconnect(menuItem._subMenuActiveChangeId);
|
||||
@ -1425,10 +1418,9 @@ PopupMenuSection.prototype = {
|
||||
this.isOpen = true;
|
||||
},
|
||||
|
||||
// deliberately ignore any attempt to open() or close(), but emit the
|
||||
// corresponding signal so children can still pick it up
|
||||
open: function(animate) { this.emit('open-state-changed', true); },
|
||||
close: function() { this.emit('open-state-changed', false); },
|
||||
// deliberately ignore any attempt to open() or close()
|
||||
open: function(animate) { },
|
||||
close: function() { },
|
||||
}
|
||||
|
||||
function PopupSubMenuMenuItem() {
|
||||
@ -1502,8 +1494,6 @@ PopupComboMenu.prototype = {
|
||||
this.actor._delegate = this;
|
||||
this.actor.connect('key-press-event', Lang.bind(this, this._onKeyPressEvent));
|
||||
this.actor.connect('key-focus-in', Lang.bind(this, this._onKeyFocusIn));
|
||||
sourceActor.connect('style-changed',
|
||||
Lang.bind(this, this._onSourceActorStyleChanged));
|
||||
this._activeItemPos = -1;
|
||||
global.focus_manager.add_group(this.actor);
|
||||
},
|
||||
@ -1523,26 +1513,6 @@ PopupComboMenu.prototype = {
|
||||
activeItem.actor.grab_key_focus();
|
||||
},
|
||||
|
||||
_onSourceActorStyleChanged: function() {
|
||||
// PopupComboBoxMenuItem clones the active item's actors
|
||||
// to work with arbitrary items in the menu; this means
|
||||
// that we need to propagate some style information and
|
||||
// enforce style updates even when the menu is closed
|
||||
let activeItem = this._getMenuItems()[this._activeItemPos];
|
||||
if (this.sourceActor.has_style_pseudo_class('insensitive'))
|
||||
activeItem.actor.add_style_pseudo_class('insensitive');
|
||||
else
|
||||
activeItem.actor.remove_style_pseudo_class('insensitive');
|
||||
|
||||
// To propagate the :active style, we need to make sure that the
|
||||
// internal state of the PopupComboMenu is updated as well, but
|
||||
// we must not move the keyboard grab
|
||||
activeItem.setActive(this.sourceActor.has_style_pseudo_class('active'),
|
||||
{ grabKeyboard: false });
|
||||
|
||||
_ensureStyle(this.actor);
|
||||
},
|
||||
|
||||
open: function() {
|
||||
if (this.isOpen)
|
||||
return;
|
||||
|
@ -1,5 +1,6 @@
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const DBus = imports.dbus;
|
||||
const Gio = imports.gi.Gio;
|
||||
const Mainloop = imports.mainloop;
|
||||
const Meta = imports.gi.Meta;
|
||||
@ -69,21 +70,24 @@ function waitLeisure() {
|
||||
};
|
||||
}
|
||||
|
||||
const PerfHelperIface = <interface name="org.gnome.Shell.PerfHelper">
|
||||
<method name="CreateWindow">
|
||||
<arg type="i" direction="in" />
|
||||
<arg type="i" direction="in" />
|
||||
<arg type="b" direction="in" />
|
||||
<arg type="b" direction="in" />
|
||||
</method>
|
||||
<method name="WaitWindows" />
|
||||
<method name="DestroyWindows" />
|
||||
</interface>;
|
||||
const PerfHelperIface = {
|
||||
name: 'org.gnome.Shell.PerfHelper',
|
||||
methods: [{ name: 'CreateWindow', inSignature: 'iibb', outSignature: '' },
|
||||
{ name: 'WaitWindows', inSignature: '', outSignature: '' },
|
||||
{ name: 'DestroyWindows', inSignature: '', outSignature: ''}]
|
||||
};
|
||||
|
||||
var PerfHelperProxy = Gio.DBusProxy.makeProxyWrapper(PerfHelperIface);
|
||||
function PerfHelper() {
|
||||
return new PerfHelperProxy(Gio.DBus.session, 'org.gnome.Shell.PerfHelper', '/org/gnome/Shell/PerfHelper');
|
||||
}
|
||||
const PerfHelper = function () {
|
||||
this._init();
|
||||
};
|
||||
|
||||
PerfHelper.prototype = {
|
||||
_init: function() {
|
||||
DBus.session.proxifyObject(this, 'org.gnome.Shell.PerfHelper', '/org/gnome/Shell/PerfHelper');
|
||||
}
|
||||
};
|
||||
|
||||
DBus.proxifyPrototype(PerfHelper.prototype, PerfHelperIface);
|
||||
|
||||
let _perfHelper = null;
|
||||
function _getPerfHelper() {
|
||||
|
@ -1,70 +1,71 @@
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const DBus = imports.dbus;
|
||||
const Lang = imports.lang;
|
||||
const Gio = imports.gi.Gio;
|
||||
const GLib = imports.gi.GLib;
|
||||
|
||||
const Config = imports.misc.config;
|
||||
const ExtensionSystem = imports.ui.extensionSystem;
|
||||
const Main = imports.ui.main;
|
||||
|
||||
const GnomeShellIface = <interface name="org.gnome.Shell">
|
||||
<method name="Eval">
|
||||
<arg type="s" direction="in" name="script" />
|
||||
<arg type="b" direction="out" name="success" />
|
||||
<arg type="s" direction="out" name="result" />
|
||||
</method>
|
||||
<method name="ListExtensions">
|
||||
<arg type="a{sa{sv}}" direction="out" name="extensions" />
|
||||
</method>
|
||||
<method name="GetExtensionInfo">
|
||||
<arg type="s" direction="in" name="extension" />
|
||||
<arg type="a{sv}" direction="out" name="info" />
|
||||
</method>
|
||||
<method name="GetExtensionErrors">
|
||||
<arg type="s" direction="in" name="extension" />
|
||||
<arg type="as" direction="out" name="errors" />
|
||||
</method>
|
||||
<method name="ScreenshotArea">
|
||||
<arg type="i" direction="in" name="x"/>
|
||||
<arg type="i" direction="in" name="y"/>
|
||||
<arg type="i" direction="in" name="width"/>
|
||||
<arg type="i" direction="in" name="height"/>
|
||||
<arg type="s" direction="in" name="filename"/>
|
||||
<arg type="b" direction="out" name="success"/>
|
||||
</method>
|
||||
<method name="ScreenshotWindow">
|
||||
<arg type="b" direction="in" name="include_frame"/>
|
||||
<arg type="s" direction="in" name="filename"/>
|
||||
<arg type="b" direction="out" name="success"/>
|
||||
</method>
|
||||
<method name="Screenshot">
|
||||
<arg type="s" direction="in" name="filename"/>
|
||||
<arg type="b" direction="out" name="success"/>
|
||||
</method>
|
||||
<method name="EnableExtension">
|
||||
<arg type="s" direction="in" name="uuid"/>
|
||||
</method>
|
||||
<method name="DisableExtension">
|
||||
<arg type="s" direction="in" name="uuid"/>
|
||||
</method>
|
||||
<method name="InstallRemoteExtension">
|
||||
<arg type="s" direction="in" name="uuid"/>
|
||||
<arg type="s" direction="in" name="version"/>
|
||||
</method>
|
||||
<method name="UninstallExtension">
|
||||
<arg type="s" direction="in" name="uuid"/>
|
||||
<arg type="b" direction="out" name="success"/>
|
||||
</method>
|
||||
<property name="OverviewActive" type="b" access="readwrite" />
|
||||
<property name="ApiVersion" type="i" access="read" />
|
||||
<property name="ShellVersion" type="s" access="read" />
|
||||
<signal name="ExtensionStatusChanged">
|
||||
<arg type="s" name="uuid"/>
|
||||
<arg type="i" name="state"/>
|
||||
<arg type="s" name="error"/>
|
||||
</signal>
|
||||
</interface>;
|
||||
const GnomeShellIface = {
|
||||
name: 'org.gnome.Shell',
|
||||
methods: [{ name: 'Eval',
|
||||
inSignature: 's',
|
||||
outSignature: 'bs'
|
||||
},
|
||||
{ name: 'ListExtensions',
|
||||
inSignature: '',
|
||||
outSignature: 'a{sa{sv}}'
|
||||
},
|
||||
{ name: 'GetExtensionInfo',
|
||||
inSignature: 's',
|
||||
outSignature: 'a{sv}'
|
||||
},
|
||||
{ name: 'GetExtensionErrors',
|
||||
inSignature: 's',
|
||||
outSignature: 'as'
|
||||
},
|
||||
{ name: 'ScreenshotArea',
|
||||
inSignature: 'iiiis',
|
||||
outSignature: 'b'
|
||||
},
|
||||
{ name: 'ScreenshotWindow',
|
||||
inSignature: 'bs',
|
||||
outSignature: 'b'
|
||||
},
|
||||
{ name: 'Screenshot',
|
||||
inSignature: 's',
|
||||
outSignature: 'b'
|
||||
},
|
||||
{ name: 'EnableExtension',
|
||||
inSignature: 's',
|
||||
outSignature: ''
|
||||
},
|
||||
{ name: 'DisableExtension',
|
||||
inSignature: 's',
|
||||
outSignature: ''
|
||||
},
|
||||
{ name: 'InstallRemoteExtension',
|
||||
inSignature: 'ss',
|
||||
outSignature: ''
|
||||
},
|
||||
{ name: 'UninstallExtension',
|
||||
inSignature: 's',
|
||||
outSignature: 'b'
|
||||
}
|
||||
],
|
||||
signals: [{ name: 'ExtensionStatusChanged',
|
||||
inSignature: 'sis' }],
|
||||
properties: [{ name: 'OverviewActive',
|
||||
signature: 'b',
|
||||
access: 'readwrite' },
|
||||
{ name: 'ApiVersion',
|
||||
signature: 'i',
|
||||
access: 'read' },
|
||||
{ name: 'ShellVersion',
|
||||
signature: 's',
|
||||
access: 'read' }]
|
||||
};
|
||||
|
||||
function GnomeShell() {
|
||||
this._init();
|
||||
@ -72,8 +73,7 @@ function GnomeShell() {
|
||||
|
||||
GnomeShell.prototype = {
|
||||
_init: function() {
|
||||
this._dbusImpl = Gio.DBusExportedObject.wrapJSObject(GnomeShellIface, this);
|
||||
this._dbusImpl.export(Gio.DBus.session, '/org/gnome/Shell');
|
||||
DBus.session.exportObject('/org/gnome/Shell', this);
|
||||
ExtensionSystem.connect('extension-state-changed',
|
||||
Lang.bind(this, this._extensionStateChanged));
|
||||
},
|
||||
@ -93,9 +93,6 @@ GnomeShell.prototype = {
|
||||
*
|
||||
*/
|
||||
Eval: function(code) {
|
||||
if (!global.settings.get_boolean('development-tools'))
|
||||
return [false, null];
|
||||
|
||||
let returnValue;
|
||||
let success;
|
||||
try {
|
||||
@ -156,33 +153,11 @@ GnomeShell.prototype = {
|
||||
},
|
||||
|
||||
ListExtensions: function() {
|
||||
let out;
|
||||
for (let uuid in ExtensionSystem.extensionMeta) {
|
||||
let dbusObj = this.GetExtensionInfo(uuid);
|
||||
out[uuid] = dbusObj;
|
||||
}
|
||||
return out;
|
||||
return ExtensionSystem.extensionMeta;
|
||||
},
|
||||
|
||||
GetExtensionInfo: function(uuid) {
|
||||
let meta = ExtensionSystem.extensionMeta[uuid] || {};
|
||||
let out;
|
||||
for (let key in meta) {
|
||||
let val = meta[key];
|
||||
let type;
|
||||
switch (typeof val) {
|
||||
case 'object':
|
||||
throw Error('Extension had a nested object in the metadata. This is not supported');
|
||||
case 'string':
|
||||
type = 's';
|
||||
break;
|
||||
case 'number':
|
||||
type = 'd';
|
||||
break;
|
||||
}
|
||||
out[key] = GLib.Variant.new(type, val);
|
||||
}
|
||||
return out;
|
||||
return ExtensionSystem.extensionMeta[uuid] || {};
|
||||
},
|
||||
|
||||
GetExtensionErrors: function(uuid) {
|
||||
@ -227,7 +202,12 @@ GnomeShell.prototype = {
|
||||
ShellVersion: Config.PACKAGE_VERSION,
|
||||
|
||||
_extensionStateChanged: function(_, newState) {
|
||||
this._dbusImpl.emit_signal('ExtensionStatusChanged',
|
||||
GLib.Variant.new('(sis)', [newState.uuid, newState.state, newState.error]));
|
||||
DBus.session.emit_signal('/org/gnome/Shell',
|
||||
'org.gnome.Shell',
|
||||
'ExtensionStatusChanged', 'sis',
|
||||
[newState.uuid, newState.state, newState.error]);
|
||||
}
|
||||
};
|
||||
|
||||
DBus.conformExport(GnomeShell.prototype, GnomeShellIface);
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const DBus = imports.dbus;
|
||||
const GDesktopEnums = imports.gi.GDesktopEnums;
|
||||
const GConf = imports.gi.GConf;
|
||||
const Gio = imports.gi.Gio;
|
||||
const Gtk = imports.gi.Gtk;
|
||||
const Lang = imports.lang;
|
||||
@ -30,8 +30,8 @@ const DPI_FACTOR_LARGE = 1.25;
|
||||
const DPI_FACTOR_LARGER = 1.5;
|
||||
const DPI_FACTOR_LARGEST = 2.0;
|
||||
|
||||
const WM_SCHEMA = 'org.gnome.desktop.wm.preferences';
|
||||
const KEY_VISUAL_BELL = 'visual-bell';
|
||||
const KEY_META_DIR = '/apps/metacity/general';
|
||||
const KEY_VISUAL_BELL = KEY_META_DIR + '/visual_bell';
|
||||
|
||||
const DESKTOP_INTERFACE_SCHEMA = 'org.gnome.desktop.interface';
|
||||
const KEY_GTK_THEME = 'gtk-theme';
|
||||
@ -50,6 +50,10 @@ ATIndicator.prototype = {
|
||||
_init: function() {
|
||||
PanelMenu.SystemStatusButton.prototype._init.call(this, 'preferences-desktop-accessibility', null);
|
||||
|
||||
let client = GConf.Client.get_default();
|
||||
client.add_dir(KEY_META_DIR, GConf.ClientPreloadType.PRELOAD_ONELEVEL, null);
|
||||
client.notify_add(KEY_META_DIR, Lang.bind(this, this._keyChanged), null, null);
|
||||
|
||||
let highContrast = this._buildHCItem();
|
||||
this.menu.addMenuItem(highContrast);
|
||||
|
||||
@ -68,7 +72,7 @@ ATIndicator.prototype = {
|
||||
'screen-keyboard-enabled');
|
||||
this.menu.addMenuItem(screenKeyboard);
|
||||
|
||||
let visualBell = this._buildItem(_("Visual Alerts"), WM_SCHEMA, KEY_VISUAL_BELL);
|
||||
let visualBell = this._buildItemGConf(_("Visual Alerts"), client, KEY_VISUAL_BELL);
|
||||
this.menu.addMenuItem(visualBell);
|
||||
|
||||
let stickyKeys = this._buildItem(_("Sticky Keys"), A11Y_SCHEMA, KEY_STICKY_KEYS_ENABLED);
|
||||
@ -98,6 +102,22 @@ ATIndicator.prototype = {
|
||||
return widget;
|
||||
},
|
||||
|
||||
_buildItemGConf: function(string, client, key) {
|
||||
function on_get() {
|
||||
return client.get_bool(key);
|
||||
}
|
||||
let widget = this._buildItemExtended(string,
|
||||
client.get_bool(key),
|
||||
client.key_is_writable(key),
|
||||
function(enabled) {
|
||||
client.set_bool(key, enabled);
|
||||
});
|
||||
this.connect('gconf-changed', function() {
|
||||
widget.setToggleState(client.get_bool(key));
|
||||
});
|
||||
return widget;
|
||||
},
|
||||
|
||||
_buildItem: function(string, schema, key) {
|
||||
let settings = new Gio.Settings({ schema: schema });
|
||||
let widget = this._buildItemExtended(string,
|
||||
@ -171,6 +191,10 @@ ATIndicator.prototype = {
|
||||
widget.setToggleState(active);
|
||||
});
|
||||
return widget;
|
||||
},
|
||||
|
||||
_keyChanged: function() {
|
||||
this.emit('gconf-changed');
|
||||
}
|
||||
};
|
||||
Signals.addSignalMethods(ATIndicator.prototype);
|
||||
|
@ -204,10 +204,9 @@ Indicator.prototype = {
|
||||
|
||||
_buildDeviceSubMenu: function(item, device) {
|
||||
if (device.can_connect) {
|
||||
let menuitem = new PopupMenu.PopupSwitchMenuItem(_("Connection"), device.connected);
|
||||
item._connected = device.connected;
|
||||
item._connectedMenuItem = menuitem;
|
||||
menuitem.connect('toggled', Lang.bind(this, function() {
|
||||
item._connectedMenuitem = new PopupMenu.PopupSwitchMenuItem(_("Connection"), device.connected);
|
||||
item._connectedMenuitem.connect('toggled', Lang.bind(this, function() {
|
||||
if (item._connected > ConnectionState.CONNECTED) {
|
||||
// operation already in progress, revert
|
||||
// (should not happen anyway)
|
||||
@ -242,7 +241,7 @@ Indicator.prototype = {
|
||||
}
|
||||
}));
|
||||
|
||||
item.menu.addMenuItem(menuitem);
|
||||
item.menu.addMenuItem(item._connectedMenuitem);
|
||||
}
|
||||
|
||||
if (device.capabilities & GnomeBluetoothApplet.Capabilities.OBEX_PUSH) {
|
||||
|
@ -1,7 +1,7 @@
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
const ByteArray = imports.byteArray;
|
||||
const DBus = imports.dbus;
|
||||
const GLib = imports.gi.GLib;
|
||||
const Gio = imports.gi.Gio;
|
||||
const GObject = imports.gi.GObject;
|
||||
const Lang = imports.lang;
|
||||
const Mainloop = imports.mainloop;
|
||||
@ -2065,11 +2065,10 @@ NMApplet.prototype = {
|
||||
}
|
||||
this.setIcon('network-wireless-connected');
|
||||
} else {
|
||||
if (this._activeAccessPoint != ap) {
|
||||
if (this._accessPointUpdateId)
|
||||
this._activeAccessPoint.disconnect(this._accessPointUpdateId);
|
||||
if (this._accessPointUpdateId && this._activeAccessPoint != ap) {
|
||||
this._activeAccessPoint.disconnect(this._accessPointUpdateId);
|
||||
this._activeAccessPoint = ap;
|
||||
this._activeAccessPointUpdateId = ap.connect('notify::strength', Lang.bind(this, function() {
|
||||
this._activeAccessPointUpdateId = ap.connect('notify::strength', Lang.bind(function() {
|
||||
this.setIcon('network-wireless-signal-' + signalToIcon(ap.strength));
|
||||
}));
|
||||
}
|
||||
@ -2096,9 +2095,8 @@ NMApplet.prototype = {
|
||||
break;
|
||||
}
|
||||
|
||||
if (dev.mobileDevice != this._mobileUpdateDevice) {
|
||||
if (this._mobileUpdateId)
|
||||
this._mobileUpdateDevice.disconnect(this._mobileUpdateId);
|
||||
if (this._mobileUpdateId && this._mobileUpdateDevice != dev) {
|
||||
this._mobileUpdateDevice.disconnect(this._mobileUpdateId);
|
||||
this._mobileUpdateDevice = dev.mobileDevice;
|
||||
this._mobileUpdateId = dev.mobileDevice.connect('notify::signal-quality', Lang.bind(this, function() {
|
||||
this.setIcon('network-cellular-signal-' + signalToIcon(dev.mobileDevice.signal_quality));
|
||||
|
@ -1,7 +1,7 @@
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Gio = imports.gi.Gio;
|
||||
const GLib = imports.gi.GLib;
|
||||
const DBus = imports.dbus;
|
||||
const Lang = imports.lang;
|
||||
const Mainloop = imports.mainloop;
|
||||
const Shell = imports.gi.Shell;
|
||||
@ -40,18 +40,20 @@ const UPDeviceState = {
|
||||
PENDING_DISCHARGE: 6
|
||||
};
|
||||
|
||||
const PowerManagerInterface = <interface name="org.gnome.SettingsDaemon.Power">
|
||||
<method name="GetDevices">
|
||||
<arg type="a(susdut)" direction="out" />
|
||||
</method>
|
||||
<method name="GetPrimaryDevice">
|
||||
<arg type="(susdut)" direction="out" />
|
||||
</method>
|
||||
<signal name="Changed" />
|
||||
<property name="Icon" type="s" access="read" />
|
||||
</interface>;
|
||||
|
||||
const PowerManagerProxy = Gio.DBusProxy.makeProxyWrapper(PowerManagerInterface);
|
||||
const PowerManagerInterface = {
|
||||
name: 'org.gnome.SettingsDaemon.Power',
|
||||
methods: [
|
||||
{ name: 'GetDevices', inSignature: '', outSignature: 'a(susdut)' },
|
||||
{ name: 'GetPrimaryDevice', inSignature: '', outSignature: '(susdut)' },
|
||||
],
|
||||
signals: [
|
||||
{ name: 'Changed', inSignature: '' },
|
||||
],
|
||||
properties: [
|
||||
{ name: 'Icon', signature: 's', access: 'read' },
|
||||
]
|
||||
};
|
||||
let PowerManagerProxy = DBus.makeProxyClass(PowerManagerInterface);
|
||||
|
||||
function Indicator() {
|
||||
this._init.apply(this, arguments);
|
||||
@ -62,7 +64,7 @@ Indicator.prototype = {
|
||||
|
||||
_init: function() {
|
||||
PanelMenu.SystemStatusButton.prototype._init.call(this, 'battery-missing');
|
||||
this._proxy = new PowerManagerProxy(Gio.DBus.session, BUS_NAME, OBJECT_PATH);
|
||||
this._proxy = new PowerManagerProxy(DBus.session, BUS_NAME, OBJECT_PATH);
|
||||
|
||||
this._deviceItems = [ ];
|
||||
this._hasPrimary = false;
|
||||
@ -79,19 +81,19 @@ Indicator.prototype = {
|
||||
this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
|
||||
this.menu.addSettingsAction(_("Power Settings"), 'gnome-power-panel.desktop');
|
||||
|
||||
this._proxy.connectSignal('Changed', Lang.bind(this, this._devicesChanged));
|
||||
this._proxy.connect('Changed', Lang.bind(this, this._devicesChanged));
|
||||
this._devicesChanged();
|
||||
},
|
||||
|
||||
_readPrimaryDevice: function() {
|
||||
this._proxy.GetPrimaryDeviceRemote(Lang.bind(this, function(result, error) {
|
||||
this._proxy.GetPrimaryDeviceRemote(Lang.bind(this, function(device, error) {
|
||||
if (error) {
|
||||
this._hasPrimary = false;
|
||||
this._primaryDeviceId = null;
|
||||
this._batteryItem.actor.hide();
|
||||
return;
|
||||
}
|
||||
let [[device_id, device_type, icon, percentage, state, seconds]] = result;
|
||||
let [device_id, device_type, icon, percentage, state, seconds] = device;
|
||||
if (device_type == UPDeviceType.BATTERY) {
|
||||
this._hasPrimary = true;
|
||||
let time = Math.round(seconds / 60);
|
||||
@ -128,7 +130,7 @@ Indicator.prototype = {
|
||||
},
|
||||
|
||||
_readOtherDevices: function() {
|
||||
this._proxy.GetDevicesRemote(Lang.bind(this, function(result, error) {
|
||||
this._proxy.GetDevicesRemote(Lang.bind(this, function(devices, error) {
|
||||
this._deviceItems.forEach(function(i) { i.destroy(); });
|
||||
this._deviceItems = [];
|
||||
|
||||
@ -137,7 +139,6 @@ Indicator.prototype = {
|
||||
}
|
||||
|
||||
let position = 0;
|
||||
let [devices] = result;
|
||||
for (let i = 0; i < devices.length; i++) {
|
||||
let [device_id, device_type] = devices[i];
|
||||
if (device_type == UPDeviceType.AC_POWER || device_id == this._primaryDeviceId)
|
||||
@ -152,15 +153,16 @@ Indicator.prototype = {
|
||||
},
|
||||
|
||||
_devicesChanged: function() {
|
||||
let icon = this._proxy.Icon;
|
||||
if (icon) {
|
||||
let gicon = Gio.icon_new_for_string(icon);
|
||||
this.setGIcon(gicon);
|
||||
this.actor.show();
|
||||
} else {
|
||||
this.menu.close();
|
||||
this.actor.hide();
|
||||
}
|
||||
this._proxy.GetRemote('Icon', Lang.bind(this, function(icon, error) {
|
||||
if (icon) {
|
||||
let gicon = Gio.icon_new_for_string(icon);
|
||||
this.setGIcon(gicon);
|
||||
this.actor.show();
|
||||
} else {
|
||||
this.menu.close();
|
||||
this.actor.hide();
|
||||
}
|
||||
}));
|
||||
this._readPrimaryDevice();
|
||||
this._readOtherDevices();
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const DBus = imports.dbus;
|
||||
const Lang = imports.lang;
|
||||
const Mainloop = imports.mainloop;
|
||||
const Shell = imports.gi.Shell;
|
||||
|
@ -1,5 +1,6 @@
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const DBus = imports.dbus;
|
||||
const Gio = imports.gi.Gio;
|
||||
const GLib = imports.gi.GLib;
|
||||
const Lang = imports.lang;
|
||||
@ -899,7 +900,7 @@ ChatNotification.prototype = {
|
||||
}
|
||||
|
||||
let groups = this._contentArea.get_children();
|
||||
for (let i = 0; i < groups.length; i++) {
|
||||
for (let i = 0; i < groups.length; i ++) {
|
||||
let group = groups[i];
|
||||
if (group.get_children().length == 0)
|
||||
group.destroy();
|
||||
@ -937,7 +938,7 @@ ChatNotification.prototype = {
|
||||
let body = highlighter.actor;
|
||||
|
||||
let styles = props.styles;
|
||||
for (let i = 0; i < styles.length; i++)
|
||||
for (let i = 0; i < styles.length; i ++)
|
||||
body.add_style_class_name(styles[i]);
|
||||
|
||||
let group = props.group;
|
||||
@ -1296,7 +1297,7 @@ MultiNotificationSource.prototype = {
|
||||
},
|
||||
|
||||
createNotificationIcon: function() {
|
||||
return new St.Icon({ gicon: Gio.icon_new_for_string(this._icon),
|
||||
return new St.Icon({ gicon: Shell.util_icon_from_string(this._icon),
|
||||
icon_type: St.IconType.FULLCOLOR,
|
||||
icon_size: this.ICON_SIZE });
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const AccountsService = imports.gi.AccountsService;
|
||||
const DBus = imports.dbus;
|
||||
const Gio = imports.gi.Gio;
|
||||
const GLib = imports.gi.GLib;
|
||||
const Lang = imports.lang;
|
||||
@ -157,31 +158,21 @@ IMStatusChooserItem.prototype = {
|
||||
Lang.bind(this, this._changeIMStatus));
|
||||
|
||||
this._presence = new GnomeSession.Presence();
|
||||
this._presence.connectSignal('StatusChanged', Lang.bind(this, function(proxy, senderName, [status]) {
|
||||
this._sessionStatusChanged(status);
|
||||
}));
|
||||
this._presence.connect('StatusChanged',
|
||||
Lang.bind(this, this._sessionStatusChanged));
|
||||
|
||||
this._sessionPresenceRestored = false;
|
||||
this._imPresenceRestored = false;
|
||||
this._currentPresence = undefined;
|
||||
|
||||
this._accountMgr = Tp.AccountManager.dup();
|
||||
this._accountMgr = Tp.AccountManager.dup()
|
||||
this._accountMgr.connect('most-available-presence-changed',
|
||||
Lang.bind(this, this._IMStatusChanged));
|
||||
this._accountMgr.connect('account-enabled',
|
||||
Lang.bind(this, this._IMAccountsChanged));
|
||||
this._accountMgr.connect('account-disabled',
|
||||
Lang.bind(this, this._IMAccountsChanged));
|
||||
this._accountMgr.connect('account-removed',
|
||||
Lang.bind(this, this._IMAccountsChanged));
|
||||
this._accountMgr.prepare_async(null, Lang.bind(this,
|
||||
function(mgr) {
|
||||
let [presence, status, msg] = mgr.get_most_available_presence();
|
||||
|
||||
let savedPresence = global.settings.get_int('saved-im-presence');
|
||||
|
||||
this._IMAccountsChanged(mgr);
|
||||
|
||||
if (savedPresence == presence) {
|
||||
this._IMStatusChanged(mgr, presence, status, msg);
|
||||
} else {
|
||||
@ -208,21 +199,6 @@ IMStatusChooserItem.prototype = {
|
||||
}));
|
||||
},
|
||||
|
||||
destroy: function() {
|
||||
// clean up signal handlers
|
||||
if (this._userLoadedId != 0) {
|
||||
this._user.disconnect(this._userLoadedId);
|
||||
this._userLoadedId = 0;
|
||||
}
|
||||
|
||||
if (this._userChangedId != 0) {
|
||||
this._user.disconnect(this._userChangedId);
|
||||
this._userChangedId = 0;
|
||||
}
|
||||
|
||||
PopupMenu.PopupBaseMenuItem.prototype.destroy.call(this);
|
||||
},
|
||||
|
||||
// Override getColumnWidths()/setColumnWidths() to make the item
|
||||
// independent from the overall column layout of the menu
|
||||
getColumnWidths: function() {
|
||||
@ -291,13 +267,6 @@ IMStatusChooserItem.prototype = {
|
||||
}
|
||||
},
|
||||
|
||||
_IMAccountsChanged: function(mgr) {
|
||||
let accounts = mgr.get_valid_accounts().filter(function(account) {
|
||||
return account.enabled;
|
||||
});
|
||||
this._combo.setSensitive(accounts.length > 0);
|
||||
},
|
||||
|
||||
_IMStatusChanged: function(accountMgr, presence, status, message) {
|
||||
if (!this._imPresenceRestored)
|
||||
this._imPresenceRestored = true;
|
||||
@ -309,14 +278,12 @@ IMStatusChooserItem.prototype = {
|
||||
this._setComboboxPresence(presence);
|
||||
|
||||
if (!this._sessionPresenceRestored) {
|
||||
this._presence.connectSignal('StatusChanged', Lang.bind(this, function (proxy, senderName, [status]) {
|
||||
this._sessionStatusChanged(status);
|
||||
}));
|
||||
this._presence.getStatus(Lang.bind(this, this._sessionStatusChanged));
|
||||
return;
|
||||
}
|
||||
|
||||
if (presence == Tp.ConnectionPresenceType.AVAILABLE)
|
||||
this._presence.status = GnomeSession.PresenceStatus.AVAILABLE;
|
||||
this._presence.setStatus(GnomeSession.PresenceStatus.AVAILABLE);
|
||||
|
||||
// We ignore the actual value of _expectedPresence and never safe
|
||||
// the first presence change after an "automatic" change, assuming
|
||||
@ -395,14 +362,14 @@ IMStatusChooserItem.prototype = {
|
||||
return this._currentPresence;
|
||||
},
|
||||
|
||||
_sessionStatusChanged: function(sessionStatus) {
|
||||
_sessionStatusChanged: function(sessionPresence, sessionStatus) {
|
||||
if (!this._imPresenceRestored)
|
||||
return;
|
||||
|
||||
if (!this._sessionPresenceRestored) {
|
||||
let savedStatus = global.settings.get_int('saved-session-presence');
|
||||
if (sessionStatus != savedStatus) {
|
||||
this._presence.status = savedStatus;
|
||||
this._presence.setStatus(savedStatus);
|
||||
return;
|
||||
}
|
||||
this._sessionPresenceRestored = true;
|
||||
@ -448,7 +415,7 @@ UserMenuButton.prototype = {
|
||||
this._session = new GnomeSession.SessionManager();
|
||||
this._haveShutdown = true;
|
||||
|
||||
this._accountMgr = Tp.AccountManager.dup();
|
||||
this._account_mgr = Tp.AccountManager.dup()
|
||||
|
||||
this._upClient = new UPowerGlib.Client();
|
||||
this._screenSaverProxy = new ScreenSaver.ScreenSaverProxy();
|
||||
@ -471,13 +438,13 @@ UserMenuButton.prototype = {
|
||||
this._idleIcon = new St.Icon({ icon_name: 'user-idle',
|
||||
style_class: 'popup-menu-icon' });
|
||||
|
||||
this._presence.connectSignal('StatusChanged', Lang.bind(this, function (proxy, senderName, [status]) {
|
||||
this._updateSwitch(status);
|
||||
}));
|
||||
this._presence.connect('StatusChanged',
|
||||
Lang.bind(this, this._updateSwitch));
|
||||
this._presence.getStatus(Lang.bind(this, this._updateSwitch));
|
||||
|
||||
this._accountMgr.connect('most-available-presence-changed',
|
||||
this._account_mgr.connect('most-available-presence-changed',
|
||||
Lang.bind(this, this._updatePresenceIcon));
|
||||
this._accountMgr.prepare_async(null, Lang.bind(this,
|
||||
this._account_mgr.prepare_async(null, Lang.bind(this,
|
||||
function(mgr) {
|
||||
let [presence, s, msg] = mgr.get_most_available_presence();
|
||||
this._updatePresenceIcon(mgr, presence, s, msg);
|
||||
@ -490,16 +457,8 @@ UserMenuButton.prototype = {
|
||||
this._updateUserName();
|
||||
|
||||
this._createSubMenu();
|
||||
|
||||
this._updateSwitch(this._presence.status);
|
||||
this._presence.connectSignal('StatusChanged', Lang.bind(this, function (proxy, senderName, [status]) {
|
||||
this._updateSwitch(status);
|
||||
}));
|
||||
|
||||
this._userManager.connect('notify::is-loaded',
|
||||
Lang.bind(this, this._updateSwitchUser));
|
||||
this._userManager.connect('notify::has-multiple-users',
|
||||
Lang.bind(this, this._updateSwitchUser));
|
||||
this._userManager.connect('user-added',
|
||||
Lang.bind(this, this._updateSwitchUser));
|
||||
this._userManager.connect('user-removed',
|
||||
@ -544,9 +503,7 @@ UserMenuButton.prototype = {
|
||||
|
||||
_updateSwitchUser: function() {
|
||||
let allowSwitch = !this._lockdownSettings.get_boolean(DISABLE_USER_SWITCH_KEY);
|
||||
if (allowSwitch &&
|
||||
this._userManager.can_switch() &&
|
||||
this._userManager.has_multiple_users)
|
||||
if (allowSwitch && this._userManager.can_switch ())
|
||||
this._loginScreenItem.actor.show();
|
||||
else
|
||||
this._loginScreenItem.actor.hide();
|
||||
@ -600,7 +557,7 @@ UserMenuButton.prototype = {
|
||||
}
|
||||
},
|
||||
|
||||
_updateSwitch: function(status) {
|
||||
_updateSwitch: function(presence, status) {
|
||||
let active = status == GnomeSession.PresenceStatus.AVAILABLE;
|
||||
this._notificationsSwitch.setToggleState(active);
|
||||
},
|
||||
@ -681,7 +638,7 @@ UserMenuButton.prototype = {
|
||||
} else {
|
||||
status = GnomeSession.PresenceStatus.BUSY;
|
||||
|
||||
let [presence, s, msg] = this._accountMgr.get_most_available_presence();
|
||||
let [presence, s, msg] = this._account_mgr.get_most_available_presence();
|
||||
let newPresence = this._statusChooser.getIMPresenceForSessionStatus(status);
|
||||
if (newPresence != presence &&
|
||||
newPresence == Tp.ConnectionPresenceType.BUSY)
|
||||
@ -689,7 +646,7 @@ UserMenuButton.prototype = {
|
||||
_("Notifications are now disabled, including chat messages. Your online status has been adjusted to let others know that you might not see their messages."));
|
||||
}
|
||||
|
||||
this._presence.status = status;
|
||||
this._presence.setStatus(status);
|
||||
},
|
||||
|
||||
_onMyAccountActivate: function() {
|
||||
|
@ -121,15 +121,15 @@ WindowManager.prototype = {
|
||||
this._shellwm.connect('destroy', Lang.bind(this, this._destroyWindow));
|
||||
|
||||
this._workspaceSwitcherPopup = null;
|
||||
this.setKeybindingHandler('switch-to-workspace-left', Lang.bind(this, this._showWorkspaceSwitcher));
|
||||
this.setKeybindingHandler('switch-to-workspace-right', Lang.bind(this, this._showWorkspaceSwitcher));
|
||||
this.setKeybindingHandler('switch-to-workspace-up', Lang.bind(this, this._showWorkspaceSwitcher));
|
||||
this.setKeybindingHandler('switch-to-workspace-down', Lang.bind(this, this._showWorkspaceSwitcher));
|
||||
this.setKeybindingHandler('switch-windows', Lang.bind(this, this._startAppSwitcher));
|
||||
this.setKeybindingHandler('switch-group', Lang.bind(this, this._startAppSwitcher));
|
||||
this.setKeybindingHandler('switch-windows-backward', Lang.bind(this, this._startAppSwitcher));
|
||||
this.setKeybindingHandler('switch-group-backward', Lang.bind(this, this._startAppSwitcher));
|
||||
this.setKeybindingHandler('switch-panels', Lang.bind(this, this._startA11ySwitcher));
|
||||
this.setKeybindingHandler('switch_to_workspace_left', Lang.bind(this, this._showWorkspaceSwitcher));
|
||||
this.setKeybindingHandler('switch_to_workspace_right', Lang.bind(this, this._showWorkspaceSwitcher));
|
||||
this.setKeybindingHandler('switch_to_workspace_up', Lang.bind(this, this._showWorkspaceSwitcher));
|
||||
this.setKeybindingHandler('switch_to_workspace_down', Lang.bind(this, this._showWorkspaceSwitcher));
|
||||
this.setKeybindingHandler('switch_windows', Lang.bind(this, this._startAppSwitcher));
|
||||
this.setKeybindingHandler('switch_group', Lang.bind(this, this._startAppSwitcher));
|
||||
this.setKeybindingHandler('switch_windows_backward', Lang.bind(this, this._startAppSwitcher));
|
||||
this.setKeybindingHandler('switch_group_backward', Lang.bind(this, this._startAppSwitcher));
|
||||
this.setKeybindingHandler('switch_panels', Lang.bind(this, this._startA11ySwitcher));
|
||||
|
||||
Main.overview.connect('showing', Lang.bind(this, function() {
|
||||
for (let i = 0; i < this._dimmedWindows.length; i++)
|
||||
@ -160,7 +160,7 @@ WindowManager.prototype = {
|
||||
},
|
||||
|
||||
_shouldAnimate : function(actor) {
|
||||
if (Main.overview.visible || this._animationBlockCount > 0)
|
||||
if (Main.overview.visible || this._animationsBlocked > 0)
|
||||
return false;
|
||||
if (actor && (actor.meta_window.get_window_type() != Meta.WindowType.NORMAL))
|
||||
return false;
|
||||
@ -556,15 +556,15 @@ WindowManager.prototype = {
|
||||
if (this._workspaceSwitcherPopup == null)
|
||||
this._workspaceSwitcherPopup = new WorkspaceSwitcherPopup.WorkspaceSwitcherPopup();
|
||||
|
||||
if (binding == 'switch-to-workspace-up')
|
||||
if (binding == 'switch_to_workspace_up')
|
||||
this.actionMoveWorkspaceUp();
|
||||
else if (binding == 'switch-to-workspace-down')
|
||||
else if (binding == 'switch_to_workspace_down')
|
||||
this.actionMoveWorkspaceDown();
|
||||
// left/right would effectively act as synonyms for up/down if we enabled them;
|
||||
// but that could be considered confusing.
|
||||
// else if (binding == 'switch-to-workspace-left')
|
||||
// else if (binding == 'switch_to_workspace_left')
|
||||
// this.actionMoveWorkspaceLeft();
|
||||
// else if (binding == 'switch-to-workspace-right')
|
||||
// else if (binding == 'switch_to_workspace_right')
|
||||
// this.actionMoveWorkspaceRight();
|
||||
},
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const Gio = imports.gi.Gio;
|
||||
const GConf = imports.gi.GConf;
|
||||
const Lang = imports.lang;
|
||||
const Mainloop = imports.mainloop;
|
||||
const Meta = imports.gi.Meta;
|
||||
@ -28,8 +28,7 @@ const CLOSE_BUTTON_FADE_TIME = 0.1;
|
||||
|
||||
const DRAGGING_WINDOW_OPACITY = 100;
|
||||
|
||||
const BUTTON_LAYOUT_SCHEMA = 'org.gnome.shell.overrides';
|
||||
const BUTTON_LAYOUT_KEY = 'button-layout';
|
||||
const BUTTON_LAYOUT_KEY = '/desktop/gnome/shell/windows/button_layout';
|
||||
|
||||
// Define a layout scheme for small window counts. For larger
|
||||
// counts we fall back to an algorithm. We need more schemes here
|
||||
@ -528,8 +527,8 @@ WindowOverlay.prototype = {
|
||||
let button = this.closeButton;
|
||||
let title = this.title;
|
||||
|
||||
let settings = new Gio.Settings({ schema: BUTTON_LAYOUT_SCHEMA });
|
||||
let layout = settings.get_string(BUTTON_LAYOUT_KEY);
|
||||
let gconf = GConf.Client.get_default();
|
||||
let layout = gconf.get_string(BUTTON_LAYOUT_KEY);
|
||||
let rtl = St.Widget.get_default_direction() == St.TextDirection.RTL;
|
||||
|
||||
let split = layout.split(":");
|
||||
|
@ -20,11 +20,6 @@ let MAX_THUMBNAIL_SCALE = 1/8.;
|
||||
const RESCALE_ANIMATION_TIME = 0.2;
|
||||
const SLIDE_ANIMATION_TIME = 0.2;
|
||||
|
||||
// When we create workspaces by dragging, we add a "cut" into the top and
|
||||
// bottom of each workspace so that the user doesn't have to hit the
|
||||
// placeholder exactly.
|
||||
const WORKSPACE_CUT_SIZE = 10;
|
||||
|
||||
function WindowClone(realWindow) {
|
||||
this._init(realWindow);
|
||||
}
|
||||
@ -153,6 +148,8 @@ WorkspaceThumbnail.prototype = {
|
||||
this.metaWorkspace = metaWorkspace;
|
||||
this.monitorIndex = Main.layoutManager.primaryIndex;
|
||||
|
||||
this._removed = false;
|
||||
|
||||
this.actor = new St.Group({ reactive: true,
|
||||
clip_to_allocation: true,
|
||||
style_class: 'workspace-thumbnail' });
|
||||
@ -178,17 +175,21 @@ WorkspaceThumbnail.prototype = {
|
||||
let monitor = Main.layoutManager.primaryMonitor;
|
||||
this.setPorthole(monitor.x, monitor.y, monitor.width, monitor.height);
|
||||
|
||||
let windows = global.get_window_actors().filter(this._isMyWindow, this);
|
||||
let windows = global.get_window_actors().filter(this._isWorkspaceWindow, this);
|
||||
|
||||
// Create clones for windows that should be visible in the Overview
|
||||
this._windows = [];
|
||||
this._allWindows = [];
|
||||
this._minimizedChangedIds = [];
|
||||
for (let i = 0; i < windows.length; i++) {
|
||||
windows[i].meta_window._minimizedChangedId =
|
||||
let minimizedChangedId =
|
||||
windows[i].meta_window.connect('notify::minimized',
|
||||
Lang.bind(this,
|
||||
this._updateMinimized));
|
||||
this._allWindows.push(windows[i].meta_window);
|
||||
this._minimizedChangedIds.push(minimizedChangedId);
|
||||
|
||||
if (this._isOverviewWindow(windows[i])) {
|
||||
if (this._isMyWindow(windows[i]) && this._isOverviewWindow(windows[i])) {
|
||||
this._addWindowClone(windows[i]);
|
||||
}
|
||||
}
|
||||
@ -273,17 +274,11 @@ WorkspaceThumbnail.prototype = {
|
||||
let clone = this._windows[index];
|
||||
this._windows.splice(index, 1);
|
||||
|
||||
if (win && this._isOverviewWindow(win)) {
|
||||
if (metaWin._minimizedChangedId) {
|
||||
metaWin.disconnect(metaWin._minimizedChangedId);
|
||||
delete metaWin._minimizedChangedId;
|
||||
}
|
||||
}
|
||||
clone.destroy();
|
||||
},
|
||||
|
||||
_doAddWindow : function(metaWin) {
|
||||
if (this.leavingOverview)
|
||||
if (this._removed)
|
||||
return;
|
||||
|
||||
let win = metaWin.get_compositor_private();
|
||||
@ -293,7 +288,7 @@ WorkspaceThumbnail.prototype = {
|
||||
// the compositor finds out about them...
|
||||
Mainloop.idle_add(Lang.bind(this,
|
||||
function () {
|
||||
if (this.actor &&
|
||||
if (!this._removed &&
|
||||
metaWin.get_compositor_private() &&
|
||||
metaWin.get_workspace() == this.metaWorkspace)
|
||||
this._doAddWindow(metaWin);
|
||||
@ -302,16 +297,19 @@ WorkspaceThumbnail.prototype = {
|
||||
return;
|
||||
}
|
||||
|
||||
if (this._allWindows.indexOf(metaWin) == -1) {
|
||||
let minimizedChangedId = metaWin.connect('notify::minimized',
|
||||
Lang.bind(this,
|
||||
this._updateMinimized));
|
||||
this._allWindows.push(metaWin);
|
||||
this._minimizedChangedIds.push(minimizedChangedId);
|
||||
}
|
||||
|
||||
// We might have the window in our list already if it was on all workspaces and
|
||||
// now was moved to this workspace
|
||||
if (this._lookupIndex (metaWin) != -1)
|
||||
return;
|
||||
|
||||
if (!metaWin._minimizedChangedId)
|
||||
metaWin._minimizedChangedId = metaWin.connect('notify::minimized',
|
||||
Lang.bind(this,
|
||||
this._updateMinimized));
|
||||
|
||||
if (!this._isMyWindow(win) || !this._isOverviewWindow(win))
|
||||
return;
|
||||
|
||||
@ -323,6 +321,13 @@ WorkspaceThumbnail.prototype = {
|
||||
},
|
||||
|
||||
_windowRemoved : function(metaWorkspace, metaWin) {
|
||||
let index = this._allWindows.indexOf(metaWin);
|
||||
if (index != -1) {
|
||||
metaWin.disconnect(this._minimizedChangedIds[index]);
|
||||
this._allWindows.splice(index, 1);
|
||||
this._minimizedChangedIds.splice(index, 1);
|
||||
}
|
||||
|
||||
this._doRemoveWindow(metaWin);
|
||||
},
|
||||
|
||||
@ -349,27 +354,36 @@ WorkspaceThumbnail.prototype = {
|
||||
this.actor.destroy();
|
||||
},
|
||||
|
||||
_onDestroy: function(actor) {
|
||||
workspaceRemoved : function() {
|
||||
if (this._removed)
|
||||
return;
|
||||
|
||||
this._removed = true;
|
||||
|
||||
this.metaWorkspace.disconnect(this._windowAddedId);
|
||||
this.metaWorkspace.disconnect(this._windowRemovedId);
|
||||
global.screen.disconnect(this._windowEnteredMonitorId);
|
||||
global.screen.disconnect(this._windowLeftMonitorId);
|
||||
|
||||
for (let i = 0; i < this._windows.length; i++) {
|
||||
let metaWin = this._windows[i].metaWindow;
|
||||
if (metaWin._minimizedChangedId) {
|
||||
metaWin.disconnect(metaWin._minimizedChangedId);
|
||||
delete metaWin._minimizedChangedId;
|
||||
}
|
||||
}
|
||||
for (let i = 0; i < this._allWindows.length; i++)
|
||||
this._allWindows[i].disconnect(this._minimizedChangedIds[i]);
|
||||
},
|
||||
|
||||
_onDestroy: function(actor) {
|
||||
this.workspaceRemoved();
|
||||
|
||||
this._windows = [];
|
||||
this.actor = null;
|
||||
},
|
||||
|
||||
// Tests if @win belongs to this workspace
|
||||
_isWorkspaceWindow : function (win) {
|
||||
return Main.isWindowActorDisplayedOnWorkspace(win, this.metaWorkspace.index());
|
||||
},
|
||||
|
||||
// Tests if @win belongs to this workspace and monitor
|
||||
_isMyWindow : function (win) {
|
||||
return Main.isWindowActorDisplayedOnWorkspace(win, this.metaWorkspace.index()) &&
|
||||
return this._isWorkspaceWindow(win) &&
|
||||
(!win.get_meta_window() || win.get_meta_window().get_monitor() == this.monitorIndex);
|
||||
},
|
||||
|
||||
@ -427,11 +441,6 @@ WorkspaceThumbnail.prototype = {
|
||||
if (this.state > ThumbnailState.NORMAL)
|
||||
return DND.DragMotionResult.CONTINUE;
|
||||
|
||||
let [w, h] = this.actor.get_transformed_size();
|
||||
// Bubble up if we're in the "workspace cut".
|
||||
if (y < WORKSPACE_CUT_SIZE || y > h - WORKSPACE_CUT_SIZE)
|
||||
return DND.DragMotionResult.CONTINUE;
|
||||
|
||||
if (source.realWindow && !this._isMyWindow(source.realWindow))
|
||||
return DND.DragMotionResult.MOVE_DROP;
|
||||
if (source.shellWorkspaceLaunch)
|
||||
@ -485,7 +494,6 @@ ThumbnailsBox.prototype = {
|
||||
this.actor.connect('get-preferred-width', Lang.bind(this, this._getPreferredWidth));
|
||||
this.actor.connect('get-preferred-height', Lang.bind(this, this._getPreferredHeight));
|
||||
this.actor.connect('allocate', Lang.bind(this, this._allocate));
|
||||
this.actor._delegate = this;
|
||||
|
||||
// When we animate the scale, we don't animate the requested size of the thumbnails, rather
|
||||
// we ask for our final size and then animate within that size. This slightly simplifies the
|
||||
@ -509,10 +517,6 @@ ThumbnailsBox.prototype = {
|
||||
this._indicator = indicator;
|
||||
this.actor.add_actor(indicator);
|
||||
|
||||
this._dropPlaceholderPos = -1;
|
||||
this._dropPlaceholder = new St.Bin({ style_class: 'placeholder' });
|
||||
this.actor.add_actor(this._dropPlaceholder);
|
||||
|
||||
this._targetScale = 0;
|
||||
this._scale = 0;
|
||||
this._pendingScaleUpdate = false;
|
||||
@ -527,83 +531,6 @@ ThumbnailsBox.prototype = {
|
||||
this._thumbnails = [];
|
||||
},
|
||||
|
||||
// Draggable target interface
|
||||
handleDragOver : function(source, actor, x, y, time) {
|
||||
if (!source.realWindow && !source.shellWorkspaceLaunch)
|
||||
return DND.DragMotionResult.CONTINUE;
|
||||
|
||||
let spacing = this.actor.get_theme_node().get_length('spacing');
|
||||
let thumbHeight = this._porthole.height * this._scale;
|
||||
|
||||
let workspace = -1;
|
||||
let firstThumbY = this._thumbnails[0].actor.y;
|
||||
for (let i = 0; i < this._thumbnails.length; i ++) {
|
||||
let targetBase = firstThumbY + (thumbHeight + spacing) * i;
|
||||
|
||||
// Allow the reorder target to have a 10px "cut" into
|
||||
// each side of the thumbnail, to make dragging onto the
|
||||
// placeholder easier
|
||||
let targetTop = targetBase - spacing - WORKSPACE_CUT_SIZE;
|
||||
let targetBottom = targetBase + WORKSPACE_CUT_SIZE;
|
||||
|
||||
// Expand the target to include the placeholder, if it exists.
|
||||
if (i == this._dropPlaceholderPos)
|
||||
targetBottom += this._dropPlaceholder.get_height();
|
||||
|
||||
if (y > targetTop && y <= targetBottom) {
|
||||
workspace = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
this._dropPlaceholderPos = workspace;
|
||||
this.actor.queue_relayout();
|
||||
|
||||
if (workspace == -1)
|
||||
return DND.DragMotionResult.CONTINUE;
|
||||
|
||||
return DND.DragMotionResult.MOVE_DROP;
|
||||
},
|
||||
|
||||
acceptDrop: function(source, actor, x, y, time) {
|
||||
if (this._dropPlaceholderPos == -1)
|
||||
return false;
|
||||
|
||||
if (!source.realWindow && !source.shellWorkspaceLaunch)
|
||||
return false;
|
||||
|
||||
let isWindow = !!source.realWindow;
|
||||
|
||||
// To create a new workspace, we first slide all the windows on workspaces
|
||||
// below us to the next workspace, leaving a blank workspace for us to recycle.
|
||||
let newWorkspaceIndex;
|
||||
[newWorkspaceIndex, this._dropPlaceholderPos] = [this._dropPlaceholderPos, -1];
|
||||
|
||||
// Nab all the windows below us.
|
||||
let windows = global.get_window_actors().filter(function(win) {
|
||||
if (isWindow)
|
||||
return win.get_workspace() >= newWorkspaceIndex && win != source;
|
||||
else
|
||||
return win.get_workspace() >= newWorkspaceIndex;
|
||||
});
|
||||
|
||||
// ... move them down one.
|
||||
windows.forEach(function(win) {
|
||||
win.meta_window.change_workspace_by_index(win.get_workspace() + 1,
|
||||
true, time);
|
||||
});
|
||||
|
||||
if (isWindow)
|
||||
// ... and bam, a workspace, good as new.
|
||||
source.metaWindow.change_workspace_by_index(newWorkspaceIndex,
|
||||
true, time);
|
||||
else (source.shellWorkspaceLaunch)
|
||||
source.shellWorkspaceLaunch({ workspace: newWorkspaceIndex,
|
||||
timestamp: time });
|
||||
|
||||
return true;
|
||||
},
|
||||
|
||||
show: function() {
|
||||
this._switchWorkspaceNotifyId =
|
||||
global.window_manager.connect('switch-workspace',
|
||||
@ -676,8 +603,10 @@ ThumbnailsBox.prototype = {
|
||||
if (thumbnail.state > ThumbnailState.NORMAL)
|
||||
continue;
|
||||
|
||||
if (currentPos >= start && currentPos < start + count)
|
||||
if (currentPos >= start && currentPos < start + count) {
|
||||
thumbnail.workspaceRemoved();
|
||||
this._setThumbnailState(thumbnail, ThumbnailState.REMOVING);
|
||||
}
|
||||
|
||||
currentPos++;
|
||||
}
|
||||
@ -932,18 +861,20 @@ ThumbnailsBox.prototype = {
|
||||
|
||||
let y = contentBox.y1;
|
||||
|
||||
if (this._dropPlaceholderPos == -1) {
|
||||
Meta.later_add(Meta.LaterType.BEFORE_REDRAW, Lang.bind(this, function() {
|
||||
this._dropPlaceholder.hide();
|
||||
}));
|
||||
}
|
||||
|
||||
for (let i = 0; i < this._thumbnails.length; i++) {
|
||||
let thumbnail = this._thumbnails[i];
|
||||
|
||||
if (i > 0)
|
||||
y += spacing - Math.round(thumbnail.collapseFraction * spacing);
|
||||
|
||||
// We might end up with thumbnailHeight being something like 99.33
|
||||
// pixels. To make this work and not end up with a gap at the bottom,
|
||||
// we need some thumbnails to be 99 pixels and some 100 pixels height;
|
||||
// we compute an actual scale separately for each thumbnail.
|
||||
let y1 = Math.round(y);
|
||||
let y2 = Math.round(y + thumbnailHeight);
|
||||
let roundedVScale = (y2 - y1) / portholeHeight;
|
||||
|
||||
let x1, x2;
|
||||
if (rtl) {
|
||||
x1 = contentBox.x1 + slideOffset * thumbnail.slidePosition;
|
||||
@ -953,27 +884,6 @@ ThumbnailsBox.prototype = {
|
||||
x2 = x1 + thumbnailWidth;
|
||||
}
|
||||
|
||||
if (i == this._dropPlaceholderPos) {
|
||||
let [minHeight, placeholderHeight] = this._dropPlaceholder.get_preferred_height(-1);
|
||||
childBox.x1 = x1;
|
||||
childBox.x2 = x1 + thumbnailWidth;
|
||||
childBox.y1 = Math.round(y);
|
||||
childBox.y2 = Math.round(y + placeholderHeight);
|
||||
this._dropPlaceholder.allocate(childBox, flags);
|
||||
Meta.later_add(Meta.LaterType.BEFORE_REDRAW, Lang.bind(this, function() {
|
||||
this._dropPlaceholder.show();
|
||||
}));
|
||||
y += placeholderHeight + spacing;
|
||||
}
|
||||
|
||||
// We might end up with thumbnailHeight being something like 99.33
|
||||
// pixels. To make this work and not end up with a gap at the bottom,
|
||||
// we need some thumbnails to be 99 pixels and some 100 pixels height;
|
||||
// we compute an actual scale separately for each thumbnail.
|
||||
let y1 = Math.round(y);
|
||||
let y2 = Math.round(y + thumbnailHeight);
|
||||
let roundedVScale = (y2 - y1) / portholeHeight;
|
||||
|
||||
if (thumbnail.metaWorkspace == indicatorWorkspace)
|
||||
indicatorY = y1;
|
||||
|
||||
|
111
po/bg.po
111
po/bg.po
@ -5,10 +5,10 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Project-Id-Version: gnome-shell gnome-3-2\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-10-21 23:34+0300\n"
|
||||
"PO-Revision-Date: 2011-10-21 23:34+0300\n"
|
||||
"POT-Creation-Date: 2011-10-21 23:30+0300\n"
|
||||
"PO-Revision-Date: 2011-10-21 23:30+0300\n"
|
||||
"Last-Translator: Ivaylo Valkov <ivaylo@e-valkov.org>\n"
|
||||
"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
|
||||
"Language: bg\n"
|
||||
@ -204,7 +204,7 @@ msgid "Not listed?"
|
||||
msgstr "Липсва в списъка?"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1035 ../js/ui/endSessionDialog.js:426
|
||||
#: ../js/ui/extensionSystem.js:520 ../js/ui/networkAgent.js:148
|
||||
#: ../js/ui/extensionSystem.js:477 ../js/ui/networkAgent.js:148
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:173 ../js/ui/status/bluetooth.js:480
|
||||
msgid "Cancel"
|
||||
msgstr "Отказване"
|
||||
@ -218,16 +218,18 @@ msgstr "Регистриране"
|
||||
msgid "Login Window"
|
||||
msgstr "Екран за идентификация"
|
||||
|
||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:569
|
||||
#: ../js/ui/userMenu.js:571 ../js/ui/userMenu.js:640
|
||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:554
|
||||
#: ../js/ui/userMenu.js:556 ../js/ui/userMenu.js:625
|
||||
msgid "Suspend"
|
||||
msgstr "Приспиване"
|
||||
|
||||
#: ../js/gdm/powerMenu.js:121
|
||||
#: ../js/gdm/powerMenu.js:121 ../js/ui/endSessionDialog.js:89
|
||||
#: ../js/ui/endSessionDialog.js:97 ../js/ui/endSessionDialog.js:106
|
||||
msgid "Restart"
|
||||
msgstr "Рестартиране"
|
||||
|
||||
#: ../js/gdm/powerMenu.js:126
|
||||
#: ../js/gdm/powerMenu.js:126 ../js/ui/endSessionDialog.js:80
|
||||
#: ../js/ui/endSessionDialog.js:91
|
||||
msgid "Power Off"
|
||||
msgstr "Изключване"
|
||||
|
||||
@ -530,12 +532,10 @@ msgstr "СКОРО ОТВАРЯНИ"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:60
|
||||
#, c-format
|
||||
msgctxt "title"
|
||||
msgid "Log Out %s"
|
||||
msgstr "Изход на „%s“"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:61
|
||||
msgctxt "title"
|
||||
#: ../js/ui/endSessionDialog.js:61 ../js/ui/endSessionDialog.js:75
|
||||
msgid "Log Out"
|
||||
msgstr "Изход"
|
||||
|
||||
@ -564,16 +564,6 @@ msgstr[1] "Ще излезете от системата автоматично
|
||||
msgid "Logging out of the system."
|
||||
msgstr "Излизане от системата."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:75
|
||||
msgctxt "button"
|
||||
msgid "Log Out"
|
||||
msgstr "Изход"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:80
|
||||
msgctxt "title"
|
||||
msgid "Power Off"
|
||||
msgstr "Изключване"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:81
|
||||
msgid "Click Power Off to quit these applications and power off the system."
|
||||
msgstr ""
|
||||
@ -591,21 +581,6 @@ msgstr[1] "Системата ще се изключи автоматично с
|
||||
msgid "Powering off the system."
|
||||
msgstr "Изключване на системата."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:89 ../js/ui/endSessionDialog.js:106
|
||||
msgctxt "button"
|
||||
msgid "Restart"
|
||||
msgstr "Рестартиране"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:91
|
||||
msgctxt "button"
|
||||
msgid "Power Off"
|
||||
msgstr "Изключване"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:97
|
||||
msgctxt "title"
|
||||
msgid "Restart"
|
||||
msgstr "Рестартиране"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:98
|
||||
msgid "Click Restart to quit these applications and restart the system."
|
||||
msgstr ""
|
||||
@ -623,11 +598,11 @@ msgstr[1] "Системата ще се рестартира автоматич
|
||||
msgid "Restarting the system."
|
||||
msgstr "Рестартиране на системата."
|
||||
|
||||
#: ../js/ui/extensionSystem.js:524
|
||||
#: ../js/ui/extensionSystem.js:481
|
||||
msgid "Install"
|
||||
msgstr "Инсталиране"
|
||||
|
||||
#: ../js/ui/extensionSystem.js:528
|
||||
#: ../js/ui/extensionSystem.js:485
|
||||
#, c-format
|
||||
msgid "Download and install '%s' from extensions.gnome.org?"
|
||||
msgstr "Да се изтегли и инсталира ли „%s“ от from extensions.gnome.org?"
|
||||
@ -640,51 +615,37 @@ msgstr "област за уведомяване"
|
||||
msgid "Keyboard"
|
||||
msgstr "Клавиатура"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:664
|
||||
#: ../js/ui/lookingGlass.js:646
|
||||
msgid "No extensions installed"
|
||||
msgstr "Няма инсталирани разширения"
|
||||
|
||||
#. Translators: argument is an extension UUID.
|
||||
#: ../js/ui/lookingGlass.js:719
|
||||
#, c-format
|
||||
msgid "%s has not emitted any errors."
|
||||
msgstr "Разширението %s не е обозначило никави грешки."
|
||||
|
||||
#: ../js/ui/lookingGlass.js:725
|
||||
msgid "Hide Errors"
|
||||
msgstr "Скриване на грешките"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:729 ../js/ui/lookingGlass.js:779
|
||||
msgid "Show Errors"
|
||||
msgstr "Показване на грешките"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:738
|
||||
#: ../js/ui/lookingGlass.js:692
|
||||
msgid "Enabled"
|
||||
msgstr "Включено"
|
||||
|
||||
#. translators:
|
||||
#. * The device has been disabled
|
||||
#: ../js/ui/lookingGlass.js:740 ../src/gvc/gvc-mixer-control.c:1093
|
||||
#: ../js/ui/lookingGlass.js:694 ../src/gvc/gvc-mixer-control.c:1093
|
||||
msgid "Disabled"
|
||||
msgstr "Изключено"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:742
|
||||
#: ../js/ui/lookingGlass.js:696
|
||||
msgid "Error"
|
||||
msgstr "Грешка"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:744
|
||||
#: ../js/ui/lookingGlass.js:698
|
||||
msgid "Out of date"
|
||||
msgstr "Остаряло"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:746
|
||||
#: ../js/ui/lookingGlass.js:700
|
||||
msgid "Downloading"
|
||||
msgstr "Изтегляне"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:767
|
||||
#: ../js/ui/lookingGlass.js:721
|
||||
msgid "View Source"
|
||||
msgstr "Преглед на изходния код"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:773
|
||||
#: ../js/ui/lookingGlass.js:727
|
||||
msgid "Web Page"
|
||||
msgstr "Домашна страница"
|
||||
|
||||
@ -1545,39 +1506,39 @@ msgstr "Бездействие"
|
||||
msgid "Unavailable"
|
||||
msgstr "Недостъпно"
|
||||
|
||||
#: ../js/ui/userMenu.js:567 ../js/ui/userMenu.js:571 ../js/ui/userMenu.js:641
|
||||
#: ../js/ui/userMenu.js:552 ../js/ui/userMenu.js:556 ../js/ui/userMenu.js:626
|
||||
msgid "Power Off..."
|
||||
msgstr "Изключване..."
|
||||
|
||||
#: ../js/ui/userMenu.js:603
|
||||
#: ../js/ui/userMenu.js:588
|
||||
msgid "Notifications"
|
||||
msgstr "Известяване"
|
||||
|
||||
#: ../js/ui/userMenu.js:611
|
||||
#: ../js/ui/userMenu.js:596
|
||||
msgid "Online Accounts"
|
||||
msgstr "Мрежови регистрации"
|
||||
|
||||
#: ../js/ui/userMenu.js:615
|
||||
#: ../js/ui/userMenu.js:600
|
||||
msgid "System Settings"
|
||||
msgstr "Настройки на системата"
|
||||
|
||||
#: ../js/ui/userMenu.js:622
|
||||
#: ../js/ui/userMenu.js:607
|
||||
msgid "Lock Screen"
|
||||
msgstr "Заключване на екрана"
|
||||
|
||||
#: ../js/ui/userMenu.js:627
|
||||
#: ../js/ui/userMenu.js:612
|
||||
msgid "Switch User"
|
||||
msgstr "Смяна на потребител"
|
||||
|
||||
#: ../js/ui/userMenu.js:632
|
||||
#: ../js/ui/userMenu.js:617
|
||||
msgid "Log Out..."
|
||||
msgstr "Изход…"
|
||||
|
||||
#: ../js/ui/userMenu.js:660
|
||||
#: ../js/ui/userMenu.js:645
|
||||
msgid "Your chat status will be set to busy"
|
||||
msgstr "Състоянието ви ще се зададе да е „Зает“"
|
||||
|
||||
#: ../js/ui/userMenu.js:661
|
||||
#: ../js/ui/userMenu.js:646
|
||||
msgid ""
|
||||
"Notifications are now disabled, including chat messages. Your online status "
|
||||
"has been adjusted to let others know that you might not see their messages."
|
||||
@ -1594,7 +1555,7 @@ msgstr ""
|
||||
msgid "Type to search..."
|
||||
msgstr "Търсене на написаното…"
|
||||
|
||||
#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:244
|
||||
#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:261
|
||||
msgid "Search"
|
||||
msgstr "Търсене"
|
||||
|
||||
@ -1650,15 +1611,13 @@ msgstr "Стандартно"
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "Прозорецът за упълномощаване беше затворен от потребителя"
|
||||
|
||||
#. Translators: this is the same string as the one found in
|
||||
#. * nautilus
|
||||
#: ../src/shell-util.c:89
|
||||
msgid "Home"
|
||||
#: ../src/shell-util.c:100
|
||||
msgid "Home Folder"
|
||||
msgstr "Домашна папка"
|
||||
|
||||
#. Translators: this is the same string as the one found in
|
||||
#. * nautilus
|
||||
#: ../src/shell-util.c:98
|
||||
#: ../src/shell-util.c:115
|
||||
msgid "File System"
|
||||
msgstr "Файлова система"
|
||||
|
||||
@ -1667,7 +1626,7 @@ msgstr "Файлова система"
|
||||
#. * example, "Trash: some-directory". It means that the
|
||||
#. * directory called "some-directory" is in the trash.
|
||||
#.
|
||||
#: ../src/shell-util.c:294
|
||||
#: ../src/shell-util.c:311
|
||||
#, c-format
|
||||
msgid "%1$s: %2$s"
|
||||
msgstr "%1$s: %2$s"
|
||||
|
260
po/ca.po
260
po/ca.po
@ -8,10 +8,10 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: HEAD\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-10-04 23:29+0200\n"
|
||||
"PO-Revision-Date: 2011-10-04 23:30+0200\n"
|
||||
"POT-Creation-Date: 2011-10-23 23:42+0200\n"
|
||||
"PO-Revision-Date: 2011-10-23 23:41+0200\n"
|
||||
"Last-Translator: Gil Forcada <gilforcada@guifi.net>\n"
|
||||
"Language-Team: català; valencià <tradgnome@softcatala.org>\n"
|
||||
"Language-Team: Catalan <tradgnome@softcatala.org>\n"
|
||||
"Language: ca\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@ -187,42 +187,42 @@ msgstr "Quin tipus de teclat s'ha d'utilitzar"
|
||||
msgid "disabled OpenSearch providers"
|
||||
msgstr "inhabilita els proveïdors d'OpenSearch"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:617
|
||||
#: ../js/gdm/loginDialog.js:633
|
||||
msgid "Session..."
|
||||
msgstr "Sessió..."
|
||||
|
||||
#: ../js/gdm/loginDialog.js:785
|
||||
#: ../js/gdm/loginDialog.js:804
|
||||
msgctxt "title"
|
||||
msgid "Sign In"
|
||||
msgstr "Entrada"
|
||||
|
||||
#. translators: this message is shown below the password entry field
|
||||
#. to indicate the user can swipe their finger instead
|
||||
#: ../js/gdm/loginDialog.js:830
|
||||
#: ../js/gdm/loginDialog.js:849
|
||||
msgid "(or swipe finger)"
|
||||
msgstr "(o passeu el dit)"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:848
|
||||
#: ../js/gdm/loginDialog.js:867
|
||||
msgid "Not listed?"
|
||||
msgstr "No esteu llistat?"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1004 ../js/ui/endSessionDialog.js:426
|
||||
#: ../js/ui/extensionSystem.js:477 ../js/ui/networkAgent.js:165
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:171 ../js/ui/status/bluetooth.js:480
|
||||
#: ../js/gdm/loginDialog.js:1035 ../js/ui/endSessionDialog.js:426
|
||||
#: ../js/ui/extensionSystem.js:477 ../js/ui/networkAgent.js:148
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:173 ../js/ui/status/bluetooth.js:480
|
||||
msgid "Cancel"
|
||||
msgstr "Cancel·la"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1009
|
||||
#: ../js/gdm/loginDialog.js:1040
|
||||
msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "Entra"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1358
|
||||
#: ../js/gdm/loginDialog.js:1392
|
||||
msgid "Login Window"
|
||||
msgstr "Finestra d'entrada"
|
||||
|
||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:514
|
||||
#: ../js/ui/userMenu.js:516 ../js/ui/userMenu.js:585
|
||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:554
|
||||
#: ../js/ui/userMenu.js:556 ../js/ui/userMenu.js:625
|
||||
msgid "Suspend"
|
||||
msgstr "Atura temporalment"
|
||||
|
||||
@ -445,32 +445,32 @@ msgstr "Aquesta setmana"
|
||||
msgid "Next week"
|
||||
msgstr "La setmana que ve"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:59 ../js/ui/notificationDaemon.js:444
|
||||
#: ../js/ui/status/power.js:223 ../src/shell-app.c:355
|
||||
#: ../js/ui/contactDisplay.js:65 ../js/ui/notificationDaemon.js:459
|
||||
#: ../js/ui/status/power.js:223 ../src/shell-app.c:353
|
||||
msgid "Unknown"
|
||||
msgstr "Desconegut"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:80 ../js/ui/userMenu.js:139
|
||||
#: ../js/ui/contactDisplay.js:86 ../js/ui/userMenu.js:139
|
||||
msgid "Available"
|
||||
msgstr "Disponible"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:85 ../js/ui/userMenu.js:148
|
||||
#: ../js/ui/contactDisplay.js:91 ../js/ui/userMenu.js:148
|
||||
msgid "Away"
|
||||
msgstr "Absent"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:89 ../js/ui/userMenu.js:142
|
||||
#: ../js/ui/contactDisplay.js:95 ../js/ui/userMenu.js:142
|
||||
msgid "Busy"
|
||||
msgstr "Ocupat"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:93
|
||||
#: ../js/ui/contactDisplay.js:99
|
||||
msgid "Offline"
|
||||
msgstr "Fora de línia"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:140
|
||||
#: ../js/ui/contactDisplay.js:146
|
||||
msgid "CONTACTS"
|
||||
msgstr "Contactes"
|
||||
|
||||
#: ../js/ui/dash.js:172 ../js/ui/messageTray.js:1204
|
||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1206
|
||||
msgid "Remove"
|
||||
msgstr "Suprimeix"
|
||||
|
||||
@ -604,100 +604,96 @@ msgstr "Instal·la"
|
||||
msgid "Download and install '%s' from extensions.gnome.org?"
|
||||
msgstr "Voleu baixar i instal·lar «%s» de extensions.gnome.org?"
|
||||
|
||||
#: ../js/ui/keyboard.js:308
|
||||
#: ../js/ui/keyboard.js:325
|
||||
msgid "tray"
|
||||
msgstr "safata"
|
||||
|
||||
#: ../js/ui/keyboard.js:530 ../js/ui/status/power.js:211
|
||||
#: ../js/ui/keyboard.js:547 ../js/ui/status/power.js:211
|
||||
msgid "Keyboard"
|
||||
msgstr "Teclat"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:645
|
||||
#: ../js/ui/lookingGlass.js:646
|
||||
msgid "No extensions installed"
|
||||
msgstr "No hi ha cap extensió instal·lada"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:691
|
||||
#: ../js/ui/lookingGlass.js:692
|
||||
msgid "Enabled"
|
||||
msgstr "Habilitat"
|
||||
|
||||
#. translators:
|
||||
#. * The device has been disabled
|
||||
#: ../js/ui/lookingGlass.js:693 ../src/gvc/gvc-mixer-control.c:1093
|
||||
#: ../js/ui/lookingGlass.js:694 ../src/gvc/gvc-mixer-control.c:1093
|
||||
msgid "Disabled"
|
||||
msgstr "Inhabilitat"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:695
|
||||
#: ../js/ui/lookingGlass.js:696
|
||||
msgid "Error"
|
||||
msgstr "Error"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:697
|
||||
#: ../js/ui/lookingGlass.js:698
|
||||
msgid "Out of date"
|
||||
msgstr "Fora d'hora"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:699
|
||||
#: ../js/ui/lookingGlass.js:700
|
||||
msgid "Downloading"
|
||||
msgstr "S'està baixant"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:720
|
||||
#: ../js/ui/lookingGlass.js:721
|
||||
msgid "View Source"
|
||||
msgstr "Mostra el codi font"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:726
|
||||
#: ../js/ui/lookingGlass.js:727
|
||||
msgid "Web Page"
|
||||
msgstr "Pàgina web"
|
||||
|
||||
#: ../js/ui/messageTray.js:1197
|
||||
#: ../js/ui/messageTray.js:1199
|
||||
msgid "Open"
|
||||
msgstr "Obre"
|
||||
|
||||
#: ../js/ui/messageTray.js:2406
|
||||
#: ../js/ui/messageTray.js:2408
|
||||
msgid "System Information"
|
||||
msgstr "Informació de l'ordinador"
|
||||
|
||||
#: ../js/ui/networkAgent.js:145
|
||||
msgid "Show password"
|
||||
msgstr "Mostra la contrasenya"
|
||||
|
||||
#: ../js/ui/networkAgent.js:160
|
||||
#: ../js/ui/networkAgent.js:143
|
||||
msgid "Connect"
|
||||
msgstr "Connecta"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: ../js/ui/networkAgent.js:255 ../js/ui/networkAgent.js:267
|
||||
#: ../js/ui/networkAgent.js:294 ../js/ui/networkAgent.js:314
|
||||
#: ../js/ui/networkAgent.js:324
|
||||
#: ../js/ui/networkAgent.js:238 ../js/ui/networkAgent.js:250
|
||||
#: ../js/ui/networkAgent.js:277 ../js/ui/networkAgent.js:297
|
||||
#: ../js/ui/networkAgent.js:307
|
||||
msgid "Password: "
|
||||
msgstr "Contrasenya:"
|
||||
|
||||
#. static WEP
|
||||
#: ../js/ui/networkAgent.js:260
|
||||
#: ../js/ui/networkAgent.js:243
|
||||
msgid "Key: "
|
||||
msgstr "Clau:"
|
||||
|
||||
#. 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/ui/networkAgent.js:292 ../js/ui/networkAgent.js:310
|
||||
#: ../js/ui/networkAgent.js:275 ../js/ui/networkAgent.js:293
|
||||
msgid "Username: "
|
||||
msgstr "Nom d'usuari:"
|
||||
|
||||
#: ../js/ui/networkAgent.js:298
|
||||
#: ../js/ui/networkAgent.js:281
|
||||
msgid "Identity: "
|
||||
msgstr "Identitat:"
|
||||
|
||||
#: ../js/ui/networkAgent.js:300
|
||||
#: ../js/ui/networkAgent.js:283
|
||||
msgid "Private key password: "
|
||||
msgstr "Contrasenya de la clau privada:"
|
||||
|
||||
#: ../js/ui/networkAgent.js:312
|
||||
#: ../js/ui/networkAgent.js:295
|
||||
msgid "Service: "
|
||||
msgstr "Servei:"
|
||||
|
||||
#: ../js/ui/networkAgent.js:341
|
||||
#: ../js/ui/networkAgent.js:324
|
||||
msgid "Authentication required by wireless network"
|
||||
msgstr "La xarxa sense fil requereix autenticació"
|
||||
|
||||
#: ../js/ui/networkAgent.js:342
|
||||
#: ../js/ui/networkAgent.js:325
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
@ -706,35 +702,35 @@ msgstr ""
|
||||
"Per accedir a la xarxa sense fil «%s» calen les contrasenyes o les claus "
|
||||
"d'encriptació."
|
||||
|
||||
#: ../js/ui/networkAgent.js:346
|
||||
#: ../js/ui/networkAgent.js:329
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "Autenticació 802.1X amb fil"
|
||||
|
||||
#: ../js/ui/networkAgent.js:348
|
||||
#: ../js/ui/networkAgent.js:331
|
||||
msgid "Network name: "
|
||||
msgstr "Nom de la xarxa: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:353
|
||||
#: ../js/ui/networkAgent.js:336
|
||||
msgid "DSL authentication"
|
||||
msgstr "Autenticació DSL"
|
||||
|
||||
#: ../js/ui/networkAgent.js:360
|
||||
#: ../js/ui/networkAgent.js:343
|
||||
msgid "PIN code required"
|
||||
msgstr "Cal que introduïu el codi PIN"
|
||||
|
||||
#: ../js/ui/networkAgent.js:361
|
||||
#: ../js/ui/networkAgent.js:344
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "Cal que introduïu el codi PIN del dispositiu de banda ampla mòbil"
|
||||
|
||||
#: ../js/ui/networkAgent.js:362
|
||||
#: ../js/ui/networkAgent.js:345
|
||||
msgid "PIN: "
|
||||
msgstr "PIN: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:368
|
||||
#: ../js/ui/networkAgent.js:351
|
||||
msgid "Mobile broadband network password"
|
||||
msgstr "Contrasenya de la xarxa de banda ampla mòbil"
|
||||
|
||||
#: ../js/ui/networkAgent.js:369
|
||||
#: ../js/ui/networkAgent.js:352
|
||||
#, c-format
|
||||
msgid "A password is required to connect to '%s'."
|
||||
msgstr "Cal que introduïu una contrasenya per connectar-vos a «%s»."
|
||||
@ -790,15 +786,15 @@ msgstr "Connecta a..."
|
||||
msgid "PLACES & DEVICES"
|
||||
msgstr "LLOCS I DISPOSITIUS"
|
||||
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:72
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:73
|
||||
msgid "Authentication Required"
|
||||
msgstr "Cal autenticació"
|
||||
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:106
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:107
|
||||
msgid "Administrator"
|
||||
msgstr "Administrador"
|
||||
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:175
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:177
|
||||
msgid "Authenticate"
|
||||
msgstr "Autentica"
|
||||
|
||||
@ -806,11 +802,11 @@ msgstr "Autentica"
|
||||
#. * requested authentication was not gained; this can happen
|
||||
#. * because of an authentication error (like invalid password),
|
||||
#. * for instance.
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:256
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:258
|
||||
msgid "Sorry, that didn't work. Please try again."
|
||||
msgstr "No ha funcionat. Torneu-ho a provar."
|
||||
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:268
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:270
|
||||
msgid "Password:"
|
||||
msgstr "Contrasenya:"
|
||||
|
||||
@ -823,7 +819,7 @@ msgstr "Contrasenya:"
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-intl"
|
||||
|
||||
#: ../js/ui/runDialog.js:208
|
||||
#: ../js/ui/runDialog.js:209
|
||||
msgid "Please enter a command:"
|
||||
msgstr "Introduïu una ordre:"
|
||||
|
||||
@ -835,6 +831,22 @@ msgstr "S'està cercant..."
|
||||
msgid "No matching results."
|
||||
msgstr "No s'ha trobat cap coincidència."
|
||||
|
||||
#: ../js/ui/shellEntry.js:30
|
||||
msgid "Copy"
|
||||
msgstr "Copia"
|
||||
|
||||
#: ../js/ui/shellEntry.js:35
|
||||
msgid "Paste"
|
||||
msgstr "Enganxa"
|
||||
|
||||
#: ../js/ui/shellEntry.js:81
|
||||
msgid "Show Text"
|
||||
msgstr "Mostra el text"
|
||||
|
||||
#: ../js/ui/shellEntry.js:83
|
||||
msgid "Hide Text"
|
||||
msgstr "Oculta el text"
|
||||
|
||||
#: ../js/ui/shellMountOperation.js:285
|
||||
msgid "Wrong password, please try again"
|
||||
msgstr "La contrasenya és errònia, torneu-ho a intentar"
|
||||
@ -968,7 +980,7 @@ msgstr "Permet l'accés sempre"
|
||||
msgid "Grant this time only"
|
||||
msgstr "Permet-ho només ara"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:392 ../js/ui/telepathyClient.js:1200
|
||||
#: ../js/ui/status/bluetooth.js:392 ../js/ui/telepathyClient.js:1204
|
||||
msgid "Reject"
|
||||
msgstr "Rebutja"
|
||||
|
||||
@ -1254,22 +1266,22 @@ msgstr "Teniu una petició de subscripció"
|
||||
msgid "Connection error"
|
||||
msgstr "S'ha produït un error de connexió"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:737
|
||||
#: ../js/ui/telepathyClient.js:741
|
||||
#, c-format
|
||||
msgid "%s is online."
|
||||
msgstr "%s és en línia."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:742
|
||||
#: ../js/ui/telepathyClient.js:746
|
||||
#, c-format
|
||||
msgid "%s is offline."
|
||||
msgstr "%s no hi és."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:745
|
||||
#: ../js/ui/telepathyClient.js:749
|
||||
#, c-format
|
||||
msgid "%s is away."
|
||||
msgstr "%s és lluny."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:748
|
||||
#: ../js/ui/telepathyClient.js:752
|
||||
#, c-format
|
||||
msgid "%s is busy."
|
||||
msgstr "%s està ocupat."
|
||||
@ -1277,35 +1289,35 @@ msgstr "%s està ocupat."
|
||||
#. Translators: this is a time format string followed by a date.
|
||||
#. If applicable, replace %X with a strftime format valid for your
|
||||
#. locale, without seconds.
|
||||
#: ../js/ui/telepathyClient.js:982
|
||||
#: ../js/ui/telepathyClient.js:986
|
||||
#, no-c-format
|
||||
msgid "Sent at <b>%X</b> on <b>%A</b>"
|
||||
msgstr "Enviat a les <b>%X</b> del <b>%A</b>"
|
||||
|
||||
#. Translators: this is a time format in the style of "Wednesday, May 25",
|
||||
#. shown when you get a chat message in the same year.
|
||||
#: ../js/ui/telepathyClient.js:988
|
||||
#: ../js/ui/telepathyClient.js:992
|
||||
#, no-c-format
|
||||
msgid "Sent on <b>%A</b>, <b>%B %d</b>"
|
||||
msgstr "Enviat el <b>%A %d de %B</b>"
|
||||
|
||||
#. Translators: this is a time format in the style of "Wednesday, May 25, 2012",
|
||||
#. shown when you get a chat message in a different year.
|
||||
#: ../js/ui/telepathyClient.js:993
|
||||
#: ../js/ui/telepathyClient.js:997
|
||||
#, no-c-format
|
||||
msgid "Sent on <b>%A</b>, <b>%B %d</b>, %Y"
|
||||
msgstr "Enviat el <b>%A %d de %B</b> de %Y"
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#: ../js/ui/telepathyClient.js:1035
|
||||
#: ../js/ui/telepathyClient.js:1039
|
||||
#, c-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "En/na %s ara es diu %s"
|
||||
|
||||
#. translators: argument is a room name like
|
||||
#. * room@jabber.org for example.
|
||||
#: ../js/ui/telepathyClient.js:1144
|
||||
#: ../js/ui/telepathyClient.js:1148
|
||||
#, c-format
|
||||
msgid "Invitation to %s"
|
||||
msgstr "Us han convidat a entrar a %s"
|
||||
@ -1313,34 +1325,35 @@ msgstr "Us han convidat a entrar a %s"
|
||||
#. translators: first argument is the name of a contact and the second
|
||||
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
|
||||
#. * for example.
|
||||
#: ../js/ui/telepathyClient.js:1152
|
||||
#: ../js/ui/telepathyClient.js:1156
|
||||
#, c-format
|
||||
msgid "%s is inviting you to join %s"
|
||||
msgstr "En/na %s us convida a entrar a %s"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1154 ../js/ui/telepathyClient.js:1243
|
||||
#: ../js/ui/telepathyClient.js:1347
|
||||
#: ../js/ui/telepathyClient.js:1158 ../js/ui/telepathyClient.js:1248
|
||||
#: ../js/ui/telepathyClient.js:1352
|
||||
msgid "Decline"
|
||||
msgstr "Declina"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1155 ../js/ui/telepathyClient.js:1244
|
||||
#: ../js/ui/telepathyClient.js:1348
|
||||
#: ../js/ui/telepathyClient.js:1159 ../js/ui/telepathyClient.js:1249
|
||||
#: ../js/ui/telepathyClient.js:1353
|
||||
msgid "Accept"
|
||||
msgstr "Accepta"
|
||||
|
||||
#. translators: argument is a contact name like Alice for example.
|
||||
#: ../js/ui/telepathyClient.js:1188
|
||||
#: ../js/ui/telepathyClient.js:1192
|
||||
#, c-format
|
||||
msgid "Video call from %s"
|
||||
msgstr "Videotrucada de %s"
|
||||
|
||||
#. translators: argument is a contact name like Alice for example.
|
||||
#: ../js/ui/telepathyClient.js:1191
|
||||
#: ../js/ui/telepathyClient.js:1195
|
||||
#, c-format
|
||||
msgid "Call from %s"
|
||||
msgstr "Trucada de %s"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1201
|
||||
#. translators: this is a button label (verb), not a noun
|
||||
#: ../js/ui/telepathyClient.js:1206
|
||||
msgid "Answer"
|
||||
msgstr "Contesta"
|
||||
|
||||
@ -1349,112 +1362,112 @@ msgstr "Contesta"
|
||||
#. * file name. The string will be something
|
||||
#. * like: "Alice is sending you test.ogg"
|
||||
#.
|
||||
#: ../js/ui/telepathyClient.js:1237
|
||||
#: ../js/ui/telepathyClient.js:1242
|
||||
#, c-format
|
||||
msgid "%s is sending you %s"
|
||||
msgstr "En/na %s us envia %s"
|
||||
|
||||
#. To translators: The parameter is the contact's alias
|
||||
#: ../js/ui/telepathyClient.js:1312
|
||||
#: ../js/ui/telepathyClient.js:1317
|
||||
#, c-format
|
||||
msgid "%s would like permission to see when you are online"
|
||||
msgstr "%s vol poder saber quan esteu en línia"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1410
|
||||
#: ../js/ui/telepathyClient.js:1415
|
||||
msgid "Network error"
|
||||
msgstr "Error de la xarxa"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1412
|
||||
#: ../js/ui/telepathyClient.js:1417
|
||||
msgid "Authentication failed"
|
||||
msgstr "Ha fallat l'autenticació"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1414
|
||||
#: ../js/ui/telepathyClient.js:1419
|
||||
msgid "Encryption error"
|
||||
msgstr "Error d'encriptació"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1416
|
||||
#: ../js/ui/telepathyClient.js:1421
|
||||
msgid "Certificate not provided"
|
||||
msgstr "No s'ha proporcionat el certificat"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1418
|
||||
#: ../js/ui/telepathyClient.js:1423
|
||||
msgid "Certificate untrusted"
|
||||
msgstr "El certificat no és de confiança"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1420
|
||||
#: ../js/ui/telepathyClient.js:1425
|
||||
msgid "Certificate expired"
|
||||
msgstr "El certificat ha vençut"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1422
|
||||
#: ../js/ui/telepathyClient.js:1427
|
||||
msgid "Certificate not activated"
|
||||
msgstr "El certificat no està activat"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1424
|
||||
#: ../js/ui/telepathyClient.js:1429
|
||||
msgid "Certificate hostname mismatch"
|
||||
msgstr "No coincideix el nom de la màquina del certificat"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1426
|
||||
#: ../js/ui/telepathyClient.js:1431
|
||||
msgid "Certificate fingerprint mismatch"
|
||||
msgstr "No coincideix l'empremta digital del certificat"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1428
|
||||
#: ../js/ui/telepathyClient.js:1433
|
||||
msgid "Certificate self-signed"
|
||||
msgstr "Certificat signat per un mateix"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1430
|
||||
#: ../js/ui/telepathyClient.js:1435
|
||||
msgid "Status is set to offline"
|
||||
msgstr "S'ha establert l'estat a fora de línia"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1432
|
||||
#: ../js/ui/telepathyClient.js:1437
|
||||
msgid "Encryption is not available"
|
||||
msgstr "L'encriptació no està disponible"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1434
|
||||
#: ../js/ui/telepathyClient.js:1439
|
||||
msgid "Certificate is invalid"
|
||||
msgstr "El certificat no és vàlid"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1436
|
||||
#: ../js/ui/telepathyClient.js:1441
|
||||
msgid "Connection has been refused"
|
||||
msgstr "S'ha rebutjat la connexió"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1438
|
||||
#: ../js/ui/telepathyClient.js:1443
|
||||
msgid "Connection can't be established"
|
||||
msgstr "No es pot establir la connexió"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1440
|
||||
#: ../js/ui/telepathyClient.js:1445
|
||||
msgid "Connection has been lost"
|
||||
msgstr "S'ha perdut la connexió"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1442
|
||||
#: ../js/ui/telepathyClient.js:1447
|
||||
msgid "This resource is already connected to the server"
|
||||
msgstr "Aquest recurs ja està connectat al servidor"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1444
|
||||
#: ../js/ui/telepathyClient.js:1449
|
||||
msgid ""
|
||||
"Connection has been replaced by a new connection using the same resource"
|
||||
msgstr ""
|
||||
"S'ha reemplaçat la connexió per una altra de nova fent servir el mateix "
|
||||
"recurs"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1446
|
||||
#: ../js/ui/telepathyClient.js:1451
|
||||
msgid "The account already exists on the server"
|
||||
msgstr "Ja existeix aquest compte al servidor"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1448
|
||||
#: ../js/ui/telepathyClient.js:1453
|
||||
msgid "Server is currently too busy to handle the connection"
|
||||
msgstr "El servidor està massa ocupat per gestionar la connexió"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1450
|
||||
#: ../js/ui/telepathyClient.js:1455
|
||||
msgid "Certificate has been revoked"
|
||||
msgstr "S'ha revocat el certificat"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1452
|
||||
#: ../js/ui/telepathyClient.js:1457
|
||||
msgid ""
|
||||
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
|
||||
msgstr ""
|
||||
"El certificat utilitza un algorisme criptògraf no segur o la seva fortalesa "
|
||||
"criptogràfica és feble"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1454
|
||||
#: ../js/ui/telepathyClient.js:1459
|
||||
msgid ""
|
||||
"The length of the server certificate, or the depth of the server certificate "
|
||||
"chain, exceed the limits imposed by the cryptography library"
|
||||
@ -1464,20 +1477,20 @@ msgstr ""
|
||||
|
||||
#. translators: argument is the account name, like
|
||||
#. * name@jabber.org for example.
|
||||
#: ../js/ui/telepathyClient.js:1463
|
||||
#: ../js/ui/telepathyClient.js:1468
|
||||
#, c-format
|
||||
msgid "Connection to %s failed"
|
||||
msgstr "Ha fallat la connexió a %s"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1472
|
||||
#: ../js/ui/telepathyClient.js:1477
|
||||
msgid "Reconnect"
|
||||
msgstr "Torna a connectar"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1473
|
||||
#: ../js/ui/telepathyClient.js:1478
|
||||
msgid "Edit account"
|
||||
msgstr "Edita el compte"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1519
|
||||
#: ../js/ui/telepathyClient.js:1524
|
||||
msgid "Unknown reason"
|
||||
msgstr "Motiu desconegut"
|
||||
|
||||
@ -1493,39 +1506,39 @@ msgstr "Inactiu"
|
||||
msgid "Unavailable"
|
||||
msgstr "No disponible"
|
||||
|
||||
#: ../js/ui/userMenu.js:512 ../js/ui/userMenu.js:516 ../js/ui/userMenu.js:586
|
||||
#: ../js/ui/userMenu.js:552 ../js/ui/userMenu.js:556 ../js/ui/userMenu.js:626
|
||||
msgid "Power Off..."
|
||||
msgstr "Apaga..."
|
||||
|
||||
#: ../js/ui/userMenu.js:548
|
||||
#: ../js/ui/userMenu.js:588
|
||||
msgid "Notifications"
|
||||
msgstr "Notificacions"
|
||||
|
||||
#: ../js/ui/userMenu.js:556
|
||||
#: ../js/ui/userMenu.js:596
|
||||
msgid "Online Accounts"
|
||||
msgstr "Comptes en línia"
|
||||
|
||||
#: ../js/ui/userMenu.js:560
|
||||
#: ../js/ui/userMenu.js:600
|
||||
msgid "System Settings"
|
||||
msgstr "Paràmetres de l'ordinador"
|
||||
|
||||
#: ../js/ui/userMenu.js:567
|
||||
#: ../js/ui/userMenu.js:607
|
||||
msgid "Lock Screen"
|
||||
msgstr "Bloca la pantalla"
|
||||
|
||||
#: ../js/ui/userMenu.js:572
|
||||
#: ../js/ui/userMenu.js:612
|
||||
msgid "Switch User"
|
||||
msgstr "Canvia d'usuari"
|
||||
|
||||
#: ../js/ui/userMenu.js:577
|
||||
#: ../js/ui/userMenu.js:617
|
||||
msgid "Log Out..."
|
||||
msgstr "Surt..."
|
||||
|
||||
#: ../js/ui/userMenu.js:605
|
||||
#: ../js/ui/userMenu.js:645
|
||||
msgid "Your chat status will be set to busy"
|
||||
msgstr "L'estat del xat s'establirà a ocupat"
|
||||
|
||||
#: ../js/ui/userMenu.js:606
|
||||
#: ../js/ui/userMenu.js:646
|
||||
msgid ""
|
||||
"Notifications are now disabled, including chat messages. Your online status "
|
||||
"has been adjusted to let others know that you might not see their messages."
|
||||
@ -1538,11 +1551,11 @@ msgstr ""
|
||||
#. in the search entry when no search is
|
||||
#. active; it should not exceed ~30
|
||||
#. characters.
|
||||
#: ../js/ui/viewSelector.js:120
|
||||
#: ../js/ui/viewSelector.js:121
|
||||
msgid "Type to search..."
|
||||
msgstr "Teclegeu per cercar..."
|
||||
|
||||
#: ../js/ui/viewSelector.js:140 ../src/shell-util.c:261
|
||||
#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:261
|
||||
msgid "Search"
|
||||
msgstr "Cerca"
|
||||
|
||||
@ -1581,7 +1594,7 @@ msgstr "Mostra la versió"
|
||||
msgid "Mode used by GDM for login screen"
|
||||
msgstr "El mode que utilitzarà el GDM per a la pantalla d'entrada"
|
||||
|
||||
#: ../src/shell-app.c:581
|
||||
#: ../src/shell-app.c:579
|
||||
#, c-format
|
||||
msgid "Failed to launch '%s'"
|
||||
msgstr "No s'ha pogut iniciar «%s»"
|
||||
@ -1618,6 +1631,9 @@ msgstr "Sistema de fitxers"
|
||||
msgid "%1$s: %2$s"
|
||||
msgstr "%1$s: %2$s"
|
||||
|
||||
#~ msgid "Show password"
|
||||
#~ msgstr "Mostra la contrasenya"
|
||||
|
||||
#~ msgid "%s has not emitted any errors."
|
||||
#~ msgstr "%s no ha emès cap error."
|
||||
|
||||
|
@ -8,10 +8,10 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: HEAD\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-10-01 16:04+0200\n"
|
||||
"PO-Revision-Date: 2011-10-01 16:03+0200\n"
|
||||
"POT-Creation-Date: 2011-10-23 23:43+0200\n"
|
||||
"PO-Revision-Date: 2011-10-23 23:41+0200\n"
|
||||
"Last-Translator: Gil Forcada <gilforcada@guifi.net>\n"
|
||||
"Language-Team: català; valencià <tradgnome@softcatala.org>\n"
|
||||
"Language-Team: Catalan <tradgnome@softcatala.org>\n"
|
||||
"Language: ca-XV\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@ -187,42 +187,42 @@ msgstr "Quin tipus de teclat s'ha d'utilitzar"
|
||||
msgid "disabled OpenSearch providers"
|
||||
msgstr "inhabilita els proveïdors d'OpenSearch"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:617
|
||||
#: ../js/gdm/loginDialog.js:633
|
||||
msgid "Session..."
|
||||
msgstr "Sessió..."
|
||||
|
||||
#: ../js/gdm/loginDialog.js:785
|
||||
#: ../js/gdm/loginDialog.js:804
|
||||
msgctxt "title"
|
||||
msgid "Sign In"
|
||||
msgstr "Entrada"
|
||||
|
||||
#. translators: this message is shown below the password entry field
|
||||
#. to indicate the user can swipe their finger instead
|
||||
#: ../js/gdm/loginDialog.js:830
|
||||
#: ../js/gdm/loginDialog.js:849
|
||||
msgid "(or swipe finger)"
|
||||
msgstr "(o passeu el dit)"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:848
|
||||
#: ../js/gdm/loginDialog.js:867
|
||||
msgid "Not listed?"
|
||||
msgstr "No esteu llistat?"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1004 ../js/ui/endSessionDialog.js:426
|
||||
#: ../js/ui/extensionSystem.js:477 ../js/ui/networkAgent.js:165
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:171 ../js/ui/status/bluetooth.js:480
|
||||
#: ../js/gdm/loginDialog.js:1035 ../js/ui/endSessionDialog.js:426
|
||||
#: ../js/ui/extensionSystem.js:477 ../js/ui/networkAgent.js:148
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:173 ../js/ui/status/bluetooth.js:480
|
||||
msgid "Cancel"
|
||||
msgstr "Cancel·la"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1009
|
||||
#: ../js/gdm/loginDialog.js:1040
|
||||
msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "Entra"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1358
|
||||
#: ../js/gdm/loginDialog.js:1392
|
||||
msgid "Login Window"
|
||||
msgstr "Finestra d'entrada"
|
||||
|
||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:514
|
||||
#: ../js/ui/userMenu.js:516 ../js/ui/userMenu.js:585
|
||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:554
|
||||
#: ../js/ui/userMenu.js:556 ../js/ui/userMenu.js:625
|
||||
msgid "Suspend"
|
||||
msgstr "Atura temporalment"
|
||||
|
||||
@ -445,32 +445,32 @@ msgstr "Esta setmana"
|
||||
msgid "Next week"
|
||||
msgstr "La setmana que ve"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:59 ../js/ui/notificationDaemon.js:444
|
||||
#: ../js/ui/status/power.js:223 ../src/shell-app.c:355
|
||||
#: ../js/ui/contactDisplay.js:65 ../js/ui/notificationDaemon.js:459
|
||||
#: ../js/ui/status/power.js:223 ../src/shell-app.c:353
|
||||
msgid "Unknown"
|
||||
msgstr "Desconegut"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:80 ../js/ui/userMenu.js:139
|
||||
#: ../js/ui/contactDisplay.js:86 ../js/ui/userMenu.js:139
|
||||
msgid "Available"
|
||||
msgstr "Disponible"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:85 ../js/ui/userMenu.js:148
|
||||
#: ../js/ui/contactDisplay.js:91 ../js/ui/userMenu.js:148
|
||||
msgid "Away"
|
||||
msgstr "Absent"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:89 ../js/ui/userMenu.js:142
|
||||
#: ../js/ui/contactDisplay.js:95 ../js/ui/userMenu.js:142
|
||||
msgid "Busy"
|
||||
msgstr "Ocupat"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:93
|
||||
#: ../js/ui/contactDisplay.js:99
|
||||
msgid "Offline"
|
||||
msgstr "Fora de línia"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:140
|
||||
#: ../js/ui/contactDisplay.js:146
|
||||
msgid "CONTACTS"
|
||||
msgstr "Contactes"
|
||||
|
||||
#: ../js/ui/dash.js:172 ../js/ui/messageTray.js:1204
|
||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1206
|
||||
msgid "Remove"
|
||||
msgstr "Suprimeix"
|
||||
|
||||
@ -604,110 +604,96 @@ msgstr "Instal·la"
|
||||
msgid "Download and install '%s' from extensions.gnome.org?"
|
||||
msgstr "Voleu baixar i instal·lar «%s» d'extensions.gnome.org?"
|
||||
|
||||
#: ../js/ui/keyboard.js:529 ../js/ui/status/power.js:211
|
||||
#: ../js/ui/keyboard.js:325
|
||||
msgid "tray"
|
||||
msgstr "safata"
|
||||
|
||||
#: ../js/ui/keyboard.js:547 ../js/ui/status/power.js:211
|
||||
msgid "Keyboard"
|
||||
msgstr "Teclat"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:645
|
||||
#: ../js/ui/lookingGlass.js:646
|
||||
msgid "No extensions installed"
|
||||
msgstr "No hi ha cap extensió instal·lada"
|
||||
|
||||
#. Translators: argument is an extension UUID.
|
||||
#: ../js/ui/lookingGlass.js:700
|
||||
#, c-format
|
||||
msgid "%s has not emitted any errors."
|
||||
msgstr "%s no ha emés cap error."
|
||||
|
||||
#: ../js/ui/lookingGlass.js:706
|
||||
msgid "Hide Errors"
|
||||
msgstr "Amaga els errors"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:710 ../js/ui/lookingGlass.js:760
|
||||
msgid "Show Errors"
|
||||
msgstr "Mostra els errors"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:719
|
||||
#: ../js/ui/lookingGlass.js:692
|
||||
msgid "Enabled"
|
||||
msgstr "Habilitat"
|
||||
|
||||
#. translators:
|
||||
#. * The device has been disabled
|
||||
#: ../js/ui/lookingGlass.js:721 ../src/gvc/gvc-mixer-control.c:1093
|
||||
#: ../js/ui/lookingGlass.js:694 ../src/gvc/gvc-mixer-control.c:1093
|
||||
msgid "Disabled"
|
||||
msgstr "Inhabilitat"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:723
|
||||
#: ../js/ui/lookingGlass.js:696
|
||||
msgid "Error"
|
||||
msgstr "Error"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:725
|
||||
#: ../js/ui/lookingGlass.js:698
|
||||
msgid "Out of date"
|
||||
msgstr "Fora d'hora"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:727
|
||||
#: ../js/ui/lookingGlass.js:700
|
||||
msgid "Downloading"
|
||||
msgstr "S'està baixant"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:748
|
||||
#: ../js/ui/lookingGlass.js:721
|
||||
msgid "View Source"
|
||||
msgstr "Mostra el codi font"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:754
|
||||
#: ../js/ui/lookingGlass.js:727
|
||||
msgid "Web Page"
|
||||
msgstr "Pàgina web"
|
||||
|
||||
#: ../js/ui/messageTray.js:1197
|
||||
#: ../js/ui/messageTray.js:1199
|
||||
msgid "Open"
|
||||
msgstr "Obri"
|
||||
|
||||
#: ../js/ui/messageTray.js:2406
|
||||
#: ../js/ui/messageTray.js:2408
|
||||
msgid "System Information"
|
||||
msgstr "Informació de l'ordinador"
|
||||
|
||||
#: ../js/ui/networkAgent.js:145
|
||||
msgid "Show password"
|
||||
msgstr "Mostra la contrasenya"
|
||||
|
||||
#: ../js/ui/networkAgent.js:160
|
||||
#: ../js/ui/networkAgent.js:143
|
||||
msgid "Connect"
|
||||
msgstr "Connecta"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: ../js/ui/networkAgent.js:255 ../js/ui/networkAgent.js:267
|
||||
#: ../js/ui/networkAgent.js:294 ../js/ui/networkAgent.js:314
|
||||
#: ../js/ui/networkAgent.js:324
|
||||
#: ../js/ui/networkAgent.js:238 ../js/ui/networkAgent.js:250
|
||||
#: ../js/ui/networkAgent.js:277 ../js/ui/networkAgent.js:297
|
||||
#: ../js/ui/networkAgent.js:307
|
||||
msgid "Password: "
|
||||
msgstr "Contrasenya:"
|
||||
|
||||
#. static WEP
|
||||
#: ../js/ui/networkAgent.js:260
|
||||
#: ../js/ui/networkAgent.js:243
|
||||
msgid "Key: "
|
||||
msgstr "Clau:"
|
||||
|
||||
#. 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/ui/networkAgent.js:292 ../js/ui/networkAgent.js:310
|
||||
#: ../js/ui/networkAgent.js:275 ../js/ui/networkAgent.js:293
|
||||
msgid "Username: "
|
||||
msgstr "Nom d'usuari:"
|
||||
|
||||
#: ../js/ui/networkAgent.js:298
|
||||
#: ../js/ui/networkAgent.js:281
|
||||
msgid "Identity: "
|
||||
msgstr "Identitat:"
|
||||
|
||||
#: ../js/ui/networkAgent.js:300
|
||||
#: ../js/ui/networkAgent.js:283
|
||||
msgid "Private key password: "
|
||||
msgstr "Contrasenya de la clau privada:"
|
||||
|
||||
#: ../js/ui/networkAgent.js:312
|
||||
#: ../js/ui/networkAgent.js:295
|
||||
msgid "Service: "
|
||||
msgstr "Servei:"
|
||||
|
||||
#: ../js/ui/networkAgent.js:341
|
||||
#: ../js/ui/networkAgent.js:324
|
||||
msgid "Authentication required by wireless network"
|
||||
msgstr "La xarxa sense fil requereix autenticació"
|
||||
|
||||
#: ../js/ui/networkAgent.js:342
|
||||
#: ../js/ui/networkAgent.js:325
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
@ -716,35 +702,35 @@ msgstr ""
|
||||
"Per accedir a la xarxa sense fil «%s» calen les contrasenyes o les claus "
|
||||
"d'encriptació."
|
||||
|
||||
#: ../js/ui/networkAgent.js:346
|
||||
#: ../js/ui/networkAgent.js:329
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "Autenticació 802.1X amb fil"
|
||||
|
||||
#: ../js/ui/networkAgent.js:348
|
||||
#: ../js/ui/networkAgent.js:331
|
||||
msgid "Network name: "
|
||||
msgstr "Nom de la xarxa: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:353
|
||||
#: ../js/ui/networkAgent.js:336
|
||||
msgid "DSL authentication"
|
||||
msgstr "Autenticació DSL"
|
||||
|
||||
#: ../js/ui/networkAgent.js:360
|
||||
#: ../js/ui/networkAgent.js:343
|
||||
msgid "PIN code required"
|
||||
msgstr "Cal que introduïu el codi PIN"
|
||||
|
||||
#: ../js/ui/networkAgent.js:361
|
||||
#: ../js/ui/networkAgent.js:344
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "Cal que introduïu el codi PIN del dispositiu de banda ampla mòbil"
|
||||
|
||||
#: ../js/ui/networkAgent.js:362
|
||||
#: ../js/ui/networkAgent.js:345
|
||||
msgid "PIN: "
|
||||
msgstr "PIN: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:368
|
||||
#: ../js/ui/networkAgent.js:351
|
||||
msgid "Mobile broadband network password"
|
||||
msgstr "Contrasenya de la xarxa de banda ampla mòbil"
|
||||
|
||||
#: ../js/ui/networkAgent.js:369
|
||||
#: ../js/ui/networkAgent.js:352
|
||||
#, c-format
|
||||
msgid "A password is required to connect to '%s'."
|
||||
msgstr "Cal que introduïu una contrasenya per connectar-vos a «%s»."
|
||||
@ -800,15 +786,15 @@ msgstr "Connecta a..."
|
||||
msgid "PLACES & DEVICES"
|
||||
msgstr "LLOCS I DISPOSITIUS"
|
||||
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:72
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:73
|
||||
msgid "Authentication Required"
|
||||
msgstr "Cal autenticació"
|
||||
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:106
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:107
|
||||
msgid "Administrator"
|
||||
msgstr "Administrador"
|
||||
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:175
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:177
|
||||
msgid "Authenticate"
|
||||
msgstr "Autentica"
|
||||
|
||||
@ -816,11 +802,11 @@ msgstr "Autentica"
|
||||
#. * requested authentication was not gained; this can happen
|
||||
#. * because of an authentication error (like invalid password),
|
||||
#. * for instance.
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:256
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:258
|
||||
msgid "Sorry, that didn't work. Please try again."
|
||||
msgstr "No ha funcionat. Torneu-ho a provar."
|
||||
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:268
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:270
|
||||
msgid "Password:"
|
||||
msgstr "Contrasenya:"
|
||||
|
||||
@ -833,7 +819,7 @@ msgstr "Contrasenya:"
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-intl"
|
||||
|
||||
#: ../js/ui/runDialog.js:208
|
||||
#: ../js/ui/runDialog.js:209
|
||||
msgid "Please enter a command:"
|
||||
msgstr "Introduïu una orde:"
|
||||
|
||||
@ -845,6 +831,22 @@ msgstr "S'està cercant..."
|
||||
msgid "No matching results."
|
||||
msgstr "No s'ha trobat cap coincidència."
|
||||
|
||||
#: ../js/ui/shellEntry.js:30
|
||||
msgid "Copy"
|
||||
msgstr "Copia"
|
||||
|
||||
#: ../js/ui/shellEntry.js:35
|
||||
msgid "Paste"
|
||||
msgstr "Enganxa"
|
||||
|
||||
#: ../js/ui/shellEntry.js:81
|
||||
msgid "Show Text"
|
||||
msgstr "Mostra el text"
|
||||
|
||||
#: ../js/ui/shellEntry.js:83
|
||||
msgid "Hide Text"
|
||||
msgstr "Oculta el text"
|
||||
|
||||
#: ../js/ui/shellMountOperation.js:285
|
||||
msgid "Wrong password, please try again"
|
||||
msgstr "La contrasenya és errònia, torneu-ho a intentar"
|
||||
@ -978,7 +980,7 @@ msgstr "Permet l'accés sempre"
|
||||
msgid "Grant this time only"
|
||||
msgstr "Permet-ho només ara"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:392 ../js/ui/telepathyClient.js:1200
|
||||
#: ../js/ui/status/bluetooth.js:392 ../js/ui/telepathyClient.js:1204
|
||||
msgid "Reject"
|
||||
msgstr "Rebutja"
|
||||
|
||||
@ -1264,22 +1266,22 @@ msgstr "Teniu una petició de subscripció"
|
||||
msgid "Connection error"
|
||||
msgstr "S'ha produït un error de connexió"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:737
|
||||
#: ../js/ui/telepathyClient.js:741
|
||||
#, c-format
|
||||
msgid "%s is online."
|
||||
msgstr "%s és en línia."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:742
|
||||
#: ../js/ui/telepathyClient.js:746
|
||||
#, c-format
|
||||
msgid "%s is offline."
|
||||
msgstr "%s no hi és."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:745
|
||||
#: ../js/ui/telepathyClient.js:749
|
||||
#, c-format
|
||||
msgid "%s is away."
|
||||
msgstr "%s és lluny."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:748
|
||||
#: ../js/ui/telepathyClient.js:752
|
||||
#, c-format
|
||||
msgid "%s is busy."
|
||||
msgstr "%s està ocupat."
|
||||
@ -1287,35 +1289,35 @@ msgstr "%s està ocupat."
|
||||
#. Translators: this is a time format string followed by a date.
|
||||
#. If applicable, replace %X with a strftime format valid for your
|
||||
#. locale, without seconds.
|
||||
#: ../js/ui/telepathyClient.js:982
|
||||
#: ../js/ui/telepathyClient.js:986
|
||||
#, no-c-format
|
||||
msgid "Sent at <b>%X</b> on <b>%A</b>"
|
||||
msgstr "Enviat a les <b>%X</b> del <b>%A</b>"
|
||||
|
||||
#. Translators: this is a time format in the style of "Wednesday, May 25",
|
||||
#. shown when you get a chat message in the same year.
|
||||
#: ../js/ui/telepathyClient.js:988
|
||||
#: ../js/ui/telepathyClient.js:992
|
||||
#, no-c-format
|
||||
msgid "Sent on <b>%A</b>, <b>%B %d</b>"
|
||||
msgstr "Enviat el <b>%A %d de %B</b>"
|
||||
|
||||
#. Translators: this is a time format in the style of "Wednesday, May 25, 2012",
|
||||
#. shown when you get a chat message in a different year.
|
||||
#: ../js/ui/telepathyClient.js:993
|
||||
#: ../js/ui/telepathyClient.js:997
|
||||
#, no-c-format
|
||||
msgid "Sent on <b>%A</b>, <b>%B %d</b>, %Y"
|
||||
msgstr "Enviat el <b>%A %d de %B</b> de %Y"
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#: ../js/ui/telepathyClient.js:1035
|
||||
#: ../js/ui/telepathyClient.js:1039
|
||||
#, c-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "En/na %s ara es diu %s"
|
||||
|
||||
#. translators: argument is a room name like
|
||||
#. * room@jabber.org for example.
|
||||
#: ../js/ui/telepathyClient.js:1144
|
||||
#: ../js/ui/telepathyClient.js:1148
|
||||
#, c-format
|
||||
msgid "Invitation to %s"
|
||||
msgstr "Vos han convidat a entrar a %s"
|
||||
@ -1323,34 +1325,35 @@ msgstr "Vos han convidat a entrar a %s"
|
||||
#. translators: first argument is the name of a contact and the second
|
||||
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
|
||||
#. * for example.
|
||||
#: ../js/ui/telepathyClient.js:1152
|
||||
#: ../js/ui/telepathyClient.js:1156
|
||||
#, c-format
|
||||
msgid "%s is inviting you to join %s"
|
||||
msgstr "En/na %s vos convida a entrar a %s"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1154 ../js/ui/telepathyClient.js:1243
|
||||
#: ../js/ui/telepathyClient.js:1347
|
||||
#: ../js/ui/telepathyClient.js:1158 ../js/ui/telepathyClient.js:1248
|
||||
#: ../js/ui/telepathyClient.js:1352
|
||||
msgid "Decline"
|
||||
msgstr "Declina"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1155 ../js/ui/telepathyClient.js:1244
|
||||
#: ../js/ui/telepathyClient.js:1348
|
||||
#: ../js/ui/telepathyClient.js:1159 ../js/ui/telepathyClient.js:1249
|
||||
#: ../js/ui/telepathyClient.js:1353
|
||||
msgid "Accept"
|
||||
msgstr "Accepta"
|
||||
|
||||
#. translators: argument is a contact name like Alice for example.
|
||||
#: ../js/ui/telepathyClient.js:1188
|
||||
#: ../js/ui/telepathyClient.js:1192
|
||||
#, c-format
|
||||
msgid "Video call from %s"
|
||||
msgstr "Videotrucada de %s"
|
||||
|
||||
#. translators: argument is a contact name like Alice for example.
|
||||
#: ../js/ui/telepathyClient.js:1191
|
||||
#: ../js/ui/telepathyClient.js:1195
|
||||
#, c-format
|
||||
msgid "Call from %s"
|
||||
msgstr "Trucada de %s"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1201
|
||||
#. translators: this is a button label (verb), not a noun
|
||||
#: ../js/ui/telepathyClient.js:1206
|
||||
msgid "Answer"
|
||||
msgstr "Contesta"
|
||||
|
||||
@ -1359,112 +1362,112 @@ msgstr "Contesta"
|
||||
#. * file name. The string will be something
|
||||
#. * like: "Alice is sending you test.ogg"
|
||||
#.
|
||||
#: ../js/ui/telepathyClient.js:1237
|
||||
#: ../js/ui/telepathyClient.js:1242
|
||||
#, c-format
|
||||
msgid "%s is sending you %s"
|
||||
msgstr "En/na %s vos envia %s"
|
||||
|
||||
#. To translators: The parameter is the contact's alias
|
||||
#: ../js/ui/telepathyClient.js:1312
|
||||
#: ../js/ui/telepathyClient.js:1317
|
||||
#, c-format
|
||||
msgid "%s would like permission to see when you are online"
|
||||
msgstr "%s vol poder saber quan esteu en línia"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1410
|
||||
#: ../js/ui/telepathyClient.js:1415
|
||||
msgid "Network error"
|
||||
msgstr "Error de la xarxa"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1412
|
||||
#: ../js/ui/telepathyClient.js:1417
|
||||
msgid "Authentication failed"
|
||||
msgstr "Ha fallat l'autenticació"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1414
|
||||
#: ../js/ui/telepathyClient.js:1419
|
||||
msgid "Encryption error"
|
||||
msgstr "Error d'encriptació"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1416
|
||||
#: ../js/ui/telepathyClient.js:1421
|
||||
msgid "Certificate not provided"
|
||||
msgstr "No s'ha proporcionat el certificat"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1418
|
||||
#: ../js/ui/telepathyClient.js:1423
|
||||
msgid "Certificate untrusted"
|
||||
msgstr "El certificat no és de confiança"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1420
|
||||
#: ../js/ui/telepathyClient.js:1425
|
||||
msgid "Certificate expired"
|
||||
msgstr "El certificat ha vençut"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1422
|
||||
#: ../js/ui/telepathyClient.js:1427
|
||||
msgid "Certificate not activated"
|
||||
msgstr "El certificat no està activat"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1424
|
||||
#: ../js/ui/telepathyClient.js:1429
|
||||
msgid "Certificate hostname mismatch"
|
||||
msgstr "No coincideix el nom de la màquina del certificat"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1426
|
||||
#: ../js/ui/telepathyClient.js:1431
|
||||
msgid "Certificate fingerprint mismatch"
|
||||
msgstr "No coincideix l'empremta digital del certificat"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1428
|
||||
#: ../js/ui/telepathyClient.js:1433
|
||||
msgid "Certificate self-signed"
|
||||
msgstr "Certificat signat per un mateix"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1430
|
||||
#: ../js/ui/telepathyClient.js:1435
|
||||
msgid "Status is set to offline"
|
||||
msgstr "S'ha establit l'estat a fora de línia"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1432
|
||||
#: ../js/ui/telepathyClient.js:1437
|
||||
msgid "Encryption is not available"
|
||||
msgstr "L'encriptació no està disponible"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1434
|
||||
#: ../js/ui/telepathyClient.js:1439
|
||||
msgid "Certificate is invalid"
|
||||
msgstr "El certificat no és vàlid"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1436
|
||||
#: ../js/ui/telepathyClient.js:1441
|
||||
msgid "Connection has been refused"
|
||||
msgstr "S'ha rebutjat la connexió"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1438
|
||||
#: ../js/ui/telepathyClient.js:1443
|
||||
msgid "Connection can't be established"
|
||||
msgstr "No es pot establir la connexió"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1440
|
||||
#: ../js/ui/telepathyClient.js:1445
|
||||
msgid "Connection has been lost"
|
||||
msgstr "S'ha perdut la connexió"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1442
|
||||
#: ../js/ui/telepathyClient.js:1447
|
||||
msgid "This resource is already connected to the server"
|
||||
msgstr "Este recurs ja està connectat al servidor"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1444
|
||||
#: ../js/ui/telepathyClient.js:1449
|
||||
msgid ""
|
||||
"Connection has been replaced by a new connection using the same resource"
|
||||
msgstr ""
|
||||
"S'ha reemplaçat la connexió per una altra de nova fent servir el mateix "
|
||||
"recurs"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1446
|
||||
#: ../js/ui/telepathyClient.js:1451
|
||||
msgid "The account already exists on the server"
|
||||
msgstr "Ja existeix este compte al servidor"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1448
|
||||
#: ../js/ui/telepathyClient.js:1453
|
||||
msgid "Server is currently too busy to handle the connection"
|
||||
msgstr "El servidor està massa ocupat per gestionar la connexió"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1450
|
||||
#: ../js/ui/telepathyClient.js:1455
|
||||
msgid "Certificate has been revoked"
|
||||
msgstr "S'ha revocat el certificat"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1452
|
||||
#: ../js/ui/telepathyClient.js:1457
|
||||
msgid ""
|
||||
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
|
||||
msgstr ""
|
||||
"El certificat utilitza un algorisme criptògraf no segur o la seua fortalesa "
|
||||
"criptogràfica és feble"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1454
|
||||
#: ../js/ui/telepathyClient.js:1459
|
||||
msgid ""
|
||||
"The length of the server certificate, or the depth of the server certificate "
|
||||
"chain, exceed the limits imposed by the cryptography library"
|
||||
@ -1474,20 +1477,20 @@ msgstr ""
|
||||
|
||||
#. translators: argument is the account name, like
|
||||
#. * name@jabber.org for example.
|
||||
#: ../js/ui/telepathyClient.js:1463
|
||||
#: ../js/ui/telepathyClient.js:1468
|
||||
#, c-format
|
||||
msgid "Connection to %s failed"
|
||||
msgstr "Ha fallat la connexió a %s"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1472
|
||||
#: ../js/ui/telepathyClient.js:1477
|
||||
msgid "Reconnect"
|
||||
msgstr "Torna a connectar"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1473
|
||||
#: ../js/ui/telepathyClient.js:1478
|
||||
msgid "Edit account"
|
||||
msgstr "Edita el compte"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1519
|
||||
#: ../js/ui/telepathyClient.js:1524
|
||||
msgid "Unknown reason"
|
||||
msgstr "Motiu desconegut"
|
||||
|
||||
@ -1503,39 +1506,39 @@ msgstr "Inactiu"
|
||||
msgid "Unavailable"
|
||||
msgstr "No disponible"
|
||||
|
||||
#: ../js/ui/userMenu.js:512 ../js/ui/userMenu.js:516 ../js/ui/userMenu.js:586
|
||||
#: ../js/ui/userMenu.js:552 ../js/ui/userMenu.js:556 ../js/ui/userMenu.js:626
|
||||
msgid "Power Off..."
|
||||
msgstr "Apaga..."
|
||||
|
||||
#: ../js/ui/userMenu.js:548
|
||||
#: ../js/ui/userMenu.js:588
|
||||
msgid "Notifications"
|
||||
msgstr "Notificacions"
|
||||
|
||||
#: ../js/ui/userMenu.js:556
|
||||
#: ../js/ui/userMenu.js:596
|
||||
msgid "Online Accounts"
|
||||
msgstr "Comptes en línia"
|
||||
|
||||
#: ../js/ui/userMenu.js:560
|
||||
#: ../js/ui/userMenu.js:600
|
||||
msgid "System Settings"
|
||||
msgstr "Paràmetres de l'ordinador"
|
||||
|
||||
#: ../js/ui/userMenu.js:567
|
||||
#: ../js/ui/userMenu.js:607
|
||||
msgid "Lock Screen"
|
||||
msgstr "Bloca la pantalla"
|
||||
|
||||
#: ../js/ui/userMenu.js:572
|
||||
#: ../js/ui/userMenu.js:612
|
||||
msgid "Switch User"
|
||||
msgstr "Canvia d'usuari"
|
||||
|
||||
#: ../js/ui/userMenu.js:577
|
||||
#: ../js/ui/userMenu.js:617
|
||||
msgid "Log Out..."
|
||||
msgstr "Ix..."
|
||||
|
||||
#: ../js/ui/userMenu.js:605
|
||||
#: ../js/ui/userMenu.js:645
|
||||
msgid "Your chat status will be set to busy"
|
||||
msgstr "L'estat del xat s'establirà a ocupat"
|
||||
|
||||
#: ../js/ui/userMenu.js:606
|
||||
#: ../js/ui/userMenu.js:646
|
||||
msgid ""
|
||||
"Notifications are now disabled, including chat messages. Your online status "
|
||||
"has been adjusted to let others know that you might not see their messages."
|
||||
@ -1548,11 +1551,11 @@ msgstr ""
|
||||
#. in the search entry when no search is
|
||||
#. active; it should not exceed ~30
|
||||
#. characters.
|
||||
#: ../js/ui/viewSelector.js:120
|
||||
#: ../js/ui/viewSelector.js:121
|
||||
msgid "Type to search..."
|
||||
msgstr "Teclegeu per cercar..."
|
||||
|
||||
#: ../js/ui/viewSelector.js:140 ../src/shell-util.c:261
|
||||
#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:261
|
||||
msgid "Search"
|
||||
msgstr "Cerca"
|
||||
|
||||
@ -1591,7 +1594,7 @@ msgstr "Mostra la versió"
|
||||
msgid "Mode used by GDM for login screen"
|
||||
msgstr "El mode que utilitzarà el GDM per a la pantalla d'entrada"
|
||||
|
||||
#: ../src/shell-app.c:581
|
||||
#: ../src/shell-app.c:579
|
||||
#, c-format
|
||||
msgid "Failed to launch '%s'"
|
||||
msgstr "No s'ha pogut iniciar «%s»"
|
||||
@ -1628,6 +1631,18 @@ msgstr "Sistema de fitxers"
|
||||
msgid "%1$s: %2$s"
|
||||
msgstr "%1$s: %2$s"
|
||||
|
||||
#~ msgid "Show password"
|
||||
#~ msgstr "Mostra la contrasenya"
|
||||
|
||||
#~ msgid "%s has not emitted any errors."
|
||||
#~ msgstr "%s no ha emès cap error."
|
||||
|
||||
#~ msgid "Hide Errors"
|
||||
#~ msgstr "Amaga els errors"
|
||||
|
||||
#~ msgid "Show Errors"
|
||||
#~ msgstr "Mostra els errors"
|
||||
|
||||
#~ msgid "%s has finished starting"
|
||||
#~ msgstr "S'ha acabat d'iniciar %s"
|
||||
|
||||
|
120
po/cs.po
120
po/cs.po
@ -7,17 +7,17 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell\n"
|
||||
"Project-Id-Version: gnome-shell gnome-3.2\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2011-10-21 20:30+0000\n"
|
||||
"PO-Revision-Date: 2011-10-30 14:20+0100\n"
|
||||
"POT-Creation-Date: 2011-10-18 19:39+0000\n"
|
||||
"PO-Revision-Date: 2011-10-30 14:12+0100\n"
|
||||
"Last-Translator: Petr Kovar <pknbe@volny.cz>\n"
|
||||
"Language-Team: Czech <gnome-cs-list@gnome.org>\n"
|
||||
"Language: cs\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: cs\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||
"X-Generator: Lokalize 1.2\n"
|
||||
|
||||
@ -202,7 +202,7 @@ msgid "Not listed?"
|
||||
msgstr "Nejste na seznamu?"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1035 ../js/ui/endSessionDialog.js:426
|
||||
#: ../js/ui/extensionSystem.js:520 ../js/ui/networkAgent.js:148
|
||||
#: ../js/ui/extensionSystem.js:477 ../js/ui/networkAgent.js:148
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:173 ../js/ui/status/bluetooth.js:480
|
||||
msgid "Cancel"
|
||||
msgstr "Zrušit"
|
||||
@ -216,16 +216,18 @@ msgstr "Přihlásit se"
|
||||
msgid "Login Window"
|
||||
msgstr "Přihlašovací okno"
|
||||
|
||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:569
|
||||
#: ../js/ui/userMenu.js:571 ../js/ui/userMenu.js:640
|
||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:554
|
||||
#: ../js/ui/userMenu.js:556 ../js/ui/userMenu.js:625
|
||||
msgid "Suspend"
|
||||
msgstr "Uspat do paměti"
|
||||
|
||||
#: ../js/gdm/powerMenu.js:121
|
||||
#: ../js/gdm/powerMenu.js:121 ../js/ui/endSessionDialog.js:89
|
||||
#: ../js/ui/endSessionDialog.js:97 ../js/ui/endSessionDialog.js:106
|
||||
msgid "Restart"
|
||||
msgstr "Restartovat"
|
||||
|
||||
#: ../js/gdm/powerMenu.js:126
|
||||
#: ../js/gdm/powerMenu.js:126 ../js/ui/endSessionDialog.js:80
|
||||
#: ../js/ui/endSessionDialog.js:91
|
||||
msgid "Power Off"
|
||||
msgstr "Vypnout"
|
||||
|
||||
@ -538,14 +540,12 @@ msgstr "NEDÁVNÉ POLOŽKY"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:60
|
||||
#, c-format
|
||||
msgctxt "title"
|
||||
msgid "Log Out %s"
|
||||
msgstr "Odhlásit uživatele %s"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:61
|
||||
msgctxt "title"
|
||||
#: ../js/ui/endSessionDialog.js:61 ../js/ui/endSessionDialog.js:75
|
||||
msgid "Log Out"
|
||||
msgstr "Odhlášení"
|
||||
msgstr "Odhlásit"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:62
|
||||
msgid "Click Log Out to quit these applications and log out of the system."
|
||||
@ -572,16 +572,6 @@ msgstr[2] "Budete automaticky odhlášeni za %d sekund."
|
||||
msgid "Logging out of the system."
|
||||
msgstr "Odhlašování ze systému."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:75
|
||||
msgctxt "button"
|
||||
msgid "Log Out"
|
||||
msgstr "Odhlásit"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:80
|
||||
msgctxt "title"
|
||||
msgid "Power Off"
|
||||
msgstr "Vypnutí"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:81
|
||||
msgid "Click Power Off to quit these applications and power off the system."
|
||||
msgstr "Tyto aplikace ukončíte a systém vypnete kliknutím na Vypnout."
|
||||
@ -598,21 +588,6 @@ msgstr[2] "Systém bude automaticky vypnut za %d sekund."
|
||||
msgid "Powering off the system."
|
||||
msgstr "Vypínání systému."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:89 ../js/ui/endSessionDialog.js:106
|
||||
msgctxt "button"
|
||||
msgid "Restart"
|
||||
msgstr "Restartovat"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:91
|
||||
msgctxt "button"
|
||||
msgid "Power Off"
|
||||
msgstr "Vypnout"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:97
|
||||
msgctxt "title"
|
||||
msgid "Restart"
|
||||
msgstr "Restart"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:98
|
||||
msgid "Click Restart to quit these applications and restart the system."
|
||||
msgstr "Tyto aplikace ukončíte a systém restartujete kliknutím na Vypnout."
|
||||
@ -629,16 +604,17 @@ msgstr[2] "Systém bude automaticky restartován za %d sekund."
|
||||
msgid "Restarting the system."
|
||||
msgstr "Restartuje se systém."
|
||||
|
||||
#: ../js/ui/extensionSystem.js:524
|
||||
#: ../js/ui/extensionSystem.js:481
|
||||
msgid "Install"
|
||||
msgstr "Instalovat"
|
||||
|
||||
#: ../js/ui/extensionSystem.js:528
|
||||
#: ../js/ui/extensionSystem.js:485
|
||||
#, c-format
|
||||
msgid "Download and install '%s' from extensions.gnome.org?"
|
||||
msgstr "Stáhnout a nainstalovat „%s“ z extensions.gnome.org?"
|
||||
|
||||
#: ../js/ui/keyboard.js:325
|
||||
#| msgid "Retry"
|
||||
msgid "tray"
|
||||
msgstr "panel"
|
||||
|
||||
@ -646,51 +622,37 @@ msgstr "panel"
|
||||
msgid "Keyboard"
|
||||
msgstr "Klávesnice"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:664
|
||||
#: ../js/ui/lookingGlass.js:646
|
||||
msgid "No extensions installed"
|
||||
msgstr "Nejsou nainstalována žádná rozšíření"
|
||||
|
||||
#. Translators: argument is an extension UUID.
|
||||
#: ../js/ui/lookingGlass.js:719
|
||||
#, c-format
|
||||
msgid "%s has not emitted any errors."
|
||||
msgstr ""
|
||||
|
||||
#: ../js/ui/lookingGlass.js:725
|
||||
msgid "Hide Errors"
|
||||
msgstr "Skrývat chyby"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:729 ../js/ui/lookingGlass.js:779
|
||||
msgid "Show Errors"
|
||||
msgstr "Zobrazovat chyby"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:738
|
||||
#: ../js/ui/lookingGlass.js:692
|
||||
msgid "Enabled"
|
||||
msgstr "Povoleno"
|
||||
|
||||
#. translators:
|
||||
#. * The device has been disabled
|
||||
#: ../js/ui/lookingGlass.js:740 ../src/gvc/gvc-mixer-control.c:1093
|
||||
#: ../js/ui/lookingGlass.js:694 ../src/gvc/gvc-mixer-control.c:1093
|
||||
msgid "Disabled"
|
||||
msgstr "Zakázáno"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:742
|
||||
#: ../js/ui/lookingGlass.js:696
|
||||
msgid "Error"
|
||||
msgstr "Chyba"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:744
|
||||
#: ../js/ui/lookingGlass.js:698
|
||||
msgid "Out of date"
|
||||
msgstr "Neaktuální"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:746
|
||||
#: ../js/ui/lookingGlass.js:700
|
||||
msgid "Downloading"
|
||||
msgstr "Stahování"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:767
|
||||
#: ../js/ui/lookingGlass.js:721
|
||||
msgid "View Source"
|
||||
msgstr "Zobrazit zdroj"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:773
|
||||
#: ../js/ui/lookingGlass.js:727
|
||||
msgid "Web Page"
|
||||
msgstr "Webová stránka"
|
||||
|
||||
@ -892,6 +854,7 @@ msgid "Show Text"
|
||||
msgstr "Zobrazit text"
|
||||
|
||||
#: ../js/ui/shellEntry.js:83
|
||||
#| msgid "Large Text"
|
||||
msgid "Hide Text"
|
||||
msgstr "Skrýt text"
|
||||
|
||||
@ -1556,39 +1519,39 @@ msgstr "Nečinný"
|
||||
msgid "Unavailable"
|
||||
msgstr "Nedostupný"
|
||||
|
||||
#: ../js/ui/userMenu.js:567 ../js/ui/userMenu.js:571 ../js/ui/userMenu.js:641
|
||||
#: ../js/ui/userMenu.js:552 ../js/ui/userMenu.js:556 ../js/ui/userMenu.js:626
|
||||
msgid "Power Off..."
|
||||
msgstr "Vypnout…"
|
||||
|
||||
#: ../js/ui/userMenu.js:603
|
||||
#: ../js/ui/userMenu.js:588
|
||||
msgid "Notifications"
|
||||
msgstr "Upozornění"
|
||||
|
||||
#: ../js/ui/userMenu.js:611
|
||||
#: ../js/ui/userMenu.js:596
|
||||
msgid "Online Accounts"
|
||||
msgstr "Účty on-line"
|
||||
|
||||
#: ../js/ui/userMenu.js:615
|
||||
#: ../js/ui/userMenu.js:600
|
||||
msgid "System Settings"
|
||||
msgstr "Nastavení systému"
|
||||
|
||||
#: ../js/ui/userMenu.js:622
|
||||
#: ../js/ui/userMenu.js:607
|
||||
msgid "Lock Screen"
|
||||
msgstr "Uzamknout obrazovku"
|
||||
|
||||
#: ../js/ui/userMenu.js:627
|
||||
#: ../js/ui/userMenu.js:612
|
||||
msgid "Switch User"
|
||||
msgstr "Přepnout uživatele"
|
||||
|
||||
#: ../js/ui/userMenu.js:632
|
||||
#: ../js/ui/userMenu.js:617
|
||||
msgid "Log Out..."
|
||||
msgstr "Odhlásit…"
|
||||
|
||||
#: ../js/ui/userMenu.js:660
|
||||
#: ../js/ui/userMenu.js:645
|
||||
msgid "Your chat status will be set to busy"
|
||||
msgstr "Váš stav v konverzacích byl nastaven na „Zaneprázdněn“"
|
||||
|
||||
#: ../js/ui/userMenu.js:661
|
||||
#: ../js/ui/userMenu.js:646
|
||||
msgid ""
|
||||
"Notifications are now disabled, including chat messages. Your online status "
|
||||
"has been adjusted to let others know that you might not see their messages."
|
||||
@ -1604,7 +1567,7 @@ msgstr ""
|
||||
msgid "Type to search..."
|
||||
msgstr "Vyhledávejte psaním…"
|
||||
|
||||
#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:244
|
||||
#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:261
|
||||
msgid "Search"
|
||||
msgstr "Hledat"
|
||||
|
||||
@ -1662,16 +1625,13 @@ msgstr "Výchozí"
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "Dialogové okno ověření bylo uživatelem zrušeno"
|
||||
|
||||
#. Translators: this is the same string as the one found in
|
||||
#. * nautilus
|
||||
#: ../src/shell-util.c:89
|
||||
#| msgid "Volume"
|
||||
msgid "Home"
|
||||
#: ../src/shell-util.c:100
|
||||
msgid "Home Folder"
|
||||
msgstr "Domovská složka"
|
||||
|
||||
#. Translators: this is the same string as the one found in
|
||||
#. * nautilus
|
||||
#: ../src/shell-util.c:98
|
||||
#: ../src/shell-util.c:115
|
||||
msgid "File System"
|
||||
msgstr "Systém souborů"
|
||||
|
||||
@ -1680,7 +1640,7 @@ msgstr "Systém souborů"
|
||||
#. * example, "Trash: some-directory". It means that the
|
||||
#. * directory called "some-directory" is in the trash.
|
||||
#.
|
||||
#: ../src/shell-util.c:294
|
||||
#: ../src/shell-util.c:311
|
||||
#, c-format
|
||||
msgid "%1$s: %2$s"
|
||||
msgstr "%1$s: %2$s"
|
||||
msgstr "%1$s: %2$s"
|
396
po/da.po
396
po/da.po
@ -2,20 +2,21 @@
|
||||
# Copyright (C) 2010-2011 gnome-shell
|
||||
# This file is distributed under the same license as the gnome-shell package.
|
||||
#
|
||||
# Kris Thomsen <lakristho@gmail.com>, 2009-2011.
|
||||
# Kris Thomsen <lakristho@gmail.com>, 2009-2012.
|
||||
#
|
||||
# Konventioner:
|
||||
#
|
||||
# pipeline => datakanal
|
||||
# screencast => skærmoptagelse
|
||||
# dash => favoritområde
|
||||
# tray => statusfelt
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-09-22 16:07+0200\n"
|
||||
"PO-Revision-Date: 2011-09-22 09:20+0000\n"
|
||||
"POT-Creation-Date: 2012-01-03 12:21+0100\n"
|
||||
"PO-Revision-Date: 2012-01-02 16:04+0000\n"
|
||||
"Last-Translator: Kris Thomsen <lakristho@gmail.com>\n"
|
||||
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
|
||||
"Language: da\n"
|
||||
@ -26,7 +27,7 @@ msgstr ""
|
||||
|
||||
#: ../data/gnome-shell.desktop.in.in.h:1
|
||||
msgid "GNOME Shell"
|
||||
msgstr "Skal til GNOME"
|
||||
msgstr "GNOME Shell"
|
||||
|
||||
#: ../data/gnome-shell.desktop.in.in.h:2
|
||||
msgid "Window management and application launching"
|
||||
@ -65,7 +66,7 @@ msgstr ""
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:6
|
||||
msgid "History for command (Alt-F2) dialog"
|
||||
msgstr "Historik for kommandodialog (Alt-F2)"
|
||||
msgstr "Historik for kommandodialogen (Alt-F2)"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:7
|
||||
msgid "History for the looking glass dialog"
|
||||
@ -147,7 +148,7 @@ msgid ""
|
||||
"The framerate of the resulting screencast recordered by GNOME Shell's "
|
||||
"screencast recorder in frames-per-second."
|
||||
msgstr ""
|
||||
"Billedfrekvensen på den endelige skærmoptagelse, optaget af GNOME-skallens "
|
||||
"Billedfrekvensen på den endelige skærmoptagelse, optaget af GNOME-Shells "
|
||||
"skærmoptager i billeder-per-sekund."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:20
|
||||
@ -161,10 +162,10 @@ msgid ""
|
||||
"want to disable this for privacy reasons. Please note that doing so won't "
|
||||
"remove already saved data."
|
||||
msgstr ""
|
||||
"Skallen overvåger normalt aktive programmer for at kunne vise de mest brugte "
|
||||
"(f.eks. i genveje). Selvom disse data er holdt private, vil du muligvis "
|
||||
"ønske at deaktivere dem af private grunde. Bemærk at selvom du gør dette, "
|
||||
"vil det ikke fjerne de allerede gemte data."
|
||||
"Shell'ens overvåger normalt aktive programmer for at kunne vise de mest "
|
||||
"brugte (f.eks. i genveje). Selvom disse data er holdt private, vil du "
|
||||
"muligvis ønske at deaktivere dem af private grunde. Bemærk at selvom du gør "
|
||||
"dette, vil det ikke fjerne de allerede gemte data."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:22
|
||||
msgid "The type of keyboard to use."
|
||||
@ -186,42 +187,42 @@ msgstr "Hvilket tastatur bruges"
|
||||
msgid "disabled OpenSearch providers"
|
||||
msgstr "deaktiverede OpenSearch-udbydere"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:617
|
||||
#: ../js/gdm/loginDialog.js:633
|
||||
msgid "Session..."
|
||||
msgstr "Session..."
|
||||
|
||||
#: ../js/gdm/loginDialog.js:785
|
||||
#: ../js/gdm/loginDialog.js:804
|
||||
msgctxt "title"
|
||||
msgid "Sign In"
|
||||
msgstr "Log ind"
|
||||
|
||||
#. translators: this message is shown below the password entry field
|
||||
#. to indicate the user can swipe their finger instead
|
||||
#: ../js/gdm/loginDialog.js:830
|
||||
#: ../js/gdm/loginDialog.js:849
|
||||
msgid "(or swipe finger)"
|
||||
msgstr "(eller indlæs fingeraftryk)"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:848
|
||||
#: ../js/gdm/loginDialog.js:867
|
||||
msgid "Not listed?"
|
||||
msgstr "Ikke listet?"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1004 ../js/ui/endSessionDialog.js:426
|
||||
#: ../js/ui/extensionSystem.js:477 ../js/ui/networkAgent.js:165
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:171 ../js/ui/status/bluetooth.js:480
|
||||
#: ../js/gdm/loginDialog.js:1035 ../js/ui/endSessionDialog.js:426
|
||||
#: ../js/ui/extensionSystem.js:477 ../js/ui/networkAgent.js:148
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:173 ../js/ui/status/bluetooth.js:480
|
||||
msgid "Cancel"
|
||||
msgstr "Annullér"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1009
|
||||
#: ../js/gdm/loginDialog.js:1040
|
||||
msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "Log ind"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1358
|
||||
#: ../js/gdm/loginDialog.js:1392
|
||||
msgid "Login Window"
|
||||
msgstr "Indlogningsvindue"
|
||||
|
||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:514
|
||||
#: ../js/ui/userMenu.js:516 ../js/ui/userMenu.js:585
|
||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:554
|
||||
#: ../js/ui/userMenu.js:556 ../js/ui/userMenu.js:625
|
||||
msgid "Suspend"
|
||||
msgstr "Hviletilstand"
|
||||
|
||||
@ -444,32 +445,32 @@ msgstr "Denne uge"
|
||||
msgid "Next week"
|
||||
msgstr "Næste uge"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:59 ../js/ui/notificationDaemon.js:444
|
||||
#: ../js/ui/status/power.js:223 ../src/shell-app.c:355
|
||||
#: ../js/ui/contactDisplay.js:65 ../js/ui/notificationDaemon.js:459
|
||||
#: ../js/ui/status/power.js:223 ../src/shell-app.c:353
|
||||
msgid "Unknown"
|
||||
msgstr "Ukendt"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:80 ../js/ui/userMenu.js:139
|
||||
#: ../js/ui/contactDisplay.js:86 ../js/ui/userMenu.js:139
|
||||
msgid "Available"
|
||||
msgstr "Tilgængelig"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:85 ../js/ui/userMenu.js:148
|
||||
#: ../js/ui/contactDisplay.js:91 ../js/ui/userMenu.js:148
|
||||
msgid "Away"
|
||||
msgstr "Ikke tilstede"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:89 ../js/ui/userMenu.js:142
|
||||
#: ../js/ui/contactDisplay.js:95 ../js/ui/userMenu.js:142
|
||||
msgid "Busy"
|
||||
msgstr "Optaget"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:93
|
||||
#: ../js/ui/contactDisplay.js:99
|
||||
msgid "Offline"
|
||||
msgstr "Offline"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:140
|
||||
#: ../js/ui/contactDisplay.js:146
|
||||
msgid "CONTACTS"
|
||||
msgstr "KONTAKTER"
|
||||
|
||||
#: ../js/ui/dash.js:172 ../js/ui/messageTray.js:1197
|
||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1206
|
||||
msgid "Remove"
|
||||
msgstr "Fjern"
|
||||
|
||||
@ -533,11 +534,12 @@ msgid "RECENT ITEMS"
|
||||
msgstr "SENESTE ELEMENTER"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:60
|
||||
#, c-format
|
||||
#, fuzzy, c-format
|
||||
msgid "Log Out %s"
|
||||
msgstr "Log %s ud"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:61 ../js/ui/endSessionDialog.js:75
|
||||
#, fuzzy
|
||||
msgid "Log Out"
|
||||
msgstr "Log ud"
|
||||
|
||||
@ -602,96 +604,96 @@ msgstr "Installér"
|
||||
msgid "Download and install '%s' from extensions.gnome.org?"
|
||||
msgstr "Hent og installér \"%s\" fra extensions.gnome.org?"
|
||||
|
||||
#: ../js/ui/keyboard.js:517 ../js/ui/status/power.js:211
|
||||
#: ../js/ui/keyboard.js:325
|
||||
msgid "tray"
|
||||
msgstr "statusfelt"
|
||||
|
||||
#: ../js/ui/keyboard.js:547 ../js/ui/status/power.js:211
|
||||
msgid "Keyboard"
|
||||
msgstr "Tastatur"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:645
|
||||
#: ../js/ui/lookingGlass.js:646
|
||||
msgid "No extensions installed"
|
||||
msgstr "Ingen udvidelser er installeret"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:691
|
||||
#: ../js/ui/lookingGlass.js:692
|
||||
msgid "Enabled"
|
||||
msgstr "Aktiveret"
|
||||
|
||||
#. translators:
|
||||
#. * The device has been disabled
|
||||
#: ../js/ui/lookingGlass.js:693 ../src/gvc/gvc-mixer-control.c:1093
|
||||
#: ../js/ui/lookingGlass.js:694 ../src/gvc/gvc-mixer-control.c:1093
|
||||
msgid "Disabled"
|
||||
msgstr "Deaktiveret"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:695
|
||||
#: ../js/ui/lookingGlass.js:696
|
||||
msgid "Error"
|
||||
msgstr "Fejl"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:697
|
||||
#: ../js/ui/lookingGlass.js:698
|
||||
msgid "Out of date"
|
||||
msgstr "Udløbet"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:699
|
||||
#: ../js/ui/lookingGlass.js:700
|
||||
msgid "Downloading"
|
||||
msgstr "Henter"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:724
|
||||
#: ../js/ui/lookingGlass.js:721
|
||||
msgid "View Source"
|
||||
msgstr "Vis kilde"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:730
|
||||
#: ../js/ui/lookingGlass.js:727
|
||||
msgid "Web Page"
|
||||
msgstr "Webside"
|
||||
|
||||
#: ../js/ui/messageTray.js:1190
|
||||
#: ../js/ui/messageTray.js:1199
|
||||
msgid "Open"
|
||||
msgstr "Åbn"
|
||||
|
||||
#: ../js/ui/messageTray.js:2372
|
||||
#: ../js/ui/messageTray.js:2408
|
||||
msgid "System Information"
|
||||
msgstr "Systeminformation"
|
||||
|
||||
#: ../js/ui/networkAgent.js:145
|
||||
msgid "Show password"
|
||||
msgstr "Vis adgangskode"
|
||||
|
||||
#: ../js/ui/networkAgent.js:160
|
||||
#: ../js/ui/networkAgent.js:143
|
||||
msgid "Connect"
|
||||
msgstr "Forbind"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: ../js/ui/networkAgent.js:255 ../js/ui/networkAgent.js:267
|
||||
#: ../js/ui/networkAgent.js:294 ../js/ui/networkAgent.js:314
|
||||
#: ../js/ui/networkAgent.js:324
|
||||
#: ../js/ui/networkAgent.js:238 ../js/ui/networkAgent.js:250
|
||||
#: ../js/ui/networkAgent.js:277 ../js/ui/networkAgent.js:297
|
||||
#: ../js/ui/networkAgent.js:307
|
||||
msgid "Password: "
|
||||
msgstr "Adgangskode: "
|
||||
|
||||
#. static WEP
|
||||
#: ../js/ui/networkAgent.js:260
|
||||
#: ../js/ui/networkAgent.js:243
|
||||
msgid "Key: "
|
||||
msgstr "Nøgle: "
|
||||
|
||||
#. 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/ui/networkAgent.js:292 ../js/ui/networkAgent.js:310
|
||||
#: ../js/ui/networkAgent.js:275 ../js/ui/networkAgent.js:293
|
||||
msgid "Username: "
|
||||
msgstr "Brugernavn: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:298
|
||||
#: ../js/ui/networkAgent.js:281
|
||||
msgid "Identity: "
|
||||
msgstr "Identitet: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:300
|
||||
#: ../js/ui/networkAgent.js:283
|
||||
msgid "Private key password: "
|
||||
msgstr "Privatnøgle-adgangskode: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:312
|
||||
#: ../js/ui/networkAgent.js:295
|
||||
msgid "Service: "
|
||||
msgstr "Tjeneste: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:341
|
||||
#: ../js/ui/networkAgent.js:324
|
||||
msgid "Authentication required by wireless network"
|
||||
msgstr "Godkendelse påkrævet af trådløst netværk"
|
||||
|
||||
#: ../js/ui/networkAgent.js:342
|
||||
#: ../js/ui/networkAgent.js:325
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
@ -700,35 +702,35 @@ msgstr ""
|
||||
"Adgangskoder eller krypteringsnøgler er påkrævet for at få adgang til det "
|
||||
"trådløse netværk \"%s\"."
|
||||
|
||||
#: ../js/ui/networkAgent.js:346
|
||||
#: ../js/ui/networkAgent.js:329
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "Trådet 802.1X-godkendelse"
|
||||
|
||||
#: ../js/ui/networkAgent.js:348
|
||||
#: ../js/ui/networkAgent.js:331
|
||||
msgid "Network name: "
|
||||
msgstr "Netværksnavn: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:353
|
||||
#: ../js/ui/networkAgent.js:336
|
||||
msgid "DSL authentication"
|
||||
msgstr "DSL-godkendelse"
|
||||
|
||||
#: ../js/ui/networkAgent.js:360
|
||||
#: ../js/ui/networkAgent.js:343
|
||||
msgid "PIN code required"
|
||||
msgstr "PIN-kode påkrævet"
|
||||
|
||||
#: ../js/ui/networkAgent.js:361
|
||||
#: ../js/ui/networkAgent.js:344
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "PIN-kode er nødvendig for den mobile bredbåndsenhed"
|
||||
|
||||
#: ../js/ui/networkAgent.js:362
|
||||
#: ../js/ui/networkAgent.js:345
|
||||
msgid "PIN: "
|
||||
msgstr "PIN: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:368
|
||||
#: ../js/ui/networkAgent.js:351
|
||||
msgid "Mobile broadband network password"
|
||||
msgstr "Adgangskode til mobilt bredbåndsnetværk"
|
||||
|
||||
#: ../js/ui/networkAgent.js:369
|
||||
#: ../js/ui/networkAgent.js:352
|
||||
#, c-format
|
||||
msgid "A password is required to connect to '%s'."
|
||||
msgstr "En adgangskode er påkrævet for at forbinde til \"%s\"."
|
||||
@ -753,9 +755,9 @@ msgstr "Favoritområde"
|
||||
|
||||
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
||||
#: ../js/ui/panel.js:539
|
||||
#, c-format
|
||||
#, fuzzy, c-format
|
||||
msgid "Quit %s"
|
||||
msgstr "Afslut %s"
|
||||
msgstr "Afslut"
|
||||
|
||||
#. Translators: If there is no suitable word for "Activities"
|
||||
#. in your language, you can use the word for "Overview".
|
||||
@ -784,15 +786,15 @@ msgstr "Forbind til..."
|
||||
msgid "PLACES & DEVICES"
|
||||
msgstr "STEDER & ENHEDER"
|
||||
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:72
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:73
|
||||
msgid "Authentication Required"
|
||||
msgstr "Godkendelse er påkrævet"
|
||||
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:106
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:107
|
||||
msgid "Administrator"
|
||||
msgstr "Administrator"
|
||||
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:175
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:177
|
||||
msgid "Authenticate"
|
||||
msgstr "Godkend"
|
||||
|
||||
@ -800,11 +802,11 @@ msgstr "Godkend"
|
||||
#. * requested authentication was not gained; this can happen
|
||||
#. * because of an authentication error (like invalid password),
|
||||
#. * for instance.
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:256
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:258
|
||||
msgid "Sorry, that didn't work. Please try again."
|
||||
msgstr "Beklager, godkendelse mislykkedes. Prøv igen."
|
||||
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:268
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:270
|
||||
msgid "Password:"
|
||||
msgstr "Adgangskode:"
|
||||
|
||||
@ -813,11 +815,11 @@ msgstr "Adgangskode:"
|
||||
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
|
||||
#. switches containing "◯" and "|"). Other values will
|
||||
#. simply result in invisible toggle switches.
|
||||
#: ../js/ui/popupMenu.js:727
|
||||
#: ../js/ui/popupMenu.js:731
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-intl"
|
||||
|
||||
#: ../js/ui/runDialog.js:208
|
||||
#: ../js/ui/runDialog.js:209
|
||||
msgid "Please enter a command:"
|
||||
msgstr "Indtast en kommando:"
|
||||
|
||||
@ -829,6 +831,22 @@ msgstr "Søger..."
|
||||
msgid "No matching results."
|
||||
msgstr "Ingen resultater fundet."
|
||||
|
||||
#: ../js/ui/shellEntry.js:30
|
||||
msgid "Copy"
|
||||
msgstr "Kopiér"
|
||||
|
||||
#: ../js/ui/shellEntry.js:35
|
||||
msgid "Paste"
|
||||
msgstr "Indsæt"
|
||||
|
||||
#: ../js/ui/shellEntry.js:81
|
||||
msgid "Show Text"
|
||||
msgstr "Vis tekst"
|
||||
|
||||
#: ../js/ui/shellEntry.js:83
|
||||
msgid "Hide Text"
|
||||
msgstr "Skjul tekst"
|
||||
|
||||
#: ../js/ui/shellMountOperation.js:285
|
||||
msgid "Wrong password, please try again"
|
||||
msgstr "Forkert adgangskode, forsøg venligst igen"
|
||||
@ -962,7 +980,7 @@ msgstr "Giv altid adgang"
|
||||
msgid "Grant this time only"
|
||||
msgstr "Giv kun lov denne gang"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:392 ../js/ui/telepathyClient.js:1196
|
||||
#: ../js/ui/status/bluetooth.js:392 ../js/ui/telepathyClient.js:1204
|
||||
msgid "Reject"
|
||||
msgstr "Afvis"
|
||||
|
||||
@ -1231,39 +1249,39 @@ msgid "Invitation"
|
||||
msgstr "Invitation"
|
||||
|
||||
#. We got the TpContact
|
||||
#: ../js/ui/telepathyClient.js:325
|
||||
#: ../js/ui/telepathyClient.js:327
|
||||
msgid "Call"
|
||||
msgstr "Opkald"
|
||||
|
||||
#. We got the TpContact
|
||||
#: ../js/ui/telepathyClient.js:353
|
||||
#: ../js/ui/telepathyClient.js:357
|
||||
msgid "File Transfer"
|
||||
msgstr "Filoverførsel"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:434
|
||||
#: ../js/ui/telepathyClient.js:438
|
||||
msgid "Subscription request"
|
||||
msgstr "Godkendelsesforespørgsel"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:470
|
||||
#: ../js/ui/telepathyClient.js:474
|
||||
msgid "Connection error"
|
||||
msgstr "Forbindelsesfejl"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:733
|
||||
#: ../js/ui/telepathyClient.js:741
|
||||
#, c-format
|
||||
msgid "%s is online."
|
||||
msgstr "%s er online."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:738
|
||||
#: ../js/ui/telepathyClient.js:746
|
||||
#, c-format
|
||||
msgid "%s is offline."
|
||||
msgstr "%s er offline."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:741
|
||||
#: ../js/ui/telepathyClient.js:749
|
||||
#, c-format
|
||||
msgid "%s is away."
|
||||
msgstr "%s er ikke til stede."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:744
|
||||
#: ../js/ui/telepathyClient.js:752
|
||||
#, c-format
|
||||
msgid "%s is busy."
|
||||
msgstr "%s er optaget."
|
||||
@ -1271,35 +1289,35 @@ msgstr "%s er optaget."
|
||||
#. Translators: this is a time format string followed by a date.
|
||||
#. If applicable, replace %X with a strftime format valid for your
|
||||
#. locale, without seconds.
|
||||
#: ../js/ui/telepathyClient.js:978
|
||||
#: ../js/ui/telepathyClient.js:986
|
||||
#, no-c-format
|
||||
msgid "Sent at <b>%X</b> on <b>%A</b>"
|
||||
msgstr "Sendt <b>%A</b> kl. <b>%H:%M</b>"
|
||||
|
||||
#. Translators: this is a time format in the style of "Wednesday, May 25",
|
||||
#. shown when you get a chat message in the same year.
|
||||
#: ../js/ui/telepathyClient.js:984
|
||||
#: ../js/ui/telepathyClient.js:992
|
||||
#, no-c-format
|
||||
msgid "Sent on <b>%A</b>, <b>%B %d</b>"
|
||||
msgstr "Sendt <b>%A</b> den <b>%e. %B</b>"
|
||||
|
||||
#. Translators: this is a time format in the style of "Wednesday, May 25, 2012",
|
||||
#. shown when you get a chat message in a different year.
|
||||
#: ../js/ui/telepathyClient.js:989
|
||||
#: ../js/ui/telepathyClient.js:997
|
||||
#, no-c-format
|
||||
msgid "Sent on <b>%A</b>, <b>%B %d</b>, %Y"
|
||||
msgstr "Sendt <b>%A</b> den <b>%e. %B</b>, %Y"
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#: ../js/ui/telepathyClient.js:1031
|
||||
#: ../js/ui/telepathyClient.js:1039
|
||||
#, c-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "%s kalder sig nu %s"
|
||||
|
||||
#. translators: argument is a room name like
|
||||
#. * room@jabber.org for example.
|
||||
#: ../js/ui/telepathyClient.js:1140
|
||||
#: ../js/ui/telepathyClient.js:1148
|
||||
#, c-format
|
||||
msgid "Invitation to %s"
|
||||
msgstr "Invitation til %s"
|
||||
@ -1307,34 +1325,35 @@ msgstr "Invitation til %s"
|
||||
#. translators: first argument is the name of a contact and the second
|
||||
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
|
||||
#. * for example.
|
||||
#: ../js/ui/telepathyClient.js:1148
|
||||
#: ../js/ui/telepathyClient.js:1156
|
||||
#, c-format
|
||||
msgid "%s is inviting you to join %s"
|
||||
msgstr "%s inviterer dig til at deltage i %s"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1150 ../js/ui/telepathyClient.js:1239
|
||||
#: ../js/ui/telepathyClient.js:1343
|
||||
#: ../js/ui/telepathyClient.js:1158 ../js/ui/telepathyClient.js:1248
|
||||
#: ../js/ui/telepathyClient.js:1352
|
||||
msgid "Decline"
|
||||
msgstr "Afvis"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1151 ../js/ui/telepathyClient.js:1240
|
||||
#: ../js/ui/telepathyClient.js:1344
|
||||
#: ../js/ui/telepathyClient.js:1159 ../js/ui/telepathyClient.js:1249
|
||||
#: ../js/ui/telepathyClient.js:1353
|
||||
msgid "Accept"
|
||||
msgstr "Acceptér"
|
||||
|
||||
#. translators: argument is a contact name like Alice for example.
|
||||
#: ../js/ui/telepathyClient.js:1184
|
||||
#: ../js/ui/telepathyClient.js:1192
|
||||
#, c-format
|
||||
msgid "Video call from %s"
|
||||
msgstr "Videoopkald fra %s"
|
||||
|
||||
#. translators: argument is a contact name like Alice for example.
|
||||
#: ../js/ui/telepathyClient.js:1187
|
||||
#: ../js/ui/telepathyClient.js:1195
|
||||
#, c-format
|
||||
msgid "Call from %s"
|
||||
msgstr "Opkald fra %s"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1197
|
||||
#. translators: this is a button label (verb), not a noun
|
||||
#: ../js/ui/telepathyClient.js:1206
|
||||
msgid "Answer"
|
||||
msgstr "Svar"
|
||||
|
||||
@ -1343,111 +1362,111 @@ msgstr "Svar"
|
||||
#. * file name. The string will be something
|
||||
#. * like: "Alice is sending you test.ogg"
|
||||
#.
|
||||
#: ../js/ui/telepathyClient.js:1233
|
||||
#: ../js/ui/telepathyClient.js:1242
|
||||
#, c-format
|
||||
msgid "%s is sending you %s"
|
||||
msgstr "%s sender dig %s"
|
||||
|
||||
#. To translators: The parameter is the contact's alias
|
||||
#: ../js/ui/telepathyClient.js:1308
|
||||
#: ../js/ui/telepathyClient.js:1317
|
||||
#, c-format
|
||||
msgid "%s would like permission to see when you are online"
|
||||
msgstr "%s vil gerne have tilladelse til at se, når du er online"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1406
|
||||
#: ../js/ui/telepathyClient.js:1415
|
||||
msgid "Network error"
|
||||
msgstr "Netværksfejl"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1408
|
||||
#: ../js/ui/telepathyClient.js:1417
|
||||
msgid "Authentication failed"
|
||||
msgstr "Godkendelse mislykkedes"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1410
|
||||
#: ../js/ui/telepathyClient.js:1419
|
||||
msgid "Encryption error"
|
||||
msgstr "Krypteringsfejl"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1412
|
||||
#: ../js/ui/telepathyClient.js:1421
|
||||
msgid "Certificate not provided"
|
||||
msgstr "Certifikat ikke angivet"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1414
|
||||
#: ../js/ui/telepathyClient.js:1423
|
||||
msgid "Certificate untrusted"
|
||||
msgstr "Utroværdigt certifikat"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1416
|
||||
#: ../js/ui/telepathyClient.js:1425
|
||||
msgid "Certificate expired"
|
||||
msgstr "Certifikat udløbet"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1418
|
||||
#: ../js/ui/telepathyClient.js:1427
|
||||
msgid "Certificate not activated"
|
||||
msgstr "Certifikat ikke aktiveret"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1420
|
||||
#: ../js/ui/telepathyClient.js:1429
|
||||
msgid "Certificate hostname mismatch"
|
||||
msgstr "Certifikat-værtsnavn stemmer ikke"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1422
|
||||
#: ../js/ui/telepathyClient.js:1431
|
||||
msgid "Certificate fingerprint mismatch"
|
||||
msgstr "Certifikat-fingeraftryk stemmer ikke"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1424
|
||||
#: ../js/ui/telepathyClient.js:1433
|
||||
msgid "Certificate self-signed"
|
||||
msgstr "Certifikat selv-underskrevet"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1426
|
||||
#: ../js/ui/telepathyClient.js:1435
|
||||
msgid "Status is set to offline"
|
||||
msgstr "Status er angivet til offline"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1428
|
||||
#: ../js/ui/telepathyClient.js:1437
|
||||
msgid "Encryption is not available"
|
||||
msgstr "Kryptering er ikke tilgængelig"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1430
|
||||
#: ../js/ui/telepathyClient.js:1439
|
||||
msgid "Certificate is invalid"
|
||||
msgstr "Ugyldigt certifikat"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1432
|
||||
#: ../js/ui/telepathyClient.js:1441
|
||||
msgid "Connection has been refused"
|
||||
msgstr "Forbindelse er blevet afvist"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1434
|
||||
#: ../js/ui/telepathyClient.js:1443
|
||||
msgid "Connection can't be established"
|
||||
msgstr "Forbindelse kan ikke oprettes"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1436
|
||||
#: ../js/ui/telepathyClient.js:1445
|
||||
msgid "Connection has been lost"
|
||||
msgstr "Forbindelse er mistet"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1438
|
||||
#: ../js/ui/telepathyClient.js:1447
|
||||
msgid "This resource is already connected to the server"
|
||||
msgstr "Denne ressource er allerede forbundet til serveren"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1440
|
||||
#: ../js/ui/telepathyClient.js:1449
|
||||
msgid ""
|
||||
"Connection has been replaced by a new connection using the same resource"
|
||||
msgstr ""
|
||||
"Forbindelsen er blevet erstattet af en ny forbindelse, som bruger samme "
|
||||
"ressource"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1442
|
||||
#: ../js/ui/telepathyClient.js:1451
|
||||
msgid "The account already exists on the server"
|
||||
msgstr "Kontoen findes allerede på serveren"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1444
|
||||
#: ../js/ui/telepathyClient.js:1453
|
||||
msgid "Server is currently too busy to handle the connection"
|
||||
msgstr "Serveren er i øjeblikket for travl til at behandle forbindelsen"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1446
|
||||
#: ../js/ui/telepathyClient.js:1455
|
||||
msgid "Certificate has been revoked"
|
||||
msgstr "Certifikat er blevet påberåbt"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1448
|
||||
#: ../js/ui/telepathyClient.js:1457
|
||||
msgid ""
|
||||
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
|
||||
msgstr ""
|
||||
"Certifikat bruger en usikker cipher-algoritme eller er kryptografisk svag"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1450
|
||||
#: ../js/ui/telepathyClient.js:1459
|
||||
msgid ""
|
||||
"The length of the server certificate, or the depth of the server certificate "
|
||||
"chain, exceed the limits imposed by the cryptography library"
|
||||
@ -1457,20 +1476,20 @@ msgstr ""
|
||||
|
||||
#. translators: argument is the account name, like
|
||||
#. * name@jabber.org for example.
|
||||
#: ../js/ui/telepathyClient.js:1459
|
||||
#: ../js/ui/telepathyClient.js:1468
|
||||
#, c-format
|
||||
msgid "Connection to %s failed"
|
||||
msgstr "Forbindelse til %s mislykkedes"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1468
|
||||
#: ../js/ui/telepathyClient.js:1477
|
||||
msgid "Reconnect"
|
||||
msgstr "Forbind igen"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1469
|
||||
#: ../js/ui/telepathyClient.js:1478
|
||||
msgid "Edit account"
|
||||
msgstr "Redigér konto"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1515
|
||||
#: ../js/ui/telepathyClient.js:1524
|
||||
msgid "Unknown reason"
|
||||
msgstr "Ukendt årsag"
|
||||
|
||||
@ -1486,39 +1505,39 @@ msgstr "Tomgang"
|
||||
msgid "Unavailable"
|
||||
msgstr "Utilgængelig"
|
||||
|
||||
#: ../js/ui/userMenu.js:512 ../js/ui/userMenu.js:516 ../js/ui/userMenu.js:586
|
||||
#: ../js/ui/userMenu.js:552 ../js/ui/userMenu.js:556 ../js/ui/userMenu.js:626
|
||||
msgid "Power Off..."
|
||||
msgstr "Sluk..."
|
||||
|
||||
#: ../js/ui/userMenu.js:548
|
||||
#: ../js/ui/userMenu.js:588
|
||||
msgid "Notifications"
|
||||
msgstr "Beskeder"
|
||||
|
||||
#: ../js/ui/userMenu.js:556
|
||||
#: ../js/ui/userMenu.js:596
|
||||
msgid "Online Accounts"
|
||||
msgstr "Online konti"
|
||||
|
||||
#: ../js/ui/userMenu.js:560
|
||||
#: ../js/ui/userMenu.js:600
|
||||
msgid "System Settings"
|
||||
msgstr "Systemindstillinger"
|
||||
|
||||
#: ../js/ui/userMenu.js:567
|
||||
#: ../js/ui/userMenu.js:607
|
||||
msgid "Lock Screen"
|
||||
msgstr "Lås skærm"
|
||||
|
||||
#: ../js/ui/userMenu.js:572
|
||||
#: ../js/ui/userMenu.js:612
|
||||
msgid "Switch User"
|
||||
msgstr "Skift bruger"
|
||||
|
||||
#: ../js/ui/userMenu.js:577
|
||||
#: ../js/ui/userMenu.js:617
|
||||
msgid "Log Out..."
|
||||
msgstr "Log ud..."
|
||||
|
||||
#: ../js/ui/userMenu.js:605
|
||||
#: ../js/ui/userMenu.js:645
|
||||
msgid "Your chat status will be set to busy"
|
||||
msgstr "Din chat-status vil blive angivet som optaget"
|
||||
|
||||
#: ../js/ui/userMenu.js:606
|
||||
#: ../js/ui/userMenu.js:646
|
||||
msgid ""
|
||||
"Notifications are now disabled, including chat messages. Your online status "
|
||||
"has been adjusted to let others know that you might not see their messages."
|
||||
@ -1531,20 +1550,15 @@ msgstr ""
|
||||
#. in the search entry when no search is
|
||||
#. active; it should not exceed ~30
|
||||
#. characters.
|
||||
#: ../js/ui/viewSelector.js:120
|
||||
#: ../js/ui/viewSelector.js:121
|
||||
msgid "Type to search..."
|
||||
msgstr "Skriv for at søge..."
|
||||
|
||||
#: ../js/ui/viewSelector.js:140 ../src/shell-util.c:261
|
||||
#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:261
|
||||
msgid "Search"
|
||||
msgstr "Søg"
|
||||
|
||||
#: ../js/ui/windowAttentionHandler.js:39
|
||||
#, c-format
|
||||
msgid "%s has finished starting"
|
||||
msgstr "%s er færdig med at starte"
|
||||
|
||||
#: ../js/ui/windowAttentionHandler.js:41
|
||||
#: ../js/ui/windowAttentionHandler.js:35
|
||||
#, c-format
|
||||
msgid "'%s' is ready"
|
||||
msgstr "\"%s\" er klar"
|
||||
@ -1579,7 +1593,7 @@ msgstr "Udskriv version"
|
||||
msgid "Mode used by GDM for login screen"
|
||||
msgstr "Tilstand brugt af GDM til indlogningskærm"
|
||||
|
||||
#: ../src/shell-app.c:581
|
||||
#: ../src/shell-app.c:579
|
||||
#, c-format
|
||||
msgid "Failed to launch '%s'"
|
||||
msgstr "Kunne ikke køre \"%s\""
|
||||
@ -1616,6 +1630,89 @@ msgstr "Filsystem"
|
||||
msgid "%1$s: %2$s"
|
||||
msgstr "%1$s: %2$s"
|
||||
|
||||
#~| msgid ""
|
||||
#~| "GNOME Shell extensions have a uuid property; this key lists extensions "
|
||||
#~| "which should not be loaded. This setting overrides enabled-extensions "
|
||||
#~| "for extensions that appear in both lists."
|
||||
#~ 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 DBus methods on org.gnome.Shell."
|
||||
#~ msgstr ""
|
||||
#~ "Udvidelser til GNOME-Shell har en uuid-indstilling; denne nøgle oplister "
|
||||
#~ "udvidelser som skal indlæses. Alle udvidelser som ønsker at blive indlæst "
|
||||
#~ "skal være i denne liste. Du kan også redigere denne liste med DBus-"
|
||||
#~ "metoderne EnableExtension og DisableExtension ved org.shell.Shell."
|
||||
|
||||
#~| msgid "Log Out"
|
||||
#~ msgctxt "button"
|
||||
#~ msgid "Log Out"
|
||||
#~ msgstr "Log ud"
|
||||
|
||||
#~| msgid "Power Off"
|
||||
#~ msgctxt "title"
|
||||
#~ msgid "Power Off"
|
||||
#~ msgstr "Sluk"
|
||||
|
||||
#~| msgid "Restart"
|
||||
#~ msgctxt "button"
|
||||
#~ msgid "Restart"
|
||||
#~ msgstr "Genstart"
|
||||
|
||||
#~| msgid "Power Off"
|
||||
#~ msgctxt "button"
|
||||
#~ msgid "Power Off"
|
||||
#~ msgstr "Sluk"
|
||||
|
||||
#~| msgid "Restart"
|
||||
#~ msgctxt "title"
|
||||
#~ msgid "Restart"
|
||||
#~ msgstr "Genstart"
|
||||
|
||||
#~ msgid "%s has not emitted any errors."
|
||||
#~ msgstr "%s er ikke kommet med nogen fejl."
|
||||
|
||||
#~| msgid "Error"
|
||||
#~ msgid "Hide Errors"
|
||||
#~ msgstr "Skjul fejl"
|
||||
|
||||
#~| msgid "Error"
|
||||
#~ msgid "Show Errors"
|
||||
#~ msgstr "Vis fejl"
|
||||
|
||||
#~| msgid "minute"
|
||||
#~| msgid_plural "minutes"
|
||||
#~ msgid "Unmute"
|
||||
#~ msgstr "Slå lyd til"
|
||||
|
||||
#~| msgid "Mouse"
|
||||
#~ msgid "Mute"
|
||||
#~ msgstr "Slå lyd fra"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Sorry, no wisdom for you today:\n"
|
||||
#~ "%s"
|
||||
#~ msgstr ""
|
||||
#~ "Beklager, ingen visdom til dig i dag:\n"
|
||||
#~ "%s"
|
||||
|
||||
#~ msgid "%s the Oracle says"
|
||||
#~ msgstr "Oraklet %s siger"
|
||||
|
||||
#~ msgid "Your favorite Easter Egg"
|
||||
#~ msgstr "Dit yndlingspåskeæg"
|
||||
|
||||
#~| msgid "Volume"
|
||||
#~ msgid "Home"
|
||||
#~ msgstr "Hjem"
|
||||
|
||||
#~ msgid "Show password"
|
||||
#~ msgstr "Vis adgangskode"
|
||||
|
||||
#~ msgid "%s has finished starting"
|
||||
#~ msgstr "%s er færdig med at starte"
|
||||
|
||||
#~ msgid "If true, display onscreen keyboard."
|
||||
#~ msgstr "Hvis sand vises skærmtastatur."
|
||||
|
||||
@ -1628,18 +1725,6 @@ msgstr "%1$s: %2$s"
|
||||
#~ msgid "You're no longer connected to the network"
|
||||
#~ msgstr "Du er ikke længere forbundet til netværket"
|
||||
|
||||
#~| msgid ""
|
||||
#~| "GNOME Shell extensions have a uuid property; this key lists extensions "
|
||||
#~| "which should not be loaded."
|
||||
#~ msgid ""
|
||||
#~ "GNOME Shell extensions have a uuid property; this key lists extensions "
|
||||
#~ "which should not be loaded. This setting overrides enabled-extensions for "
|
||||
#~ "extensions that appear in both lists."
|
||||
#~ msgstr ""
|
||||
#~ "GNOME-skallens udvidelser har en uuid-indstilling; denne nøgle oplister "
|
||||
#~ "udvidelser som ikke skal indlæses. Denne indstilling overskriver enabled-"
|
||||
#~ "extenstions for udvidelser, som vises i begge lister."
|
||||
|
||||
#~ msgid "Uuids of extensions to disable"
|
||||
#~ msgstr "Uuid'er for udvidelser der deaktiveres"
|
||||
|
||||
@ -1699,9 +1784,6 @@ msgstr "%1$s: %2$s"
|
||||
#~ msgid "Confirm"
|
||||
#~ msgstr "Bekræft"
|
||||
|
||||
#~ msgid "Panel"
|
||||
#~ msgstr "Panel"
|
||||
|
||||
#~ msgid "PREFERENCES"
|
||||
#~ msgstr "INDSTILLINGER"
|
||||
|
||||
|
221
po/de.po
221
po/de.po
@ -6,7 +6,7 @@
|
||||
#
|
||||
# Hendrik Brandt <heb@gnome-de.org>, 2009.
|
||||
# Hendrik Richter <hendrikr@gnome.org>, 2009, 2010, 2011.
|
||||
# Mario Blättermann <mario.blaettermann@gmail.com>, 2009-2011.
|
||||
# Mario Blättermann <mariobl@freenet.de>, 2009, 2010, 2011.
|
||||
# Mario Klug <mario@klug.me>, 2010.
|
||||
# Jakob Kramer <jakob.kramer@gmx.de>, 2010.
|
||||
# Paul Seyfert <pseyfert@mathphys.fsk.uni-heidelberg.de>, 2010, 2011.
|
||||
@ -17,9 +17,9 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2011-11-05 13:23+0000\n"
|
||||
"PO-Revision-Date: 2011-11-05 21:08+0100\n"
|
||||
"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
|
||||
"POT-Creation-Date: 2011-10-17 20:04+0000\n"
|
||||
"PO-Revision-Date: 2011-10-17 22:05+0100\n"
|
||||
"Last-Translator: Paul Seyfert <pseyfert@mathphys.fsk.uni-heidelberg.de>\n"
|
||||
"Language-Team: Deutsch <gnome-de@gnome.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@ -56,12 +56,10 @@ msgid "Framerate used for recording screencasts."
|
||||
msgstr "Bildwiederholungsrate zur Aufnahme von Screencasts"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:5
|
||||
#, fuzzy
|
||||
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 DBus methods on org.gnome.Shell."
|
||||
"should be loaded. disabled-extensions overrides this setting for extensions "
|
||||
"that appear in both lists."
|
||||
msgstr ""
|
||||
"Die Erweiterungen der GNOME-Shell besitzen eine UUID-Eigenschaft. Dieser "
|
||||
"Schlüssel listet Erweiterungen auf, welche geladen werden sollen. »disabled-"
|
||||
@ -115,11 +113,11 @@ msgstr ""
|
||||
"Auffüllung haben; die Ausgabe dieser Auffüllung wird in die Ausgabedatei "
|
||||
"geschrieben. Die Weiterleitung kann auch mit ihrer eigenen Ausgabe umgehen. "
|
||||
"Das kann zum Senden der Ausgabe über shout2send an einen Icecast-Server oder "
|
||||
"Ähnliches verwendet werden. Falls nicht (oder auf einen leeren Wert) gesetzt, "
|
||||
"so wird die vorgegebene Weiterleitung verwendet, welche derzeit »videorate ! "
|
||||
"vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux« lautet und nach WEBM "
|
||||
"mittels des VP8-Codecs aufzeichnet. %T wird als Platzhalter für die vermutete "
|
||||
"optimale Threadanzahl auf dem System verwendet."
|
||||
"Ähnliches verwendet werden. Falls nicht (oder auf einen leeren Wert) "
|
||||
"gesetzt, so wird die vorgegebene Weiterleitung verwendet, welche derzeit "
|
||||
"»videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux« lautet "
|
||||
"und nach WEBM mittels des VP8-Codecs aufzeichnet. %T wird als Platzhalter "
|
||||
"für die vermutete optimale Threadanzahl auf dem System verwendet."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:14
|
||||
msgid "Show date in clock"
|
||||
@ -138,8 +136,8 @@ msgid ""
|
||||
"The applications corresponding to these identifiers will be displayed in the "
|
||||
"favorites area."
|
||||
msgstr ""
|
||||
"Programme, welche auf diese Bezeichner zutreffen, werden im Favoriten-Bereich "
|
||||
"angezeigt."
|
||||
"Programme, welche auf diese Bezeichner zutreffen, werden im Favoriten-"
|
||||
"Bereich angezeigt."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:18
|
||||
msgid ""
|
||||
@ -198,50 +196,52 @@ msgstr "Zu verwendende Tastatur"
|
||||
msgid "disabled OpenSearch providers"
|
||||
msgstr "deaktivierte OpenSearch-Provider"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:633
|
||||
#: ../js/gdm/loginDialog.js:617
|
||||
msgid "Session..."
|
||||
msgstr "Sitzung …"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:804
|
||||
#: ../js/gdm/loginDialog.js:788
|
||||
msgctxt "title"
|
||||
msgid "Sign In"
|
||||
msgstr "Anmelden"
|
||||
|
||||
#. translators: this message is shown below the password entry field
|
||||
#. to indicate the user can swipe their finger instead
|
||||
#: ../js/gdm/loginDialog.js:849
|
||||
#: ../js/gdm/loginDialog.js:833
|
||||
msgid "(or swipe finger)"
|
||||
msgstr "(oder benutzen Sie den Fingerabdruckleser)"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:867
|
||||
#: ../js/gdm/loginDialog.js:851
|
||||
msgid "Not listed?"
|
||||
msgstr "Nicht aufgeführt?"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1035 ../js/ui/endSessionDialog.js:426
|
||||
#: ../js/ui/extensionSystem.js:519 ../js/ui/networkAgent.js:148
|
||||
#: ../js/gdm/loginDialog.js:1019 ../js/ui/endSessionDialog.js:426
|
||||
#: ../js/ui/extensionSystem.js:477 ../js/ui/networkAgent.js:148
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:173 ../js/ui/status/bluetooth.js:480
|
||||
msgid "Cancel"
|
||||
msgstr "Abbrechen"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1040
|
||||
#: ../js/gdm/loginDialog.js:1024
|
||||
msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "Anmelden"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1392
|
||||
#: ../js/gdm/loginDialog.js:1373
|
||||
msgid "Login Window"
|
||||
msgstr "Anmeldefenster"
|
||||
|
||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:573 ../js/ui/userMenu.js:575
|
||||
#: ../js/ui/userMenu.js:644
|
||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:549
|
||||
#: ../js/ui/userMenu.js:551 ../js/ui/userMenu.js:620
|
||||
msgid "Suspend"
|
||||
msgstr "Bereitschaft"
|
||||
|
||||
#: ../js/gdm/powerMenu.js:121
|
||||
#: ../js/gdm/powerMenu.js:121 ../js/ui/endSessionDialog.js:89
|
||||
#: ../js/ui/endSessionDialog.js:97 ../js/ui/endSessionDialog.js:106
|
||||
msgid "Restart"
|
||||
msgstr "Neu starten"
|
||||
|
||||
#: ../js/gdm/powerMenu.js:126
|
||||
#: ../js/gdm/powerMenu.js:126 ../js/ui/endSessionDialog.js:80
|
||||
#: ../js/ui/endSessionDialog.js:91
|
||||
msgid "Power Off"
|
||||
msgstr "Ausschalten"
|
||||
|
||||
@ -458,8 +458,8 @@ msgstr "Diese Woche"
|
||||
msgid "Next week"
|
||||
msgstr "Nächste Woche"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:65 ../js/ui/notificationDaemon.js:459
|
||||
#: ../js/ui/status/power.js:223 ../src/shell-app.c:350
|
||||
#: ../js/ui/contactDisplay.js:65 ../js/ui/notificationDaemon.js:444
|
||||
#: ../js/ui/status/power.js:223 ../src/shell-app.c:353
|
||||
msgid "Unknown"
|
||||
msgstr "Unbekannt"
|
||||
|
||||
@ -483,7 +483,7 @@ msgstr "Abgemeldet"
|
||||
msgid "CONTACTS"
|
||||
msgstr "KONTAKTE"
|
||||
|
||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1214
|
||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1205
|
||||
msgid "Remove"
|
||||
msgstr "Entfernen"
|
||||
|
||||
@ -548,12 +548,10 @@ msgstr "ZULETZT GEÖFFNETE DOKUMENTE"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:60
|
||||
#, c-format
|
||||
msgctxt "title"
|
||||
msgid "Log Out %s"
|
||||
msgstr "%s abmelden"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:61
|
||||
msgctxt "title"
|
||||
#: ../js/ui/endSessionDialog.js:61 ../js/ui/endSessionDialog.js:75
|
||||
msgid "Log Out"
|
||||
msgstr "Abmelden"
|
||||
|
||||
@ -581,16 +579,6 @@ msgstr[1] "Sie werden automatisch in %d Sekunden abgemeldet."
|
||||
msgid "Logging out of the system."
|
||||
msgstr "Abmeldung vom System."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:75
|
||||
msgctxt "button"
|
||||
msgid "Log Out"
|
||||
msgstr "Abmelden"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:80
|
||||
msgctxt "title"
|
||||
msgid "Power Off"
|
||||
msgstr "Ausschalten"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:81
|
||||
msgid "Click Power Off to quit these applications and power off the system."
|
||||
msgstr ""
|
||||
@ -608,21 +596,6 @@ msgstr[1] "Das System wird automatisch in %d Sekunden ausgeschaltet."
|
||||
msgid "Powering off the system."
|
||||
msgstr "Das System wird ausgeschaltet."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:89 ../js/ui/endSessionDialog.js:106
|
||||
msgctxt "button"
|
||||
msgid "Restart"
|
||||
msgstr "Neu starten"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:91
|
||||
msgctxt "button"
|
||||
msgid "Power Off"
|
||||
msgstr "Ausschalten"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:97
|
||||
msgctxt "title"
|
||||
msgid "Restart"
|
||||
msgstr "Neu starten"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:98
|
||||
msgid "Click Restart to quit these applications and restart the system."
|
||||
msgstr ""
|
||||
@ -640,11 +613,11 @@ msgstr[1] "Das System wird automatisch in %d Sekunden neu gestartet."
|
||||
msgid "Restarting the system."
|
||||
msgstr "Neustart des Systems."
|
||||
|
||||
#: ../js/ui/extensionSystem.js:523
|
||||
#: ../js/ui/extensionSystem.js:481
|
||||
msgid "Install"
|
||||
msgstr "Installieren"
|
||||
|
||||
#: ../js/ui/extensionSystem.js:527
|
||||
#: ../js/ui/extensionSystem.js:485
|
||||
#, c-format
|
||||
msgid "Download and install '%s' from extensions.gnome.org?"
|
||||
msgstr "»%s« von extensions.gnome.org herunterladen und installieren?"
|
||||
@ -657,68 +630,45 @@ msgstr "Benachrichtigungsfeld"
|
||||
msgid "Keyboard"
|
||||
msgstr "Tastatur"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:664
|
||||
#: ../js/ui/lookingGlass.js:646
|
||||
msgid "No extensions installed"
|
||||
msgstr "Keine Erweiterungen installiert"
|
||||
|
||||
#. Translators: argument is an extension UUID.
|
||||
#: ../js/ui/lookingGlass.js:719
|
||||
#, c-format
|
||||
msgid "%s has not emitted any errors."
|
||||
msgstr "%s hat keine Fehler ausgegeben."
|
||||
|
||||
#: ../js/ui/lookingGlass.js:725
|
||||
msgid "Hide Errors"
|
||||
msgstr "Fehler verbergen"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:729 ../js/ui/lookingGlass.js:780
|
||||
msgid "Show Errors"
|
||||
msgstr "Fehler anzeigen"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:738
|
||||
#: ../js/ui/lookingGlass.js:692
|
||||
msgid "Enabled"
|
||||
msgstr "Aktiviert"
|
||||
|
||||
#. translators:
|
||||
#. * The device has been disabled
|
||||
#: ../js/ui/lookingGlass.js:741 ../src/gvc/gvc-mixer-control.c:1093
|
||||
#: ../js/ui/lookingGlass.js:694 ../src/gvc/gvc-mixer-control.c:1093
|
||||
msgid "Disabled"
|
||||
msgstr "Deaktiviert"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:743
|
||||
#: ../js/ui/lookingGlass.js:696
|
||||
msgid "Error"
|
||||
msgstr "Fehler"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:745
|
||||
#: ../js/ui/lookingGlass.js:698
|
||||
msgid "Out of date"
|
||||
msgstr "Veraltet"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:747
|
||||
#: ../js/ui/lookingGlass.js:700
|
||||
msgid "Downloading"
|
||||
msgstr "Herunterladen"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:768
|
||||
#: ../js/ui/lookingGlass.js:721
|
||||
msgid "View Source"
|
||||
msgstr "Quelle zeigen"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:774
|
||||
#: ../js/ui/lookingGlass.js:727
|
||||
msgid "Web Page"
|
||||
msgstr "Webseite"
|
||||
|
||||
#: ../js/ui/messageTray.js:1207
|
||||
#: ../js/ui/messageTray.js:1198
|
||||
msgid "Open"
|
||||
msgstr "Öffnen"
|
||||
|
||||
#: ../js/ui/messageTray.js:1224
|
||||
#, fuzzy
|
||||
msgid "Unmute"
|
||||
msgstr "Minute"
|
||||
|
||||
#: ../js/ui/messageTray.js:1224
|
||||
msgid "Mute"
|
||||
msgstr "Stumm"
|
||||
|
||||
#: ../js/ui/messageTray.js:2436
|
||||
#: ../js/ui/messageTray.js:2407
|
||||
msgid "System Information"
|
||||
msgstr "Systeminformationen"
|
||||
|
||||
@ -764,7 +714,8 @@ msgstr "Legitimierung für Funknetzwerk wird benötigt"
|
||||
#: ../js/ui/networkAgent.js:325
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network '%s'."
|
||||
"Passwords or encryption keys are required to access the wireless network '%"
|
||||
"s'."
|
||||
msgstr ""
|
||||
"Passwörter oder Schlüssel sind erforderlich, um auf das Funknetzwerk »%s« "
|
||||
"zuzugreifen."
|
||||
@ -1139,13 +1090,13 @@ msgstr "nicht verfügbar"
|
||||
msgid "connection failed"
|
||||
msgstr "Verbindung gescheitert"
|
||||
|
||||
#: ../js/ui/status/network.js:575 ../js/ui/status/network.js:1532
|
||||
#: ../js/ui/status/network.js:575 ../js/ui/status/network.js:1523
|
||||
msgid "More..."
|
||||
msgstr "Mehr ..."
|
||||
|
||||
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
||||
#. and we cannot access its settings (including the name)
|
||||
#: ../js/ui/status/network.js:611 ../js/ui/status/network.js:1467
|
||||
#: ../js/ui/status/network.js:611 ../js/ui/status/network.js:1458
|
||||
msgid "Connected (private)"
|
||||
msgstr "Verbunden (privat)"
|
||||
|
||||
@ -1162,7 +1113,7 @@ msgid "Auto dial-up"
|
||||
msgstr "Einwählverbindung (automatisch)"
|
||||
|
||||
#. TRANSLATORS: this the automatic wireless connection name (including the network name)
|
||||
#: ../js/ui/status/network.js:878 ../js/ui/status/network.js:1479
|
||||
#: ../js/ui/status/network.js:878 ../js/ui/status/network.js:1470
|
||||
#, c-format
|
||||
msgid "Auto %s"
|
||||
msgstr "%s (automatisch)"
|
||||
@ -1171,47 +1122,47 @@ msgstr "%s (automatisch)"
|
||||
msgid "Auto bluetooth"
|
||||
msgstr "Bluetooth (automatisch)"
|
||||
|
||||
#: ../js/ui/status/network.js:1481
|
||||
#: ../js/ui/status/network.js:1472
|
||||
msgid "Auto wireless"
|
||||
msgstr "Drahtlos (automatisch)"
|
||||
|
||||
#: ../js/ui/status/network.js:1575
|
||||
#: ../js/ui/status/network.js:1566
|
||||
msgid "Enable networking"
|
||||
msgstr "Netzwerk aktivieren"
|
||||
|
||||
#: ../js/ui/status/network.js:1587
|
||||
#: ../js/ui/status/network.js:1578
|
||||
msgid "Wired"
|
||||
msgstr "Kabelgebunden"
|
||||
|
||||
#: ../js/ui/status/network.js:1598
|
||||
#: ../js/ui/status/network.js:1589
|
||||
msgid "Wireless"
|
||||
msgstr "Drahtlos"
|
||||
|
||||
#: ../js/ui/status/network.js:1608
|
||||
#: ../js/ui/status/network.js:1599
|
||||
msgid "Mobile broadband"
|
||||
msgstr "Mobiles Breitband"
|
||||
|
||||
#: ../js/ui/status/network.js:1618
|
||||
#: ../js/ui/status/network.js:1609
|
||||
msgid "VPN Connections"
|
||||
msgstr "VPN-Verbindungen"
|
||||
|
||||
#: ../js/ui/status/network.js:1629
|
||||
#: ../js/ui/status/network.js:1620
|
||||
msgid "Network Settings"
|
||||
msgstr "Netzwerkeinstellungen"
|
||||
|
||||
#: ../js/ui/status/network.js:1766
|
||||
#: ../js/ui/status/network.js:1757
|
||||
msgid "Connection failed"
|
||||
msgstr "Verbindung gescheitert"
|
||||
|
||||
#: ../js/ui/status/network.js:1767
|
||||
#: ../js/ui/status/network.js:1758
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Aktivierung der Netzwerkverbindung ist gescheitert"
|
||||
|
||||
#: ../js/ui/status/network.js:2017
|
||||
#: ../js/ui/status/network.js:2008
|
||||
msgid "Networking is disabled"
|
||||
msgstr "Netzwerk ist deaktiviert"
|
||||
|
||||
#: ../js/ui/status/network.js:2144
|
||||
#: ../js/ui/status/network.js:2133
|
||||
msgid "Network Manager"
|
||||
msgstr "Netzwerk-Verwaltung"
|
||||
|
||||
@ -1512,7 +1463,8 @@ msgid "This resource is already connected to the server"
|
||||
msgstr "Diese Ressource ist bereits mit dem Server verbunden"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1449
|
||||
msgid "Connection has been replaced by a new connection using the same resource"
|
||||
msgid ""
|
||||
"Connection has been replaced by a new connection using the same resource"
|
||||
msgstr ""
|
||||
"Die Verbindung wurde durch eine neue Verbindung mit der gleichen Ressource "
|
||||
"ersetzt"
|
||||
@ -1577,39 +1529,39 @@ msgstr "Untätig"
|
||||
msgid "Unavailable"
|
||||
msgstr "Nicht verfügbar"
|
||||
|
||||
#: ../js/ui/userMenu.js:571 ../js/ui/userMenu.js:575 ../js/ui/userMenu.js:645
|
||||
#: ../js/ui/userMenu.js:547 ../js/ui/userMenu.js:551 ../js/ui/userMenu.js:621
|
||||
msgid "Power Off..."
|
||||
msgstr "Ausschalten …"
|
||||
|
||||
#: ../js/ui/userMenu.js:607
|
||||
#: ../js/ui/userMenu.js:583
|
||||
msgid "Notifications"
|
||||
msgstr "Benachrichtigungen"
|
||||
|
||||
#: ../js/ui/userMenu.js:615
|
||||
#: ../js/ui/userMenu.js:591
|
||||
msgid "Online Accounts"
|
||||
msgstr "Online-Konten"
|
||||
|
||||
#: ../js/ui/userMenu.js:619
|
||||
#: ../js/ui/userMenu.js:595
|
||||
msgid "System Settings"
|
||||
msgstr "Systemeinstellungen"
|
||||
|
||||
#: ../js/ui/userMenu.js:626
|
||||
#: ../js/ui/userMenu.js:602
|
||||
msgid "Lock Screen"
|
||||
msgstr "Bildschirm sperren"
|
||||
|
||||
#: ../js/ui/userMenu.js:631
|
||||
#: ../js/ui/userMenu.js:607
|
||||
msgid "Switch User"
|
||||
msgstr "Benutzer wechseln"
|
||||
|
||||
#: ../js/ui/userMenu.js:636
|
||||
#: ../js/ui/userMenu.js:612
|
||||
msgid "Log Out..."
|
||||
msgstr "Abmelden …"
|
||||
|
||||
#: ../js/ui/userMenu.js:664
|
||||
#: ../js/ui/userMenu.js:640
|
||||
msgid "Your chat status will be set to busy"
|
||||
msgstr "Ihr Anwesenheitsstatus wird auf »Beschäftigt« gesetzt"
|
||||
|
||||
#: ../js/ui/userMenu.js:665
|
||||
#: ../js/ui/userMenu.js:641
|
||||
msgid ""
|
||||
"Notifications are now disabled, including chat messages. Your online status "
|
||||
"has been adjusted to let others know that you might not see their messages."
|
||||
@ -1626,7 +1578,7 @@ msgstr ""
|
||||
msgid "Type to search..."
|
||||
msgstr "Suchbegriff eingeben …"
|
||||
|
||||
#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:244
|
||||
#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:261
|
||||
msgid "Search"
|
||||
msgstr "Suchen"
|
||||
|
||||
@ -1657,15 +1609,15 @@ msgstr[1] "%u Eingänge"
|
||||
msgid "System Sounds"
|
||||
msgstr "Systemklänge"
|
||||
|
||||
#: ../src/main.c:483
|
||||
#: ../src/main.c:480
|
||||
msgid "Print version"
|
||||
msgstr "Version ausgeben"
|
||||
|
||||
#: ../src/main.c:489
|
||||
#: ../src/main.c:486
|
||||
msgid "Mode used by GDM for login screen"
|
||||
msgstr "Der durch GDM im Anmeldefenster verwendete Modus"
|
||||
|
||||
#: ../src/shell-app.c:567
|
||||
#: ../src/shell-app.c:579
|
||||
#, c-format
|
||||
msgid "Failed to launch '%s'"
|
||||
msgstr "»%s« konnte nicht gestartet werden"
|
||||
@ -1682,16 +1634,13 @@ msgstr "Vorgabe"
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "Der Dialog zur Legitimierung wurde vom Benutzer geschlossen"
|
||||
|
||||
#. Translators: this is the same string as the one found in
|
||||
#. * nautilus
|
||||
#: ../src/shell-util.c:89
|
||||
#, fuzzy
|
||||
msgid "Home"
|
||||
msgstr "Lautstärke"
|
||||
#: ../src/shell-util.c:100
|
||||
msgid "Home Folder"
|
||||
msgstr "Persönlicher Ordner"
|
||||
|
||||
#. Translators: this is the same string as the one found in
|
||||
#. * nautilus
|
||||
#: ../src/shell-util.c:98
|
||||
#: ../src/shell-util.c:115
|
||||
msgid "File System"
|
||||
msgstr "Dateisystem"
|
||||
|
||||
@ -1700,17 +1649,23 @@ msgstr "Dateisystem"
|
||||
#. * example, "Trash: some-directory". It means that the
|
||||
#. * directory called "some-directory" is in the trash.
|
||||
#.
|
||||
#: ../src/shell-util.c:294
|
||||
#: ../src/shell-util.c:311
|
||||
#, c-format
|
||||
msgid "%1$s: %2$s"
|
||||
msgstr "%1$s: %2$s"
|
||||
|
||||
#~ msgid "Home Folder"
|
||||
#~ msgstr "Persönlicher Ordner"
|
||||
|
||||
#~ msgid "Show password"
|
||||
#~ msgstr "Passwort anzeigen"
|
||||
|
||||
#~ msgid "%s has not emitted any errors."
|
||||
#~ msgstr "%s hat keine Fehler ausgegeben."
|
||||
|
||||
#~ msgid "Hide Errors"
|
||||
#~ msgstr "Fehler verbergen"
|
||||
|
||||
#~ msgid "Show Errors"
|
||||
#~ msgstr "Fehler anzeigen"
|
||||
|
||||
#~ msgid "%s has finished starting"
|
||||
#~ msgstr "Start von %s ist abgeschlossen"
|
||||
|
||||
|
131
po/eo.po
131
po/eo.po
@ -9,14 +9,14 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2011-10-26 09:56+0000\n"
|
||||
"PO-Revision-Date: 2011-10-26 19:08+0200\n"
|
||||
"POT-Creation-Date: 2011-10-24 17:45+0000\n"
|
||||
"PO-Revision-Date: 2011-10-26 19:01+0200\n"
|
||||
"Last-Translator: Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>\n"
|
||||
"Language-Team: Esperanto <ubuntu-l10n-eo@lists.launchpad.net>\n"
|
||||
"Language: eo\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bits\n"
|
||||
"Language: eo\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
||||
"X-Generator: Virtaal 0.7.1-rc1\n"
|
||||
"X-DamnedLies-Scope: partial\n"
|
||||
@ -186,7 +186,7 @@ msgid "Not listed?"
|
||||
msgstr "Ĉu ne en listo?"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1035 ../js/ui/endSessionDialog.js:426
|
||||
#: ../js/ui/extensionSystem.js:520 ../js/ui/networkAgent.js:148
|
||||
#: ../js/ui/extensionSystem.js:477 ../js/ui/networkAgent.js:148
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:173 ../js/ui/status/bluetooth.js:480
|
||||
msgid "Cancel"
|
||||
msgstr "Nuligi"
|
||||
@ -200,16 +200,18 @@ msgstr "Ensaluti"
|
||||
msgid "Login Window"
|
||||
msgstr "Ensalutfenestro"
|
||||
|
||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:573
|
||||
#: ../js/ui/userMenu.js:575 ../js/ui/userMenu.js:644
|
||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:554
|
||||
#: ../js/ui/userMenu.js:556 ../js/ui/userMenu.js:625
|
||||
msgid "Suspend"
|
||||
msgstr "Dormeti"
|
||||
|
||||
#: ../js/gdm/powerMenu.js:121
|
||||
#: ../js/gdm/powerMenu.js:121 ../js/ui/endSessionDialog.js:89
|
||||
#: ../js/ui/endSessionDialog.js:97 ../js/ui/endSessionDialog.js:106
|
||||
msgid "Restart"
|
||||
msgstr "Restartigi"
|
||||
|
||||
#: ../js/gdm/powerMenu.js:126
|
||||
#: ../js/gdm/powerMenu.js:126 ../js/ui/endSessionDialog.js:80
|
||||
#: ../js/ui/endSessionDialog.js:91
|
||||
msgid "Power Off"
|
||||
msgstr "Elŝalti"
|
||||
|
||||
@ -427,7 +429,7 @@ msgid "Next week"
|
||||
msgstr "Sekva semajno"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:65 ../js/ui/notificationDaemon.js:459
|
||||
#: ../js/ui/status/power.js:223 ../src/shell-app.c:350
|
||||
#: ../js/ui/status/power.js:223 ../src/shell-app.c:353
|
||||
msgid "Unknown"
|
||||
msgstr "Nekonata"
|
||||
|
||||
@ -516,12 +518,10 @@ msgstr "LASTATEMPAJ ELEMENTOJ"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:60
|
||||
#, c-format
|
||||
msgctxt "title"
|
||||
msgid "Log Out %s"
|
||||
msgstr "Elsaluti %s"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:61
|
||||
msgctxt "title"
|
||||
#: ../js/ui/endSessionDialog.js:61 ../js/ui/endSessionDialog.js:75
|
||||
msgid "Log Out"
|
||||
msgstr "Elsaluti"
|
||||
|
||||
@ -548,16 +548,6 @@ msgstr[1] "Vi aŭtomate elsalutos post %d sekundoj."
|
||||
msgid "Logging out of the system."
|
||||
msgstr "Elsalutanta de la sistemo."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:75
|
||||
msgctxt "button"
|
||||
msgid "Log Out"
|
||||
msgstr "Elsaluti"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:80
|
||||
msgctxt "title"
|
||||
msgid "Power Off"
|
||||
msgstr "Elŝalti"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:81
|
||||
msgid "Click Power Off to quit these applications and power off the system."
|
||||
msgstr "Alklaku \"Elŝalti\" por ĉesi tiujn aplikaĵojn kaj elŝalti la sistemon."
|
||||
@ -573,21 +563,6 @@ msgstr[1] "La sistemo aŭtomate elŝaltiĝos post %d sekundoj."
|
||||
msgid "Powering off the system."
|
||||
msgstr "Elŝaltanta la sistemon."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:89 ../js/ui/endSessionDialog.js:106
|
||||
msgctxt "button"
|
||||
msgid "Restart"
|
||||
msgstr "Restartigi"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:91
|
||||
msgctxt "button"
|
||||
msgid "Power Off"
|
||||
msgstr "Elŝalti"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:97
|
||||
msgctxt "title"
|
||||
msgid "Restart"
|
||||
msgstr "Restartigi"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:98
|
||||
msgid "Click Restart to quit these applications and restart the system."
|
||||
msgstr ""
|
||||
@ -604,11 +579,11 @@ msgstr[1] "La sistemo aŭtomate restartos post %d sekundoj."
|
||||
msgid "Restarting the system."
|
||||
msgstr "Restartiganta la sistemon."
|
||||
|
||||
#: ../js/ui/extensionSystem.js:524
|
||||
#: ../js/ui/extensionSystem.js:481
|
||||
msgid "Install"
|
||||
msgstr "Instali"
|
||||
|
||||
#: ../js/ui/extensionSystem.js:528
|
||||
#: ../js/ui/extensionSystem.js:485
|
||||
#, c-format
|
||||
msgid "Download and install '%s' from extensions.gnome.org?"
|
||||
msgstr "Elŝuti kaj instali '%s' de extensions.gnome.org?"
|
||||
@ -621,51 +596,37 @@ msgstr "pleto"
|
||||
msgid "Keyboard"
|
||||
msgstr "Klavaro"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:664
|
||||
#: ../js/ui/lookingGlass.js:646
|
||||
msgid "No extensions installed"
|
||||
msgstr "Neniu kromprogramo instalita"
|
||||
|
||||
#. Translators: argument is an extension UUID.
|
||||
#: ../js/ui/lookingGlass.js:719
|
||||
#, c-format
|
||||
msgid "%s has not emitted any errors."
|
||||
msgstr "%s ne eligintaj ajnaj eraroj."
|
||||
|
||||
#: ../js/ui/lookingGlass.js:725
|
||||
msgid "Hide Errors"
|
||||
msgstr "Kaŝi erarojn"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:729 ../js/ui/lookingGlass.js:779
|
||||
msgid "Show Errors"
|
||||
msgstr "Montri erarojn"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:738
|
||||
#: ../js/ui/lookingGlass.js:692
|
||||
msgid "Enabled"
|
||||
msgstr "Enŝaltita"
|
||||
|
||||
#. translators:
|
||||
#. * The device has been disabled
|
||||
#: ../js/ui/lookingGlass.js:740 ../src/gvc/gvc-mixer-control.c:1093
|
||||
#: ../js/ui/lookingGlass.js:694 ../src/gvc/gvc-mixer-control.c:1093
|
||||
msgid "Disabled"
|
||||
msgstr "Elŝaltita"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:742
|
||||
#: ../js/ui/lookingGlass.js:696
|
||||
msgid "Error"
|
||||
msgstr "Eraro"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:744
|
||||
#: ../js/ui/lookingGlass.js:698
|
||||
msgid "Out of date"
|
||||
msgstr "Neaktuala"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:746
|
||||
#: ../js/ui/lookingGlass.js:700
|
||||
msgid "Downloading"
|
||||
msgstr "Elŝutanta"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:767
|
||||
#: ../js/ui/lookingGlass.js:721
|
||||
msgid "View Source"
|
||||
msgstr "Montri fonton"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:773
|
||||
#: ../js/ui/lookingGlass.js:727
|
||||
msgid "Web Page"
|
||||
msgstr "Retpaĝo"
|
||||
|
||||
@ -1528,39 +1489,39 @@ msgstr "Neokupita"
|
||||
msgid "Unavailable"
|
||||
msgstr "Nedisponebla"
|
||||
|
||||
#: ../js/ui/userMenu.js:571 ../js/ui/userMenu.js:575 ../js/ui/userMenu.js:645
|
||||
#: ../js/ui/userMenu.js:552 ../js/ui/userMenu.js:556 ../js/ui/userMenu.js:626
|
||||
msgid "Power Off..."
|
||||
msgstr "Elŝalti..."
|
||||
|
||||
#: ../js/ui/userMenu.js:607
|
||||
#: ../js/ui/userMenu.js:588
|
||||
msgid "Notifications"
|
||||
msgstr "Avizoj"
|
||||
|
||||
#: ../js/ui/userMenu.js:615
|
||||
#: ../js/ui/userMenu.js:596
|
||||
msgid "Online Accounts"
|
||||
msgstr "Retaj kontoj"
|
||||
|
||||
#: ../js/ui/userMenu.js:619
|
||||
#: ../js/ui/userMenu.js:600
|
||||
msgid "System Settings"
|
||||
msgstr "Sistem-agordoj"
|
||||
|
||||
#: ../js/ui/userMenu.js:626
|
||||
#: ../js/ui/userMenu.js:607
|
||||
msgid "Lock Screen"
|
||||
msgstr "Ŝlosi ekranon"
|
||||
|
||||
#: ../js/ui/userMenu.js:631
|
||||
#: ../js/ui/userMenu.js:612
|
||||
msgid "Switch User"
|
||||
msgstr "Ŝanĝi uzanton"
|
||||
|
||||
#: ../js/ui/userMenu.js:636
|
||||
#: ../js/ui/userMenu.js:617
|
||||
msgid "Log Out..."
|
||||
msgstr "Elsaluti..."
|
||||
|
||||
#: ../js/ui/userMenu.js:664
|
||||
#: ../js/ui/userMenu.js:645
|
||||
msgid "Your chat status will be set to busy"
|
||||
msgstr "Vi babila stato agordos okupita"
|
||||
|
||||
#: ../js/ui/userMenu.js:665
|
||||
#: ../js/ui/userMenu.js:646
|
||||
msgid ""
|
||||
"Notifications are now disabled, including chat messages. Your online status "
|
||||
"has been adjusted to let others know that you might not see their messages."
|
||||
@ -1576,7 +1537,7 @@ msgstr ""
|
||||
msgid "Type to search..."
|
||||
msgstr "Tajpi por serĉi..."
|
||||
|
||||
#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:244
|
||||
#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:261
|
||||
msgid "Search"
|
||||
msgstr "Serĉi"
|
||||
|
||||
@ -1607,15 +1568,15 @@ msgstr[1] "%u enigoj"
|
||||
msgid "System Sounds"
|
||||
msgstr "Sistemsonoj"
|
||||
|
||||
#: ../src/main.c:483
|
||||
#: ../src/main.c:480
|
||||
msgid "Print version"
|
||||
msgstr "Presi version"
|
||||
|
||||
#: ../src/main.c:489
|
||||
#: ../src/main.c:486
|
||||
msgid "Mode used by GDM for login screen"
|
||||
msgstr "Reĝimo uzata de GDM por la ensalutekrano"
|
||||
|
||||
#: ../src/shell-app.c:567
|
||||
#: ../src/shell-app.c:579
|
||||
#, c-format
|
||||
msgid "Failed to launch '%s'"
|
||||
msgstr "Malsukcesis lanĉi '%s'"
|
||||
@ -1632,15 +1593,13 @@ msgstr "Defaŭlto"
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "La dialogo de la aŭtentokontrolo malakceptis de la uzanto"
|
||||
|
||||
#. Translators: this is the same string as the one found in
|
||||
#. * nautilus
|
||||
#: ../src/shell-util.c:89
|
||||
msgid "Home"
|
||||
msgstr "Hejmo"
|
||||
#: ../src/shell-util.c:100
|
||||
msgid "Home Folder"
|
||||
msgstr "Hejma dosierujo"
|
||||
|
||||
#. Translators: this is the same string as the one found in
|
||||
#. * nautilus
|
||||
#: ../src/shell-util.c:98
|
||||
#: ../src/shell-util.c:115
|
||||
msgid "File System"
|
||||
msgstr "Dosiersistemo"
|
||||
|
||||
@ -1649,13 +1608,19 @@ msgstr "Dosiersistemo"
|
||||
#. * example, "Trash: some-directory". It means that the
|
||||
#. * directory called "some-directory" is in the trash.
|
||||
#.
|
||||
#: ../src/shell-util.c:294
|
||||
#: ../src/shell-util.c:311
|
||||
#, c-format
|
||||
msgid "%1$s: %2$s"
|
||||
msgstr "%1$s: %2$s"
|
||||
|
||||
#~ msgid "Home Folder"
|
||||
#~ msgstr "Hejma dosierujo"
|
||||
#~ msgid "%s has not emitted any errors."
|
||||
#~ msgstr "%s ne eligintaj ajnaj eraroj."
|
||||
|
||||
#~ msgid "Hide Errors"
|
||||
#~ msgstr "Kaŝi erarojn"
|
||||
|
||||
#~ msgid "Show Errors"
|
||||
#~ msgstr "Montri erarojn"
|
||||
|
||||
#~ msgid "Show password"
|
||||
#~ msgstr "Montri pasvorton"
|
||||
|
283
po/es.po
283
po/es.po
@ -2,22 +2,22 @@
|
||||
# Copyright (C) 2009 gnome-shell's COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the gnome-shell package.
|
||||
# Benjamín Valero Espinosa <benjavalero@gmail.com>, 2011.
|
||||
# Daniel Mustieles <daniel.mustieles@gmail.com>, 2010, 2011.
|
||||
# Jorge González <jorgegonz@svn.gnome.org>, 2009, 2010, 2011.
|
||||
# Daniel Mustieles <daniel.mustieles@gmail.com>, 2010, 2011.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell.master\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2011-11-05 13:23+0000\n"
|
||||
"PO-Revision-Date: 2011-11-06 13:31+0100\n"
|
||||
"Last-Translator: Jorge González <jorgegonz@svn.gnome.org>\n"
|
||||
"Language-Team: Español; Castellano <gnome-es-list@gnome.org>\n"
|
||||
"POT-Creation-Date: 2011-10-17 20:02+0000\n"
|
||||
"PO-Revision-Date: 2011-10-18 16:10+0200\n"
|
||||
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
|
||||
"Language-Team: Español <gnome-es-list@gnome.org>\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"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: ../data/gnome-shell.desktop.in.in.h:1
|
||||
msgid "GNOME Shell"
|
||||
@ -50,20 +50,14 @@ msgid "Framerate used for recording screencasts."
|
||||
msgstr "Tasa de fotogramas usada para grabar «screencast»."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:5
|
||||
#| msgid ""
|
||||
#| "GNOME Shell extensions have a uuid property; this key lists extensions "
|
||||
#| "which should not be loaded. This setting overrides enabled-extensions for "
|
||||
#| "extensions that appear in both lists."
|
||||
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 DBus methods on org.gnome.Shell."
|
||||
"should be loaded. disabled-extensions overrides this setting for extensions "
|
||||
"that appear in both lists."
|
||||
msgstr ""
|
||||
"Las extensiones de GNOME Shell tienen una propiedad uuid; esta clave lista "
|
||||
"las extensiones que se deben cargar. Cualquier extensión que se quiere "
|
||||
"cargar debe estar en la lista. También puede manipular esta lista con los "
|
||||
"métodos de DBus «EnableExtension» y «DisableExtension» en org.gnome.Shell."
|
||||
"las extensiones que no se deben cargar. «disabled-extensions» sobreescribe "
|
||||
"este ajuste para las extensiones que aparecen en ambas listas."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:6
|
||||
msgid "History for command (Alt-F2) dialog"
|
||||
@ -104,16 +98,16 @@ msgid ""
|
||||
"at the optimal thread count on the system."
|
||||
msgstr ""
|
||||
"Establece la tubería GStreamer usada para codificar grabaciones. Sigue la "
|
||||
"sintaxis usada para gst-launch. La tubería debería tener un sumidero "
|
||||
"(«sink») de ensamblaje/sesensamblaje donde el vídeo que se está grabando se "
|
||||
"graba. Generalmente tendrá un origen de ensamblado/desensamblado; la salida "
|
||||
"de ese punto se escibirá en el archivo de salida. No obstante la tubería "
|
||||
"también puede tomar parte en su propia salida; esto se puede usar para "
|
||||
"enviar la salida a un servidor «icecast» a través de shout2send o similar. "
|
||||
"Cuando no está establecido o lo está a un valor vacío, se usará la tubería "
|
||||
"predeterminada. Actualmente es «videorate ! vp8enc quality=10 speed=2 "
|
||||
"threads=%T ! queue ! webmmux» y greba en WEBM usando el códec VP8. Se usa %T "
|
||||
"como suposición para el número de hilos óptimos en el sistema."
|
||||
"sintaxis usada para gst-launch. La tubería debería tener un sumidero («sink») "
|
||||
"de ensamblaje/sesensamblaje donde el vídeo que se está grabando se graba. "
|
||||
"Generalmente tendrá un origen de ensamblado/desensamblado; la salida de ese "
|
||||
"punto se escibirá en el archivo de salida. No obstante la tubería también "
|
||||
"puede tomar parte en su propia salida; esto se puede usar para enviar la "
|
||||
"salida a un servidor «icecast» a través de shout2send o similar. Cuando no "
|
||||
"está establecido o lo está a un valor vacío, se usará la tubería "
|
||||
"predeterminada. Actualmente es «videorate ! vp8enc quality=10 speed=2 threads="
|
||||
"%T ! queue ! webmmux» y greba en WEBM usando el códec VP8. Se usa %T como "
|
||||
"suposición para el número de hilos óptimos en el sistema."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:14
|
||||
msgid "Show date in clock"
|
||||
@ -190,50 +184,52 @@ msgstr "Qué teclado usar"
|
||||
msgid "disabled OpenSearch providers"
|
||||
msgstr "proveedores OpenSearch desactivados"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:633
|
||||
#: ../js/gdm/loginDialog.js:617
|
||||
msgid "Session..."
|
||||
msgstr "Sesión…"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:804
|
||||
#: ../js/gdm/loginDialog.js:788
|
||||
msgctxt "title"
|
||||
msgid "Sign In"
|
||||
msgstr "Iniciar sesión"
|
||||
|
||||
#. translators: this message is shown below the password entry field
|
||||
#. to indicate the user can swipe their finger instead
|
||||
#: ../js/gdm/loginDialog.js:849
|
||||
#: ../js/gdm/loginDialog.js:833
|
||||
msgid "(or swipe finger)"
|
||||
msgstr "(o pase el dedo)"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:867
|
||||
#: ../js/gdm/loginDialog.js:851
|
||||
msgid "Not listed?"
|
||||
msgstr "¿No está listado?"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1035 ../js/ui/endSessionDialog.js:426
|
||||
#: ../js/ui/extensionSystem.js:519 ../js/ui/networkAgent.js:148
|
||||
#: ../js/gdm/loginDialog.js:1019 ../js/ui/endSessionDialog.js:426
|
||||
#: ../js/ui/extensionSystem.js:477 ../js/ui/networkAgent.js:148
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:173 ../js/ui/status/bluetooth.js:480
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1040
|
||||
#: ../js/gdm/loginDialog.js:1024
|
||||
msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "Iniciar sesión"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1392
|
||||
#: ../js/gdm/loginDialog.js:1373
|
||||
msgid "Login Window"
|
||||
msgstr "Ventana de inicio de sesión"
|
||||
|
||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:573
|
||||
#: ../js/ui/userMenu.js:575 ../js/ui/userMenu.js:644
|
||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:549
|
||||
#: ../js/ui/userMenu.js:551 ../js/ui/userMenu.js:620
|
||||
msgid "Suspend"
|
||||
msgstr "Suspender"
|
||||
|
||||
#: ../js/gdm/powerMenu.js:121
|
||||
#: ../js/gdm/powerMenu.js:121 ../js/ui/endSessionDialog.js:89
|
||||
#: ../js/ui/endSessionDialog.js:97 ../js/ui/endSessionDialog.js:106
|
||||
msgid "Restart"
|
||||
msgstr "Reiniciar"
|
||||
|
||||
#: ../js/gdm/powerMenu.js:126
|
||||
#: ../js/gdm/powerMenu.js:126 ../js/ui/endSessionDialog.js:80
|
||||
#: ../js/ui/endSessionDialog.js:91
|
||||
msgid "Power Off"
|
||||
msgstr "Apagar"
|
||||
|
||||
@ -446,8 +442,8 @@ msgstr "Esta semana"
|
||||
msgid "Next week"
|
||||
msgstr "La semana que viene"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:65 ../js/ui/notificationDaemon.js:459
|
||||
#: ../js/ui/status/power.js:223 ../src/shell-app.c:350
|
||||
#: ../js/ui/contactDisplay.js:65 ../js/ui/notificationDaemon.js:444
|
||||
#: ../js/ui/status/power.js:223 ../src/shell-app.c:353
|
||||
msgid "Unknown"
|
||||
msgstr "Desconocido"
|
||||
|
||||
@ -471,7 +467,7 @@ msgstr "Desconectado"
|
||||
msgid "CONTACTS"
|
||||
msgstr "CONTACTOS"
|
||||
|
||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1214
|
||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1205
|
||||
msgid "Remove"
|
||||
msgstr "Quitar"
|
||||
|
||||
@ -536,12 +532,10 @@ msgstr "ELEMENTOS RECIENTES"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:60
|
||||
#, c-format
|
||||
msgctxt "title"
|
||||
msgid "Log Out %s"
|
||||
msgstr "Cerrar la sesión %s"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:61
|
||||
msgctxt "title"
|
||||
#: ../js/ui/endSessionDialog.js:61 ../js/ui/endSessionDialog.js:75
|
||||
msgid "Log Out"
|
||||
msgstr "Cerrar la sesión"
|
||||
|
||||
@ -569,16 +563,6 @@ msgstr[1] "Su sesión se cerrará automáticamente en %d segundos."
|
||||
msgid "Logging out of the system."
|
||||
msgstr "Cerrando la sesión."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:75
|
||||
msgctxt "button"
|
||||
msgid "Log Out"
|
||||
msgstr "Cerrar la sesión"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:80
|
||||
msgctxt "title"
|
||||
msgid "Power Off"
|
||||
msgstr "Apagar"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:81
|
||||
msgid "Click Power Off to quit these applications and power off the system."
|
||||
msgstr "Pulse «Apagar» para salir de esas aplicaciones y apagar el sistema."
|
||||
@ -594,21 +578,6 @@ msgstr[1] "El sistema se apagará automáticamente en %d segundos."
|
||||
msgid "Powering off the system."
|
||||
msgstr "Apagando el sistema."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:89 ../js/ui/endSessionDialog.js:106
|
||||
msgctxt "button"
|
||||
msgid "Restart"
|
||||
msgstr "Reiniciar"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:91
|
||||
msgctxt "button"
|
||||
msgid "Power Off"
|
||||
msgstr "Apagar"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:97
|
||||
msgctxt "title"
|
||||
msgid "Restart"
|
||||
msgstr "Reiniciar"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:98
|
||||
msgid "Click Restart to quit these applications and restart the system."
|
||||
msgstr ""
|
||||
@ -625,11 +594,11 @@ msgstr[1] "El sistema se reiniciará automáticamente en %d segundos."
|
||||
msgid "Restarting the system."
|
||||
msgstr "Reiniciando el sistema."
|
||||
|
||||
#: ../js/ui/extensionSystem.js:523
|
||||
#: ../js/ui/extensionSystem.js:481
|
||||
msgid "Install"
|
||||
msgstr "Instalar"
|
||||
|
||||
#: ../js/ui/extensionSystem.js:527
|
||||
#: ../js/ui/extensionSystem.js:485
|
||||
#, c-format
|
||||
msgid "Download and install '%s' from extensions.gnome.org?"
|
||||
msgstr "¿Descargar e instalar «%s» desde extensions.gnome.org?"
|
||||
@ -642,67 +611,45 @@ msgstr "bandeja"
|
||||
msgid "Keyboard"
|
||||
msgstr "Teclado"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:664
|
||||
#: ../js/ui/lookingGlass.js:646
|
||||
msgid "No extensions installed"
|
||||
msgstr "No hay extensiones instaladas"
|
||||
|
||||
#. Translators: argument is an extension UUID.
|
||||
#: ../js/ui/lookingGlass.js:719
|
||||
#, c-format
|
||||
msgid "%s has not emitted any errors."
|
||||
msgstr "%s no ha generado ningún error."
|
||||
|
||||
#: ../js/ui/lookingGlass.js:725
|
||||
msgid "Hide Errors"
|
||||
msgstr "Ocultar errores"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:729 ../js/ui/lookingGlass.js:780
|
||||
msgid "Show Errors"
|
||||
msgstr "Mostrar errores"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:738
|
||||
#: ../js/ui/lookingGlass.js:692
|
||||
msgid "Enabled"
|
||||
msgstr "Activado"
|
||||
|
||||
#. translators:
|
||||
#. * The device has been disabled
|
||||
#: ../js/ui/lookingGlass.js:741 ../src/gvc/gvc-mixer-control.c:1093
|
||||
#: ../js/ui/lookingGlass.js:694 ../src/gvc/gvc-mixer-control.c:1093
|
||||
msgid "Disabled"
|
||||
msgstr "Desactivado"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:743
|
||||
#: ../js/ui/lookingGlass.js:696
|
||||
msgid "Error"
|
||||
msgstr "Error"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:745
|
||||
#: ../js/ui/lookingGlass.js:698
|
||||
msgid "Out of date"
|
||||
msgstr "Caducado"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:747
|
||||
#: ../js/ui/lookingGlass.js:700
|
||||
msgid "Downloading"
|
||||
msgstr "Descargando"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:768
|
||||
#: ../js/ui/lookingGlass.js:721
|
||||
msgid "View Source"
|
||||
msgstr "Ver fuente"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:774
|
||||
#: ../js/ui/lookingGlass.js:727
|
||||
msgid "Web Page"
|
||||
msgstr "Página web"
|
||||
|
||||
#: ../js/ui/messageTray.js:1207
|
||||
#: ../js/ui/messageTray.js:1198
|
||||
msgid "Open"
|
||||
msgstr "Abrir"
|
||||
|
||||
#: ../js/ui/messageTray.js:1224
|
||||
msgid "Unmute"
|
||||
msgstr "Dar voz"
|
||||
|
||||
#: ../js/ui/messageTray.js:1224
|
||||
msgid "Mute"
|
||||
msgstr "Silenciar"
|
||||
|
||||
#: ../js/ui/messageTray.js:2436
|
||||
#: ../js/ui/messageTray.js:2407
|
||||
msgid "System Information"
|
||||
msgstr "Información del sistema"
|
||||
|
||||
@ -748,8 +695,8 @@ msgstr "La red inalámbrica requiere autenticación"
|
||||
#: ../js/ui/networkAgent.js:325
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
"'%s'."
|
||||
"Passwords or encryption keys are required to access the wireless network '%"
|
||||
"s'."
|
||||
msgstr ""
|
||||
"Se necesitan contraseñas o claves de cifrado para acceder a la red "
|
||||
"inalámbrica «%s»."
|
||||
@ -888,14 +835,17 @@ msgid "Copy"
|
||||
msgstr "Copiar"
|
||||
|
||||
#: ../js/ui/shellEntry.js:35
|
||||
#| msgid "Panel"
|
||||
msgid "Paste"
|
||||
msgstr "Pegar"
|
||||
|
||||
#: ../js/ui/shellEntry.js:81
|
||||
#| msgid "Show the _date"
|
||||
msgid "Show Text"
|
||||
msgstr "Mostrar texto"
|
||||
|
||||
#: ../js/ui/shellEntry.js:83
|
||||
#| msgid "Large Text"
|
||||
msgid "Hide Text"
|
||||
msgstr "Ocultar texto"
|
||||
|
||||
@ -1121,13 +1071,13 @@ msgstr "no disponible"
|
||||
msgid "connection failed"
|
||||
msgstr "falló la conexión"
|
||||
|
||||
#: ../js/ui/status/network.js:575 ../js/ui/status/network.js:1532
|
||||
#: ../js/ui/status/network.js:575 ../js/ui/status/network.js:1523
|
||||
msgid "More..."
|
||||
msgstr "Más…"
|
||||
|
||||
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
||||
#. and we cannot access its settings (including the name)
|
||||
#: ../js/ui/status/network.js:611 ../js/ui/status/network.js:1467
|
||||
#: ../js/ui/status/network.js:611 ../js/ui/status/network.js:1458
|
||||
msgid "Connected (private)"
|
||||
msgstr "Conectada (privada)"
|
||||
|
||||
@ -1144,7 +1094,7 @@ msgid "Auto dial-up"
|
||||
msgstr "Marcado automático"
|
||||
|
||||
#. TRANSLATORS: this the automatic wireless connection name (including the network name)
|
||||
#: ../js/ui/status/network.js:878 ../js/ui/status/network.js:1479
|
||||
#: ../js/ui/status/network.js:878 ../js/ui/status/network.js:1470
|
||||
#, c-format
|
||||
msgid "Auto %s"
|
||||
msgstr "%s automática"
|
||||
@ -1153,47 +1103,47 @@ msgstr "%s automática"
|
||||
msgid "Auto bluetooth"
|
||||
msgstr "Bluetooth automático"
|
||||
|
||||
#: ../js/ui/status/network.js:1481
|
||||
#: ../js/ui/status/network.js:1472
|
||||
msgid "Auto wireless"
|
||||
msgstr "Inalámbrica automática"
|
||||
|
||||
#: ../js/ui/status/network.js:1575
|
||||
#: ../js/ui/status/network.js:1566
|
||||
msgid "Enable networking"
|
||||
msgstr "Activar red"
|
||||
|
||||
#: ../js/ui/status/network.js:1587
|
||||
#: ../js/ui/status/network.js:1578
|
||||
msgid "Wired"
|
||||
msgstr "Cableada"
|
||||
|
||||
#: ../js/ui/status/network.js:1598
|
||||
#: ../js/ui/status/network.js:1589
|
||||
msgid "Wireless"
|
||||
msgstr "Inalámbrica"
|
||||
|
||||
#: ../js/ui/status/network.js:1608
|
||||
#: ../js/ui/status/network.js:1599
|
||||
msgid "Mobile broadband"
|
||||
msgstr "Banda ancha móvil"
|
||||
|
||||
#: ../js/ui/status/network.js:1618
|
||||
#: ../js/ui/status/network.js:1609
|
||||
msgid "VPN Connections"
|
||||
msgstr "Conexiones VPN"
|
||||
|
||||
#: ../js/ui/status/network.js:1629
|
||||
#: ../js/ui/status/network.js:1620
|
||||
msgid "Network Settings"
|
||||
msgstr "Configuración de la red"
|
||||
|
||||
#: ../js/ui/status/network.js:1766
|
||||
#: ../js/ui/status/network.js:1757
|
||||
msgid "Connection failed"
|
||||
msgstr "Falló la conexión"
|
||||
|
||||
#: ../js/ui/status/network.js:1767
|
||||
#: ../js/ui/status/network.js:1758
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Falló la activación de la conexión de red"
|
||||
|
||||
#: ../js/ui/status/network.js:2017
|
||||
#: ../js/ui/status/network.js:2008
|
||||
msgid "Networking is disabled"
|
||||
msgstr "La red está desactivada"
|
||||
|
||||
#: ../js/ui/status/network.js:2144
|
||||
#: ../js/ui/status/network.js:2133
|
||||
msgid "Network Manager"
|
||||
msgstr "Gestor de la red"
|
||||
|
||||
@ -1559,39 +1509,39 @@ msgstr "Inactivo"
|
||||
msgid "Unavailable"
|
||||
msgstr "No disponible"
|
||||
|
||||
#: ../js/ui/userMenu.js:571 ../js/ui/userMenu.js:575 ../js/ui/userMenu.js:645
|
||||
#: ../js/ui/userMenu.js:547 ../js/ui/userMenu.js:551 ../js/ui/userMenu.js:621
|
||||
msgid "Power Off..."
|
||||
msgstr "Apagar…"
|
||||
|
||||
#: ../js/ui/userMenu.js:607
|
||||
#: ../js/ui/userMenu.js:583
|
||||
msgid "Notifications"
|
||||
msgstr "Notificaciones"
|
||||
|
||||
#: ../js/ui/userMenu.js:615
|
||||
#: ../js/ui/userMenu.js:591
|
||||
msgid "Online Accounts"
|
||||
msgstr "Cuentas en línea"
|
||||
|
||||
#: ../js/ui/userMenu.js:619
|
||||
#: ../js/ui/userMenu.js:595
|
||||
msgid "System Settings"
|
||||
msgstr "Configuración del sistema"
|
||||
|
||||
#: ../js/ui/userMenu.js:626
|
||||
#: ../js/ui/userMenu.js:602
|
||||
msgid "Lock Screen"
|
||||
msgstr "Bloquear la pantalla"
|
||||
|
||||
#: ../js/ui/userMenu.js:631
|
||||
#: ../js/ui/userMenu.js:607
|
||||
msgid "Switch User"
|
||||
msgstr "Cambiar de usuario"
|
||||
|
||||
#: ../js/ui/userMenu.js:636
|
||||
#: ../js/ui/userMenu.js:612
|
||||
msgid "Log Out..."
|
||||
msgstr "Cerrar la sesión…"
|
||||
|
||||
#: ../js/ui/userMenu.js:664
|
||||
#: ../js/ui/userMenu.js:640
|
||||
msgid "Your chat status will be set to busy"
|
||||
msgstr "Su estado del chat se establecerá a «ocupado»"
|
||||
|
||||
#: ../js/ui/userMenu.js:665
|
||||
#: ../js/ui/userMenu.js:641
|
||||
msgid ""
|
||||
"Notifications are now disabled, including chat messages. Your online status "
|
||||
"has been adjusted to let others know that you might not see their messages."
|
||||
@ -1608,7 +1558,7 @@ msgstr ""
|
||||
msgid "Type to search..."
|
||||
msgstr "Teclear para buscar…"
|
||||
|
||||
#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:244
|
||||
#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:261
|
||||
msgid "Search"
|
||||
msgstr "Buscar"
|
||||
|
||||
@ -1639,15 +1589,15 @@ msgstr[1] "%u entradas"
|
||||
msgid "System Sounds"
|
||||
msgstr "Sonidos del sistema"
|
||||
|
||||
#: ../src/main.c:483
|
||||
#: ../src/main.c:480
|
||||
msgid "Print version"
|
||||
msgstr "Imprimir versión"
|
||||
|
||||
#: ../src/main.c:489
|
||||
#: ../src/main.c:486
|
||||
msgid "Mode used by GDM for login screen"
|
||||
msgstr "Modo usado por GDM para la pantalla de inicio"
|
||||
|
||||
#: ../src/shell-app.c:567
|
||||
#: ../src/shell-app.c:579
|
||||
#, c-format
|
||||
msgid "Failed to launch '%s'"
|
||||
msgstr "Falló al lanzar «%s»"
|
||||
@ -1664,15 +1614,13 @@ msgstr "Predeterminada"
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "El usuario rechazó el diálogo de autenticación"
|
||||
|
||||
#. Translators: this is the same string as the one found in
|
||||
#. * nautilus
|
||||
#: ../src/shell-util.c:89
|
||||
msgid "Home"
|
||||
#: ../src/shell-util.c:100
|
||||
msgid "Home Folder"
|
||||
msgstr "Carpeta personal"
|
||||
|
||||
#. Translators: this is the same string as the one found in
|
||||
#. * nautilus
|
||||
#: ../src/shell-util.c:98
|
||||
#: ../src/shell-util.c:115
|
||||
msgid "File System"
|
||||
msgstr "Sistema de archivos"
|
||||
|
||||
@ -1681,27 +1629,25 @@ msgstr "Sistema de archivos"
|
||||
#. * example, "Trash: some-directory". It means that the
|
||||
#. * directory called "some-directory" is in the trash.
|
||||
#.
|
||||
#: ../src/shell-util.c:294
|
||||
#: ../src/shell-util.c:311
|
||||
#, c-format
|
||||
msgid "%1$s: %2$s"
|
||||
msgstr "%1$s: %2$s"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "GNOME Shell extensions have a uuid property; this key lists extensions "
|
||||
#~ "which should be loaded. disabled-extensions overrides this setting for "
|
||||
#~ "extensions that appear in both lists."
|
||||
#~ msgstr ""
|
||||
#~ "Las extensiones de GNOME Shell tienen una propiedad uuid; esta clave "
|
||||
#~ "lista las extensiones que no se deben cargar. «disabled-extensions» "
|
||||
#~ "sobreescribe este ajuste para las extensiones que aparecen en ambas "
|
||||
#~ "listas."
|
||||
|
||||
#~ msgid "Home Folder"
|
||||
#~ msgstr "Carpeta personal"
|
||||
|
||||
#~ msgid "Show password"
|
||||
#~ msgstr "Mostrar contraseña"
|
||||
|
||||
#~ msgid "%s has not emitted any errors."
|
||||
#~ msgstr "%s no ha generado ningún error."
|
||||
|
||||
#~| msgid "Error"
|
||||
#~ msgid "Hide Errors"
|
||||
#~ msgstr "Ocultar errores"
|
||||
|
||||
#~| msgid "Error"
|
||||
#~ msgid "Show Errors"
|
||||
#~ msgstr "Mostrar errores"
|
||||
|
||||
#~ msgid "%s has finished starting"
|
||||
#~ msgstr "%s finalizó su lanzamiento"
|
||||
|
||||
@ -1737,6 +1683,16 @@ msgstr "%1$s: %2$s"
|
||||
#~ msgid "You're now connected to VPN network '%s'"
|
||||
#~ msgstr "Ahora está conectado a la VPN «%s»"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "GNOME Shell extensions have a uuid property; this key lists extensions "
|
||||
#~ "which should not be loaded. This setting overrides enabled-extensions for "
|
||||
#~ "extensions that appear in both lists."
|
||||
#~ msgstr ""
|
||||
#~ "Las extensiones de GNOME Shell tienen una propiedad uuid; esta clave "
|
||||
#~ "lista las extensiones que no se deben cargar. Este ajuste "
|
||||
#~ "sobreescribe«enabled-extensions» para las extensiones que aparecen en "
|
||||
#~ "ambas listas."
|
||||
|
||||
#~ msgid "Uuids of extensions to disable"
|
||||
#~ msgstr "Uuid de las extensiones que desactivar"
|
||||
|
||||
@ -1958,8 +1914,8 @@ msgstr "%1$s: %2$s"
|
||||
#~ "If true and format is either \"12-hour\" or \"24-hour\", display seconds "
|
||||
#~ "in time."
|
||||
#~ msgstr ""
|
||||
#~ "Si es cierta y el formato es «12-horas» o «24-horas», muestra los "
|
||||
#~ "segundos en la hora."
|
||||
#~ "Si es cierta y el formato es «12-horas» o «24-horas», muestra los segundos "
|
||||
#~ "en la hora."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key specifies the format used by the panel clock when the format key "
|
||||
@ -1976,19 +1932,18 @@ msgstr "%1$s: %2$s"
|
||||
#~ msgid ""
|
||||
#~ "This key specifies the hour format used by the panel clock. Possible "
|
||||
#~ "values are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to "
|
||||
#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. "
|
||||
#~ "1970-01-01. If set to \"custom\", the clock will display time according "
|
||||
#~ "to the format specified in the custom_format key. Note that if set to "
|
||||
#~ "either \"unix\" or \"custom\", the show_date and show_seconds keys are "
|
||||
#~ "ignored."
|
||||
#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. 1970-"
|
||||
#~ "01-01. If set to \"custom\", the clock will display time according to the "
|
||||
#~ "format specified in the custom_format key. Note that if set to either "
|
||||
#~ "\"unix\" or \"custom\", the show_date and show_seconds keys are ignored."
|
||||
#~ msgstr ""
|
||||
#~ "Esta clave especifica el formato de la hora especificado por el reloj del "
|
||||
#~ "panel. Los valores posibles son «12-hour» (12 horas), «24-hour» (24 "
|
||||
#~ "horas), «unix» y «custom» (personalizado).Si se establece a «unix» el "
|
||||
#~ "reloj mostrará la hora en segundos desde la época (1 de enero de 1970). "
|
||||
#~ "Si se establece a «custom» el reloj mostrará la hora según el formato "
|
||||
#~ "especificado en la clave «custom_format». Note que si se establece a "
|
||||
#~ "«unix» o «custom» se ignoran las claves «show_date» y «show_seconds»."
|
||||
#~ "panel. Los valores posibles son «12-hour» (12 horas), «24-hour» (24 horas), "
|
||||
#~ "«unix» y «custom» (personalizado).Si se establece a «unix» el reloj mostrará "
|
||||
#~ "la hora en segundos desde la época (1 de enero de 1970). Si se establece "
|
||||
#~ "a «custom» el reloj mostrará la hora según el formato especificado en la "
|
||||
#~ "clave «custom_format». Note que si se establece a «unix» o «custom» se "
|
||||
#~ "ignoran las claves «show_date» y «show_seconds»."
|
||||
|
||||
#~ msgid "Clock Format"
|
||||
#~ msgstr "Formato del reloj"
|
||||
|
298
po/fi.po
298
po/fi.po
@ -19,18 +19,20 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-09-26 15:40+0300\n"
|
||||
"PO-Revision-Date: 2011-09-26 15:39+0300\n"
|
||||
"Last-Translator: Tommi Vainikainen <thv@iki.fi>\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2011-10-18 19:39+0000\n"
|
||||
"PO-Revision-Date: 2011-11-15 22:19+0200\n"
|
||||
"Last-Translator: Ville-Pekka Vainio <vpvainio@iki.fi>\n"
|
||||
"Language-Team: Finnish <gnome-fi-laatu@lists.sourceforge.net>\n"
|
||||
"Language: fi\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.6.1\n"
|
||||
"X-Generator: Virtaal 0.7.1-rc1\n"
|
||||
"X-DamnedLies-Scope: partial\n"
|
||||
"X-Project-Style: gnome\n"
|
||||
|
||||
#: ../data/gnome-shell.desktop.in.in.h:1
|
||||
msgid "GNOME Shell"
|
||||
@ -40,6 +42,7 @@ msgstr "Gnomen ikkunanhallinta"
|
||||
msgid "Window management and application launching"
|
||||
msgstr "Ikkunanhallinta ja sovelluksien käynnistäminen"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:1
|
||||
msgid ""
|
||||
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
|
||||
"dialog."
|
||||
@ -47,16 +50,20 @@ msgstr ""
|
||||
"Salli pääsy sisäiseen vianselvitys- ja monitorointityökaluun Alt-F2-ikkunan "
|
||||
"kautta."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:2
|
||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
|
||||
msgstr ""
|
||||
"Ota käyttöön sisäiset kehittäjiä ja testaajia hyödyttävät työkalut Alt-F2:sta"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:3
|
||||
msgid "File extension used for storing the screencast"
|
||||
msgstr "Tiedostopääte ruutunauhoitusten tallentamiseen"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:4
|
||||
msgid "Framerate used for recording screencasts."
|
||||
msgstr "Ruutunauhoitusten kuvataajuus."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:5
|
||||
msgid ""
|
||||
"GNOME Shell extensions have a uuid property; this key lists extensions which "
|
||||
"should be loaded. disabled-extensions overrides this setting for extensions "
|
||||
@ -67,24 +74,31 @@ msgstr ""
|
||||
"kytketyt laajennukset) ylittää tämän asetuksen mikäli laajennus esiintyy "
|
||||
"molemmissa luetteloissa."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:6
|
||||
msgid "History for command (Alt-F2) dialog"
|
||||
msgstr "Historia komentoikkunalle (Alt-F2)"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:7
|
||||
msgid "History for the looking glass dialog"
|
||||
msgstr "Historia näyttölasi-ikkunalle"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:8
|
||||
msgid "If true, display date in the clock, in addition to time."
|
||||
msgstr "Jos tosi, näytä päivämäärä kellossa ajan lisäksi."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:9
|
||||
msgid "If true, display seconds in time."
|
||||
msgstr "Jos tosi, näytä sekunnit ajassa."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:10
|
||||
msgid "If true, display the ISO week date in the calendar."
|
||||
msgstr "Jos tosi, näytä ISO-viikonpäivät kalenterissa."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:11
|
||||
msgid "List of desktop file IDs for favorite applications"
|
||||
msgstr "Luettelo työpöytätiedostojen tunnisteista lempisovelluksille"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:13
|
||||
#, no-c-format
|
||||
msgid ""
|
||||
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
|
||||
@ -110,20 +124,25 @@ msgstr ""
|
||||
"muotoon VP8-koodekilla. %T korvautuu arvauksella parhaan suorituskyvy "
|
||||
"antavasta säiemäärästä järjestelmässä."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:14
|
||||
msgid "Show date in clock"
|
||||
msgstr "Näytä päivämäärä kellossa"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:15
|
||||
msgid "Show the week date in the calendar"
|
||||
msgstr "Näytä viikonpäivä kalenterissa"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:16
|
||||
msgid "Show time with seconds"
|
||||
msgstr "Näytä aika sekuntien kera"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:17
|
||||
msgid ""
|
||||
"The applications corresponding to these identifiers will be displayed in the "
|
||||
"favorites area."
|
||||
msgstr "Näitä tunnisteita vastaavat sovellukset näytetään suosikkien alueella."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:18
|
||||
msgid ""
|
||||
"The filename for recorded screencasts will be a unique filename based on the "
|
||||
"current date, and use this extension. It should be changed when recording to "
|
||||
@ -133,6 +152,7 @@ msgstr ""
|
||||
"nykyisen päivämäärän ja tämän tiedostopäätteen mukaisesti. Tiedostopääte "
|
||||
"tulisi vaihtaa mikäli nauhoitetaan eri tallennusmuotoon."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:19
|
||||
msgid ""
|
||||
"The framerate of the resulting screencast recordered by GNOME Shell's "
|
||||
"screencast recorder in frames-per-second."
|
||||
@ -140,9 +160,11 @@ msgstr ""
|
||||
"Nauhoituksesta tuloksena saatavan ruutunauhoituksen kuvataajuus kun käytössä "
|
||||
"on GNOMEn ikkunanhallinnan nauhoitin, kuvaa per sekunti."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:20
|
||||
msgid "The gstreamer pipeline used to encode the screencast"
|
||||
msgstr "Gstreamer-liukuhihna jolla ruutunauhoitukset pakataan"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:21
|
||||
msgid ""
|
||||
"The shell normally monitors active applications in order to present the most "
|
||||
"used ones (e.g. in launchers). While this data will be kept private, you may "
|
||||
@ -155,52 +177,72 @@ msgstr ""
|
||||
"yksityisyyden vuoksi. Huomaa että pois kytkeminen ei poista aiemmin "
|
||||
"tallennettuja tietoja."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:22
|
||||
msgid "The type of keyboard to use."
|
||||
msgstr "Käytettävän näppäimistön tyyppi."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:23
|
||||
msgid "Uuids of extensions to enable"
|
||||
msgstr "Käyttöön otettavien laajennosten UUID:t"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:24
|
||||
msgid "Whether to collect stats about applications usage"
|
||||
msgstr "Kerätäänkö sovellusten käytöstä tilastoja"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:25
|
||||
msgid "Which keyboard to use"
|
||||
msgstr "Mitä näppäimistöä käytetään"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:26
|
||||
msgid "disabled OpenSearch providers"
|
||||
msgstr "käytöstä poistetut OpenSearch-tarjoajat"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:633
|
||||
msgid "Session..."
|
||||
msgstr "Istunto…"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:804
|
||||
msgctxt "title"
|
||||
msgid "Sign In"
|
||||
msgstr "Kirjaudu sisään"
|
||||
|
||||
#. translators: this message is shown below the password entry field
|
||||
#. to indicate the user can swipe their finger instead
|
||||
#: ../js/gdm/loginDialog.js:849
|
||||
msgid "(or swipe finger)"
|
||||
msgstr "(tai pyyhkäise sormella)"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:867
|
||||
msgid "Not listed?"
|
||||
msgstr "Ei luettelossa?"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1035 ../js/ui/endSessionDialog.js:426
|
||||
#: ../js/ui/extensionSystem.js:477 ../js/ui/networkAgent.js:148
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:173 ../js/ui/status/bluetooth.js:480
|
||||
msgid "Cancel"
|
||||
msgstr "Peru"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1040
|
||||
msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "Kirjaudu sisään"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1392
|
||||
msgid "Login Window"
|
||||
msgstr "Kirjautumisikkuna"
|
||||
|
||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:554
|
||||
#: ../js/ui/userMenu.js:556 ../js/ui/userMenu.js:625
|
||||
msgid "Suspend"
|
||||
msgstr "Valmiustila"
|
||||
|
||||
#: ../js/gdm/powerMenu.js:121 ../js/ui/endSessionDialog.js:89
|
||||
#: ../js/ui/endSessionDialog.js:97 ../js/ui/endSessionDialog.js:106
|
||||
msgid "Restart"
|
||||
msgstr "Käynnistä uudelleen"
|
||||
|
||||
#: ../js/gdm/powerMenu.js:126 ../js/ui/endSessionDialog.js:80
|
||||
#: ../js/ui/endSessionDialog.js:91
|
||||
msgid "Power Off"
|
||||
msgstr "Sammuta"
|
||||
|
||||
@ -254,13 +296,16 @@ msgstr "%s on lisätty suosikkeihin."
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "%s on poistettu suosikeista."
|
||||
|
||||
#: ../js/ui/autorunManager.js:280
|
||||
msgid "Removable Devices"
|
||||
msgstr "Irroitettavat laitteet"
|
||||
|
||||
#: ../js/ui/autorunManager.js:590
|
||||
#, c-format
|
||||
msgid "Open with %s"
|
||||
msgstr "Avaa käyttäen %s"
|
||||
msgstr "Avaa käyttäen sovellusta %s"
|
||||
|
||||
#: ../js/ui/autorunManager.js:616
|
||||
msgid "Eject"
|
||||
msgstr "Poista asemasta"
|
||||
|
||||
@ -412,28 +457,32 @@ msgstr "Tällä viikolla"
|
||||
msgid "Next week"
|
||||
msgstr "Ensi viikolla"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:59 ../js/ui/notificationDaemon.js:444
|
||||
#: ../js/ui/status/power.js:223 ../src/shell-app.c:355
|
||||
#: ../js/ui/contactDisplay.js:65 ../js/ui/notificationDaemon.js:459
|
||||
#: ../js/ui/status/power.js:223 ../src/shell-app.c:353
|
||||
msgid "Unknown"
|
||||
msgstr "Tuntematon"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:86 ../js/ui/userMenu.js:139
|
||||
msgid "Available"
|
||||
msgstr "Tavoitettavissa"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:91 ../js/ui/userMenu.js:148
|
||||
msgid "Away"
|
||||
msgstr "Poissa"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:95 ../js/ui/userMenu.js:142
|
||||
msgid "Busy"
|
||||
msgstr "Kiireinen"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:93
|
||||
#: ../js/ui/contactDisplay.js:99
|
||||
msgid "Offline"
|
||||
msgstr "Ei linjoilla"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:140
|
||||
#: ../js/ui/contactDisplay.js:146
|
||||
msgid "CONTACTS"
|
||||
msgstr "YHTEYSTIEDOT"
|
||||
|
||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1206
|
||||
msgid "Remove"
|
||||
msgstr "Poista"
|
||||
|
||||
@ -583,108 +632,131 @@ msgstr "Asenna"
|
||||
msgid "Download and install '%s' from extensions.gnome.org?"
|
||||
msgstr "Lataa ja asenna ”%s” sivustolta extensions.gnome.org?"
|
||||
|
||||
#: ../js/ui/keyboard.js:325
|
||||
msgid "tray"
|
||||
msgstr "ilmoitusalue"
|
||||
|
||||
#: ../js/ui/keyboard.js:547 ../js/ui/status/power.js:211
|
||||
msgid "Keyboard"
|
||||
msgstr "Näppäimistö"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:645
|
||||
#: ../js/ui/lookingGlass.js:646
|
||||
msgid "No extensions installed"
|
||||
msgstr "Laajennuksia ei asennettu"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:691
|
||||
#: ../js/ui/lookingGlass.js:692
|
||||
msgid "Enabled"
|
||||
msgstr "Käytössä"
|
||||
|
||||
#. translators:
|
||||
#. * The device has been disabled
|
||||
#: ../js/ui/lookingGlass.js:693 ../src/gvc/gvc-mixer-control.c:1093
|
||||
#: ../js/ui/lookingGlass.js:694 ../src/gvc/gvc-mixer-control.c:1093
|
||||
msgid "Disabled"
|
||||
msgstr "Ei käytössä"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:695
|
||||
#: ../js/ui/lookingGlass.js:696
|
||||
msgid "Error"
|
||||
msgstr "Virhe"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:697
|
||||
#: ../js/ui/lookingGlass.js:698
|
||||
msgid "Out of date"
|
||||
msgstr "Ei ajan tasalla"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:699
|
||||
#: ../js/ui/lookingGlass.js:700
|
||||
msgid "Downloading"
|
||||
msgstr "Noudetaan"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:724
|
||||
#: ../js/ui/lookingGlass.js:721
|
||||
msgid "View Source"
|
||||
msgstr "Näytä lähde"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:730
|
||||
#: ../js/ui/lookingGlass.js:727
|
||||
msgid "Web Page"
|
||||
msgstr "WWW-sivu"
|
||||
|
||||
#: ../js/ui/messageTray.js:1199
|
||||
msgid "Open"
|
||||
msgstr "Avaa"
|
||||
|
||||
#: ../js/ui/messageTray.js:2408
|
||||
msgid "System Information"
|
||||
msgstr "Järjestelmän tiedot"
|
||||
|
||||
msgid "Show password"
|
||||
msgstr "Näytä salasana"
|
||||
|
||||
#: ../js/ui/networkAgent.js:143
|
||||
msgid "Connect"
|
||||
msgstr "Yhdistä"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: ../js/ui/networkAgent.js:238 ../js/ui/networkAgent.js:250
|
||||
#: ../js/ui/networkAgent.js:277 ../js/ui/networkAgent.js:297
|
||||
#: ../js/ui/networkAgent.js:307
|
||||
msgid "Password: "
|
||||
msgstr "Salasana: "
|
||||
|
||||
#. static WEP
|
||||
#: ../js/ui/networkAgent.js:243
|
||||
msgid "Key: "
|
||||
msgstr "Avain: "
|
||||
|
||||
#. 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/ui/networkAgent.js:275 ../js/ui/networkAgent.js:293
|
||||
msgid "Username: "
|
||||
msgstr "Käyttäjänimi: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:281
|
||||
msgid "Identity: "
|
||||
msgstr "Henkilöllisyys: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:283
|
||||
msgid "Private key password: "
|
||||
msgstr "Salaisen avaimen salasana: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:295
|
||||
msgid "Service: "
|
||||
msgstr "Palvelu: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:324
|
||||
msgid "Authentication required by wireless network"
|
||||
msgstr "Langaton verkko vaatii tunnistautumisen"
|
||||
|
||||
#: ../js/ui/networkAgent.js:325
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
"'%s'."
|
||||
"Passwords or encryption keys are required to access the wireless network '%"
|
||||
"s'."
|
||||
msgstr "Langaton verkko %s vaatii salasanan tai salausavaimia."
|
||||
|
||||
#: ../js/ui/networkAgent.js:329
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "Kiinteän 802.1X-yhteyden tunnistautuminen"
|
||||
|
||||
#: ../js/ui/networkAgent.js:331
|
||||
msgid "Network name: "
|
||||
msgstr "Verkon nimi: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:336
|
||||
msgid "DSL authentication"
|
||||
msgstr "DSL-tunnistautuminen"
|
||||
|
||||
#: ../js/ui/networkAgent.js:343
|
||||
msgid "PIN code required"
|
||||
msgstr "PIN-koodi vaaditaan"
|
||||
|
||||
#: ../js/ui/networkAgent.js:344
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "Mobiililaajakaista vaatii PIN-koodin"
|
||||
|
||||
#: ../js/ui/networkAgent.js:345
|
||||
msgid "PIN: "
|
||||
msgstr "PIN: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:351
|
||||
msgid "Mobile broadband network password"
|
||||
msgstr "Mobiililaajakaistan verkkosalasana"
|
||||
|
||||
#: ../js/ui/networkAgent.js:352
|
||||
#, c-format
|
||||
msgid "A password is required to connect to '%s'."
|
||||
msgstr "Salasana vaaditaan kohteeseen %s yhdistämiseksi."
|
||||
@ -708,15 +780,18 @@ msgid "Dash"
|
||||
msgstr "Pikavalikko"
|
||||
|
||||
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
||||
#: ../js/ui/panel.js:539
|
||||
#, c-format
|
||||
msgid "Quit %s"
|
||||
msgstr "Lopeta %s"
|
||||
|
||||
#. Translators: If there is no suitable word for "Activities"
|
||||
#. in your language, you can use the word for "Overview".
|
||||
#: ../js/ui/panel.js:575
|
||||
msgid "Activities"
|
||||
msgstr "Toiminnot"
|
||||
|
||||
#: ../js/ui/panel.js:967
|
||||
msgid "Top Bar"
|
||||
msgstr "Yläpalkki"
|
||||
|
||||
@ -737,14 +812,15 @@ msgstr "Yhdistä…"
|
||||
msgid "PLACES & DEVICES"
|
||||
msgstr "SIJAINNIT JA LAITTEET"
|
||||
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:72
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:73
|
||||
msgid "Authentication Required"
|
||||
msgstr "Tunnistautuminen vaaditaan"
|
||||
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:106
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:107
|
||||
msgid "Administrator"
|
||||
msgstr "Ylläpitäjä"
|
||||
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:177
|
||||
msgid "Authenticate"
|
||||
msgstr "Tunnistaudu"
|
||||
|
||||
@ -752,9 +828,11 @@ msgstr "Tunnistaudu"
|
||||
#. * requested authentication was not gained; this can happen
|
||||
#. * because of an authentication error (like invalid password),
|
||||
#. * for instance.
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:258
|
||||
msgid "Sorry, that didn't work. Please try again."
|
||||
msgstr "Tunnistautuminen epäonnistui. Yritä uudelleen."
|
||||
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:270
|
||||
msgid "Password:"
|
||||
msgstr "Salasana:"
|
||||
|
||||
@ -763,10 +841,11 @@ msgstr "Salasana:"
|
||||
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
|
||||
#. switches containing "◯" and "|"). Other values will
|
||||
#. simply result in invisible toggle switches.
|
||||
#: ../js/ui/popupMenu.js:731
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-intl"
|
||||
|
||||
#: ../js/ui/runDialog.js:208
|
||||
#: ../js/ui/runDialog.js:209
|
||||
msgid "Please enter a command:"
|
||||
msgstr "Syötä komento:"
|
||||
|
||||
@ -778,6 +857,22 @@ msgstr "Haetaan…"
|
||||
msgid "No matching results."
|
||||
msgstr "Ei tuloksia."
|
||||
|
||||
#: ../js/ui/shellEntry.js:30
|
||||
msgid "Copy"
|
||||
msgstr "Kopioi"
|
||||
|
||||
#: ../js/ui/shellEntry.js:35
|
||||
msgid "Paste"
|
||||
msgstr "Liitä"
|
||||
|
||||
#: ../js/ui/shellEntry.js:81
|
||||
msgid "Show Text"
|
||||
msgstr "Näytä teksti"
|
||||
|
||||
#: ../js/ui/shellEntry.js:83
|
||||
msgid "Hide Text"
|
||||
msgstr "Piilota teksti"
|
||||
|
||||
#: ../js/ui/shellMountOperation.js:285
|
||||
msgid "Wrong password, please try again"
|
||||
msgstr "Väärä salasana, yritä uudelleen"
|
||||
@ -789,6 +884,7 @@ msgstr "Lähennys"
|
||||
#. let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA,
|
||||
#. 'screen-reader-enabled');
|
||||
#. this.menu.addMenuItem(screenReader);
|
||||
#: ../js/ui/status/accessibility.js:71
|
||||
msgid "Screen Keyboard"
|
||||
msgstr "Näyttönäppäimistö"
|
||||
|
||||
@ -910,7 +1006,7 @@ msgstr "Salli pääsy aina"
|
||||
msgid "Grant this time only"
|
||||
msgstr "Salli vain tällä kerralla"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:392 ../js/ui/telepathyClient.js:1196
|
||||
#: ../js/ui/status/bluetooth.js:392 ../js/ui/telepathyClient.js:1204
|
||||
msgid "Reject"
|
||||
msgstr "Hylkää"
|
||||
|
||||
@ -950,9 +1046,11 @@ msgstr "Kirjoita laitteella mainittu PIN-koodi."
|
||||
msgid "OK"
|
||||
msgstr "OK"
|
||||
|
||||
#: ../js/ui/status/keyboard.js:73
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "Näytä näppäimistön asettelu"
|
||||
|
||||
#: ../js/ui/status/keyboard.js:78
|
||||
msgid "Region and Language Settings"
|
||||
msgstr "Kielen ja alueen asetukset"
|
||||
|
||||
@ -997,11 +1095,13 @@ msgstr "ei käytettävissä"
|
||||
msgid "connection failed"
|
||||
msgstr "yhteys katkesi"
|
||||
|
||||
#: ../js/ui/status/network.js:575 ../js/ui/status/network.js:1523
|
||||
msgid "More..."
|
||||
msgstr "Lisää…"
|
||||
|
||||
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
||||
#. and we cannot access its settings (including the name)
|
||||
#: ../js/ui/status/network.js:611 ../js/ui/status/network.js:1458
|
||||
msgid "Connected (private)"
|
||||
msgstr "Yhdistetty (yksityinen)"
|
||||
|
||||
@ -1018,6 +1118,7 @@ msgid "Auto dial-up"
|
||||
msgstr "Automaattinen, puhelinverkko"
|
||||
|
||||
#. TRANSLATORS: this the automatic wireless connection name (including the network name)
|
||||
#: ../js/ui/status/network.js:878 ../js/ui/status/network.js:1470
|
||||
#, c-format
|
||||
msgid "Auto %s"
|
||||
msgstr "Automaattinen: %s"
|
||||
@ -1026,36 +1127,47 @@ msgstr "Automaattinen: %s"
|
||||
msgid "Auto bluetooth"
|
||||
msgstr "Automaattinen: Bluetooth"
|
||||
|
||||
#: ../js/ui/status/network.js:1472
|
||||
msgid "Auto wireless"
|
||||
msgstr "Automaattinen: langaton"
|
||||
|
||||
#: ../js/ui/status/network.js:1566
|
||||
msgid "Enable networking"
|
||||
msgstr "Ota verkko käyttöön"
|
||||
|
||||
#: ../js/ui/status/network.js:1578
|
||||
msgid "Wired"
|
||||
msgstr "Kiinteä"
|
||||
|
||||
#: ../js/ui/status/network.js:1589
|
||||
msgid "Wireless"
|
||||
msgstr "Langaton"
|
||||
|
||||
#: ../js/ui/status/network.js:1599
|
||||
msgid "Mobile broadband"
|
||||
msgstr "Mobiililaajakaista"
|
||||
|
||||
#: ../js/ui/status/network.js:1609
|
||||
msgid "VPN Connections"
|
||||
msgstr "VPN-yhteydet"
|
||||
|
||||
#: ../js/ui/status/network.js:1620
|
||||
msgid "Network Settings"
|
||||
msgstr "Verkkoasetukset"
|
||||
|
||||
#: ../js/ui/status/network.js:1757
|
||||
msgid "Connection failed"
|
||||
msgstr "Yhteys epäonnistui"
|
||||
|
||||
#: ../js/ui/status/network.js:1758
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Verkkoyhteyden aktivointi epäonnistui"
|
||||
|
||||
#: ../js/ui/status/network.js:2008
|
||||
msgid "Networking is disabled"
|
||||
msgstr "Verkko ei ole käytössä"
|
||||
|
||||
#: ../js/ui/status/network.js:2133
|
||||
msgid "Network Manager"
|
||||
msgstr "Verkon hallinta"
|
||||
|
||||
@ -1163,39 +1275,39 @@ msgid "Invitation"
|
||||
msgstr "Kutsu"
|
||||
|
||||
#. We got the TpContact
|
||||
#: ../js/ui/telepathyClient.js:325
|
||||
#: ../js/ui/telepathyClient.js:327
|
||||
msgid "Call"
|
||||
msgstr "Soita"
|
||||
|
||||
#. We got the TpContact
|
||||
#: ../js/ui/telepathyClient.js:353
|
||||
#: ../js/ui/telepathyClient.js:357
|
||||
msgid "File Transfer"
|
||||
msgstr "Tiedostonsiirto"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:434
|
||||
#: ../js/ui/telepathyClient.js:438
|
||||
msgid "Subscription request"
|
||||
msgstr "Tilauspyyntö"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:470
|
||||
#: ../js/ui/telepathyClient.js:474
|
||||
msgid "Connection error"
|
||||
msgstr "Yhteysvirhe"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:733
|
||||
#: ../js/ui/telepathyClient.js:741
|
||||
#, c-format
|
||||
msgid "%s is online."
|
||||
msgstr "%s on linjoilla."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:738
|
||||
#: ../js/ui/telepathyClient.js:746
|
||||
#, c-format
|
||||
msgid "%s is offline."
|
||||
msgstr "%s on poissa linjoilta."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:741
|
||||
#: ../js/ui/telepathyClient.js:749
|
||||
#, c-format
|
||||
msgid "%s is away."
|
||||
msgstr "%s on poissa."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:744
|
||||
#: ../js/ui/telepathyClient.js:752
|
||||
#, c-format
|
||||
msgid "%s is busy."
|
||||
msgstr "%s on kiireinen."
|
||||
@ -1203,35 +1315,35 @@ msgstr "%s on kiireinen."
|
||||
#. Translators: this is a time format string followed by a date.
|
||||
#. If applicable, replace %X with a strftime format valid for your
|
||||
#. locale, without seconds.
|
||||
#: ../js/ui/telepathyClient.js:978
|
||||
#: ../js/ui/telepathyClient.js:986
|
||||
#, no-c-format
|
||||
msgid "Sent at <b>%X</b> on <b>%A</b>"
|
||||
msgstr "Lähetetty <b>%Ana</b> kello <b>%H.%M</b>"
|
||||
|
||||
#. Translators: this is a time format in the style of "Wednesday, May 25",
|
||||
#. shown when you get a chat message in the same year.
|
||||
#: ../js/ui/telepathyClient.js:984
|
||||
#: ../js/ui/telepathyClient.js:992
|
||||
#, no-c-format
|
||||
msgid "Sent on <b>%A</b>, <b>%B %d</b>"
|
||||
msgstr "Lähetetty <b>%Ana</b> <b>%d. %Bta</b>"
|
||||
|
||||
#. Translators: this is a time format in the style of "Wednesday, May 25, 2012",
|
||||
#. shown when you get a chat message in a different year.
|
||||
#: ../js/ui/telepathyClient.js:989
|
||||
#: ../js/ui/telepathyClient.js:997
|
||||
#, no-c-format
|
||||
msgid "Sent on <b>%A</b>, <b>%B %d</b>, %Y"
|
||||
msgstr "Lähetetty <b>%Ana</b> <b>%d. %Bta</b> %Y"
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#: ../js/ui/telepathyClient.js:1031
|
||||
#: ../js/ui/telepathyClient.js:1039
|
||||
#, c-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "%s on nyt nimeltään %s"
|
||||
|
||||
#. translators: argument is a room name like
|
||||
#. * room@jabber.org for example.
|
||||
#: ../js/ui/telepathyClient.js:1140
|
||||
#: ../js/ui/telepathyClient.js:1148
|
||||
#, c-format
|
||||
msgid "Invitation to %s"
|
||||
msgstr "Kutsu huoneeseen %s"
|
||||
@ -1239,34 +1351,35 @@ msgstr "Kutsu huoneeseen %s"
|
||||
#. translators: first argument is the name of a contact and the second
|
||||
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
|
||||
#. * for example.
|
||||
#: ../js/ui/telepathyClient.js:1148
|
||||
#: ../js/ui/telepathyClient.js:1156
|
||||
#, c-format
|
||||
msgid "%s is inviting you to join %s"
|
||||
msgstr "%s kutsuu sinut huoneeseen %s"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1150 ../js/ui/telepathyClient.js:1239
|
||||
#: ../js/ui/telepathyClient.js:1343
|
||||
#: ../js/ui/telepathyClient.js:1158 ../js/ui/telepathyClient.js:1248
|
||||
#: ../js/ui/telepathyClient.js:1352
|
||||
msgid "Decline"
|
||||
msgstr "Kieltäydy"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1151 ../js/ui/telepathyClient.js:1240
|
||||
#: ../js/ui/telepathyClient.js:1344
|
||||
#: ../js/ui/telepathyClient.js:1159 ../js/ui/telepathyClient.js:1249
|
||||
#: ../js/ui/telepathyClient.js:1353
|
||||
msgid "Accept"
|
||||
msgstr "Hyväksy"
|
||||
|
||||
#. translators: argument is a contact name like Alice for example.
|
||||
#: ../js/ui/telepathyClient.js:1184
|
||||
#: ../js/ui/telepathyClient.js:1192
|
||||
#, c-format
|
||||
msgid "Video call from %s"
|
||||
msgstr "Videopuhelu käyttäjältä %s"
|
||||
|
||||
#. translators: argument is a contact name like Alice for example.
|
||||
#: ../js/ui/telepathyClient.js:1187
|
||||
#: ../js/ui/telepathyClient.js:1195
|
||||
#, c-format
|
||||
msgid "Call from %s"
|
||||
msgstr "Puhelu käyttäjältä %s"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1197
|
||||
#. translators: this is a button label (verb), not a noun
|
||||
#: ../js/ui/telepathyClient.js:1206
|
||||
msgid "Answer"
|
||||
msgstr "Vastaa"
|
||||
|
||||
@ -1275,108 +1388,108 @@ msgstr "Vastaa"
|
||||
#. * file name. The string will be something
|
||||
#. * like: "Alice is sending you test.ogg"
|
||||
#.
|
||||
#: ../js/ui/telepathyClient.js:1233
|
||||
#: ../js/ui/telepathyClient.js:1242
|
||||
#, c-format
|
||||
msgid "%s is sending you %s"
|
||||
msgstr "%s on lähettämässä sinulle tiedostoa %s"
|
||||
|
||||
#. To translators: The parameter is the contact's alias
|
||||
#: ../js/ui/telepathyClient.js:1308
|
||||
#: ../js/ui/telepathyClient.js:1317
|
||||
#, c-format
|
||||
msgid "%s would like permission to see when you are online"
|
||||
msgstr "%s haluaisi saada luvan nähdä, milloin olet linjoilla"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1406
|
||||
#: ../js/ui/telepathyClient.js:1415
|
||||
msgid "Network error"
|
||||
msgstr "Verkkovirhe"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1408
|
||||
#: ../js/ui/telepathyClient.js:1417
|
||||
msgid "Authentication failed"
|
||||
msgstr "Tunnistautuminen epäonnistui"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1410
|
||||
#: ../js/ui/telepathyClient.js:1419
|
||||
msgid "Encryption error"
|
||||
msgstr "Salausvirhe"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1412
|
||||
#: ../js/ui/telepathyClient.js:1421
|
||||
msgid "Certificate not provided"
|
||||
msgstr "Varmennetta ei annettu"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1414
|
||||
#: ../js/ui/telepathyClient.js:1423
|
||||
msgid "Certificate untrusted"
|
||||
msgstr "Varmenteeseen ei luoteta"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1416
|
||||
#: ../js/ui/telepathyClient.js:1425
|
||||
msgid "Certificate expired"
|
||||
msgstr "Varmenne on vanhentunut"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1418
|
||||
#: ../js/ui/telepathyClient.js:1427
|
||||
msgid "Certificate not activated"
|
||||
msgstr "Varmennetta ei ole aktivoitu"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1420
|
||||
#: ../js/ui/telepathyClient.js:1429
|
||||
msgid "Certificate hostname mismatch"
|
||||
msgstr "Varmenteen konenimiristiriita"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1422
|
||||
#: ../js/ui/telepathyClient.js:1431
|
||||
msgid "Certificate fingerprint mismatch"
|
||||
msgstr "Varmenteen sormenjälkiristiriita"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1424
|
||||
#: ../js/ui/telepathyClient.js:1433
|
||||
msgid "Certificate self-signed"
|
||||
msgstr "Varmenne on itseallekirjoitettu"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1426
|
||||
#: ../js/ui/telepathyClient.js:1435
|
||||
msgid "Status is set to offline"
|
||||
msgstr "Tilaksi on asetettu ”poissa linjoilta”"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1428
|
||||
#: ../js/ui/telepathyClient.js:1437
|
||||
msgid "Encryption is not available"
|
||||
msgstr "Salaus ei ole käytettävissä"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1430
|
||||
#: ../js/ui/telepathyClient.js:1439
|
||||
msgid "Certificate is invalid"
|
||||
msgstr "Varmenne ei kelpaa"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1432
|
||||
#: ../js/ui/telepathyClient.js:1441
|
||||
msgid "Connection has been refused"
|
||||
msgstr "Yhteys on evätty"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1434
|
||||
#: ../js/ui/telepathyClient.js:1443
|
||||
msgid "Connection can't be established"
|
||||
msgstr "Yhteyttä ei voida muodostaa"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1436
|
||||
#: ../js/ui/telepathyClient.js:1445
|
||||
msgid "Connection has been lost"
|
||||
msgstr "Yhteys on katkennut"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1438
|
||||
#: ../js/ui/telepathyClient.js:1447
|
||||
msgid "This resource is already connected to the server"
|
||||
msgstr "Tämä resurssi on jo yhteydessä palvelimeen"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1440
|
||||
#: ../js/ui/telepathyClient.js:1449
|
||||
msgid ""
|
||||
"Connection has been replaced by a new connection using the same resource"
|
||||
msgstr "Yhteys on korvattu uudella samaa resurssia käyttävällä yhteydellä"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1442
|
||||
#: ../js/ui/telepathyClient.js:1451
|
||||
msgid "The account already exists on the server"
|
||||
msgstr "Tili on jo olemassa palvelimella"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1444
|
||||
#: ../js/ui/telepathyClient.js:1453
|
||||
msgid "Server is currently too busy to handle the connection"
|
||||
msgstr "Palvelin on tällä hetkellä liian kiireinen käsittelemään yhteyttä"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1446
|
||||
#: ../js/ui/telepathyClient.js:1455
|
||||
msgid "Certificate has been revoked"
|
||||
msgstr "Varmenne on kumottu"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1448
|
||||
#: ../js/ui/telepathyClient.js:1457
|
||||
msgid ""
|
||||
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
|
||||
msgstr "Varmenne käyttää turvatonta salausmenetelmää"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1450
|
||||
#: ../js/ui/telepathyClient.js:1459
|
||||
msgid ""
|
||||
"The length of the server certificate, or the depth of the server certificate "
|
||||
"chain, exceed the limits imposed by the cryptography library"
|
||||
@ -1385,56 +1498,68 @@ msgstr ""
|
||||
|
||||
#. translators: argument is the account name, like
|
||||
#. * name@jabber.org for example.
|
||||
#: ../js/ui/telepathyClient.js:1459
|
||||
#: ../js/ui/telepathyClient.js:1468
|
||||
#, c-format
|
||||
msgid "Connection to %s failed"
|
||||
msgstr "Yhteys kohteeseen %s katkesi"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1468
|
||||
#: ../js/ui/telepathyClient.js:1477
|
||||
msgid "Reconnect"
|
||||
msgstr "Yhdistä uudelleen"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1469
|
||||
#: ../js/ui/telepathyClient.js:1478
|
||||
msgid "Edit account"
|
||||
msgstr "Muokkaa tiliä"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1515
|
||||
#: ../js/ui/telepathyClient.js:1524
|
||||
msgid "Unknown reason"
|
||||
msgstr "Tuntematon syy"
|
||||
|
||||
#: ../js/ui/userMenu.js:145
|
||||
msgid "Hidden"
|
||||
msgstr "Piilotettu"
|
||||
|
||||
#: ../js/ui/userMenu.js:151
|
||||
msgid "Idle"
|
||||
msgstr "Jouten"
|
||||
|
||||
#: ../js/ui/userMenu.js:154
|
||||
msgid "Unavailable"
|
||||
msgstr "Ei tavoitettavissa"
|
||||
|
||||
#: ../js/ui/userMenu.js:552 ../js/ui/userMenu.js:556 ../js/ui/userMenu.js:626
|
||||
msgid "Power Off..."
|
||||
msgstr "Sammuta…"
|
||||
|
||||
#: ../js/ui/userMenu.js:588
|
||||
msgid "Notifications"
|
||||
msgstr "Ilmoitukset"
|
||||
|
||||
#: ../js/ui/userMenu.js:596
|
||||
msgid "Online Accounts"
|
||||
msgstr "Verkkotilit"
|
||||
|
||||
#: ../js/ui/userMenu.js:600
|
||||
msgid "System Settings"
|
||||
msgstr "Järjestelmän asetukset"
|
||||
|
||||
#: ../js/ui/userMenu.js:607
|
||||
msgid "Lock Screen"
|
||||
msgstr "Lukitse näyttö"
|
||||
|
||||
#: ../js/ui/userMenu.js:612
|
||||
msgid "Switch User"
|
||||
msgstr "Vaihda käyttäjää"
|
||||
|
||||
#: ../js/ui/userMenu.js:617
|
||||
msgid "Log Out..."
|
||||
msgstr "Kirjaudu ulos…"
|
||||
|
||||
#: ../js/ui/userMenu.js:645
|
||||
msgid "Your chat status will be set to busy"
|
||||
msgstr "Pikaviestitilaksi asetetaan ”kiireinen”"
|
||||
|
||||
#: ../js/ui/userMenu.js:646
|
||||
msgid ""
|
||||
"Notifications are now disabled, including chat messages. Your online status "
|
||||
"has been adjusted to let others know that you might not see their messages."
|
||||
@ -1447,20 +1572,15 @@ msgstr ""
|
||||
#. in the search entry when no search is
|
||||
#. active; it should not exceed ~30
|
||||
#. characters.
|
||||
#: ../js/ui/viewSelector.js:120
|
||||
#: ../js/ui/viewSelector.js:121
|
||||
msgid "Type to search..."
|
||||
msgstr "Kirjoita hakeaksesi…"
|
||||
|
||||
#: ../js/ui/viewSelector.js:140 ../src/shell-util.c:261
|
||||
#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:261
|
||||
msgid "Search"
|
||||
msgstr "Haku"
|
||||
|
||||
#: ../js/ui/windowAttentionHandler.js:39
|
||||
#, c-format
|
||||
msgid "%s has finished starting"
|
||||
msgstr "%s on käynnistynyt"
|
||||
|
||||
#: ../js/ui/windowAttentionHandler.js:41
|
||||
#: ../js/ui/windowAttentionHandler.js:35
|
||||
#, c-format
|
||||
msgid "'%s' is ready"
|
||||
msgstr "%s on valmis"
|
||||
@ -1495,7 +1615,7 @@ msgstr "Tulosta versio"
|
||||
msgid "Mode used by GDM for login screen"
|
||||
msgstr "GDM:n kirjautumisruudussa käyttämä tila"
|
||||
|
||||
#: ../src/shell-app.c:581
|
||||
#: ../src/shell-app.c:579
|
||||
#, c-format
|
||||
msgid "Failed to launch '%s'"
|
||||
msgstr "Sovelluksen ”%s” käynnistäminen epäonnistui"
|
||||
@ -1532,6 +1652,12 @@ msgstr "Tiedostojärjestelmä"
|
||||
msgid "%1$s: %2$s"
|
||||
msgstr "%1$s: %2$s"
|
||||
|
||||
#~ msgid "Show password"
|
||||
#~ msgstr "Näytä salasana"
|
||||
|
||||
#~ msgid "%s has finished starting"
|
||||
#~ msgstr "%s on käynnistynyt"
|
||||
|
||||
#~ msgid "Connectivity lost"
|
||||
#~ msgstr "Yhteys katkesi"
|
||||
|
||||
|
147
po/fr.po
147
po/fr.po
@ -15,8 +15,8 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell master fr\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2011-10-13 20:12+0000\n"
|
||||
"PO-Revision-Date: 2011-10-11 13:23+0200 \n"
|
||||
"POT-Creation-Date: 2011-10-18 19:39+0000\n"
|
||||
"PO-Revision-Date: 2011-10-29 19:01+0200\n"
|
||||
"Last-Translator: Bruno Brouard <annoa.b@gmail.com>\n"
|
||||
"Language-Team: GNOME French Team <gnomefr@traduc.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@ -192,42 +192,42 @@ msgstr "Le clavier utilisé"
|
||||
msgid "disabled OpenSearch providers"
|
||||
msgstr "fournisseurs OpenSearch désactivés"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:617
|
||||
#: ../js/gdm/loginDialog.js:633
|
||||
msgid "Session..."
|
||||
msgstr "Session..."
|
||||
|
||||
#: ../js/gdm/loginDialog.js:788
|
||||
#: ../js/gdm/loginDialog.js:804
|
||||
msgctxt "title"
|
||||
msgid "Sign In"
|
||||
msgstr "Connexion"
|
||||
|
||||
#. translators: this message is shown below the password entry field
|
||||
#. to indicate the user can swipe their finger instead
|
||||
#: ../js/gdm/loginDialog.js:833
|
||||
#: ../js/gdm/loginDialog.js:849
|
||||
msgid "(or swipe finger)"
|
||||
msgstr "(ou faites glisser le doigt)"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:851
|
||||
#: ../js/gdm/loginDialog.js:867
|
||||
msgid "Not listed?"
|
||||
msgstr "Absent de la liste ?"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1019 ../js/ui/endSessionDialog.js:426
|
||||
#: ../js/ui/extensionSystem.js:477 ../js/ui/networkAgent.js:165
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:171 ../js/ui/status/bluetooth.js:480
|
||||
#: ../js/gdm/loginDialog.js:1035 ../js/ui/endSessionDialog.js:426
|
||||
#: ../js/ui/extensionSystem.js:477 ../js/ui/networkAgent.js:148
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:173 ../js/ui/status/bluetooth.js:480
|
||||
msgid "Cancel"
|
||||
msgstr "Annuler"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1024
|
||||
#: ../js/gdm/loginDialog.js:1040
|
||||
msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "Se connecter"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1373
|
||||
#: ../js/gdm/loginDialog.js:1392
|
||||
msgid "Login Window"
|
||||
msgstr "Fenêtre de connexion"
|
||||
|
||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:549
|
||||
#: ../js/ui/userMenu.js:551 ../js/ui/userMenu.js:620
|
||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:554
|
||||
#: ../js/ui/userMenu.js:556 ../js/ui/userMenu.js:625
|
||||
msgid "Suspend"
|
||||
msgstr "Mettre en veille"
|
||||
|
||||
@ -473,7 +473,7 @@ msgstr "Cette semaine"
|
||||
msgid "Next week"
|
||||
msgstr "La semaine prochaine"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:65 ../js/ui/notificationDaemon.js:444
|
||||
#: ../js/ui/contactDisplay.js:65 ../js/ui/notificationDaemon.js:459
|
||||
#: ../js/ui/status/power.js:223 ../src/shell-app.c:353
|
||||
msgid "Unknown"
|
||||
msgstr "Inconnu"
|
||||
@ -498,7 +498,7 @@ msgstr "Déconnecté"
|
||||
msgid "CONTACTS"
|
||||
msgstr "CONTACTS"
|
||||
|
||||
#: ../js/ui/dash.js:172 ../js/ui/messageTray.js:1204
|
||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1206
|
||||
msgid "Remove"
|
||||
msgstr "Enlever"
|
||||
|
||||
@ -643,100 +643,96 @@ msgstr "Installer"
|
||||
msgid "Download and install '%s' from extensions.gnome.org?"
|
||||
msgstr "Télécharger et installer « %s » à partir de extensions.gnome.org ?"
|
||||
|
||||
#: ../js/ui/keyboard.js:309
|
||||
#: ../js/ui/keyboard.js:325
|
||||
msgid "tray"
|
||||
msgstr "zone de notification"
|
||||
|
||||
#: ../js/ui/keyboard.js:531 ../js/ui/status/power.js:211
|
||||
#: ../js/ui/keyboard.js:547 ../js/ui/status/power.js:211
|
||||
msgid "Keyboard"
|
||||
msgstr "Clavier"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:645
|
||||
#: ../js/ui/lookingGlass.js:646
|
||||
msgid "No extensions installed"
|
||||
msgstr "Aucune extension installée"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:691
|
||||
#: ../js/ui/lookingGlass.js:692
|
||||
msgid "Enabled"
|
||||
msgstr "Activé"
|
||||
|
||||
#. translators:
|
||||
#. * The device has been disabled
|
||||
#: ../js/ui/lookingGlass.js:693 ../src/gvc/gvc-mixer-control.c:1093
|
||||
#: ../js/ui/lookingGlass.js:694 ../src/gvc/gvc-mixer-control.c:1093
|
||||
msgid "Disabled"
|
||||
msgstr "Désactivé"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:695
|
||||
#: ../js/ui/lookingGlass.js:696
|
||||
msgid "Error"
|
||||
msgstr "Erreur"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:697
|
||||
#: ../js/ui/lookingGlass.js:698
|
||||
msgid "Out of date"
|
||||
msgstr "Périmé"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:699
|
||||
#: ../js/ui/lookingGlass.js:700
|
||||
msgid "Downloading"
|
||||
msgstr "Téléchargement"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:720
|
||||
#: ../js/ui/lookingGlass.js:721
|
||||
msgid "View Source"
|
||||
msgstr "Afficher la source"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:726
|
||||
#: ../js/ui/lookingGlass.js:727
|
||||
msgid "Web Page"
|
||||
msgstr "Page Web"
|
||||
|
||||
#: ../js/ui/messageTray.js:1197
|
||||
#: ../js/ui/messageTray.js:1199
|
||||
msgid "Open"
|
||||
msgstr "Ouvrir"
|
||||
|
||||
#: ../js/ui/messageTray.js:2406
|
||||
#: ../js/ui/messageTray.js:2408
|
||||
msgid "System Information"
|
||||
msgstr "Informations du système"
|
||||
|
||||
#: ../js/ui/networkAgent.js:145
|
||||
msgid "Show password"
|
||||
msgstr "Afficher le mot de passe"
|
||||
|
||||
#: ../js/ui/networkAgent.js:160
|
||||
#: ../js/ui/networkAgent.js:143
|
||||
msgid "Connect"
|
||||
msgstr "Se connecter"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: ../js/ui/networkAgent.js:255 ../js/ui/networkAgent.js:267
|
||||
#: ../js/ui/networkAgent.js:294 ../js/ui/networkAgent.js:314
|
||||
#: ../js/ui/networkAgent.js:324
|
||||
#: ../js/ui/networkAgent.js:238 ../js/ui/networkAgent.js:250
|
||||
#: ../js/ui/networkAgent.js:277 ../js/ui/networkAgent.js:297
|
||||
#: ../js/ui/networkAgent.js:307
|
||||
msgid "Password: "
|
||||
msgstr "Mot de passe : "
|
||||
|
||||
#. static WEP
|
||||
#: ../js/ui/networkAgent.js:260
|
||||
#: ../js/ui/networkAgent.js:243
|
||||
msgid "Key: "
|
||||
msgstr "Clé : "
|
||||
|
||||
#. 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/ui/networkAgent.js:292 ../js/ui/networkAgent.js:310
|
||||
#: ../js/ui/networkAgent.js:275 ../js/ui/networkAgent.js:293
|
||||
msgid "Username: "
|
||||
msgstr "Nom d'utilisateur : "
|
||||
|
||||
#: ../js/ui/networkAgent.js:298
|
||||
#: ../js/ui/networkAgent.js:281
|
||||
msgid "Identity: "
|
||||
msgstr "Identité : "
|
||||
|
||||
#: ../js/ui/networkAgent.js:300
|
||||
#: ../js/ui/networkAgent.js:283
|
||||
msgid "Private key password: "
|
||||
msgstr "Mot de passe de la clé privée : "
|
||||
|
||||
#: ../js/ui/networkAgent.js:312
|
||||
#: ../js/ui/networkAgent.js:295
|
||||
msgid "Service: "
|
||||
msgstr "Service : "
|
||||
|
||||
#: ../js/ui/networkAgent.js:341
|
||||
#: ../js/ui/networkAgent.js:324
|
||||
msgid "Authentication required by wireless network"
|
||||
msgstr "L'authentification est requise par le réseau sans fil"
|
||||
|
||||
#: ../js/ui/networkAgent.js:342
|
||||
#: ../js/ui/networkAgent.js:325
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network '%"
|
||||
@ -745,35 +741,35 @@ msgstr ""
|
||||
"Il faut un mot de passe ou une clé de chiffrement pour accéder au réseau "
|
||||
"sans fil « %s »"
|
||||
|
||||
#: ../js/ui/networkAgent.js:346
|
||||
#: ../js/ui/networkAgent.js:329
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "Authentification filaire 802.1X"
|
||||
|
||||
#: ../js/ui/networkAgent.js:348
|
||||
#: ../js/ui/networkAgent.js:331
|
||||
msgid "Network name: "
|
||||
msgstr "Nom du réseau : "
|
||||
|
||||
#: ../js/ui/networkAgent.js:353
|
||||
#: ../js/ui/networkAgent.js:336
|
||||
msgid "DSL authentication"
|
||||
msgstr "Authentification DSL"
|
||||
|
||||
#: ../js/ui/networkAgent.js:360
|
||||
#: ../js/ui/networkAgent.js:343
|
||||
msgid "PIN code required"
|
||||
msgstr "Code PIN requis"
|
||||
|
||||
#: ../js/ui/networkAgent.js:361
|
||||
#: ../js/ui/networkAgent.js:344
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "Un code PIN est nécessaire pour les téléphones mobiles à large bande"
|
||||
|
||||
#: ../js/ui/networkAgent.js:362
|
||||
#: ../js/ui/networkAgent.js:345
|
||||
msgid "PIN: "
|
||||
msgstr "PIN : "
|
||||
|
||||
#: ../js/ui/networkAgent.js:368
|
||||
#: ../js/ui/networkAgent.js:351
|
||||
msgid "Mobile broadband network password"
|
||||
msgstr "Mot de passe du téléphone mobile à large bande"
|
||||
|
||||
#: ../js/ui/networkAgent.js:369
|
||||
#: ../js/ui/networkAgent.js:352
|
||||
#, c-format
|
||||
msgid "A password is required to connect to '%s'."
|
||||
msgstr "Un mot de passe est requis pour se connecter à « %s »."
|
||||
@ -829,15 +825,15 @@ msgstr "Connexion à..."
|
||||
msgid "PLACES & DEVICES"
|
||||
msgstr "RACCOURCIS et PÉRIPHÉRIQUES"
|
||||
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:72
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:73
|
||||
msgid "Authentication Required"
|
||||
msgstr "Authentification nécessaire"
|
||||
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:106
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:107
|
||||
msgid "Administrator"
|
||||
msgstr "Administrateur"
|
||||
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:175
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:177
|
||||
msgid "Authenticate"
|
||||
msgstr "S'authentifier"
|
||||
|
||||
@ -845,11 +841,11 @@ msgstr "S'authentifier"
|
||||
#. * requested authentication was not gained; this can happen
|
||||
#. * because of an authentication error (like invalid password),
|
||||
#. * for instance.
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:256
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:258
|
||||
msgid "Sorry, that didn't work. Please try again."
|
||||
msgstr "Échec de l'authentification. Essayez à nouveau."
|
||||
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:268
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:270
|
||||
msgid "Password:"
|
||||
msgstr "Mot de passe :"
|
||||
|
||||
@ -862,7 +858,7 @@ msgstr "Mot de passe :"
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-intl"
|
||||
|
||||
#: ../js/ui/runDialog.js:208
|
||||
#: ../js/ui/runDialog.js:209
|
||||
msgid "Please enter a command:"
|
||||
msgstr "Veuillez saisir une commande :"
|
||||
|
||||
@ -874,6 +870,22 @@ msgstr "Recherche en cours..."
|
||||
msgid "No matching results."
|
||||
msgstr "Aucun résultat correspondant."
|
||||
|
||||
#: ../js/ui/shellEntry.js:30
|
||||
msgid "Copy"
|
||||
msgstr "Copier"
|
||||
|
||||
#: ../js/ui/shellEntry.js:35
|
||||
msgid "Paste"
|
||||
msgstr "Coller"
|
||||
|
||||
#: ../js/ui/shellEntry.js:81
|
||||
msgid "Show Text"
|
||||
msgstr "Afficher le texte"
|
||||
|
||||
#: ../js/ui/shellEntry.js:83
|
||||
msgid "Hide Text"
|
||||
msgstr "Masquer le texte"
|
||||
|
||||
#: ../js/ui/shellMountOperation.js:285
|
||||
msgid "Wrong password, please try again"
|
||||
msgstr "Mot de passe incorrect, réessayez"
|
||||
@ -1541,39 +1553,39 @@ msgstr "Inactif"
|
||||
msgid "Unavailable"
|
||||
msgstr "Non disponible"
|
||||
|
||||
#: ../js/ui/userMenu.js:547 ../js/ui/userMenu.js:551 ../js/ui/userMenu.js:621
|
||||
#: ../js/ui/userMenu.js:552 ../js/ui/userMenu.js:556 ../js/ui/userMenu.js:626
|
||||
msgid "Power Off..."
|
||||
msgstr "Éteindre..."
|
||||
|
||||
#: ../js/ui/userMenu.js:583
|
||||
#: ../js/ui/userMenu.js:588
|
||||
msgid "Notifications"
|
||||
msgstr "Notifications"
|
||||
|
||||
#: ../js/ui/userMenu.js:591
|
||||
#: ../js/ui/userMenu.js:596
|
||||
msgid "Online Accounts"
|
||||
msgstr "Comptes en ligne"
|
||||
|
||||
#: ../js/ui/userMenu.js:595
|
||||
#: ../js/ui/userMenu.js:600
|
||||
msgid "System Settings"
|
||||
msgstr "Paramètres système"
|
||||
|
||||
#: ../js/ui/userMenu.js:602
|
||||
#: ../js/ui/userMenu.js:607
|
||||
msgid "Lock Screen"
|
||||
msgstr "Verrouiller l'écran"
|
||||
|
||||
#: ../js/ui/userMenu.js:607
|
||||
#: ../js/ui/userMenu.js:612
|
||||
msgid "Switch User"
|
||||
msgstr "Changer d'utilisateur"
|
||||
|
||||
#: ../js/ui/userMenu.js:612
|
||||
#: ../js/ui/userMenu.js:617
|
||||
msgid "Log Out..."
|
||||
msgstr "Fermer la session..."
|
||||
|
||||
#: ../js/ui/userMenu.js:640
|
||||
#: ../js/ui/userMenu.js:645
|
||||
msgid "Your chat status will be set to busy"
|
||||
msgstr "Votre statut pour les discussions sera défini à occupé"
|
||||
|
||||
#: ../js/ui/userMenu.js:641
|
||||
#: ../js/ui/userMenu.js:646
|
||||
msgid ""
|
||||
"Notifications are now disabled, including chat messages. Your online status "
|
||||
"has been adjusted to let others know that you might not see their messages."
|
||||
@ -1586,11 +1598,11 @@ msgstr ""
|
||||
#. in the search entry when no search is
|
||||
#. active; it should not exceed ~30
|
||||
#. characters.
|
||||
#: ../js/ui/viewSelector.js:120
|
||||
#: ../js/ui/viewSelector.js:121
|
||||
msgid "Type to search..."
|
||||
msgstr "Rechercher..."
|
||||
|
||||
#: ../js/ui/viewSelector.js:140 ../src/shell-util.c:261
|
||||
#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:261
|
||||
msgid "Search"
|
||||
msgstr "Recherche"
|
||||
|
||||
@ -1665,3 +1677,4 @@ msgstr "Système de fichiers"
|
||||
#, c-format
|
||||
msgid "%1$s: %2$s"
|
||||
msgstr "%1$s : %2$s"
|
||||
|
||||
|
166
po/pt_BR.po
166
po/pt_BR.po
@ -9,20 +9,22 @@
|
||||
# Rodrigo Padula <contato@rodrigopadula.com>, 2011.
|
||||
# Gabriel F. Vilar <cogumm@gmail.com>, 2011.
|
||||
# Adorilson Bezerra <adorilson@gmail.com>, 2011.
|
||||
# Djavan Fagundes <djavan@comum.org>, 2011.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2011-10-15 12:39+0000\n"
|
||||
"PO-Revision-Date: 2011-10-15 16:17-0300\n"
|
||||
"Last-Translator: Adorilson Bezerra <adorilson@gmail.com>\n"
|
||||
"POT-Creation-Date: 2011-10-20 14:38+0000\n"
|
||||
"PO-Revision-Date: 2011-10-20 12:45-0200\n"
|
||||
"Last-Translator: Djavan Fagundes <djavan@comum.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"
|
||||
"Language: pt_BR\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
"X-Generator: Virtaal 0.6.1\n"
|
||||
|
||||
#: ../data/gnome-shell.desktop.in.in.h:1
|
||||
msgid "GNOME Shell"
|
||||
@ -189,42 +191,42 @@ msgstr "Qual teclado usar"
|
||||
msgid "disabled OpenSearch providers"
|
||||
msgstr "Provedores OpenSearch desabilitados"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:617
|
||||
#: ../js/gdm/loginDialog.js:633
|
||||
msgid "Session..."
|
||||
msgstr "Sessão..."
|
||||
|
||||
#: ../js/gdm/loginDialog.js:788
|
||||
#: ../js/gdm/loginDialog.js:804
|
||||
msgctxt "title"
|
||||
msgid "Sign In"
|
||||
msgstr "Iniciar sessão"
|
||||
|
||||
#. translators: this message is shown below the password entry field
|
||||
#. to indicate the user can swipe their finger instead
|
||||
#: ../js/gdm/loginDialog.js:833
|
||||
#: ../js/gdm/loginDialog.js:849
|
||||
msgid "(or swipe finger)"
|
||||
msgstr "(ou deslize o dedo)"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:851
|
||||
#: ../js/gdm/loginDialog.js:867
|
||||
msgid "Not listed?"
|
||||
msgstr "Não listado?"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1019 ../js/ui/endSessionDialog.js:426
|
||||
#: ../js/ui/extensionSystem.js:477 ../js/ui/networkAgent.js:165
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:171 ../js/ui/status/bluetooth.js:480
|
||||
#: ../js/gdm/loginDialog.js:1035 ../js/ui/endSessionDialog.js:426
|
||||
#: ../js/ui/extensionSystem.js:477 ../js/ui/networkAgent.js:148
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:173 ../js/ui/status/bluetooth.js:480
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1024
|
||||
#: ../js/gdm/loginDialog.js:1040
|
||||
msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "Entrar"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1373
|
||||
#: ../js/gdm/loginDialog.js:1392
|
||||
msgid "Login Window"
|
||||
msgstr "Janela de sessão"
|
||||
|
||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:549
|
||||
#: ../js/ui/userMenu.js:551 ../js/ui/userMenu.js:620
|
||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:554
|
||||
#: ../js/ui/userMenu.js:556 ../js/ui/userMenu.js:625
|
||||
msgid "Suspend"
|
||||
msgstr "Suspender"
|
||||
|
||||
@ -447,7 +449,7 @@ msgstr "Esta semana"
|
||||
msgid "Next week"
|
||||
msgstr "Próxima semana"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:65 ../js/ui/notificationDaemon.js:444
|
||||
#: ../js/ui/contactDisplay.js:65 ../js/ui/notificationDaemon.js:459
|
||||
#: ../js/ui/status/power.js:223 ../src/shell-app.c:353
|
||||
msgid "Unknown"
|
||||
msgstr "Desconhecido"
|
||||
@ -472,7 +474,7 @@ msgstr "Desconectado"
|
||||
msgid "CONTACTS"
|
||||
msgstr "CONTATOS"
|
||||
|
||||
#: ../js/ui/dash.js:172 ../js/ui/messageTray.js:1204
|
||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1206
|
||||
msgid "Remove"
|
||||
msgstr "Remover"
|
||||
|
||||
@ -488,11 +490,11 @@ msgstr "Abrir calendário"
|
||||
#. in 24-hour mode.
|
||||
#: ../js/ui/dateMenu.js:183
|
||||
msgid "%a %b %e, %R:%S"
|
||||
msgstr "%a, %e de %b, %R:%S"
|
||||
msgstr "%a %e de %b, %R:%S"
|
||||
|
||||
#: ../js/ui/dateMenu.js:184
|
||||
msgid "%a %b %e, %R"
|
||||
msgstr "%a, %e de %b, %R"
|
||||
msgstr "%a %e de %b, %R"
|
||||
|
||||
#. Translators: This is the time format without date used
|
||||
#. in 24-hour mode.
|
||||
@ -508,11 +510,11 @@ msgstr "%a %R"
|
||||
#. for AM/PM.
|
||||
#: ../js/ui/dateMenu.js:196
|
||||
msgid "%a %b %e, %l:%M:%S %p"
|
||||
msgstr "%a, %e de %b, %H:%M:%S"
|
||||
msgstr "%a %e de %b, %H:%M:%S"
|
||||
|
||||
#: ../js/ui/dateMenu.js:197
|
||||
msgid "%a %b %e, %l:%M %p"
|
||||
msgstr "%a, %e de %b, %l:%M %p"
|
||||
msgstr "%a %e de %b, %l:%M %p"
|
||||
|
||||
#. Translators: This is a time format without date used
|
||||
#. for AM/PM.
|
||||
@ -606,100 +608,96 @@ msgstr "Instalar"
|
||||
msgid "Download and install '%s' from extensions.gnome.org?"
|
||||
msgstr "Baixar e instalar \"%s\" de extensions.gnome.org?"
|
||||
|
||||
#: ../js/ui/keyboard.js:309
|
||||
#: ../js/ui/keyboard.js:325
|
||||
msgid "tray"
|
||||
msgstr "bandeja"
|
||||
|
||||
#: ../js/ui/keyboard.js:531 ../js/ui/status/power.js:211
|
||||
#: ../js/ui/keyboard.js:547 ../js/ui/status/power.js:211
|
||||
msgid "Keyboard"
|
||||
msgstr "Teclado"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:645
|
||||
#: ../js/ui/lookingGlass.js:646
|
||||
msgid "No extensions installed"
|
||||
msgstr "Nenhuma extensão instalada"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:691
|
||||
#: ../js/ui/lookingGlass.js:692
|
||||
msgid "Enabled"
|
||||
msgstr "Habilitado"
|
||||
|
||||
#. translators:
|
||||
#. * The device has been disabled
|
||||
#: ../js/ui/lookingGlass.js:693 ../src/gvc/gvc-mixer-control.c:1093
|
||||
#: ../js/ui/lookingGlass.js:694 ../src/gvc/gvc-mixer-control.c:1093
|
||||
msgid "Disabled"
|
||||
msgstr "Desabilitado"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:695
|
||||
#: ../js/ui/lookingGlass.js:696
|
||||
msgid "Error"
|
||||
msgstr "Erro"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:697
|
||||
#: ../js/ui/lookingGlass.js:698
|
||||
msgid "Out of date"
|
||||
msgstr "Expirado"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:699
|
||||
#: ../js/ui/lookingGlass.js:700
|
||||
msgid "Downloading"
|
||||
msgstr "Baixando"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:720
|
||||
#: ../js/ui/lookingGlass.js:721
|
||||
msgid "View Source"
|
||||
msgstr "Ver fonte"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:726
|
||||
#: ../js/ui/lookingGlass.js:727
|
||||
msgid "Web Page"
|
||||
msgstr "Página web"
|
||||
|
||||
#: ../js/ui/messageTray.js:1197
|
||||
#: ../js/ui/messageTray.js:1199
|
||||
msgid "Open"
|
||||
msgstr "Abrir"
|
||||
|
||||
#: ../js/ui/messageTray.js:2406
|
||||
#: ../js/ui/messageTray.js:2408
|
||||
msgid "System Information"
|
||||
msgstr "Informações do sistema"
|
||||
|
||||
#: ../js/ui/networkAgent.js:145
|
||||
msgid "Show password"
|
||||
msgstr "Mostrar senha"
|
||||
|
||||
#: ../js/ui/networkAgent.js:160
|
||||
#: ../js/ui/networkAgent.js:143
|
||||
msgid "Connect"
|
||||
msgstr "Conectar"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: ../js/ui/networkAgent.js:255 ../js/ui/networkAgent.js:267
|
||||
#: ../js/ui/networkAgent.js:294 ../js/ui/networkAgent.js:314
|
||||
#: ../js/ui/networkAgent.js:324
|
||||
#: ../js/ui/networkAgent.js:238 ../js/ui/networkAgent.js:250
|
||||
#: ../js/ui/networkAgent.js:277 ../js/ui/networkAgent.js:297
|
||||
#: ../js/ui/networkAgent.js:307
|
||||
msgid "Password: "
|
||||
msgstr "Senha: "
|
||||
|
||||
#. static WEP
|
||||
#: ../js/ui/networkAgent.js:260
|
||||
#: ../js/ui/networkAgent.js:243
|
||||
msgid "Key: "
|
||||
msgstr "Chave: "
|
||||
|
||||
#. 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/ui/networkAgent.js:292 ../js/ui/networkAgent.js:310
|
||||
#: ../js/ui/networkAgent.js:275 ../js/ui/networkAgent.js:293
|
||||
msgid "Username: "
|
||||
msgstr "Nome de usuário: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:298
|
||||
#: ../js/ui/networkAgent.js:281
|
||||
msgid "Identity: "
|
||||
msgstr "Identidade: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:300
|
||||
#: ../js/ui/networkAgent.js:283
|
||||
msgid "Private key password: "
|
||||
msgstr "Senha da chave privada: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:312
|
||||
#: ../js/ui/networkAgent.js:295
|
||||
msgid "Service: "
|
||||
msgstr "Serviço: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:341
|
||||
#: ../js/ui/networkAgent.js:324
|
||||
msgid "Authentication required by wireless network"
|
||||
msgstr "Autenticação requisitada pela rede sem fio"
|
||||
|
||||
#: ../js/ui/networkAgent.js:342
|
||||
#: ../js/ui/networkAgent.js:325
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network '%"
|
||||
@ -708,35 +706,35 @@ msgstr ""
|
||||
"Senhas ou chaves criptografadas são necessárias para acessar a rede sem fio "
|
||||
"\"%s\"."
|
||||
|
||||
#: ../js/ui/networkAgent.js:346
|
||||
#: ../js/ui/networkAgent.js:329
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "Autenticação 802.1X cabeada"
|
||||
|
||||
#: ../js/ui/networkAgent.js:348
|
||||
#: ../js/ui/networkAgent.js:331
|
||||
msgid "Network name: "
|
||||
msgstr "Nome da rede: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:353
|
||||
#: ../js/ui/networkAgent.js:336
|
||||
msgid "DSL authentication"
|
||||
msgstr "Autenticação DSL"
|
||||
|
||||
#: ../js/ui/networkAgent.js:360
|
||||
#: ../js/ui/networkAgent.js:343
|
||||
msgid "PIN code required"
|
||||
msgstr "Código PIN requisitado"
|
||||
|
||||
#: ../js/ui/networkAgent.js:361
|
||||
#: ../js/ui/networkAgent.js:344
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "O código PIN é necessário para o dispositivo móvel de banda larga"
|
||||
|
||||
#: ../js/ui/networkAgent.js:362
|
||||
#: ../js/ui/networkAgent.js:345
|
||||
msgid "PIN: "
|
||||
msgstr "PIN: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:368
|
||||
#: ../js/ui/networkAgent.js:351
|
||||
msgid "Mobile broadband network password"
|
||||
msgstr "Senha da rede de banda larga móvel"
|
||||
|
||||
#: ../js/ui/networkAgent.js:369
|
||||
#: ../js/ui/networkAgent.js:352
|
||||
#, c-format
|
||||
msgid "A password is required to connect to '%s'."
|
||||
msgstr "Uma senha é necessária para se conectar a \"%s\""
|
||||
@ -792,15 +790,15 @@ msgstr "Conectar a..."
|
||||
msgid "PLACES & DEVICES"
|
||||
msgstr "LOCAIS & DISPOSITIVOS"
|
||||
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:72
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:73
|
||||
msgid "Authentication Required"
|
||||
msgstr "Autenticação necessária"
|
||||
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:106
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:107
|
||||
msgid "Administrator"
|
||||
msgstr "Administrador"
|
||||
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:175
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:177
|
||||
msgid "Authenticate"
|
||||
msgstr "Autenticação"
|
||||
|
||||
@ -808,11 +806,11 @@ msgstr "Autenticação"
|
||||
#. * requested authentication was not gained; this can happen
|
||||
#. * because of an authentication error (like invalid password),
|
||||
#. * for instance.
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:256
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:258
|
||||
msgid "Sorry, that didn't work. Please try again."
|
||||
msgstr "Desculpe, isto não funcionou. Por favor, tente novamente."
|
||||
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:268
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:270
|
||||
msgid "Password:"
|
||||
msgstr "Senha:"
|
||||
|
||||
@ -825,7 +823,7 @@ msgstr "Senha:"
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-intl"
|
||||
|
||||
#: ../js/ui/runDialog.js:208
|
||||
#: ../js/ui/runDialog.js:209
|
||||
msgid "Please enter a command:"
|
||||
msgstr "Por favor, digite um comando:"
|
||||
|
||||
@ -837,6 +835,23 @@ msgstr "Pesquisando..."
|
||||
msgid "No matching results."
|
||||
msgstr "Nenhum resultado encontrado."
|
||||
|
||||
#: ../js/ui/shellEntry.js:30
|
||||
msgid "Copy"
|
||||
msgstr "Copiar"
|
||||
|
||||
#: ../js/ui/shellEntry.js:35
|
||||
msgid "Paste"
|
||||
msgstr "Colar"
|
||||
|
||||
#: ../js/ui/shellEntry.js:81
|
||||
msgid "Show Text"
|
||||
msgstr "Mostrar texto"
|
||||
|
||||
#: ../js/ui/shellEntry.js:83
|
||||
#| msgid "Large Text"
|
||||
msgid "Hide Text"
|
||||
msgstr "Ocultar texto"
|
||||
|
||||
#: ../js/ui/shellMountOperation.js:285
|
||||
msgid "Wrong password, please try again"
|
||||
msgstr "Senha errada. Por favor, tente novamente"
|
||||
@ -1494,39 +1509,39 @@ msgstr "Inativo"
|
||||
msgid "Unavailable"
|
||||
msgstr "Indisponível"
|
||||
|
||||
#: ../js/ui/userMenu.js:547 ../js/ui/userMenu.js:551 ../js/ui/userMenu.js:621
|
||||
#: ../js/ui/userMenu.js:552 ../js/ui/userMenu.js:556 ../js/ui/userMenu.js:626
|
||||
msgid "Power Off..."
|
||||
msgstr "Desligar..."
|
||||
|
||||
#: ../js/ui/userMenu.js:583
|
||||
#: ../js/ui/userMenu.js:588
|
||||
msgid "Notifications"
|
||||
msgstr "Notificações"
|
||||
|
||||
#: ../js/ui/userMenu.js:591
|
||||
#: ../js/ui/userMenu.js:596
|
||||
msgid "Online Accounts"
|
||||
msgstr "Contas online"
|
||||
|
||||
#: ../js/ui/userMenu.js:595
|
||||
#: ../js/ui/userMenu.js:600
|
||||
msgid "System Settings"
|
||||
msgstr "Configurações do sistema"
|
||||
|
||||
#: ../js/ui/userMenu.js:602
|
||||
#: ../js/ui/userMenu.js:607
|
||||
msgid "Lock Screen"
|
||||
msgstr "Bloquear a tela"
|
||||
|
||||
#: ../js/ui/userMenu.js:607
|
||||
#: ../js/ui/userMenu.js:612
|
||||
msgid "Switch User"
|
||||
msgstr "Alternar usuário"
|
||||
|
||||
#: ../js/ui/userMenu.js:612
|
||||
#: ../js/ui/userMenu.js:617
|
||||
msgid "Log Out..."
|
||||
msgstr "Encerrar sessão..."
|
||||
|
||||
#: ../js/ui/userMenu.js:640
|
||||
#: ../js/ui/userMenu.js:645
|
||||
msgid "Your chat status will be set to busy"
|
||||
msgstr "Seu status no bate-papo ficará como ocupado"
|
||||
|
||||
#: ../js/ui/userMenu.js:641
|
||||
#: ../js/ui/userMenu.js:646
|
||||
msgid ""
|
||||
"Notifications are now disabled, including chat messages. Your online status "
|
||||
"has been adjusted to let others know that you might not see their messages."
|
||||
@ -1539,11 +1554,11 @@ msgstr ""
|
||||
#. in the search entry when no search is
|
||||
#. active; it should not exceed ~30
|
||||
#. characters.
|
||||
#: ../js/ui/viewSelector.js:120
|
||||
#: ../js/ui/viewSelector.js:121
|
||||
msgid "Type to search..."
|
||||
msgstr "Digite para pesquisar..."
|
||||
|
||||
#: ../js/ui/viewSelector.js:140 ../src/shell-util.c:261
|
||||
#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:261
|
||||
msgid "Search"
|
||||
msgstr "Pesquisar"
|
||||
|
||||
@ -1619,5 +1634,8 @@ msgstr "Sistema de arquivos"
|
||||
msgid "%1$s: %2$s"
|
||||
msgstr "%1$s: %2$s"
|
||||
|
||||
#~ msgid "Show password"
|
||||
#~ msgstr "Mostrar senha"
|
||||
|
||||
#~ msgid "%s has finished starting"
|
||||
#~ msgstr "%s terminou sua inicialização"
|
||||
|
141
po/sl.po
141
po/sl.po
@ -8,14 +8,14 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2011-10-25 17:15+0000\n"
|
||||
"PO-Revision-Date: 2011-10-25 21:16+0100\n"
|
||||
"POT-Creation-Date: 2011-10-21 20:34+0000\n"
|
||||
"PO-Revision-Date: 2011-10-22 13:17+0100\n"
|
||||
"Last-Translator: Matej Urbančič <mateju@svn.gnome.org>\n"
|
||||
"Language-Team: Slovenian GNOME Translation Team <gnome-si@googlegroups.com>\n"
|
||||
"Language: Slovenian\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: Slovenian\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n%100==4 ? 3 : 0);\n"
|
||||
"X-Poedit-Language: Slovenian\n"
|
||||
"X-Poedit-Country: SLOVENIA\n"
|
||||
@ -151,7 +151,7 @@ msgstr "Ali je ni na seznamu?"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1035
|
||||
#: ../js/ui/endSessionDialog.js:426
|
||||
#: ../js/ui/extensionSystem.js:520
|
||||
#: ../js/ui/extensionSystem.js:477
|
||||
#: ../js/ui/networkAgent.js:148
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:173
|
||||
#: ../js/ui/status/bluetooth.js:480
|
||||
@ -168,17 +168,22 @@ msgid "Login Window"
|
||||
msgstr "Prijavno okno"
|
||||
|
||||
#: ../js/gdm/powerMenu.js:116
|
||||
#: ../js/ui/userMenu.js:573
|
||||
#: ../js/ui/userMenu.js:575
|
||||
#: ../js/ui/userMenu.js:644
|
||||
#: ../js/ui/userMenu.js:554
|
||||
#: ../js/ui/userMenu.js:556
|
||||
#: ../js/ui/userMenu.js:625
|
||||
msgid "Suspend"
|
||||
msgstr "Zaustavi"
|
||||
|
||||
#: ../js/gdm/powerMenu.js:121
|
||||
#: ../js/ui/endSessionDialog.js:89
|
||||
#: ../js/ui/endSessionDialog.js:97
|
||||
#: ../js/ui/endSessionDialog.js:106
|
||||
msgid "Restart"
|
||||
msgstr "Zaženi znova"
|
||||
|
||||
#: ../js/gdm/powerMenu.js:126
|
||||
#: ../js/ui/endSessionDialog.js:80
|
||||
#: ../js/ui/endSessionDialog.js:91
|
||||
msgid "Power Off"
|
||||
msgstr "Izklop"
|
||||
|
||||
@ -394,7 +399,7 @@ msgstr "Naslednji teden"
|
||||
#: ../js/ui/contactDisplay.js:65
|
||||
#: ../js/ui/notificationDaemon.js:459
|
||||
#: ../js/ui/status/power.js:223
|
||||
#: ../src/shell-app.c:350
|
||||
#: ../src/shell-app.c:353
|
||||
msgid "Unknown"
|
||||
msgstr "Neznano"
|
||||
|
||||
@ -487,12 +492,11 @@ msgstr "Nedavni predmeti"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:60
|
||||
#, c-format
|
||||
msgctxt "title"
|
||||
msgid "Log Out %s"
|
||||
msgstr "Odjava %s"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:61
|
||||
msgctxt "title"
|
||||
#: ../js/ui/endSessionDialog.js:75
|
||||
msgid "Log Out"
|
||||
msgstr "Odjava"
|
||||
|
||||
@ -522,16 +526,6 @@ msgstr[3] "Uporabnik bo samodejno odjavljen čez %d sekunde."
|
||||
msgid "Logging out of the system."
|
||||
msgstr "Odjavljanje iz sistema."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:75
|
||||
msgctxt "button"
|
||||
msgid "Log Out"
|
||||
msgstr "Odjava"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:80
|
||||
msgctxt "title"
|
||||
msgid "Power Off"
|
||||
msgstr "Izklop"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:81
|
||||
msgid "Click Power Off to quit these applications and power off the system."
|
||||
msgstr "Kliknite na gumb za izklop za končanje teh programov in izklop iz sistema."
|
||||
@ -549,22 +543,6 @@ msgstr[3] "Sistem se bo samodejno izklopil čez %d sekunde."
|
||||
msgid "Powering off the system."
|
||||
msgstr "Izklapljanje sistema"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:89
|
||||
#: ../js/ui/endSessionDialog.js:106
|
||||
msgctxt "button"
|
||||
msgid "Restart"
|
||||
msgstr "Ponoven zagon"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:91
|
||||
msgctxt "button"
|
||||
msgid "Power Off"
|
||||
msgstr "Izklop"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:97
|
||||
msgctxt "title"
|
||||
msgid "Restart"
|
||||
msgstr "Ponoven zagon"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:98
|
||||
msgid "Click Restart to quit these applications and restart the system."
|
||||
msgstr "Kliknite Zaženi znova za končanje teh programov in ponoven zagon sistema. "
|
||||
@ -582,11 +560,11 @@ msgstr[3] "Sistem se bo samodejno ponovno zagnal čez %d sekunde."
|
||||
msgid "Restarting the system."
|
||||
msgstr "Ponoven zagon sistema."
|
||||
|
||||
#: ../js/ui/extensionSystem.js:524
|
||||
#: ../js/ui/extensionSystem.js:481
|
||||
msgid "Install"
|
||||
msgstr "Namesti"
|
||||
|
||||
#: ../js/ui/extensionSystem.js:528
|
||||
#: ../js/ui/extensionSystem.js:485
|
||||
#, c-format
|
||||
msgid "Download and install '%s' from extensions.gnome.org?"
|
||||
msgstr "Ali naj se razširitev '%s' namesti preko povezave z extensions.gnome.org?"
|
||||
@ -600,53 +578,38 @@ msgstr "sistemska vrstica"
|
||||
msgid "Keyboard"
|
||||
msgstr "Tipkovnica"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:664
|
||||
#: ../js/ui/lookingGlass.js:646
|
||||
msgid "No extensions installed"
|
||||
msgstr "Ni nameščenih razširitev"
|
||||
|
||||
#. Translators: argument is an extension UUID.
|
||||
#: ../js/ui/lookingGlass.js:719
|
||||
#, c-format
|
||||
msgid "%s has not emitted any errors."
|
||||
msgstr "%s ni javil napak."
|
||||
|
||||
#: ../js/ui/lookingGlass.js:725
|
||||
msgid "Hide Errors"
|
||||
msgstr "Skrij napake"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:729
|
||||
#: ../js/ui/lookingGlass.js:779
|
||||
msgid "Show Errors"
|
||||
msgstr "Pokaži napake"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:738
|
||||
#: ../js/ui/lookingGlass.js:692
|
||||
msgid "Enabled"
|
||||
msgstr "Omogočeno"
|
||||
|
||||
#. translators:
|
||||
#. * The device has been disabled
|
||||
#: ../js/ui/lookingGlass.js:740
|
||||
#: ../js/ui/lookingGlass.js:694
|
||||
#: ../src/gvc/gvc-mixer-control.c:1093
|
||||
msgid "Disabled"
|
||||
msgstr "Onemogočeno"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:742
|
||||
#: ../js/ui/lookingGlass.js:696
|
||||
msgid "Error"
|
||||
msgstr "Napaka"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:744
|
||||
#: ../js/ui/lookingGlass.js:698
|
||||
msgid "Out of date"
|
||||
msgstr "Zastarelo"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:746
|
||||
#: ../js/ui/lookingGlass.js:700
|
||||
msgid "Downloading"
|
||||
msgstr "Prejemanje"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:767
|
||||
#: ../js/ui/lookingGlass.js:721
|
||||
msgid "View Source"
|
||||
msgstr "Poglej vir"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:773
|
||||
#: ../js/ui/lookingGlass.js:727
|
||||
msgid "Web Page"
|
||||
msgstr "Spletna stran"
|
||||
|
||||
@ -847,6 +810,7 @@ msgid "Show Text"
|
||||
msgstr "Pokaži besedilo"
|
||||
|
||||
#: ../js/ui/shellEntry.js:83
|
||||
#| msgid "Large Text"
|
||||
msgid "Hide Text"
|
||||
msgstr "Skrij besedilo"
|
||||
|
||||
@ -1003,7 +967,7 @@ msgstr "Potrditev razčlenjevanja za %s"
|
||||
#: ../js/ui/status/bluetooth.js:462
|
||||
#, c-format
|
||||
msgid "Device %s wants to pair with this computer"
|
||||
msgstr "Naprava %s se poskuša seznaniti s tem računalnikom"
|
||||
msgstr "Naprava %s se skuša povezati s tem računalnikom"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:429
|
||||
#, c-format
|
||||
@ -1521,41 +1485,41 @@ msgstr "Nedejavno"
|
||||
msgid "Unavailable"
|
||||
msgstr "Nedostopno"
|
||||
|
||||
#: ../js/ui/userMenu.js:571
|
||||
#: ../js/ui/userMenu.js:575
|
||||
#: ../js/ui/userMenu.js:645
|
||||
#: ../js/ui/userMenu.js:552
|
||||
#: ../js/ui/userMenu.js:556
|
||||
#: ../js/ui/userMenu.js:626
|
||||
msgid "Power Off..."
|
||||
msgstr "Izklop ..."
|
||||
|
||||
#: ../js/ui/userMenu.js:607
|
||||
#: ../js/ui/userMenu.js:588
|
||||
msgid "Notifications"
|
||||
msgstr "Obvestila"
|
||||
|
||||
#: ../js/ui/userMenu.js:615
|
||||
#: ../js/ui/userMenu.js:596
|
||||
msgid "Online Accounts"
|
||||
msgstr "Spletni računi"
|
||||
|
||||
#: ../js/ui/userMenu.js:619
|
||||
#: ../js/ui/userMenu.js:600
|
||||
msgid "System Settings"
|
||||
msgstr "Sistemske nastavitve"
|
||||
|
||||
#: ../js/ui/userMenu.js:626
|
||||
#: ../js/ui/userMenu.js:607
|
||||
msgid "Lock Screen"
|
||||
msgstr "Zakleni zaslon"
|
||||
|
||||
#: ../js/ui/userMenu.js:631
|
||||
#: ../js/ui/userMenu.js:612
|
||||
msgid "Switch User"
|
||||
msgstr "Preklopi uporabnika"
|
||||
|
||||
#: ../js/ui/userMenu.js:636
|
||||
#: ../js/ui/userMenu.js:617
|
||||
msgid "Log Out..."
|
||||
msgstr "Odjava ..."
|
||||
|
||||
#: ../js/ui/userMenu.js:664
|
||||
#: ../js/ui/userMenu.js:645
|
||||
msgid "Your chat status will be set to busy"
|
||||
msgstr "Stanje vašega klepeta bo nastavljeno na zasedeno"
|
||||
|
||||
#: ../js/ui/userMenu.js:665
|
||||
#: ../js/ui/userMenu.js:646
|
||||
msgid "Notifications are now disabled, including chat messages. Your online status has been adjusted to let others know that you might not see their messages."
|
||||
msgstr "Obveščanje je zdaj onemogočeno, vključno s sporočili klepeta. Vaše stanje povezanosti se je prilagodilo, da bodo drugi vedeli, da njihovih sporočil morda ne boste opazili."
|
||||
|
||||
@ -1568,7 +1532,7 @@ msgid "Type to search..."
|
||||
msgstr "Vtipkajte za iskanje ..."
|
||||
|
||||
#: ../js/ui/viewSelector.js:142
|
||||
#: ../src/shell-util.c:244
|
||||
#: ../src/shell-util.c:261
|
||||
msgid "Search"
|
||||
msgstr "Poišči"
|
||||
|
||||
@ -1603,15 +1567,15 @@ msgstr[3] "%u dovodi naprave"
|
||||
msgid "System Sounds"
|
||||
msgstr "Sistemski zvoki"
|
||||
|
||||
#: ../src/main.c:483
|
||||
#: ../src/main.c:480
|
||||
msgid "Print version"
|
||||
msgstr "Izpiši različico"
|
||||
|
||||
#: ../src/main.c:489
|
||||
#: ../src/main.c:486
|
||||
msgid "Mode used by GDM for login screen"
|
||||
msgstr "Način uporabljen v GDM za prijavni naslov"
|
||||
|
||||
#: ../src/shell-app.c:567
|
||||
#: ../src/shell-app.c:579
|
||||
#, c-format
|
||||
msgid "Failed to launch '%s'"
|
||||
msgstr "Zaganjanje '%s' je spodletelo"
|
||||
@ -1628,15 +1592,13 @@ msgstr "Privzeto"
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "Uporabnik je zavrnil pogovorno okno overitve"
|
||||
|
||||
#. Translators: this is the same string as the one found in
|
||||
#. * nautilus
|
||||
#: ../src/shell-util.c:89
|
||||
msgid "Home"
|
||||
#: ../src/shell-util.c:100
|
||||
msgid "Home Folder"
|
||||
msgstr "Domača mapa"
|
||||
|
||||
#. Translators: this is the same string as the one found in
|
||||
#. * nautilus
|
||||
#: ../src/shell-util.c:98
|
||||
#: ../src/shell-util.c:115
|
||||
msgid "File System"
|
||||
msgstr "Datotečni sistem"
|
||||
|
||||
@ -1645,7 +1607,7 @@ msgstr "Datotečni sistem"
|
||||
#. * example, "Trash: some-directory". It means that the
|
||||
#. * directory called "some-directory" is in the trash.
|
||||
#.
|
||||
#: ../src/shell-util.c:294
|
||||
#: ../src/shell-util.c:311
|
||||
#, c-format
|
||||
msgid "%1$s: %2$s"
|
||||
msgstr "%1$s: %2$s"
|
||||
@ -1653,5 +1615,14 @@ msgstr "%1$s: %2$s"
|
||||
#~ msgid "Show password"
|
||||
#~ msgstr "Pokaži geslo"
|
||||
|
||||
#~ msgid "Home Folder"
|
||||
#~ msgstr "Domača mapa"
|
||||
#~ msgid "%s has not emitted any errors."
|
||||
#~ msgstr "%s ni vrnil napak."
|
||||
|
||||
#~ msgid "Hide Errors"
|
||||
#~ msgstr "Skrij napake"
|
||||
|
||||
#~ msgid "Show Errors"
|
||||
#~ msgstr "Pokaži napake"
|
||||
|
||||
#~ msgid "%s has finished starting"
|
||||
#~ msgstr "%s je končal začenjanje"
|
||||
|
135
po/sv.po
135
po/sv.po
@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-10-26 11:55+0200\n"
|
||||
"PO-Revision-Date: 2011-10-26 11:55+0100\n"
|
||||
"POT-Creation-Date: 2011-10-26 11:54+0200\n"
|
||||
"PO-Revision-Date: 2011-10-26 11:54+0100\n"
|
||||
"Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
|
||||
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
|
||||
"Language: sv\n"
|
||||
@ -147,7 +147,7 @@ msgstr "Inte listad?"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1035
|
||||
#: ../js/ui/endSessionDialog.js:426
|
||||
#: ../js/ui/extensionSystem.js:520
|
||||
#: ../js/ui/extensionSystem.js:477
|
||||
#: ../js/ui/networkAgent.js:148
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:173
|
||||
#: ../js/ui/status/bluetooth.js:480
|
||||
@ -164,17 +164,22 @@ msgid "Login Window"
|
||||
msgstr "Inloggningsfönster"
|
||||
|
||||
#: ../js/gdm/powerMenu.js:116
|
||||
#: ../js/ui/userMenu.js:573
|
||||
#: ../js/ui/userMenu.js:575
|
||||
#: ../js/ui/userMenu.js:644
|
||||
#: ../js/ui/userMenu.js:554
|
||||
#: ../js/ui/userMenu.js:556
|
||||
#: ../js/ui/userMenu.js:625
|
||||
msgid "Suspend"
|
||||
msgstr "Vänteläge"
|
||||
|
||||
#: ../js/gdm/powerMenu.js:121
|
||||
#: ../js/ui/endSessionDialog.js:89
|
||||
#: ../js/ui/endSessionDialog.js:97
|
||||
#: ../js/ui/endSessionDialog.js:106
|
||||
msgid "Restart"
|
||||
msgstr "Starta om"
|
||||
|
||||
#: ../js/gdm/powerMenu.js:126
|
||||
#: ../js/ui/endSessionDialog.js:80
|
||||
#: ../js/ui/endSessionDialog.js:91
|
||||
msgid "Power Off"
|
||||
msgstr "Stäng av"
|
||||
|
||||
@ -390,7 +395,7 @@ msgstr "Nästa vecka"
|
||||
#: ../js/ui/contactDisplay.js:65
|
||||
#: ../js/ui/notificationDaemon.js:459
|
||||
#: ../js/ui/status/power.js:223
|
||||
#: ../src/shell-app.c:350
|
||||
#: ../src/shell-app.c:353
|
||||
msgid "Unknown"
|
||||
msgstr "Okänt"
|
||||
|
||||
@ -483,12 +488,11 @@ msgstr "TIDIGARE OBJEKT"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:60
|
||||
#, c-format
|
||||
msgctxt "title"
|
||||
msgid "Log Out %s"
|
||||
msgstr "Logga ut %s"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:61
|
||||
msgctxt "title"
|
||||
#: ../js/ui/endSessionDialog.js:75
|
||||
msgid "Log Out"
|
||||
msgstr "Logga ut"
|
||||
|
||||
@ -514,16 +518,6 @@ msgstr[1] "Du kommer att loggas ut automatiskt om %d sekunder."
|
||||
msgid "Logging out of the system."
|
||||
msgstr "Loggar ut från systemet."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:75
|
||||
msgctxt "button"
|
||||
msgid "Log Out"
|
||||
msgstr "Logga ut"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:80
|
||||
msgctxt "title"
|
||||
msgid "Power Off"
|
||||
msgstr "Stäng av"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:81
|
||||
msgid "Click Power Off to quit these applications and power off the system."
|
||||
msgstr "Klicka på Stäng av för att avsluta dessa program och stänga av systemet."
|
||||
@ -539,22 +533,6 @@ msgstr[1] "Systemet kommer att stängas av automatiskt om %d sekunder."
|
||||
msgid "Powering off the system."
|
||||
msgstr "Stänger av systemet."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:89
|
||||
#: ../js/ui/endSessionDialog.js:106
|
||||
msgctxt "button"
|
||||
msgid "Restart"
|
||||
msgstr "Starta om"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:91
|
||||
msgctxt "button"
|
||||
msgid "Power Off"
|
||||
msgstr "Stäng av"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:97
|
||||
msgctxt "title"
|
||||
msgid "Restart"
|
||||
msgstr "Starta om"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:98
|
||||
msgid "Click Restart to quit these applications and restart the system."
|
||||
msgstr "Klicka på Starta om för att avsluta dessa program och starta om systemet."
|
||||
@ -570,11 +548,11 @@ msgstr[1] "Systemet kommer att startas om automatiskt om %d sekunder."
|
||||
msgid "Restarting the system."
|
||||
msgstr "Starta om systemet."
|
||||
|
||||
#: ../js/ui/extensionSystem.js:524
|
||||
#: ../js/ui/extensionSystem.js:481
|
||||
msgid "Install"
|
||||
msgstr "Installera"
|
||||
|
||||
#: ../js/ui/extensionSystem.js:528
|
||||
#: ../js/ui/extensionSystem.js:485
|
||||
#, c-format
|
||||
msgid "Download and install '%s' from extensions.gnome.org?"
|
||||
msgstr "Hämta och installera \"%s\" från extensions.gnome.org?"
|
||||
@ -588,53 +566,38 @@ msgstr "bricka"
|
||||
msgid "Keyboard"
|
||||
msgstr "Tangentbord"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:664
|
||||
#: ../js/ui/lookingGlass.js:646
|
||||
msgid "No extensions installed"
|
||||
msgstr "Inga tillägg installerade"
|
||||
|
||||
#. Translators: argument is an extension UUID.
|
||||
#: ../js/ui/lookingGlass.js:719
|
||||
#, c-format
|
||||
msgid "%s has not emitted any errors."
|
||||
msgstr "%s har inte skickat ut några fel."
|
||||
|
||||
#: ../js/ui/lookingGlass.js:725
|
||||
msgid "Hide Errors"
|
||||
msgstr "Dölj fel"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:729
|
||||
#: ../js/ui/lookingGlass.js:779
|
||||
msgid "Show Errors"
|
||||
msgstr "Visa fel"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:738
|
||||
#: ../js/ui/lookingGlass.js:692
|
||||
msgid "Enabled"
|
||||
msgstr "Aktiverad"
|
||||
|
||||
#. translators:
|
||||
#. * The device has been disabled
|
||||
#: ../js/ui/lookingGlass.js:740
|
||||
#: ../js/ui/lookingGlass.js:694
|
||||
#: ../src/gvc/gvc-mixer-control.c:1093
|
||||
msgid "Disabled"
|
||||
msgstr "Inaktiverad"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:742
|
||||
#: ../js/ui/lookingGlass.js:696
|
||||
msgid "Error"
|
||||
msgstr "Fel"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:744
|
||||
#: ../js/ui/lookingGlass.js:698
|
||||
msgid "Out of date"
|
||||
msgstr "Utanför datumintervallet"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:746
|
||||
#: ../js/ui/lookingGlass.js:700
|
||||
msgid "Downloading"
|
||||
msgstr "Hämtar"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:767
|
||||
#: ../js/ui/lookingGlass.js:721
|
||||
msgid "View Source"
|
||||
msgstr "Visa källa"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:773
|
||||
#: ../js/ui/lookingGlass.js:727
|
||||
msgid "Web Page"
|
||||
msgstr "Webbsida"
|
||||
|
||||
@ -1501,41 +1464,41 @@ msgstr "Overksam"
|
||||
msgid "Unavailable"
|
||||
msgstr "Inte tillgänglig"
|
||||
|
||||
#: ../js/ui/userMenu.js:571
|
||||
#: ../js/ui/userMenu.js:575
|
||||
#: ../js/ui/userMenu.js:645
|
||||
#: ../js/ui/userMenu.js:552
|
||||
#: ../js/ui/userMenu.js:556
|
||||
#: ../js/ui/userMenu.js:626
|
||||
msgid "Power Off..."
|
||||
msgstr "Stäng av..."
|
||||
|
||||
#: ../js/ui/userMenu.js:607
|
||||
#: ../js/ui/userMenu.js:588
|
||||
msgid "Notifications"
|
||||
msgstr "Notifieringar"
|
||||
|
||||
#: ../js/ui/userMenu.js:615
|
||||
#: ../js/ui/userMenu.js:596
|
||||
msgid "Online Accounts"
|
||||
msgstr "Nätkonton"
|
||||
|
||||
#: ../js/ui/userMenu.js:619
|
||||
#: ../js/ui/userMenu.js:600
|
||||
msgid "System Settings"
|
||||
msgstr "Systeminställningar"
|
||||
|
||||
#: ../js/ui/userMenu.js:626
|
||||
#: ../js/ui/userMenu.js:607
|
||||
msgid "Lock Screen"
|
||||
msgstr "Lås skärmen"
|
||||
|
||||
#: ../js/ui/userMenu.js:631
|
||||
#: ../js/ui/userMenu.js:612
|
||||
msgid "Switch User"
|
||||
msgstr "Växla användare"
|
||||
|
||||
#: ../js/ui/userMenu.js:636
|
||||
#: ../js/ui/userMenu.js:617
|
||||
msgid "Log Out..."
|
||||
msgstr "Logga ut..."
|
||||
|
||||
#: ../js/ui/userMenu.js:664
|
||||
#: ../js/ui/userMenu.js:645
|
||||
msgid "Your chat status will be set to busy"
|
||||
msgstr "Din chattstatus kommer att ställas in till upptagen"
|
||||
|
||||
#: ../js/ui/userMenu.js:665
|
||||
#: ../js/ui/userMenu.js:646
|
||||
msgid "Notifications are now disabled, including chat messages. Your online status has been adjusted to let others know that you might not see their messages."
|
||||
msgstr "Notifieringar är nu inaktiverade, inklusive chattmeddelanden. Din anslutningsstatus har ändrats till att låta andra veta att du kanske inte ser deras meddelanden."
|
||||
|
||||
@ -1548,7 +1511,7 @@ msgid "Type to search..."
|
||||
msgstr "Skriv för att söka..."
|
||||
|
||||
#: ../js/ui/viewSelector.js:142
|
||||
#: ../src/shell-util.c:244
|
||||
#: ../src/shell-util.c:261
|
||||
msgid "Search"
|
||||
msgstr "Sök"
|
||||
|
||||
@ -1579,15 +1542,15 @@ msgstr[1] "%u ingångar"
|
||||
msgid "System Sounds"
|
||||
msgstr "Systemljud"
|
||||
|
||||
#: ../src/main.c:483
|
||||
#: ../src/main.c:480
|
||||
msgid "Print version"
|
||||
msgstr "Skriv ut version"
|
||||
|
||||
#: ../src/main.c:489
|
||||
#: ../src/main.c:486
|
||||
msgid "Mode used by GDM for login screen"
|
||||
msgstr "Läge som används av GDM för inloggningsskärmen"
|
||||
|
||||
#: ../src/shell-app.c:567
|
||||
#: ../src/shell-app.c:579
|
||||
#, c-format
|
||||
msgid "Failed to launch '%s'"
|
||||
msgstr "Misslyckades med att starta \"%s\""
|
||||
@ -1604,15 +1567,13 @@ msgstr "Standard"
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "Autentiseringsdialogen stängdes av användaren"
|
||||
|
||||
#. Translators: this is the same string as the one found in
|
||||
#. * nautilus
|
||||
#: ../src/shell-util.c:89
|
||||
msgid "Home"
|
||||
msgstr "Hem"
|
||||
#: ../src/shell-util.c:100
|
||||
msgid "Home Folder"
|
||||
msgstr "Hemmapp"
|
||||
|
||||
#. Translators: this is the same string as the one found in
|
||||
#. * nautilus
|
||||
#: ../src/shell-util.c:98
|
||||
#: ../src/shell-util.c:115
|
||||
msgid "File System"
|
||||
msgstr "Filsystem"
|
||||
|
||||
@ -1621,7 +1582,7 @@ msgstr "Filsystem"
|
||||
#. * example, "Trash: some-directory". It means that the
|
||||
#. * directory called "some-directory" is in the trash.
|
||||
#.
|
||||
#: ../src/shell-util.c:294
|
||||
#: ../src/shell-util.c:311
|
||||
#, c-format
|
||||
msgid "%1$s: %2$s"
|
||||
msgstr "%1$s: %2$s"
|
||||
@ -1629,8 +1590,14 @@ msgstr "%1$s: %2$s"
|
||||
#~ msgid "Show password"
|
||||
#~ msgstr "Visa lösenord"
|
||||
|
||||
#~ msgid "Home Folder"
|
||||
#~ msgstr "Hemmapp"
|
||||
#~ msgid "%s has not emitted any errors."
|
||||
#~ msgstr "%s har inte skickat ut några fel."
|
||||
|
||||
#~ msgid "Hide Errors"
|
||||
#~ msgstr "Dölj fel"
|
||||
|
||||
#~ msgid "Show Errors"
|
||||
#~ msgstr "Visa fel"
|
||||
|
||||
#~ msgid "%s has finished starting"
|
||||
#~ msgstr "%s har startat"
|
||||
|
336
po/te.po
336
po/te.po
@ -1,5 +1,5 @@
|
||||
# Telugu translation for gnome-shell.
|
||||
# Copyright (C) 2011 Gnome Telugu Contributors.
|
||||
# Copyright (C) 2011 Free Software Foundation, Andhra Pradesh.
|
||||
# This file is distributed under the same license as the gnome-shell package.
|
||||
#
|
||||
# Krishnababu Krothapalli <kkrothap@redhat.com>, 2011.
|
||||
@ -9,15 +9,16 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell gnome-3-0\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2011-10-22 20:05+0000\n"
|
||||
"PO-Revision-Date: 2011-10-23 12:13+0530\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2011-10-19 08:40+0000\n"
|
||||
"PO-Revision-Date: 2011-10-20 16:41+0530\n"
|
||||
"Last-Translator: Praveen Illa <mail2ipn@gmail.com>\n"
|
||||
"Language-Team: తెలుగు <indlinux-telugu@lists.sourceforge.net>\n"
|
||||
"Language: te\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Content-Transfer-Encoding: 8bits\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
|
||||
"X-Generator: Lokalize 1.2\n"
|
||||
|
||||
@ -30,8 +31,11 @@ msgid "Window management and application launching"
|
||||
msgstr "విండో నిర్వాహణ మరియు అనువర్తనము ప్రారంభించుట"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:1
|
||||
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.h:2
|
||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
|
||||
@ -46,8 +50,13 @@ msgid "Framerate used for recording screencasts."
|
||||
msgstr "ఫ్రేమ్రేట్ అను దానిని తెరప్రసారాలను రికార్డు చేయుటకు వాడతారు."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:5
|
||||
msgid "GNOME Shell extensions have a uuid property; this key lists extensions which should be loaded. disabled-extensions overrides this setting for extensions that appear in both lists."
|
||||
msgstr "GNOME షెల్ పొడిగింతలు ఒక uuid లక్షణాన్ని కలిగివున్నాయి; ఏ పొడిగింతలు లోడుచేయదగినవో యీ కీ జాబితాచేయును. అచేతనపరచిన-పొడిగింతలు రెండు జాబితాలనందు కనిపించు పొడిగింతలకు యీ అమర్పును దిద్దివ్రాయును."
|
||||
msgid ""
|
||||
"GNOME Shell extensions have a uuid property; this key lists extensions which "
|
||||
"should be loaded. disabled-extensions overrides this setting for extensions "
|
||||
"that appear in both lists."
|
||||
msgstr ""
|
||||
"GNOME షెల్ పొడిగింతలు ఒక uuid లక్షణాన్ని కలిగివున్నాయి; ఏ పొడిగింతలు లోడుచేయదగినవో యీ కీ జాబితాచేయును. "
|
||||
"అచేతనపరచిన-పొడిగింతలు రెండు జాబితాలనందు కనిపించు పొడిగింతలకు యీ అమర్పును దిద్దివ్రాయును."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:6
|
||||
msgid "History for command (Alt-F2) dialog"
|
||||
@ -75,8 +84,27 @@ msgstr "ప్రియమైన అనువర్తనాల కోసం డ
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:13
|
||||
#, no-c-format
|
||||
msgid "Sets the GStreamer pipeline used to encode recordings. It follows the syntax used for gst-launch. The pipeline should have an unconnected sink pad where the recorded video is recorded. It will normally have a unconnected source pad; output from that pad will be written into the output file. However the pipeline can also take care of its own output - this might be used to send the output to an icecast server via shout2send or similar. When unset or set to an empty value, the default pipeline will be used. This is currently 'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' and records to WEBM using the VP8 codec. %T is used as a placeholder for a guess at the optimal thread count on the system."
|
||||
msgstr "రికార్డింగులను ఎన్కోడ్ చేయడానికి జిస్ట్రీమర్ పైప్లైన్ను అమర్చును. ఇది gst-launch కొరకు వ్యాక్యనిర్మాణాన్ని అనుసరిస్తుంది. వీడియో ఎక్కడైతే రికార్డు అవుతుందో అక్కడ ఒక అనుసంధానం కాని సింక్ ప్యాడ్ని కలిగివుండాలి. ఇది సాధారణంగా ఒక అనుసంధానము కాని మూలము ప్యాడ్ అయివుంటుంది; ఈ ప్యాడ్ నుండి వచ్చు అవుట్పుట్ అవుట్పుట్ ఫైల్ లోనికి వ్రాయబడుతుంది. ఏదిఏమైనప్పటికీ పైప్ లైన్ కూడా దాని అవుట్పుట్ గురించి భద్రత వహిస్తుంది - ఇది అవుట్పుట్ని ఐస్కాస్ట్ సేవకానికి shout2send లేదా ఇటువంటి వాటి ద్వారా పంపుటకు వాడబడుతుంది. అమర్చకపోయినా లేక ఒక ఖాళీ విలువకి అమర్చినా, అప్రమేయ పైప్లైన్ వాడబడుతుంది, ఇది ప్రస్తుతం 'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' మరియు VP8 కొడెక్ వాడి WEBMకి రికార్డుచేస్తుంది. %T అనేది వ్యవస్థ పై ఒక ప్లేస్హోల్డర్ వలె గ్వెస్ కొరకు ఆప్టిమల్ త్రెడ్ కౌంట్ వాడబడుతుంది."
|
||||
msgid ""
|
||||
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
|
||||
"used for gst-launch. The pipeline should have an unconnected sink pad where "
|
||||
"the recorded video is recorded. It will normally have a unconnected source "
|
||||
"pad; output from that pad will be written into the output file. However the "
|
||||
"pipeline can also take care of its own output - this might be used to send "
|
||||
"the output to an icecast server via shout2send or similar. When unset or set "
|
||||
"to an empty value, the default pipeline will be used. This is currently "
|
||||
"'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' and "
|
||||
"records to WEBM using the VP8 codec. %T is used as a placeholder for a guess "
|
||||
"at the optimal thread count on the system."
|
||||
msgstr ""
|
||||
"రికార్డింగులను ఎన్కోడ్ చేయడానికి జిస్ట్రీమర్ పైప్లైన్ను అమర్చును. ఇది gst-launch కొరకు వ్యాక్యనిర్మాణాన్ని "
|
||||
"అనుసరిస్తుంది. వీడియో ఎక్కడైతే రికార్డు అవుతుందో అక్కడ ఒక అనుసంధానం కాని సింక్ ప్యాడ్ని కలిగివుండాలి. "
|
||||
"ఇది సాధారణంగా ఒక అనుసంధానము కాని మూలము ప్యాడ్ అయివుంటుంది; ఈ ప్యాడ్ నుండి వచ్చు అవుట్పుట్ "
|
||||
"అవుట్పుట్ ఫైల్ లోనికి వ్రాయబడుతుంది. ఏదిఏమైనప్పటికీ పైప్ లైన్ కూడా దాని అవుట్పుట్ గురించి భద్రత వహిస్తుంది "
|
||||
"- ఇది అవుట్పుట్ని ఐస్కాస్ట్ సేవకానికి shout2send లేదా ఇటువంటి వాటి ద్వారా పంపుటకు వాడబడుతుంది. "
|
||||
"అమర్చకపోయినా లేక ఒక ఖాళీ విలువకి అమర్చినా, అప్రమేయ పైప్లైన్ వాడబడుతుంది, ఇది ప్రస్తుతం 'videorate ! "
|
||||
"vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' మరియు VP8 కొడెక్ వాడి "
|
||||
"WEBMకి రికార్డుచేస్తుంది. %T అనేది వ్యవస్థ పై ఒక ప్లేస్హోల్డర్ వలె గ్వెస్ కొరకు ఆప్టిమల్ త్రెడ్ కౌంట్ "
|
||||
"వాడబడుతుంది."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:14
|
||||
msgid "Show date in clock"
|
||||
@ -91,24 +119,42 @@ msgid "Show time with seconds"
|
||||
msgstr "సమయమును సెకన్లతో సహా చూపించు"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:17
|
||||
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 "ఈ గుర్తింపకాలకు అనుగుణమైన అనువర్తనాలు ప్రియమైన ప్రదేశములో చూపించబడతాయి."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:18
|
||||
msgid "The filename for recorded screencasts will be a unique filename based on the current date, and use this extension. It should be changed when recording to a different container format."
|
||||
msgstr "రికార్డుచేయబడిన తెరప్రసారాలకు ఫైల్ పేరు ప్రస్తుత తేదీ పై ఆధారపడి ఫైల్ పేరు ఒకే విధముగా ఉంటుంది, మరియు ఈ పొడిగింతను వాడండి. ఇది వేరే ఇతర ఫార్మేటులో రికార్డు చేస్తున్నపుడు ఇది మార్చబడాలి."
|
||||
msgid ""
|
||||
"The filename for recorded screencasts will be a unique filename based on the "
|
||||
"current date, and use this extension. It should be changed when recording to "
|
||||
"a different container format."
|
||||
msgstr ""
|
||||
"రికార్డుచేయబడిన తెరప్రసారాలకు ఫైల్ పేరు ప్రస్తుత తేదీ పై ఆధారపడి ఫైల్ పేరు ఒకే విధముగా ఉంటుంది, మరియు ఈ "
|
||||
"పొడిగింతను వాడండి. ఇది వేరే ఇతర ఫార్మేటులో రికార్డు చేస్తున్నపుడు ఇది మార్చబడాలి."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:19
|
||||
msgid "The framerate of the resulting screencast recordered by GNOME Shell's screencast recorder in frames-per-second."
|
||||
msgstr "ఫలితముగా వచ్చు తెర ప్రసారము యొక్క ఫ్రేమ్ రేటు GNOME షెల్ తెరప్రసార రికార్డర్ ఫ్రేమ్ పర్ సెకనులలో రికార్డుచేయబడుతుంది."
|
||||
msgid ""
|
||||
"The framerate of the resulting screencast recordered by GNOME Shell's "
|
||||
"screencast recorder in frames-per-second."
|
||||
msgstr ""
|
||||
"ఫలితముగా వచ్చు తెర ప్రసారము యొక్క ఫ్రేమ్ రేటు GNOME షెల్ తెరప్రసార రికార్డర్ ఫ్రేమ్ పర్ సెకనులలో "
|
||||
"రికార్డుచేయబడుతుంది."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:20
|
||||
msgid "The gstreamer pipeline used to encode the screencast"
|
||||
msgstr "తెరప్రసారాన్ని ఎన్కోడ్ చేయడానికి జి స్ట్రీమర్ పైప్లైన్ వాడబడుతుంది"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:21
|
||||
msgid "The shell normally monitors active applications in order to present the most used ones (e.g. in launchers). While this data will be kept private, you may want to disable this for privacy reasons. Please note that doing so won't remove already saved data."
|
||||
msgstr "ఎక్కువగా వాడిన వాటిని సమర్పించడానికి షెల్ సాధారణంగా క్రియాశీల అనువర్తనాలను పర్యవేక్షిస్తుంది (ఉదా. ప్రారంభకాలలో). అపుడు ఈ డేటా గోప్యంగా ఉంచబడుతుంది, గోప్యతా కారణాల వలన మీరు దీనిని అచేతనపరచాలనుకోవచ్చు. దయచేసి గుర్తుంచుకోండి ఇలా చేయడం వలన ఇదివరకే దాచబడిన డేటా తీసివేయబడదు."
|
||||
msgid ""
|
||||
"The shell normally monitors active applications in order to present the most "
|
||||
"used ones (e.g. in launchers). While this data will be kept private, you may "
|
||||
"want to disable this for privacy reasons. Please note that doing so won't "
|
||||
"remove already saved data."
|
||||
msgstr ""
|
||||
"ఎక్కువగా వాడిన వాటిని సమర్పించడానికి షెల్ సాధారణంగా క్రియాశీల అనువర్తనాలను పర్యవేక్షిస్తుంది (ఉదా. "
|
||||
"ప్రారంభకాలలో). అపుడు ఈ డేటా గోప్యంగా ఉంచబడుతుంది, గోప్యతా కారణాల వలన మీరు దీనిని "
|
||||
"అచేతనపరచాలనుకోవచ్చు. దయచేసి గుర్తుంచుకోండి ఇలా చేయడం వలన ఇదివరకే దాచబడిన డేటా తీసివేయబడదు."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:22
|
||||
msgid "The type of keyboard to use."
|
||||
@ -132,7 +178,7 @@ msgstr "బహిరంగశోధన సమకూర్పకాలను అ
|
||||
|
||||
#: ../js/gdm/loginDialog.js:633
|
||||
msgid "Session..."
|
||||
msgstr "చర్యాకాలం..."
|
||||
msgstr "సెషన్..."
|
||||
|
||||
#: ../js/gdm/loginDialog.js:804
|
||||
msgctxt "title"
|
||||
@ -149,12 +195,9 @@ msgstr "(లేదా వ్రేలు స్వైప్చేయి)"
|
||||
msgid "Not listed?"
|
||||
msgstr "జాబితా చేయలేదా?"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1035
|
||||
#: ../js/ui/endSessionDialog.js:426
|
||||
#: ../js/ui/extensionSystem.js:520
|
||||
#: ../js/ui/networkAgent.js:148
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:173
|
||||
#: ../js/ui/status/bluetooth.js:480
|
||||
#: ../js/gdm/loginDialog.js:1035 ../js/ui/endSessionDialog.js:426
|
||||
#: ../js/ui/extensionSystem.js:477 ../js/ui/networkAgent.js:148
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:173 ../js/ui/status/bluetooth.js:480
|
||||
msgid "Cancel"
|
||||
msgstr "రద్దుచేయి"
|
||||
|
||||
@ -165,20 +208,20 @@ msgstr "సైన్ ఇన్"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1392
|
||||
msgid "Login Window"
|
||||
msgstr "ప్రవేశించు విండో"
|
||||
msgstr "ప్రవేశ విండో"
|
||||
|
||||
#: ../js/gdm/powerMenu.js:116
|
||||
#: ../js/ui/userMenu.js:573
|
||||
#: ../js/ui/userMenu.js:575
|
||||
#: ../js/ui/userMenu.js:644
|
||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:554
|
||||
#: ../js/ui/userMenu.js:556 ../js/ui/userMenu.js:625
|
||||
msgid "Suspend"
|
||||
msgstr "తాత్కాలికంగా నిలిపివేయి"
|
||||
|
||||
#: ../js/gdm/powerMenu.js:121
|
||||
#: ../js/gdm/powerMenu.js:121 ../js/ui/endSessionDialog.js:89
|
||||
#: ../js/ui/endSessionDialog.js:97 ../js/ui/endSessionDialog.js:106
|
||||
msgid "Restart"
|
||||
msgstr "పునఃప్రారంభించు"
|
||||
|
||||
#: ../js/gdm/powerMenu.js:126
|
||||
#: ../js/gdm/powerMenu.js:126 ../js/ui/endSessionDialog.js:80
|
||||
#: ../js/ui/endSessionDialog.js:91
|
||||
msgid "Power Off"
|
||||
msgstr "విద్యుత్ ఆపు"
|
||||
|
||||
@ -285,7 +328,7 @@ msgstr "సో"
|
||||
#: ../js/ui/calendar.js:119
|
||||
msgctxt "grid tuesday"
|
||||
msgid "T"
|
||||
msgstr "మ"
|
||||
msgstr "మం"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Wednesday
|
||||
#: ../js/ui/calendar.js:121
|
||||
@ -391,25 +434,20 @@ msgstr "ఈ వారం"
|
||||
msgid "Next week"
|
||||
msgstr "తరువాత వారం"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:65
|
||||
#: ../js/ui/notificationDaemon.js:459
|
||||
#: ../js/ui/status/power.js:223
|
||||
#: ../src/shell-app.c:353
|
||||
#: ../js/ui/contactDisplay.js:65 ../js/ui/notificationDaemon.js:459
|
||||
#: ../js/ui/status/power.js:223 ../src/shell-app.c:353
|
||||
msgid "Unknown"
|
||||
msgstr "తెలియదు"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:86
|
||||
#: ../js/ui/userMenu.js:139
|
||||
#: ../js/ui/contactDisplay.js:86 ../js/ui/userMenu.js:139
|
||||
msgid "Available"
|
||||
msgstr "అందుబాటులోవున్నారు"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:91
|
||||
#: ../js/ui/userMenu.js:148
|
||||
#: ../js/ui/contactDisplay.js:91 ../js/ui/userMenu.js:148
|
||||
msgid "Away"
|
||||
msgstr "దూరంగా ఉన్నారు"
|
||||
msgstr "దూరంగా"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:95
|
||||
#: ../js/ui/userMenu.js:142
|
||||
#: ../js/ui/contactDisplay.js:95 ../js/ui/userMenu.js:142
|
||||
msgid "Busy"
|
||||
msgstr "తీరికలేదు"
|
||||
|
||||
@ -421,8 +459,7 @@ msgstr "ఆఫ్లైన్"
|
||||
msgid "CONTACTS"
|
||||
msgstr "పరిచయాలు"
|
||||
|
||||
#: ../js/ui/dash.js:174
|
||||
#: ../js/ui/messageTray.js:1206
|
||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1206
|
||||
msgid "Remove"
|
||||
msgstr "తీసివేయి"
|
||||
|
||||
@ -487,12 +524,10 @@ msgstr "ఇటీవలి అంశాలు"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:60
|
||||
#, c-format
|
||||
msgctxt "title"
|
||||
msgid "Log Out %s"
|
||||
msgstr "%s నిష్క్రమించు"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:61
|
||||
msgctxt "title"
|
||||
#: ../js/ui/endSessionDialog.js:61 ../js/ui/endSessionDialog.js:75
|
||||
msgid "Log Out"
|
||||
msgstr "నిష్క్రమించు"
|
||||
|
||||
@ -518,16 +553,6 @@ msgstr[1] "మీరు %d క్షణాలలో స్వయంచాలక
|
||||
msgid "Logging out of the system."
|
||||
msgstr "వ్యవస్థ నుండి నిష్క్రమిస్తుంది."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:75
|
||||
msgctxt "button"
|
||||
msgid "Log Out"
|
||||
msgstr "నిష్క్రమించు"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:80
|
||||
msgctxt "title"
|
||||
msgid "Power Off"
|
||||
msgstr "విద్యుత్ ఆపు"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:81
|
||||
msgid "Click Power Off to quit these applications and power off the system."
|
||||
msgstr "ఈ అనువర్తనాలను విడిచివెళ్ళుటకు మరియు వ్యవస్థను ఆపివేయుటకు విద్యుత్ ఆపు నొక్కండి."
|
||||
@ -543,22 +568,6 @@ msgstr[1] "%d సెకన్లలో వ్యవస్థ స్వయంచ
|
||||
msgid "Powering off the system."
|
||||
msgstr "వ్యవస్థ విద్యుత్తును ఆపివేస్తుంది."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:89
|
||||
#: ../js/ui/endSessionDialog.js:106
|
||||
msgctxt "button"
|
||||
msgid "Restart"
|
||||
msgstr "పునఃప్రారంభించు"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:91
|
||||
msgctxt "button"
|
||||
msgid "Power Off"
|
||||
msgstr "విద్యుత్ ఆపు"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:97
|
||||
msgctxt "title"
|
||||
msgid "Restart"
|
||||
msgstr "పునఃప్రారంభించు"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:98
|
||||
msgid "Click Restart to quit these applications and restart the system."
|
||||
msgstr "ఈ అనువర్తనాలను విడిచివెళ్ళుటకు మరియు వ్యవస్థను పునఃప్రారంభించటానికి స నొక్కండి."
|
||||
@ -574,11 +583,11 @@ msgstr[1] "%d క్షణాలలో వ్యవస్థ స్వయంచ
|
||||
msgid "Restarting the system."
|
||||
msgstr "వ్యవస్థను పునఃప్రారంభిస్తున్నది."
|
||||
|
||||
#: ../js/ui/extensionSystem.js:524
|
||||
#: ../js/ui/extensionSystem.js:481
|
||||
msgid "Install"
|
||||
msgstr "స్థాపించు"
|
||||
|
||||
#: ../js/ui/extensionSystem.js:528
|
||||
#: ../js/ui/extensionSystem.js:485
|
||||
#, c-format
|
||||
msgid "Download and install '%s' from extensions.gnome.org?"
|
||||
msgstr "extensions.gnome.org నుండి '%s' డౌనులోడ్ చేసి మరియు సంస్థాపించాలా?"
|
||||
@ -587,58 +596,41 @@ msgstr "extensions.gnome.org నుండి '%s' డౌనులోడ్ చ
|
||||
msgid "tray"
|
||||
msgstr "పళ్ళెం"
|
||||
|
||||
#: ../js/ui/keyboard.js:547
|
||||
#: ../js/ui/status/power.js:211
|
||||
#: ../js/ui/keyboard.js:547 ../js/ui/status/power.js:211
|
||||
msgid "Keyboard"
|
||||
msgstr "కీబోర్డు"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:664
|
||||
#: ../js/ui/lookingGlass.js:646
|
||||
msgid "No extensions installed"
|
||||
msgstr "ఏ పొడిగింతలు స్థాపించబడిలేవు"
|
||||
|
||||
#. Translators: argument is an extension UUID.
|
||||
#: ../js/ui/lookingGlass.js:719
|
||||
#, c-format
|
||||
msgid "%s has not emitted any errors."
|
||||
msgstr "%s ఎటువంటి దోషాలను ఉద్గారించలేదు."
|
||||
|
||||
#: ../js/ui/lookingGlass.js:725
|
||||
msgid "Hide Errors"
|
||||
msgstr "దోషాలను దాయి"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:729
|
||||
#: ../js/ui/lookingGlass.js:779
|
||||
msgid "Show Errors"
|
||||
msgstr "దోషాలను చూపించు"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:738
|
||||
#: ../js/ui/lookingGlass.js:692
|
||||
msgid "Enabled"
|
||||
msgstr "చేతనమైనది"
|
||||
|
||||
#. translators:
|
||||
#. * The device has been disabled
|
||||
#: ../js/ui/lookingGlass.js:740
|
||||
#: ../src/gvc/gvc-mixer-control.c:1093
|
||||
#: ../js/ui/lookingGlass.js:694 ../src/gvc/gvc-mixer-control.c:1093
|
||||
msgid "Disabled"
|
||||
msgstr "చేతనమైనది"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:742
|
||||
#: ../js/ui/lookingGlass.js:696
|
||||
msgid "Error"
|
||||
msgstr "దోషం"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:744
|
||||
#: ../js/ui/lookingGlass.js:698
|
||||
msgid "Out of date"
|
||||
msgstr "కాలం చెల్లినది"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:746
|
||||
#: ../js/ui/lookingGlass.js:700
|
||||
msgid "Downloading"
|
||||
msgstr "దింపుకుంటున్నది"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:767
|
||||
#: ../js/ui/lookingGlass.js:721
|
||||
msgid "View Source"
|
||||
msgstr "మూలాన్ని చూడు"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:773
|
||||
#: ../js/ui/lookingGlass.js:727
|
||||
msgid "Web Page"
|
||||
msgstr "వెబ్ పేజీ"
|
||||
|
||||
@ -655,10 +647,8 @@ msgid "Connect"
|
||||
msgstr "అనుసంధానించు"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: ../js/ui/networkAgent.js:238
|
||||
#: ../js/ui/networkAgent.js:250
|
||||
#: ../js/ui/networkAgent.js:277
|
||||
#: ../js/ui/networkAgent.js:297
|
||||
#: ../js/ui/networkAgent.js:238 ../js/ui/networkAgent.js:250
|
||||
#: ../js/ui/networkAgent.js:277 ../js/ui/networkAgent.js:297
|
||||
#: ../js/ui/networkAgent.js:307
|
||||
msgid "Password: "
|
||||
msgstr "సంకేతపదం:"
|
||||
@ -671,8 +661,7 @@ msgstr "కీ: "
|
||||
#. 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/ui/networkAgent.js:275
|
||||
#: ../js/ui/networkAgent.js:293
|
||||
#: ../js/ui/networkAgent.js:275 ../js/ui/networkAgent.js:293
|
||||
msgid "Username: "
|
||||
msgstr "వాడుకరిపేరు: "
|
||||
|
||||
@ -694,7 +683,9 @@ msgstr "వైర్లెస్ నెట్వర్క్ చేత ధృ
|
||||
|
||||
#: ../js/ui/networkAgent.js:325
|
||||
#, c-format
|
||||
msgid "Passwords or encryption keys are required to access the wireless network '%s'."
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
"'%s'."
|
||||
msgstr "వైర్లెస్ నెట్వర్కు '%s' యాక్సెస్ చేయుటకు సంకేతపదాలు లేదా యెన్క్రిప్షన్ కీలు అవసరం."
|
||||
|
||||
#: ../js/ui/networkAgent.js:329
|
||||
@ -820,7 +811,7 @@ msgstr "దయచేసి ఒక ఆదేశమును ప్రవేశప
|
||||
|
||||
#: ../js/ui/searchDisplay.js:340
|
||||
msgid "Searching..."
|
||||
msgstr "శోధిస్తున్నది..."
|
||||
msgstr "వెతుకుతున్నది..."
|
||||
|
||||
#: ../js/ui/searchDisplay.js:363
|
||||
msgid "No matching results."
|
||||
@ -836,11 +827,11 @@ msgstr "అతికించు"
|
||||
|
||||
#: ../js/ui/shellEntry.js:81
|
||||
msgid "Show Text"
|
||||
msgstr "పాఠ్యం చూపించు"
|
||||
msgstr "పాఠ్యాన్ని చూపించు"
|
||||
|
||||
#: ../js/ui/shellEntry.js:83
|
||||
msgid "Hide Text"
|
||||
msgstr "పాఠ్యం దాయి"
|
||||
msgstr "పాఠ్యాన్ని దాయి"
|
||||
|
||||
#: ../js/ui/shellMountOperation.js:285
|
||||
msgid "Wrong password, please try again"
|
||||
@ -889,12 +880,9 @@ msgstr "అధిక వ్యత్యాసం"
|
||||
msgid "Large Text"
|
||||
msgstr "అతిపెద్ద పాఠ్యము"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:39
|
||||
#: ../js/ui/status/bluetooth.js:261
|
||||
#: ../js/ui/status/bluetooth.js:347
|
||||
#: ../js/ui/status/bluetooth.js:381
|
||||
#: ../js/ui/status/bluetooth.js:421
|
||||
#: ../js/ui/status/bluetooth.js:454
|
||||
#: ../js/ui/status/bluetooth.js:39 ../js/ui/status/bluetooth.js:261
|
||||
#: ../js/ui/status/bluetooth.js:347 ../js/ui/status/bluetooth.js:381
|
||||
#: ../js/ui/status/bluetooth.js:421 ../js/ui/status/bluetooth.js:454
|
||||
msgid "Bluetooth"
|
||||
msgstr "బ్లూటూత్"
|
||||
|
||||
@ -923,13 +911,11 @@ msgstr "హార్డువేర్ అచేతనమైంది"
|
||||
msgid "Connection"
|
||||
msgstr "అనుసంధానం"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:217
|
||||
#: ../js/ui/status/network.js:486
|
||||
#: ../js/ui/status/bluetooth.js:217 ../js/ui/status/network.js:486
|
||||
msgid "disconnecting..."
|
||||
msgstr "అననుసంధానిస్తోంది..."
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:230
|
||||
#: ../js/ui/status/network.js:492
|
||||
#: ../js/ui/status/bluetooth.js:230 ../js/ui/status/network.js:492
|
||||
msgid "connecting..."
|
||||
msgstr "అనుసంధానిస్తున్నది..."
|
||||
|
||||
@ -958,8 +944,7 @@ msgstr "కీబోర్డు అమరికలు"
|
||||
msgid "Mouse Settings"
|
||||
msgstr "మౌస్ అమరికలు"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:279
|
||||
#: ../js/ui/status/volume.js:62
|
||||
#: ../js/ui/status/bluetooth.js:279 ../js/ui/status/volume.js:62
|
||||
msgid "Sound Settings"
|
||||
msgstr "శబ్దపు అమరికలు"
|
||||
|
||||
@ -981,8 +966,7 @@ msgstr "ఎల్లప్పుడు ప్రవేశ సౌలభ్యత
|
||||
msgid "Grant this time only"
|
||||
msgstr "ఈ సారికి మాత్రమే అనుమతించు"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:392
|
||||
#: ../js/ui/telepathyClient.js:1204
|
||||
#: ../js/ui/status/bluetooth.js:392 ../js/ui/telepathyClient.js:1204
|
||||
msgid "Reject"
|
||||
msgstr "తిరస్కరించు"
|
||||
|
||||
@ -991,8 +975,7 @@ msgstr "తిరస్కరించు"
|
||||
msgid "Pairing confirmation for %s"
|
||||
msgstr "%s కొరకు జతచేయుటకు ధృవీకరణ"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:428
|
||||
#: ../js/ui/status/bluetooth.js:462
|
||||
#: ../js/ui/status/bluetooth.js:428 ../js/ui/status/bluetooth.js:462
|
||||
#, c-format
|
||||
msgid "Device %s wants to pair with this computer"
|
||||
msgstr "%s పరికరము ఈ కంప్యూటరుతో జతకట్టాలనుకుంటుంది"
|
||||
@ -1072,15 +1055,13 @@ msgstr "అందుబాటులోలేదు"
|
||||
msgid "connection failed"
|
||||
msgstr "అనుసంధానం విఫలమైంది"
|
||||
|
||||
#: ../js/ui/status/network.js:575
|
||||
#: ../js/ui/status/network.js:1523
|
||||
#: ../js/ui/status/network.js:575 ../js/ui/status/network.js:1523
|
||||
msgid "More..."
|
||||
msgstr "మరిన్ని..."
|
||||
|
||||
#. TRANSLATORS: this is the indication that a connection for another logged in user is active,
|
||||
#. and we cannot access its settings (including the name)
|
||||
#: ../js/ui/status/network.js:611
|
||||
#: ../js/ui/status/network.js:1458
|
||||
#: ../js/ui/status/network.js:611 ../js/ui/status/network.js:1458
|
||||
msgid "Connected (private)"
|
||||
msgstr "అనుసంధానించబడింది (గోప్యము)"
|
||||
|
||||
@ -1097,8 +1078,7 @@ msgid "Auto dial-up"
|
||||
msgstr "ఆటో డయిల్-అప్"
|
||||
|
||||
#. TRANSLATORS: this the automatic wireless connection name (including the network name)
|
||||
#: ../js/ui/status/network.js:878
|
||||
#: ../js/ui/status/network.js:1470
|
||||
#: ../js/ui/status/network.js:878 ../js/ui/status/network.js:1470
|
||||
#, c-format
|
||||
msgid "Auto %s"
|
||||
msgstr "ఆటో %s"
|
||||
@ -1193,8 +1173,7 @@ msgid_plural "%d minutes remaining"
|
||||
msgstr[0] "%d నిముషం మిగిలివుంది"
|
||||
msgstr[1] "%d నిముషాలు మిగిలివుంది"
|
||||
|
||||
#: ../js/ui/status/power.js:121
|
||||
#: ../js/ui/status/power.js:194
|
||||
#: ../js/ui/status/power.js:121 ../js/ui/status/power.js:194
|
||||
#, c-format
|
||||
msgctxt "percent of battery remaining"
|
||||
msgid "%d%%"
|
||||
@ -1335,19 +1314,17 @@ msgstr "%sకు ఆహ్వానం"
|
||||
#: ../js/ui/telepathyClient.js:1156
|
||||
#, c-format
|
||||
msgid "%s is inviting you to join %s"
|
||||
msgstr "%s మిమ్ములను %s పై చేరుటకు ఆహ్వానిస్తోంది"
|
||||
msgstr "%s మిమ్ములను %s నందు చేరుటకు ఆహ్వానిస్తున్నారు"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1158
|
||||
#: ../js/ui/telepathyClient.js:1248
|
||||
#: ../js/ui/telepathyClient.js:1158 ../js/ui/telepathyClient.js:1248
|
||||
#: ../js/ui/telepathyClient.js:1352
|
||||
msgid "Decline"
|
||||
msgstr "తిరస్కారం"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1159
|
||||
#: ../js/ui/telepathyClient.js:1249
|
||||
#: ../js/ui/telepathyClient.js:1159 ../js/ui/telepathyClient.js:1249
|
||||
#: ../js/ui/telepathyClient.js:1353
|
||||
msgid "Accept"
|
||||
msgstr "ఆమోదం"
|
||||
msgstr "ఆమోదించు"
|
||||
|
||||
#. translators: argument is a contact name like Alice for example.
|
||||
#: ../js/ui/telepathyClient.js:1192
|
||||
@ -1364,7 +1341,7 @@ msgstr "%s నుండి కాల్"
|
||||
#. translators: this is a button label (verb), not a noun
|
||||
#: ../js/ui/telepathyClient.js:1206
|
||||
msgid "Answer"
|
||||
msgstr "సమాధానం"
|
||||
msgstr "సమాధానమివ్వు"
|
||||
|
||||
#. To translators: The first parameter is
|
||||
#. * the contact's alias and the second one is the
|
||||
@ -1374,7 +1351,7 @@ msgstr "సమాధానం"
|
||||
#: ../js/ui/telepathyClient.js:1242
|
||||
#, c-format
|
||||
msgid "%s is sending you %s"
|
||||
msgstr "%s మీకు %s పంపుచున్నది"
|
||||
msgstr "%s మీకు %s పంపారు"
|
||||
|
||||
#. To translators: The parameter is the contact's alias
|
||||
#: ../js/ui/telepathyClient.js:1317
|
||||
@ -1451,7 +1428,8 @@ msgid "This resource is already connected to the server"
|
||||
msgstr "ఈ వనరు యిప్పటికే సేవికకు అనుసంధానమైంది"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1449
|
||||
msgid "Connection has been replaced by a new connection using the same resource"
|
||||
msgid ""
|
||||
"Connection has been replaced by a new connection using the same resource"
|
||||
msgstr "అనుసంధానం అదే వనరు వుపయోగించి కొత్త అనుసంధానంచే పునఃస్థాపించబడెను"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1451
|
||||
@ -1467,12 +1445,18 @@ msgid "Certificate has been revoked"
|
||||
msgstr "ధృవీకరణపత్రం కొట్టివేయబడింది"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1457
|
||||
msgid "Certificate uses an insecure cipher algorithm or is cryptographically weak"
|
||||
msgstr "ధృవీకరణపత్రం సురక్షితం కాని సైఫర్ ఆల్గార్దెమ్ వుపయోగించుచున్నది లేదా క్రిప్టోగ్రఫీ పరంగా బలహీనంగా వుంది"
|
||||
msgid ""
|
||||
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
|
||||
msgstr ""
|
||||
"ధృవీకరణపత్రం సురక్షితం కాని సైఫర్ ఆల్గార్దెమ్ వుపయోగించుచున్నది లేదా క్రిప్టోగ్రఫీ పరంగా బలహీనంగా వుంది"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1459
|
||||
msgid "The length of the server certificate, or the depth of the server certificate chain, exceed the limits imposed by the cryptography library"
|
||||
msgstr "సేవిక ధృవీకరణపత్రం యొక్క పొడవు, లేదా సేవిక ధృవీకరణపత్రం చైన్ యొక్క లోతు, క్రిప్టోగ్రఫీ లైబ్రరీ చేత నిర్దేశితమైన పరిమితులను మించును"
|
||||
msgid ""
|
||||
"The length of the server certificate, or the depth of the server certificate "
|
||||
"chain, exceed the limits imposed by the cryptography library"
|
||||
msgstr ""
|
||||
"సేవిక ధృవీకరణపత్రం యొక్క పొడవు, లేదా సేవిక ధృవీకరణపత్రం చైన్ యొక్క లోతు, క్రిప్టోగ్రఫీ లైబ్రరీ చేత "
|
||||
"నిర్దేశితమైన పరిమితులను మించును"
|
||||
|
||||
#. translators: argument is the account name, like
|
||||
#. * name@jabber.org for example.
|
||||
@ -1505,43 +1489,45 @@ msgstr "వాడుకలేదు"
|
||||
msgid "Unavailable"
|
||||
msgstr "అందుబాటులోలేదు"
|
||||
|
||||
#: ../js/ui/userMenu.js:571
|
||||
#: ../js/ui/userMenu.js:575
|
||||
#: ../js/ui/userMenu.js:645
|
||||
#: ../js/ui/userMenu.js:552 ../js/ui/userMenu.js:556 ../js/ui/userMenu.js:626
|
||||
msgid "Power Off..."
|
||||
msgstr "విద్యుత్ ఆపు..."
|
||||
|
||||
#: ../js/ui/userMenu.js:607
|
||||
#: ../js/ui/userMenu.js:588
|
||||
msgid "Notifications"
|
||||
msgstr "ప్రకటనలు"
|
||||
|
||||
#: ../js/ui/userMenu.js:615
|
||||
#: ../js/ui/userMenu.js:596
|
||||
msgid "Online Accounts"
|
||||
msgstr "ఆన్లైన్ ఖాతాలు"
|
||||
|
||||
#: ../js/ui/userMenu.js:619
|
||||
#: ../js/ui/userMenu.js:600
|
||||
msgid "System Settings"
|
||||
msgstr "వ్యవస్థ అమరికలు"
|
||||
|
||||
#: ../js/ui/userMenu.js:626
|
||||
#: ../js/ui/userMenu.js:607
|
||||
msgid "Lock Screen"
|
||||
msgstr "తెరకు తాళంవేయి"
|
||||
|
||||
#: ../js/ui/userMenu.js:631
|
||||
#: ../js/ui/userMenu.js:612
|
||||
msgid "Switch User"
|
||||
msgstr "వాడుకరిని మార్చు"
|
||||
|
||||
#: ../js/ui/userMenu.js:636
|
||||
#: ../js/ui/userMenu.js:617
|
||||
msgid "Log Out..."
|
||||
msgstr "నిష్క్రమించు..."
|
||||
|
||||
#: ../js/ui/userMenu.js:664
|
||||
#: ../js/ui/userMenu.js:645
|
||||
msgid "Your chat status will be set to busy"
|
||||
msgstr "మీ చాట్ అమరిక వత్తిడిలో వున్నారని వుంచబడును"
|
||||
|
||||
#: ../js/ui/userMenu.js:665
|
||||
msgid "Notifications are now disabled, including chat messages. Your online status has been adjusted to let others know that you might not see their messages."
|
||||
msgstr "ప్రకటలను యిప్పుడు అచేతనం చేయబడెను, చాట్ సందేశములతో సహా. మీరు యితరుల సందేశాలను చూసివుండకపోవుచ్చునని వారికి తెలియునట్లు మీ ఆన్లైన్ స్థితి అమర్చబడెను."
|
||||
#: ../js/ui/userMenu.js:646
|
||||
msgid ""
|
||||
"Notifications are now disabled, including chat messages. Your online status "
|
||||
"has been adjusted to let others know that you might not see their messages."
|
||||
msgstr ""
|
||||
"ప్రకటలను యిప్పుడు అచేతనం చేయబడెను, చాట్ సందేశములతో సహా. మీరు యితరుల సందేశాలను "
|
||||
"చూసివుండకపోవుచ్చునని వారికి తెలియునట్లు మీ ఆన్లైన్ స్థితి అమర్చబడెను."
|
||||
|
||||
#. Translators: this is the text displayed
|
||||
#. in the search entry when no search is
|
||||
@ -1551,8 +1537,7 @@ msgstr "ప్రకటలను యిప్పుడు అచేతనం చ
|
||||
msgid "Type to search..."
|
||||
msgstr "వెతకడానికి టైపు చేయండి..."
|
||||
|
||||
#: ../js/ui/viewSelector.js:142
|
||||
#: ../src/shell-util.c:244
|
||||
#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:261
|
||||
msgid "Search"
|
||||
msgstr "శోధించు"
|
||||
|
||||
@ -1589,7 +1574,7 @@ msgstr "ముద్రిత వర్షన్"
|
||||
|
||||
#: ../src/main.c:486
|
||||
msgid "Mode used by GDM for login screen"
|
||||
msgstr "లాగిన్ తెర కొరకు GDM చేత వుపయోగించబడిన రీతి"
|
||||
msgstr "ప్రవేశ తెర కొరకు GDM చే వాడబడే రీతి"
|
||||
|
||||
#: ../src/shell-app.c:579
|
||||
#, c-format
|
||||
@ -1608,15 +1593,13 @@ msgstr "అప్రమేయం"
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "ప్రమాణీకరణ డైలాగు వాడుకరిచే రద్దుచేయబడింది"
|
||||
|
||||
#. Translators: this is the same string as the one found in
|
||||
#. * nautilus
|
||||
#: ../src/shell-util.c:89
|
||||
msgid "Home"
|
||||
msgstr "నివాసం"
|
||||
#: ../src/shell-util.c:100
|
||||
msgid "Home Folder"
|
||||
msgstr "నివాస సంచయం"
|
||||
|
||||
#. Translators: this is the same string as the one found in
|
||||
#. * nautilus
|
||||
#: ../src/shell-util.c:98
|
||||
#: ../src/shell-util.c:115
|
||||
msgid "File System"
|
||||
msgstr "ఫైల్ వ్యవస్థ"
|
||||
|
||||
@ -1625,7 +1608,7 @@ msgstr "ఫైల్ వ్యవస్థ"
|
||||
#. * example, "Trash: some-directory". It means that the
|
||||
#. * directory called "some-directory" is in the trash.
|
||||
#.
|
||||
#: ../src/shell-util.c:294
|
||||
#: ../src/shell-util.c:311
|
||||
#, c-format
|
||||
msgid "%1$s: %2$s"
|
||||
msgstr "%1$s: %2$s"
|
||||
@ -1633,9 +1616,6 @@ msgstr "%1$s: %2$s"
|
||||
#~ msgid "Show password"
|
||||
#~ msgstr "సంకేతపదం చూపు"
|
||||
|
||||
#~ msgid "Home Folder"
|
||||
#~ msgstr "నివాస సంచయం"
|
||||
|
||||
#~ msgid "%s has finished starting"
|
||||
#~ msgstr "ప్రారంభించుటను %s పూర్తిచేసినది"
|
||||
|
||||
@ -1670,25 +1650,21 @@ msgstr "%1$s: %2$s"
|
||||
#~ msgstr "ఒక నిముషం కంటే ముందు"
|
||||
|
||||
#~ msgid "%d minute ago"
|
||||
|
||||
#~ msgid_plural "%d minutes ago"
|
||||
#~ msgstr[0] "%d నిముషం క్రితం"
|
||||
#~ msgstr[1] "%d నిముషాల క్రితం"
|
||||
|
||||
#~ msgid "%d hour ago"
|
||||
|
||||
#~ msgid_plural "%d hours ago"
|
||||
#~ msgstr[0] "%d గంట క్రితం"
|
||||
#~ msgstr[1] "%d గంటల క్రితం"
|
||||
|
||||
#~ msgid "%d day ago"
|
||||
|
||||
#~ msgid_plural "%d days ago"
|
||||
#~ msgstr[0] "%d రోజు క్రితం"
|
||||
#~ msgstr[1] "%d రోజుల క్రితం"
|
||||
|
||||
#~ msgid "%d week ago"
|
||||
|
||||
#~ msgid_plural "%d weeks ago"
|
||||
#~ msgstr[0] "%d వారం క్రితం"
|
||||
#~ msgstr[1] "%d వారాల క్రితం"
|
||||
|
623
po/zh_HK.po
623
po/zh_HK.po
File diff suppressed because it is too large
Load Diff
625
po/zh_TW.po
625
po/zh_TW.po
File diff suppressed because it is too large
Load Diff
@ -101,6 +101,7 @@ shell_public_headers_h = \
|
||||
shell-app.h \
|
||||
shell-app-system.h \
|
||||
shell-app-usage.h \
|
||||
shell-arrow.h \
|
||||
shell-contact-system.h \
|
||||
shell-doc-system.h \
|
||||
shell-embedded-window.h \
|
||||
@ -137,6 +138,7 @@ libgnome_shell_la_SOURCES = \
|
||||
shell-a11y.c \
|
||||
shell-app-system.c \
|
||||
shell-app-usage.c \
|
||||
shell-arrow.c \
|
||||
shell-contact-system.c \
|
||||
shell-doc-system.c \
|
||||
shell-embedded-window.c \
|
||||
@ -275,7 +277,7 @@ Shell_0_1_gir_CFLAGS = $(libgnome_shell_la_CPPFLAGS) -I $(srcdir)
|
||||
Shell_0_1_gir_LIBS = libgnome-shell.la
|
||||
Shell_0_1_gir_FILES = $(libgnome_shell_la_gir_sources)
|
||||
Shell_0_1_gir_SCANNERFLAGS = --include-uninstalled=$(builddir)/St-1.0.gir \
|
||||
--add-include-path=$(MUTTER_GIR_DIR) $(if $(BLUETOOTH_DIR),-L $(BLUETOOTH_DIR),)
|
||||
--add-include-path=$(MUTTER_GIR_DIR)
|
||||
INTROSPECTION_GIRS += Shell-0.1.gir
|
||||
CLEANFILES += Shell-0.1.gir
|
||||
|
||||
|
@ -17,7 +17,15 @@ except ImportError:
|
||||
print 'The Python simplejson module is required'
|
||||
sys.exit(1)
|
||||
|
||||
from gi.repository import Gio
|
||||
parser = optparse.OptionParser()
|
||||
parser.add_option("", "--create-extension", action="store_true",
|
||||
help="Create a new GNOME Shell extension")
|
||||
|
||||
options, args = parser.parse_args()
|
||||
|
||||
if args:
|
||||
parser.print_usage()
|
||||
sys.exit(1)
|
||||
|
||||
SAMPLE_EXTENSION_FILES = {
|
||||
"extension.js": """
|
||||
@ -88,7 +96,7 @@ function disable() {
|
||||
""",
|
||||
}
|
||||
|
||||
def create_extension():
|
||||
if options.create_extension:
|
||||
print
|
||||
print '''Name should be a very short (ideally descriptive) string.
|
||||
Examples are: "Click To Focus", "Adblock", "Shell Window Shrinker".
|
||||
@ -142,63 +150,4 @@ use an extension title clicktofocus@janedoe.example.com.'''
|
||||
print "Created extension in %r" % (extension_path, )
|
||||
extensionjs_path = os.path.join(extension_path, 'extension.js')
|
||||
subprocess.Popen(['xdg-open', extensionjs_path])
|
||||
|
||||
ENABLED_EXTENSIONS_KEY = 'enabled-extensions'
|
||||
|
||||
def enable_extension(uuid):
|
||||
settings = Gio.Settings(schema='org.gnome.shell')
|
||||
extensions = settings.get_strv(ENABLED_EXTENSIONS_KEY)
|
||||
|
||||
if uuid in extensions:
|
||||
print >> sys.stderr, "%r is already enabled." % (uuid,)
|
||||
sys.exit(1)
|
||||
|
||||
extensions.append(uuid)
|
||||
settings.set_strv(ENABLED_EXTENSIONS_KEY, extensions)
|
||||
print >> sys.stderr, "%r is now enabled." % (uuid,)
|
||||
|
||||
def disable_extension(uuid):
|
||||
settings = Gio.Settings(schema='org.gnome.shell')
|
||||
extensions = settings.get_strv(ENABLED_EXTENSIONS_KEY)
|
||||
|
||||
if uuid not in extensions:
|
||||
print >> sys.stderr, "%r is not enabled or installed." % (uuid,)
|
||||
sys.exit(1)
|
||||
|
||||
# Use a while loop here to remove *all* mentions instances
|
||||
# of the extension. Some faulty tools like to append more than one.
|
||||
while uuid in extensions:
|
||||
extensions.remove(uuid)
|
||||
|
||||
settings.set_strv(ENABLED_EXTENSIONS_KEY, extensions)
|
||||
print >> sys.stderr, "%r is now disabled." % (uuid,)
|
||||
|
||||
def main():
|
||||
parser = optparse.OptionParser()
|
||||
parser.add_option("-d", "--disable-extension", dest="disable",
|
||||
help="Disable a GNOME Shell extension")
|
||||
parser.add_option("-e", "--enable-extension", dest="enable",
|
||||
help="Enable a GNOME Shell extension")
|
||||
parser.add_option("-c", "--create-extension", dest="create", action="store_true",
|
||||
help="Create a new GNOME Shell extension")
|
||||
options, args = parser.parse_args()
|
||||
|
||||
if args:
|
||||
parser.print_usage()
|
||||
sys.exit(1)
|
||||
|
||||
if options.disable:
|
||||
disable_extension(options.disable)
|
||||
|
||||
elif options.enable:
|
||||
enable_extension(options.enable)
|
||||
|
||||
elif options.create:
|
||||
create_extension()
|
||||
|
||||
else:
|
||||
parser.print_usage()
|
||||
sys.exit(1)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
sys.exit(0)
|
||||
|
@ -114,10 +114,7 @@ sniff_async_ready_cb (GObject *source,
|
||||
{
|
||||
InvocationData *data = user_data;
|
||||
gchar **types;
|
||||
gint idx;
|
||||
GError *error = NULL;
|
||||
GVariantBuilder *builder;
|
||||
GVariant *result;
|
||||
|
||||
types = shell_mime_sniffer_sniff_finish (SHELL_MIME_SNIFFER (source),
|
||||
res, &error);
|
||||
@ -129,16 +126,8 @@ sniff_async_ready_cb (GObject *source,
|
||||
goto out;
|
||||
}
|
||||
|
||||
builder = g_variant_builder_new (G_VARIANT_TYPE ("as"));
|
||||
|
||||
for (idx = 0; types[idx] != NULL; idx++)
|
||||
g_variant_builder_add (builder, "s", types[idx]);
|
||||
|
||||
result = g_variant_new ("(as)", builder);
|
||||
g_dbus_method_invocation_return_value (data->invocation, result);
|
||||
|
||||
g_variant_unref (result);
|
||||
g_variant_builder_unref (builder);
|
||||
g_dbus_method_invocation_return_value (data->invocation,
|
||||
g_variant_new ("(^as)", types));
|
||||
g_strfreev (types);
|
||||
|
||||
out:
|
||||
|
200
src/main.c
200
src/main.c
@ -8,9 +8,9 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <cogl-pango/cogl-pango.h>
|
||||
#include <clutter/clutter.h>
|
||||
#include <clutter/x11/clutter-x11.h>
|
||||
#include <dbus/dbus-glib.h>
|
||||
#include <gdk/gdk.h>
|
||||
#include <gdk/gdkx.h>
|
||||
#include <gtk/gtk.h>
|
||||
@ -33,128 +33,102 @@ extern GType gnome_shell_plugin_get_type (void);
|
||||
#define SHELL_DBUS_SERVICE "org.gnome.Shell"
|
||||
#define MAGNIFIER_DBUS_SERVICE "org.gnome.Magnifier"
|
||||
|
||||
#define OVERRIDES_SCHEMA "org.gnome.shell.overrides"
|
||||
|
||||
static gboolean is_gdm_mode = FALSE;
|
||||
|
||||
#define DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER 1
|
||||
#define DBUS_REQUEST_NAME_REPLY_ALREADY_OWNER 4
|
||||
|
||||
static void
|
||||
shell_dbus_acquire_name (GDBusProxy *bus,
|
||||
guint32 request_name_flags,
|
||||
guint32 *request_name_result,
|
||||
gchar *name,
|
||||
gboolean fatal)
|
||||
{
|
||||
GError *error = NULL;
|
||||
GVariant *request_name_variant;
|
||||
|
||||
if (!(request_name_variant = g_dbus_proxy_call_sync (bus,
|
||||
"RequestName",
|
||||
g_variant_new ("(su)", name, request_name_flags),
|
||||
0, /* call flags */
|
||||
-1, /* timeout */
|
||||
NULL, /* cancellable */
|
||||
&error)))
|
||||
{
|
||||
g_printerr ("failed to acquire org.gnome.Shell: %s\n", error->message);
|
||||
exit (1);
|
||||
}
|
||||
g_variant_get (request_name_variant, "(u)", request_name_result);
|
||||
}
|
||||
|
||||
static void
|
||||
shell_dbus_acquire_names (GDBusProxy *bus,
|
||||
guint32 request_name_flags,
|
||||
gchar *name,
|
||||
gboolean fatal, ...) G_GNUC_NULL_TERMINATED;
|
||||
|
||||
static void
|
||||
shell_dbus_acquire_names (GDBusProxy *bus,
|
||||
guint32 request_name_flags,
|
||||
gchar *name,
|
||||
gboolean fatal, ...)
|
||||
{
|
||||
va_list al;
|
||||
guint32 request_name_result;
|
||||
va_start (al, fatal);
|
||||
for (;;)
|
||||
{
|
||||
shell_dbus_acquire_name (bus,
|
||||
request_name_flags,
|
||||
&request_name_result,
|
||||
name, fatal);
|
||||
name = va_arg (al, gchar *);
|
||||
if (!name)
|
||||
break;
|
||||
fatal = va_arg (al, gboolean);
|
||||
}
|
||||
va_end (al);
|
||||
}
|
||||
|
||||
static void
|
||||
shell_dbus_init (gboolean replace)
|
||||
{
|
||||
GDBusConnection *session;
|
||||
GDBusProxy *bus;
|
||||
GError *error = NULL;
|
||||
DBusGConnection *session;
|
||||
DBusGProxy *bus;
|
||||
guint32 request_name_flags;
|
||||
guint32 request_name_result;
|
||||
|
||||
session = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, &error);
|
||||
/** TODO:
|
||||
* In the future we should use GDBus for this. However, in
|
||||
* order to do that, we need to port all of the JavaScript
|
||||
* code. Otherwise, the name will be claimed on the wrong
|
||||
* connection.
|
||||
*/
|
||||
session = dbus_g_bus_get (DBUS_BUS_SESSION, NULL);
|
||||
|
||||
if (error) {
|
||||
g_printerr ("Failed to connect to session bus: %s", error->message);
|
||||
exit (1);
|
||||
}
|
||||
bus = dbus_g_proxy_new_for_name (session,
|
||||
DBUS_SERVICE_DBUS,
|
||||
DBUS_PATH_DBUS,
|
||||
DBUS_INTERFACE_DBUS);
|
||||
|
||||
bus = g_dbus_proxy_new_sync (session,
|
||||
G_DBUS_PROXY_FLAGS_NONE,
|
||||
NULL, /* interface info */
|
||||
"org.freedesktop.DBus",
|
||||
"/org/freedesktop/DBus",
|
||||
"org.freedesktop.DBus",
|
||||
NULL, /* cancellable */
|
||||
&error);
|
||||
|
||||
request_name_flags = G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT;
|
||||
request_name_flags = DBUS_NAME_FLAG_DO_NOT_QUEUE | DBUS_NAME_FLAG_ALLOW_REPLACEMENT;
|
||||
if (replace)
|
||||
request_name_flags |= DBUS_NAME_FLAG_REPLACE_EXISTING;
|
||||
|
||||
shell_dbus_acquire_name (bus,
|
||||
request_name_flags,
|
||||
&request_name_result,
|
||||
SHELL_DBUS_SERVICE, TRUE);
|
||||
if (!dbus_g_proxy_call (bus, "RequestName", &error,
|
||||
G_TYPE_STRING, SHELL_DBUS_SERVICE,
|
||||
G_TYPE_UINT, request_name_flags,
|
||||
G_TYPE_INVALID,
|
||||
G_TYPE_UINT, &request_name_result,
|
||||
G_TYPE_INVALID))
|
||||
{
|
||||
g_printerr ("failed to acquire org.gnome.Shell: %s\n", error->message);
|
||||
exit (1);
|
||||
}
|
||||
if (!(request_name_result == DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER
|
||||
|| request_name_result == DBUS_REQUEST_NAME_REPLY_ALREADY_OWNER))
|
||||
{
|
||||
g_printerr (SHELL_DBUS_SERVICE " already exists on bus and --replace not specified\n");
|
||||
g_printerr ("%s already exists on bus and --replace not specified\n",
|
||||
SHELL_DBUS_SERVICE);
|
||||
exit (1);
|
||||
}
|
||||
|
||||
/*
|
||||
* We always specify REPLACE_EXISTING to ensure we kill off
|
||||
* the existing service if it was running.
|
||||
*/
|
||||
request_name_flags |= G_BUS_NAME_OWNER_FLAGS_REPLACE;
|
||||
|
||||
shell_dbus_acquire_names (bus,
|
||||
request_name_flags,
|
||||
/* Also grab org.gnome.Panel to replace any existing panel process */
|
||||
"org.gnome.Panel", TRUE,
|
||||
/* ...and the org.gnome.Magnifier service. */
|
||||
MAGNIFIER_DBUS_SERVICE, FALSE,
|
||||
/* ...and the org.freedesktop.Notifications service. */
|
||||
"org.freedesktop.Notifications", FALSE,
|
||||
NULL);
|
||||
if (!dbus_g_proxy_call (bus, "RequestName", &error, G_TYPE_STRING,
|
||||
"org.gnome.Panel", G_TYPE_UINT,
|
||||
DBUS_NAME_FLAG_REPLACE_EXISTING | request_name_flags,
|
||||
G_TYPE_INVALID, G_TYPE_UINT,
|
||||
&request_name_result, G_TYPE_INVALID))
|
||||
{
|
||||
g_print ("failed to acquire org.gnome.Panel: %s\n", error->message);
|
||||
exit (1);
|
||||
}
|
||||
|
||||
/* ...and the org.gnome.Magnifier service.
|
||||
*/
|
||||
if (!dbus_g_proxy_call (bus, "RequestName", &error,
|
||||
G_TYPE_STRING, MAGNIFIER_DBUS_SERVICE,
|
||||
G_TYPE_UINT, DBUS_NAME_FLAG_REPLACE_EXISTING | request_name_flags,
|
||||
G_TYPE_INVALID,
|
||||
G_TYPE_UINT, &request_name_result,
|
||||
G_TYPE_INVALID))
|
||||
{
|
||||
g_print ("failed to acquire %s: %s\n", MAGNIFIER_DBUS_SERVICE, error->message);
|
||||
/* Failing to acquire the magnifer service is not fatal. Log the error,
|
||||
* but keep going. */
|
||||
}
|
||||
|
||||
/* ...and the org.freedesktop.Notifications service; we always
|
||||
* specify REPLACE_EXISTING to ensure we kill off
|
||||
* notification-daemon if it was running.
|
||||
*/
|
||||
if (!dbus_g_proxy_call (bus, "RequestName", &error,
|
||||
G_TYPE_STRING, "org.freedesktop.Notifications",
|
||||
G_TYPE_UINT, DBUS_NAME_FLAG_REPLACE_EXISTING | request_name_flags,
|
||||
G_TYPE_INVALID,
|
||||
G_TYPE_UINT, &request_name_result,
|
||||
G_TYPE_INVALID))
|
||||
{
|
||||
g_print ("failed to acquire org.freedesktop.Notifications: %s\n", error->message);
|
||||
}
|
||||
|
||||
/* ...and the on-screen keyboard service */
|
||||
shell_dbus_acquire_name (bus,
|
||||
DBUS_NAME_FLAG_REPLACE_EXISTING,
|
||||
&request_name_result,
|
||||
"org.gnome.Caribou.Keyboard", FALSE);
|
||||
if (!dbus_g_proxy_call (bus, "RequestName", &error,
|
||||
G_TYPE_STRING, "org.gnome.Caribou.Keyboard",
|
||||
G_TYPE_UINT, DBUS_NAME_FLAG_REPLACE_EXISTING,
|
||||
G_TYPE_INVALID,
|
||||
G_TYPE_UINT, &request_name_result,
|
||||
G_TYPE_INVALID))
|
||||
{
|
||||
g_print ("failed to acquire org.gnome.Caribou.Keyboard: %s\n", error->message);
|
||||
}
|
||||
|
||||
g_object_unref (bus);
|
||||
g_object_unref (session);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -284,15 +258,13 @@ static void
|
||||
shell_fonts_init (void)
|
||||
{
|
||||
GtkSettings *settings;
|
||||
CoglPangoFontMap *fontmap;
|
||||
|
||||
/* Disable text mipmapping; it causes problems on pre-GEM Intel
|
||||
* drivers and we should just be rendering text at the right
|
||||
* size rather than scaling it. If we do effects where we dynamically
|
||||
* zoom labels, then we might want to reconsider.
|
||||
*/
|
||||
fontmap = COGL_PANGO_FONT_MAP (clutter_get_font_map ());
|
||||
cogl_pango_font_map_set_use_mipmapping (fontmap, FALSE);
|
||||
clutter_set_font_flags (clutter_get_font_flags () & ~CLUTTER_FONT_MIPMAPPING);
|
||||
|
||||
settings = gtk_settings_get_default ();
|
||||
g_object_connect (settings,
|
||||
@ -311,14 +283,16 @@ shell_fonts_init (void)
|
||||
static void
|
||||
shell_prefs_init (void)
|
||||
{
|
||||
meta_prefs_override_preference_schema ("attach-modal-dialogs",
|
||||
OVERRIDES_SCHEMA);
|
||||
meta_prefs_override_preference_schema ("workspaces-only-on-primary",
|
||||
OVERRIDES_SCHEMA);
|
||||
meta_prefs_override_preference_schema ("button-layout",
|
||||
OVERRIDES_SCHEMA);
|
||||
meta_prefs_override_preference_schema ("edge-tiling",
|
||||
OVERRIDES_SCHEMA);
|
||||
meta_prefs_override_preference_location ("/apps/mutter/general/attach_modal_dialogs",
|
||||
"/desktop/gnome/shell/windows/attach_modal_dialogs");
|
||||
meta_prefs_override_preference_location ("/apps/mutter/general/workspaces_only_on_primary",
|
||||
"/desktop/gnome/shell/windows/workspaces_only_on_primary");
|
||||
meta_prefs_override_preference_location ("/apps/metacity/general/button_layout",
|
||||
"/desktop/gnome/shell/windows/button_layout");
|
||||
meta_prefs_override_preference_location ("/apps/metacity/general/edge_tiling",
|
||||
"/desktop/gnome/shell/windows/edge_tiling");
|
||||
meta_prefs_override_preference_location ("/apps/metacity/general/theme",
|
||||
"/desktop/gnome/shell/windows/theme");
|
||||
}
|
||||
|
||||
/* This is an IBus workaround. The flow of events with IBus is that every time
|
||||
@ -577,8 +551,6 @@ main (int argc, char **argv)
|
||||
muted_log_handler, NULL);
|
||||
g_log_set_handler ("tp-glib/proxy", G_LOG_LEVEL_DEBUG,
|
||||
muted_log_handler, NULL);
|
||||
g_log_set_handler ("GnomeShellBrowserPlugin", G_LOG_LEVEL_DEBUG,
|
||||
muted_log_handler, NULL);
|
||||
|
||||
/* Turn on telepathy-glib debugging but filter it out in
|
||||
* default_log_handler. This handler also exposes all the logs over D-Bus
|
||||
|
@ -73,6 +73,8 @@ main(int argc, char **argv)
|
||||
gsize len;
|
||||
int code;
|
||||
|
||||
g_thread_init (NULL);
|
||||
|
||||
gtk_init (&argc, &argv);
|
||||
|
||||
clutter_x11_set_display (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()));
|
||||
|
@ -30,6 +30,9 @@ typedef enum {
|
||||
typedef struct {
|
||||
guint refcount;
|
||||
|
||||
/* Last time the user interacted with any of this application's windows */
|
||||
guint32 last_user_time;
|
||||
|
||||
/* Signal connection to dirty window sort list on workspace changes */
|
||||
guint workspace_switch_id;
|
||||
|
||||
@ -506,6 +509,15 @@ shell_app_activate_window (ShellApp *app,
|
||||
window = most_recent_transient;
|
||||
|
||||
|
||||
if (!shell_window_tracker_is_window_interesting (window))
|
||||
{
|
||||
/* We won't get notify::user-time signals for uninteresting windows,
|
||||
* which means that an app's last_user_time won't get updated.
|
||||
* Update it here instead.
|
||||
*/
|
||||
app->running_state->last_user_time = timestamp;
|
||||
}
|
||||
|
||||
if (active != workspace)
|
||||
meta_workspace_activate_with_focus (workspace, window, timestamp);
|
||||
else
|
||||
@ -740,23 +752,6 @@ shell_app_is_on_workspace (ShellApp *app,
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static int
|
||||
shell_app_get_last_user_time (ShellApp *app)
|
||||
{
|
||||
GSList *iter;
|
||||
int last_user_time;
|
||||
|
||||
last_user_time = 0;
|
||||
|
||||
if (app->running_state != NULL)
|
||||
{
|
||||
for (iter = app->running_state->windows; iter; iter = iter->next)
|
||||
last_user_time = MAX (last_user_time, meta_window_get_user_time (iter->data));
|
||||
}
|
||||
|
||||
return last_user_time;
|
||||
}
|
||||
|
||||
/**
|
||||
* shell_app_compare:
|
||||
* @app:
|
||||
@ -796,8 +791,7 @@ shell_app_compare (ShellApp *app,
|
||||
return -1;
|
||||
else if (!app->running_state->windows && other->running_state->windows)
|
||||
return 1;
|
||||
|
||||
return shell_app_get_last_user_time (other) - shell_app_get_last_user_time (app);
|
||||
return other->running_state->last_user_time - app->running_state->last_user_time;
|
||||
}
|
||||
|
||||
return 0;
|
||||
@ -877,6 +871,8 @@ shell_app_on_user_time_changed (MetaWindow *window,
|
||||
{
|
||||
g_assert (app->running_state != NULL);
|
||||
|
||||
app->running_state->last_user_time = meta_window_get_user_time (window);
|
||||
|
||||
/* Ideally we don't want to emit windows-changed if the sort order
|
||||
* isn't actually changing. This check catches most of those.
|
||||
*/
|
||||
@ -907,6 +903,8 @@ void
|
||||
_shell_app_add_window (ShellApp *app,
|
||||
MetaWindow *window)
|
||||
{
|
||||
guint32 user_time;
|
||||
|
||||
if (app->running_state && g_slist_find (app->running_state->windows, window))
|
||||
return;
|
||||
|
||||
@ -920,6 +918,10 @@ _shell_app_add_window (ShellApp *app,
|
||||
g_signal_connect (window, "unmanaged", G_CALLBACK(shell_app_on_unmanaged), app);
|
||||
g_signal_connect (window, "notify::user-time", G_CALLBACK(shell_app_on_user_time_changed), app);
|
||||
|
||||
user_time = meta_window_get_user_time (window);
|
||||
if (user_time > app->running_state->last_user_time)
|
||||
app->running_state->last_user_time = user_time;
|
||||
|
||||
if (app->state != SHELL_APP_STATE_STARTING)
|
||||
shell_app_state_transition (app, SHELL_APP_STATE_RUNNING);
|
||||
|
||||
@ -1079,7 +1081,6 @@ shell_app_launch (ShellApp *app,
|
||||
gboolean ret;
|
||||
ShellGlobal *global;
|
||||
MetaScreen *screen;
|
||||
GdkDisplay *gdisplay;
|
||||
|
||||
if (startup_id)
|
||||
*startup_id = NULL;
|
||||
@ -1098,7 +1099,6 @@ shell_app_launch (ShellApp *app,
|
||||
|
||||
global = shell_global_get ();
|
||||
screen = shell_global_get_screen (global);
|
||||
gdisplay = gdk_screen_get_display (shell_global_get_gdk_screen (global));
|
||||
|
||||
if (timestamp == 0)
|
||||
timestamp = shell_global_get_current_time (global);
|
||||
@ -1106,7 +1106,7 @@ shell_app_launch (ShellApp *app,
|
||||
if (workspace < 0)
|
||||
workspace = meta_screen_get_active_workspace_index (screen);
|
||||
|
||||
context = gdk_display_get_app_launch_context (gdisplay);
|
||||
context = gdk_app_launch_context_new ();
|
||||
gdk_app_launch_context_set_timestamp (context, timestamp);
|
||||
gdk_app_launch_context_set_desktop (context, workspace);
|
||||
|
||||
@ -1220,13 +1220,12 @@ shell_app_init_search_data (ShellApp *app)
|
||||
|
||||
/**
|
||||
* shell_app_compare_by_name:
|
||||
* @app: One app
|
||||
* @other: The other app
|
||||
* @app:
|
||||
* @other:
|
||||
*
|
||||
* Order two applications by name.
|
||||
*
|
||||
* Returns: -1, 0, or 1; suitable for use as a comparison function
|
||||
* for e.g. g_slist_sort()
|
||||
* Returns: -1, 0, or 1; suitable for use as a comparison function for e.g. g_slist_sort()
|
||||
*/
|
||||
int
|
||||
shell_app_compare_by_name (ShellApp *app, ShellApp *other)
|
||||
|
143
src/shell-arrow.c
Normal file
143
src/shell-arrow.c
Normal file
@ -0,0 +1,143 @@
|
||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include "shell-arrow.h"
|
||||
|
||||
#include <clutter/clutter.h>
|
||||
#include <gtk/gtk.h>
|
||||
#include <cairo.h>
|
||||
|
||||
enum {
|
||||
PROP_0,
|
||||
|
||||
PROP_DIRECTION
|
||||
};
|
||||
|
||||
G_DEFINE_TYPE(ShellArrow, shell_arrow, CLUTTER_TYPE_CAIRO_TEXTURE);
|
||||
|
||||
struct _ShellArrowPrivate {
|
||||
GtkArrowType direction;
|
||||
};
|
||||
|
||||
static void shell_arrow_redraw (ShellArrow *self);
|
||||
|
||||
static void
|
||||
shell_arrow_set_property (GObject *object,
|
||||
guint prop_id,
|
||||
const GValue *value,
|
||||
GParamSpec *pspec)
|
||||
{
|
||||
ShellArrow *self = SHELL_ARROW (object);
|
||||
|
||||
switch (prop_id)
|
||||
{
|
||||
case PROP_DIRECTION:
|
||||
self->priv->direction = g_value_get_enum (value);
|
||||
break;
|
||||
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||
break;
|
||||
}
|
||||
|
||||
shell_arrow_redraw (self);
|
||||
}
|
||||
|
||||
static void
|
||||
shell_arrow_get_property (GObject *object,
|
||||
guint prop_id,
|
||||
GValue *value,
|
||||
GParamSpec *pspec)
|
||||
{
|
||||
ShellArrow *self = SHELL_ARROW (object);
|
||||
|
||||
switch (prop_id)
|
||||
{
|
||||
case PROP_DIRECTION:
|
||||
g_value_set_enum (value, self->priv->direction);
|
||||
break;
|
||||
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
shell_arrow_redraw (ShellArrow *self)
|
||||
{
|
||||
cairo_t *cr;
|
||||
guint width, height;
|
||||
|
||||
g_object_get (G_OBJECT (self), "surface-width", &width,
|
||||
"surface-height", &height,
|
||||
NULL);
|
||||
|
||||
if (width == 0)
|
||||
return;
|
||||
|
||||
cr = clutter_cairo_texture_create (CLUTTER_CAIRO_TEXTURE (self));
|
||||
|
||||
cairo_set_source_rgb (cr, 1, 1, 1);
|
||||
|
||||
switch (self->priv->direction)
|
||||
{
|
||||
case GTK_ARROW_RIGHT:
|
||||
cairo_move_to (cr, 0, 0);
|
||||
cairo_line_to (cr, width, height*0.5);
|
||||
cairo_line_to (cr, 0, height);
|
||||
break;
|
||||
case GTK_ARROW_LEFT:
|
||||
cairo_move_to (cr, width, 0);
|
||||
cairo_line_to (cr, 0, height*0.5);
|
||||
cairo_line_to (cr, width, height);
|
||||
break;
|
||||
case GTK_ARROW_UP:
|
||||
cairo_move_to (cr, 0, height);
|
||||
cairo_line_to (cr, width*0.5, 0);
|
||||
cairo_line_to (cr, width, height);
|
||||
break;
|
||||
case GTK_ARROW_DOWN:
|
||||
cairo_move_to (cr, 0, 0);
|
||||
cairo_line_to (cr, width*0.5, height);
|
||||
cairo_line_to (cr, width, height);
|
||||
break;
|
||||
case GTK_ARROW_NONE:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
cairo_close_path (cr);
|
||||
cairo_fill (cr);
|
||||
|
||||
cairo_destroy (cr);
|
||||
}
|
||||
|
||||
static void
|
||||
shell_arrow_class_init (ShellArrowClass *klass)
|
||||
{
|
||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||
|
||||
g_type_class_add_private (klass, sizeof (ShellArrowPrivate));
|
||||
|
||||
object_class->get_property = shell_arrow_get_property;
|
||||
object_class->set_property = shell_arrow_set_property;
|
||||
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_DIRECTION,
|
||||
g_param_spec_enum ("direction",
|
||||
"Direction",
|
||||
"Direction",
|
||||
GTK_TYPE_ARROW_TYPE,
|
||||
GTK_ARROW_NONE,
|
||||
G_PARAM_READWRITE));
|
||||
}
|
||||
|
||||
static void
|
||||
shell_arrow_init (ShellArrow *actor)
|
||||
{
|
||||
actor->priv = G_TYPE_INSTANCE_GET_PRIVATE (actor, SHELL_TYPE_ARROW,
|
||||
ShellArrowPrivate);
|
||||
g_signal_connect (actor, "notify::surface-width", G_CALLBACK (shell_arrow_redraw), NULL);
|
||||
}
|
34
src/shell-arrow.h
Normal file
34
src/shell-arrow.h
Normal file
@ -0,0 +1,34 @@
|
||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||
#ifndef __SHELL_ARROW_H__
|
||||
#define __SHELL_ARROW_H__
|
||||
|
||||
#include <clutter/clutter.h>
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
#define SHELL_TYPE_ARROW (shell_arrow_get_type ())
|
||||
#define SHELL_ARROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SHELL_TYPE_ARROW, ShellArrow))
|
||||
#define SHELL_ARROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SHELL_TYPE_ARROW, ShellArrowClass))
|
||||
#define SHELL_IS_ARROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SHELL_TYPE_ARROW))
|
||||
#define SHELL_IS_ARROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SHELL_TYPE_ARROW))
|
||||
#define SHELL_ARROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SHELL_TYPE_ARROW, ShellArrowClass))
|
||||
|
||||
typedef struct _ShellArrow ShellArrow;
|
||||
typedef struct _ShellArrowClass ShellArrowClass;
|
||||
|
||||
typedef struct _ShellArrowPrivate ShellArrowPrivate;
|
||||
|
||||
struct _ShellArrow
|
||||
{
|
||||
ClutterCairoTexture parent;
|
||||
|
||||
ShellArrowPrivate *priv;
|
||||
};
|
||||
|
||||
struct _ShellArrowClass
|
||||
{
|
||||
ClutterCairoTextureClass parent_class;
|
||||
};
|
||||
|
||||
GType shell_arrow_get_type (void) G_GNUC_CONST;
|
||||
|
||||
#endif /* __SHELL_ARROW_H__ */
|
@ -52,17 +52,16 @@ shell_doc_system_get_all (ShellDocSystem *self)
|
||||
}
|
||||
|
||||
/**
|
||||
* shell_doc_system_lookup_by_uri:
|
||||
* @system: A #ShellDocSystem
|
||||
* @uri: URI
|
||||
* @self: A #ShellDocSystem
|
||||
* @uri: Url
|
||||
*
|
||||
* Returns: (transfer none): Recent file info corresponding to given @uri
|
||||
*/
|
||||
GtkRecentInfo *
|
||||
shell_doc_system_lookup_by_uri (ShellDocSystem *system,
|
||||
shell_doc_system_lookup_by_uri (ShellDocSystem *self,
|
||||
const char *uri)
|
||||
{
|
||||
return g_hash_table_lookup (system->priv->infos_by_uri, uri);
|
||||
return g_hash_table_lookup (self->priv->infos_by_uri, uri);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
|
@ -636,7 +636,6 @@ shell_global_set_cursor (ShellGlobal *global,
|
||||
break;
|
||||
case SHELL_CURSOR_POINTING_HAND:
|
||||
cursor_type = GDK_HAND2;
|
||||
break;
|
||||
case SHELL_CURSOR_DND_UNSUPPORTED_TARGET:
|
||||
cursor_type = GDK_X_CURSOR;
|
||||
break;
|
||||
@ -648,7 +647,7 @@ shell_global_set_cursor (ShellGlobal *global,
|
||||
|
||||
gdk_window_set_cursor (global->stage_gdk_window, cursor);
|
||||
|
||||
g_object_unref (cursor);
|
||||
gdk_cursor_unref (cursor);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -857,18 +856,18 @@ _shell_global_get_gjs_context (ShellGlobal *global)
|
||||
* overview mode or the "looking glass" debug overlay, that block
|
||||
* application and normal key shortcuts.
|
||||
*
|
||||
* Returns: %TRUE if we succesfully entered the mode. %FALSE if we couldn't
|
||||
* Returns value: %TRUE if we succesfully entered the mode. %FALSE if we couldn't
|
||||
* enter the mode. Failure may occur because an application has the pointer
|
||||
* or keyboard grabbed, because Mutter is in a mode itself like moving a
|
||||
* window or alt-Tab window selection, or because shell_global_begin_modal()
|
||||
* was previouly called.
|
||||
*/
|
||||
gboolean
|
||||
shell_global_begin_modal (ShellGlobal *global,
|
||||
guint32 timestamp,
|
||||
MetaModalOptions options)
|
||||
shell_global_begin_modal (ShellGlobal *global,
|
||||
guint32 timestamp)
|
||||
{
|
||||
return meta_plugin_begin_modal (global->plugin, global->stage_xwindow, None, options, timestamp);
|
||||
return meta_plugin_begin_modal (global->plugin, global->stage_xwindow,
|
||||
None, 0, timestamp);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1182,13 +1181,12 @@ shell_global_get_memory_info (ShellGlobal *global,
|
||||
JSContext *context;
|
||||
gint64 now;
|
||||
|
||||
memset (meminfo, 0, sizeof (meminfo));
|
||||
#ifdef HAVE_MALLINFO
|
||||
{
|
||||
struct mallinfo info = mallinfo ();
|
||||
meminfo->glibc_uordblks = info.uordblks;
|
||||
}
|
||||
#else
|
||||
meminfo->glibc_uordblks = 0;
|
||||
#endif
|
||||
|
||||
context = gjs_context_get_native_context (global->js_context);
|
||||
@ -1282,17 +1280,9 @@ shell_global_get_pointer (ShellGlobal *global,
|
||||
int *y,
|
||||
ClutterModifierType *mods)
|
||||
{
|
||||
GdkDeviceManager *gmanager;
|
||||
GdkDevice *gdevice;
|
||||
GdkScreen *gscreen;
|
||||
GdkModifierType raw_mods;
|
||||
|
||||
gmanager = gdk_display_get_device_manager (global->gdk_display);
|
||||
gdevice = gdk_device_manager_get_client_pointer (gmanager);
|
||||
gdk_device_get_position (gdevice, &gscreen, x, y);
|
||||
gdk_device_get_state (gdevice,
|
||||
gdk_screen_get_root_window (gscreen),
|
||||
NULL, &raw_mods);
|
||||
gdk_display_get_pointer (global->gdk_display, NULL, x, y, &raw_mods);
|
||||
*mods = raw_mods & GDK_MODIFIER_MASK;
|
||||
}
|
||||
|
||||
@ -1309,18 +1299,9 @@ shell_global_sync_pointer (ShellGlobal *global)
|
||||
{
|
||||
int x, y;
|
||||
GdkModifierType mods;
|
||||
GdkDeviceManager *gmanager;
|
||||
GdkDevice *gdevice;
|
||||
GdkScreen *gscreen;
|
||||
ClutterMotionEvent event;
|
||||
|
||||
gmanager = gdk_display_get_device_manager (global->gdk_display);
|
||||
gdevice = gdk_device_manager_get_client_pointer (gmanager);
|
||||
|
||||
gdk_device_get_position (gdevice, &gscreen, &x, &y);
|
||||
gdk_device_get_state (gdevice,
|
||||
gdk_screen_get_root_window (gscreen),
|
||||
NULL, &mods);
|
||||
gdk_display_get_pointer (global->gdk_display, NULL, &x, &y, &mods);
|
||||
|
||||
event.type = CLUTTER_MOTION;
|
||||
event.time = shell_global_get_current_time (global);
|
||||
@ -1422,7 +1403,7 @@ shell_global_create_app_launch_context (ShellGlobal *global)
|
||||
{
|
||||
GdkAppLaunchContext *context;
|
||||
|
||||
context = gdk_display_get_app_launch_context (global->gdk_display);
|
||||
context = gdk_app_launch_context_new ();
|
||||
gdk_app_launch_context_set_timestamp (context, shell_global_get_current_time (global));
|
||||
|
||||
// Make sure that the app is opened on the current workspace even if
|
||||
@ -1964,7 +1945,7 @@ shell_global_screenshot_window (ShellGlobal *global,
|
||||
* will enable a login dialog and run in a more confined
|
||||
* way. This type is suitable for the display manager.
|
||||
*
|
||||
* Returns: the type of session gnome-shell is providing.
|
||||
* Returns the type of session gnome-shell is providing.
|
||||
*/
|
||||
ShellSessionType
|
||||
shell_global_get_session_type (ShellGlobal *global)
|
||||
|
@ -39,8 +39,7 @@ guint32 shell_global_get_current_time (ShellGlobal *global);
|
||||
|
||||
/* Input/event handling */
|
||||
gboolean shell_global_begin_modal (ShellGlobal *global,
|
||||
guint32 timestamp,
|
||||
MetaModalOptions options);
|
||||
guint32 timestamp);
|
||||
void shell_global_end_modal (ShellGlobal *global,
|
||||
guint32 timestamp);
|
||||
|
||||
|
@ -136,11 +136,10 @@ shell_gtk_embed_get_preferred_width (ClutterActor *actor,
|
||||
if (embed->priv->window
|
||||
&& gtk_widget_get_visible (GTK_WIDGET (embed->priv->window)))
|
||||
{
|
||||
GtkRequisition min_req, natural_req;
|
||||
gtk_widget_get_preferred_size (GTK_WIDGET (embed->priv->window), &min_req, &natural_req);
|
||||
GtkRequisition requisition;
|
||||
gtk_widget_size_request (GTK_WIDGET (embed->priv->window), &requisition);
|
||||
|
||||
*min_width_p = min_req.width;
|
||||
*natural_width_p = natural_req.width;
|
||||
*min_width_p = *natural_width_p = requisition.width;
|
||||
}
|
||||
else
|
||||
*min_width_p = *natural_width_p = 0;
|
||||
@ -157,11 +156,10 @@ shell_gtk_embed_get_preferred_height (ClutterActor *actor,
|
||||
if (embed->priv->window
|
||||
&& gtk_widget_get_visible (GTK_WIDGET (embed->priv->window)))
|
||||
{
|
||||
GtkRequisition min_req, natural_req;
|
||||
gtk_widget_get_preferred_size (GTK_WIDGET (embed->priv->window), &min_req, &natural_req);
|
||||
GtkRequisition requisition;
|
||||
gtk_widget_size_request (GTK_WIDGET (embed->priv->window), &requisition);
|
||||
|
||||
*min_height_p = min_req.height;
|
||||
*natural_height_p = natural_req.height;
|
||||
*min_height_p = *natural_height_p = requisition.height;
|
||||
}
|
||||
else
|
||||
*min_height_p = *natural_height_p = 0;
|
||||
|
@ -619,9 +619,9 @@ static const GMarkupParser mobile_parser = {
|
||||
* @out_ccs: (out) (allow-none): (element-type utf8 utf8): a #GHashTable containing
|
||||
* country codes
|
||||
*
|
||||
* Returns: (element-type utf8 GList) (transfer container): a
|
||||
* hash table where keys are country names #gchar, values are a #GSList
|
||||
* of #ShellMobileProvider. Everything is destroyed with g_hash_table_destroy().
|
||||
* Returns: (element-type utf8 GList<Shell.MobileProvider>) (transfer container): a
|
||||
* hash table where keys are country names 'char *', values are a 'GSList *'
|
||||
* of 'ShellMobileProvider *'. Everything is destroyed with g_hash_table_destroy ().
|
||||
*/
|
||||
GHashTable *
|
||||
shell_mobile_providers_parse (GHashTable **out_ccs)
|
||||
|
@ -590,7 +590,7 @@ shell_perf_log_update_statistic_x (ShellPerfLog *perf_log,
|
||||
}
|
||||
|
||||
/**
|
||||
* shell_perf_log_add_statistics_callback:
|
||||
* shell_perf_log_add statistics_callback:
|
||||
* @perf_log: a #ShellPerfLog
|
||||
* @callback: function to call before recording statistics
|
||||
* @user_data: data to pass to @callback
|
||||
|
@ -10,7 +10,6 @@ struct _ShellRecorderSrc
|
||||
{
|
||||
GstPushSrc parent;
|
||||
|
||||
GMutex mutex_data;
|
||||
GMutex *mutex;
|
||||
|
||||
GstCaps *caps;
|
||||
@ -41,8 +40,7 @@ shell_recorder_src_init (ShellRecorderSrc *src,
|
||||
ShellRecorderSrcClass *klass)
|
||||
{
|
||||
src->queue = g_async_queue_new ();
|
||||
src->mutex = &src->mutex_data;
|
||||
g_mutex_init (src->mutex);
|
||||
src->mutex = g_mutex_new ();
|
||||
}
|
||||
|
||||
static void
|
||||
@ -142,7 +140,7 @@ shell_recorder_src_finalize (GObject *object)
|
||||
shell_recorder_src_set_caps (src, NULL);
|
||||
g_async_queue_unref (src->queue);
|
||||
|
||||
g_mutex_clear (src->mutex);
|
||||
g_mutex_free (src->mutex);
|
||||
|
||||
G_OBJECT_CLASS (parent_class)->finalize (object);
|
||||
}
|
||||
@ -282,7 +280,6 @@ plugin_init (GstPlugin *plugin)
|
||||
|
||||
/**
|
||||
* shell_recorder_src_register:
|
||||
*
|
||||
* Registers a plugin holding our single element to use privately in
|
||||
* this application. Can safely be called multiple times.
|
||||
*/
|
||||
|
@ -341,7 +341,7 @@ recorder_update_memory_used (ShellRecorder *recorder,
|
||||
* seems like a bad idea.
|
||||
*/
|
||||
recorder->only_paint = TRUE;
|
||||
clutter_stage_ensure_redraw (recorder->stage);
|
||||
clutter_redraw (recorder->stage);
|
||||
recorder->only_paint = FALSE;
|
||||
}
|
||||
}
|
||||
|
@ -7,8 +7,8 @@
|
||||
G_BEGIN_DECLS
|
||||
|
||||
/**
|
||||
* SECTION:shell-recorder
|
||||
* @short_description: Record from a #ClutterStage
|
||||
* SECTION:ShellRecorder
|
||||
* short_description: Record from a #ClutterStage
|
||||
*
|
||||
* The #ShellRecorder object is used to make recordings ("screencasts")
|
||||
* of a #ClutterStage. Recording is done via #GStreamer. The default is
|
||||
|
@ -75,6 +75,8 @@ shell_util_get_file_display_name_if_mount (GFile *file)
|
||||
return ret;
|
||||
}
|
||||
|
||||
#define HOME_NAME_SCHEMA "org.gnome.nautilus.desktop"
|
||||
#define HOME_NAME_KEY "home-icon-name"
|
||||
static char *
|
||||
shell_util_get_file_display_for_common_files (GFile *file)
|
||||
{
|
||||
@ -83,11 +85,26 @@ shell_util_get_file_display_for_common_files (GFile *file)
|
||||
compare = g_file_new_for_path (g_get_home_dir ());
|
||||
if (g_file_equal (file, compare))
|
||||
{
|
||||
GSettings *settings;
|
||||
char *name;
|
||||
|
||||
g_object_unref (compare);
|
||||
/* Translators: this is the same string as the one found in
|
||||
* nautilus */
|
||||
return g_strdup (_("Home"));
|
||||
|
||||
settings = g_settings_new (HOME_NAME_SCHEMA);
|
||||
name = g_settings_get_string (settings, HOME_NAME_KEY);
|
||||
g_object_unref (settings);
|
||||
|
||||
if (!(name && name[0]))
|
||||
{
|
||||
g_free (name);
|
||||
return g_strdup (_("Home Folder"));
|
||||
}
|
||||
else
|
||||
{
|
||||
return name;
|
||||
}
|
||||
}
|
||||
g_object_unref (compare);
|
||||
|
||||
compare = g_file_new_for_path ("/");
|
||||
if (g_file_equal (file, compare))
|
||||
|
@ -639,7 +639,7 @@ shell_window_tracker_get_window_app (ShellWindowTracker *tracker,
|
||||
|
||||
/**
|
||||
* shell_window_tracker_get_app_from_pid:
|
||||
* @tracker: A #ShellAppSystem
|
||||
* @self; A #ShellAppSystem
|
||||
* @pid: A Unix process identifier
|
||||
*
|
||||
* Look up the application corresponding to a process.
|
||||
@ -647,7 +647,7 @@ shell_window_tracker_get_window_app (ShellWindowTracker *tracker,
|
||||
* Returns: (transfer none): A #ShellApp, or %NULL if none
|
||||
*/
|
||||
ShellApp *
|
||||
shell_window_tracker_get_app_from_pid (ShellWindowTracker *tracker,
|
||||
shell_window_tracker_get_app_from_pid (ShellWindowTracker *self,
|
||||
int pid)
|
||||
{
|
||||
GSList *running = shell_app_system_get_running (shell_app_system_get_default());
|
||||
|
@ -8,8 +8,8 @@
|
||||
#include <X11/extensions/Xfixes.h>
|
||||
|
||||
/**
|
||||
* SECTION:shell-xfixes-cursor
|
||||
* @short_description: Capture/manipulate system mouse cursor.
|
||||
* SECTION:ShellXFixesCursor
|
||||
* short_description: Capture/manipulate system mouse cursor.
|
||||
*
|
||||
* The #ShellXFixesCursor object uses the XFixes extension to show/hide the
|
||||
* the system mouse pointer, to grab its image as it changes, and emit a
|
||||
|
@ -20,7 +20,7 @@
|
||||
|
||||
/**
|
||||
* SECTION:st-group
|
||||
* @see_also:#ClutterGroup
|
||||
* SECTION:clutter-group
|
||||
* @short_description: A fixed layout container
|
||||
*
|
||||
* A #StGroup is an Actor which contains multiple child actors positioned
|
||||
|
@ -174,6 +174,20 @@ st_icon_dispose (GObject *gobject)
|
||||
G_OBJECT_CLASS (st_icon_parent_class)->dispose (gobject);
|
||||
}
|
||||
|
||||
static void
|
||||
st_icon_finalize (GObject *gobject)
|
||||
{
|
||||
StIconPrivate *priv = ST_ICON (gobject)->priv;
|
||||
|
||||
if (priv->icon_name)
|
||||
{
|
||||
g_free (priv->icon_name);
|
||||
priv->icon_name = NULL;
|
||||
}
|
||||
|
||||
G_OBJECT_CLASS (st_icon_parent_class)->finalize (gobject);
|
||||
}
|
||||
|
||||
static void
|
||||
st_icon_get_preferred_height (ClutterActor *actor,
|
||||
gfloat for_width,
|
||||
@ -317,6 +331,7 @@ st_icon_class_init (StIconClass *klass)
|
||||
object_class->get_property = st_icon_get_property;
|
||||
object_class->set_property = st_icon_set_property;
|
||||
object_class->dispose = st_icon_dispose;
|
||||
object_class->finalize = st_icon_finalize;
|
||||
|
||||
actor_class->get_preferred_height = st_icon_get_preferred_height;
|
||||
actor_class->get_preferred_width = st_icon_get_preferred_width;
|
||||
|
@ -25,7 +25,7 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* SECTION:st-im-text
|
||||
* SECTION:StIMText
|
||||
* @short_description: Text widget with input method support
|
||||
* @stability: Unstable
|
||||
* @see_also: #ClutterText
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user