Compare commits
186 Commits
Author | SHA1 | Date | |
---|---|---|---|
5ea032bbf7 | |||
897fadfb40 | |||
b05f71eb9b | |||
4ce0e80956 | |||
577ccc4d56 | |||
39d12351ba | |||
e37bc6d7f0 | |||
9593ff3582 | |||
ad8dfd7b04 | |||
ca5ab20f67 | |||
0eab448221 | |||
a26a77f9db | |||
c3df6bb8bd | |||
ce3a26cf37 | |||
04482c23c4 | |||
ff20fe856e | |||
12e3921f81 | |||
928fbee15b | |||
a103c028f9 | |||
775347d865 | |||
6d0be86a4e | |||
a4b69db8af | |||
790b9d3371 | |||
adef2009a5 | |||
1721db6d8d | |||
6d95e8b988 | |||
b07f9932db | |||
9439da81c4 | |||
6257e64d03 | |||
ba110f2d2e | |||
6bdf621d05 | |||
1c4db98c95 | |||
dadac957e4 | |||
cf3976d496 | |||
82ed80c9c3 | |||
67222525ad | |||
fff0861773 | |||
13ffe41498 | |||
96e0528a7b | |||
3df30fbd57 | |||
b57d8b336b | |||
3169b2c440 | |||
6bc34e0f32 | |||
cecb1a41fb | |||
b9069df85c | |||
aee3c6f041 | |||
c427bba9f1 | |||
da83ad561b | |||
85520e34ab | |||
d0edd970e1 | |||
8529ca70af | |||
1a8d78212f | |||
4270a2806d | |||
4333bdc709 | |||
75b824d032 | |||
7bc2573d85 | |||
67b7b7a950 | |||
786cfbd397 | |||
9df8b583cf | |||
8e32290dc9 | |||
23478f3336 | |||
2e244ecb63 | |||
e307680206 | |||
6bb1a3e2c4 | |||
8a1ac6b13f | |||
61b8af2252 | |||
c99afed012 | |||
2947b92148 | |||
39c5d23a87 | |||
d839670f54 | |||
0d1b7e15d1 | |||
ac678f63ee | |||
d862c0879b | |||
23a4d4c69e | |||
472b20d933 | |||
492dd718fb | |||
0d5618fdd1 | |||
503508af41 | |||
4ec5e55122 | |||
8daca865ca | |||
f9b37a21e8 | |||
c398f319fc | |||
1e049f88b8 | |||
4831d9c3a3 | |||
f13f5bc1bb | |||
4e114107ed | |||
0ccb280008 | |||
28c3e0693e | |||
c321c8a02f | |||
2407ec7b47 | |||
70eeb75716 | |||
751d250471 | |||
c28217db80 | |||
0968e556fa | |||
130f2cf808 | |||
4eec7413c7 | |||
efc3246d26 | |||
9930dbc0ff | |||
754f87dac3 | |||
51139bd096 | |||
6e0119d620 | |||
a3528bf973 | |||
77c36af588 | |||
69c0a52a33 | |||
a7442cd0a5 | |||
d47a013931 | |||
745f9c0e6e | |||
414f49fd80 | |||
e49a595f54 | |||
77485c2a04 | |||
e9b28634e5 | |||
b43dcb8876 | |||
f0c1eeece8 | |||
1e6b824ede | |||
1e2d16273c | |||
32dc24c59b | |||
7a8a189c48 | |||
6aa411fecc | |||
9c76318df8 | |||
6510904711 | |||
a9817f4832 | |||
9067689839 | |||
4e9e91fdce | |||
73cc91ba60 | |||
0ab0d0860f | |||
337b399a75 | |||
46f21e81e3 | |||
c1300ddbbc | |||
8bd5b1e696 | |||
40c5db397d | |||
8b52919b4d | |||
2859f23038 | |||
00384ccb47 | |||
0191cc589a | |||
dae6db9b51 | |||
4d912c9feb | |||
07c4b46466 | |||
e9cdce49a3 | |||
84c3ce8778 | |||
d5a32a7fe4 | |||
cc4dfda21b | |||
703b37aa7b | |||
b433de9022 | |||
0c1a22ff95 | |||
4d526e40c3 | |||
4586c7b36b | |||
3d60b73b60 | |||
4ef5cd8ef6 | |||
6959bd19f1 | |||
17e4ce5ea8 | |||
33094b4988 | |||
a8fdcffd44 | |||
5adb5411fa | |||
ff0d11c89c | |||
5f6dce2b5c | |||
a7405e8b39 | |||
d87c520bad | |||
24959f8d34 | |||
6d1432e166 | |||
2c7ba2c125 | |||
a0ba664c64 | |||
131da5f523 | |||
7c6144450a | |||
4c7369db16 | |||
f4355de896 | |||
4a3db9f44d | |||
6c0a9ff9cc | |||
57b1695fcf | |||
045c6546cc | |||
ce5bd954bf | |||
6ef00a4a3b | |||
569d9718a0 | |||
00a3a8697f | |||
c93444e390 | |||
5e5788ab14 | |||
abf57e6362 | |||
74c2074d5a | |||
b74606312e | |||
0c849df4d5 | |||
38690d4a09 | |||
b64c237cb3 | |||
3fbee8e027 | |||
a68e6e3c63 | |||
db5a72774d | |||
966f90f24a | |||
eaa664c023 |
104
NEWS
104
NEWS
@ -1,3 +1,107 @@
|
||||
3.2.1
|
||||
=====
|
||||
* Restore the IM state on startup - if you were available in when you logged
|
||||
out, then you'll be set available again when you log in.
|
||||
[Florian; #65902, #661485]
|
||||
* Improve searching for contacts in the overview: search more fields,
|
||||
show a more meaningful name, require that all search terms match.
|
||||
[Florian, Matthias; #660580]
|
||||
* Improve search for applications in the overview: take frequency into
|
||||
account and tweak match algorithm [Florian; #623372]
|
||||
* Remove the "Show Password" switch from network password prompts, and
|
||||
move the functionality to a right-click menu [Florian; #658948]
|
||||
* Add context menus with Cut/Paste options to most entries [Florian; #659275]
|
||||
* On screen keyboard:
|
||||
- Show the keyboard immediately when it's turned enabled [Dan; #659743]
|
||||
- Fix problem where keyboard would hide when starting to type
|
||||
in the search entry [Nohemi; #661340]
|
||||
- Fix problem with keyboard hiding when selected accented characters
|
||||
[Nohemi; 661707]
|
||||
* Login mode:
|
||||
- Allow hitting Enter to select the first user [Ray; #657996]
|
||||
- Fix flicker of a fingerprint prompt that could show up [Ray; #660492]
|
||||
- Fix password bullets vanishing during login [Ray; #657894]
|
||||
- Misc bug fixes and visual tweaks [Ray; #659763, #660919, #661479]
|
||||
* Display a caps-lock warning in password entries [Florian; #660806]
|
||||
* Show the state of installed extensions in Looking Glass [Jasper; #660494]
|
||||
* Load user extensions after system ones [Jasper; #661815]
|
||||
* Fix problem with many applications showing extra-large icons in
|
||||
notifications [Marina; #659158]
|
||||
* Fix a problem where alt-Tab had trouble tracking the current
|
||||
application with certain applications such as Emacs. [Dan; #645026]
|
||||
* Fix confusion between different users avatar images [Florian; #660585]
|
||||
* Remove behavior where you could switch workspaces by bumping
|
||||
a dragged window in the overview against a screen edge; it was
|
||||
leftover and just confusing. [Florian; #660838]
|
||||
* Fix long-standing bug where the Dash in the overview could end up mis-sized
|
||||
and run off the screen [Florian; #649248]
|
||||
* Fix automatic launching of applications when media is inserted
|
||||
[Cosimo; #660821]
|
||||
* Fix handling of vertically stacked monitors with NVIDIA drivers
|
||||
[Florian; #661387]
|
||||
* Translation marking fixes [Jasper, Wouter; #660600]
|
||||
* Code cleanups and warning fixes [Adel, Dan, Florian, Jasper;
|
||||
#659822, #659940, #660122, #660358, #660968, #661231]
|
||||
* Small memory leak fixes [Florian, Jasper; #661231]
|
||||
* Misc bug fixes [Adel, Florian, Jasper; #659274, #659861, #660166, #660310,
|
||||
#660397, #660608, #660606, #660674, #660774. #660848, #661151, #661617]
|
||||
|
||||
Contributors:
|
||||
Wouter Bolsterlee, Cosimo Cecchi, Matthias Clasen, Nohemi Fernandez,
|
||||
Adel Gadllah, Florian Müllner, Jasper St. Pierre, Ray Strode, Dan Winship,
|
||||
Marina Zhurakhinskaya
|
||||
|
||||
Translations:
|
||||
Tiffany Antopolski [eo], Xandru Armesto [ast], Alexander Shopov,
|
||||
Ivaylo Valkov [bg], Gil Forcada [ca], Carles Ferrando [ca@valencia],
|
||||
Mario Blättermann, Paul Seyfert [de], Bruce Cowan [en_GB],
|
||||
Jorge González, Daniel Mustieles [es], Arash Mousavi [fa], Bruno Brouard [fr],
|
||||
Seán de Búrca [ga], Fran Diéguez [gl], Gabor Kelemen [hu], Luca Ferretti [it],
|
||||
Takayuki Kusano [ja], Changwoo Ryu [ko], Erdal Ronahi [ku],
|
||||
Algimantas Margevičius [lt], Rudolfs Mazurs [lv], Wouter Bolsterlee [nl],
|
||||
Piotr Drąg [pl], Adorilson Bezerra [pt_BR], Yuri Myasoedov [ru],
|
||||
Matej Urbančič [sl], Daniel Nylander [sv], Miroslav Nikolić [sr, sr@latin],
|
||||
Tirumurti Vasudevan [ta], Krishnababu Krothapalli [te], Daniel Korostil [uk],
|
||||
Nguyễn Thái Ngọc Duy [vi], YunQiang Su [zh_CN]
|
||||
|
||||
3.2.0
|
||||
=====
|
||||
* Prevent the fallback on-screen keyboard from showing up while
|
||||
GNOME Shell is running [Dan, #659865]
|
||||
* Disable code to reposition windows around the on-screen keyboard;
|
||||
it wasn't finished or working properly. [Dan; #659643]
|
||||
* Fix interaction between on-screen keyboard and notifications
|
||||
[Dan; #658603]
|
||||
* Fix menu-sizing problems in right-to-left locales. [Florian; #659827]
|
||||
* Update chat icons in the message tray when an avatar image changes
|
||||
[Marina; #659768]
|
||||
* Fix problem with empty notification bubbles being left [Marina; #659862]
|
||||
* Fix problem with chat notifications bouncing when new messages come in.
|
||||
[Marina; #659768]
|
||||
* Fix bug that was causing SIP calls to automatically be accepted in some
|
||||
circumstances [Guillaume; #660084]
|
||||
* Fix string that should have been marked translatable [Frédéric]
|
||||
* Fix a crash that could happen during CSS transitions [Florian; #659676]
|
||||
* Build fixes [Colin, Florian]
|
||||
|
||||
Contributors:
|
||||
Guillaume Desmottes, Florian Müllner, Frédéric Péters, Colin Walters,
|
||||
Dan Winship, Marina Zhurakhinskaya
|
||||
|
||||
Translations:
|
||||
Friedel Wolff [af], Nilamdyuti Goswami [as], Ihar Hrachyshka [be],
|
||||
Ivaylo Valkov [bg], Gil Forcada [ca], Carles Ferrando [ca@valencia],
|
||||
Petr Kovar [cz], Mario Blättermann [de], Kris Thomsen [dk],
|
||||
Tiffany Antopolski, Kristjan Schmidt [eo], Daniel Mustieles [es],
|
||||
Inaki Larranaga Murgoitio [eu], Tommi Vainikainen [fi], Bruno Brouard [fr],
|
||||
Fran Dieguez [gl], Yaron Shahrabani [he], Gabor Kelemen [hu],
|
||||
Andika Triwidada [id], Jiro Matsuzawa [ja], Changwoo Ryu [ko],
|
||||
Rudolfs Mazurs [lv], Aurimas Černius [lt], Kjartan Maraas [nb],
|
||||
A S Alam [pa], Piotr Drąg [pl], Duarte Loreto [pt], Djavan Fagundes,
|
||||
Rodolfo Ribeiro Gomes, Gabriel F. Vilar [pt_BR], Yuri Myasoedov [ru],
|
||||
Daniel Nylander [se], Martin Srebotnjak [sl], Michal Štrba [sv],
|
||||
Krishnababu Krothapalli, Praveen Illa [te], Cheng-Chia Tseng [zh_KH, zh_TW]
|
||||
|
||||
3.1.92
|
||||
======
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
AC_PREREQ(2.63)
|
||||
AC_INIT([gnome-shell],[3.1.92],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
|
||||
AC_INIT([gnome-shell],[3.2.1],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
|
||||
|
||||
AC_CONFIG_HEADERS([config.h])
|
||||
AC_CONFIG_SRCDIR([src/shell-global.c])
|
||||
@ -9,7 +9,7 @@ AC_CONFIG_AUX_DIR([config])
|
||||
AC_SUBST([PACKAGE_NAME], ["$PACKAGE_NAME"])
|
||||
AC_SUBST([PACKAGE_VERSION], ["$PACKAGE_VERSION"])
|
||||
|
||||
AM_INIT_AUTOMAKE([1.10 dist-xz no-dist-gzip foreign])
|
||||
AM_INIT_AUTOMAKE([1.11 no-dist-gzip dist-xz tar-ustar foreign])
|
||||
AM_MAINTAINER_MODE([enable])
|
||||
|
||||
m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
|
||||
@ -66,8 +66,8 @@ AM_CONDITIONAL(BUILD_RECORDER, $build_recorder)
|
||||
|
||||
CLUTTER_MIN_VERSION=1.7.5
|
||||
GOBJECT_INTROSPECTION_MIN_VERSION=0.10.1
|
||||
GJS_MIN_VERSION=1.29.15
|
||||
MUTTER_MIN_VERSION=3.0.0
|
||||
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.29.10
|
||||
|
@ -50,6 +50,14 @@
|
||||
<default>[]</default>
|
||||
<_summary>History for the looking glass dialog</_summary>
|
||||
</key>
|
||||
<key name="saved-im-presence" type="i">
|
||||
<default>1</default>
|
||||
<_summary></_summary>
|
||||
</key>
|
||||
<key name="saved-session-presence" type="i">
|
||||
<default>0</default>
|
||||
<_summary></_summary>
|
||||
</key>
|
||||
<child name="clock" schema="org.gnome.shell.clock"/>
|
||||
<child name="calendar" schema="org.gnome.shell.calendar"/>
|
||||
<child name="recorder" schema="org.gnome.shell.recorder"/>
|
||||
|
@ -98,8 +98,12 @@
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
.login-dialog-not-listed-button:hover .login-dialog-not-listed-label {
|
||||
color: white;
|
||||
}
|
||||
|
||||
.login-dialog-prompt-layout {
|
||||
padding-bottom: 64px;
|
||||
padding-bottom: 32px;
|
||||
}
|
||||
.login-dialog-prompt-label {
|
||||
color: white;
|
||||
@ -117,6 +121,16 @@
|
||||
width: 15em;
|
||||
}
|
||||
|
||||
.login-dialog-prompt-entry .capslock-warning {
|
||||
icon-size: 16px;
|
||||
warning-color: #999;
|
||||
}
|
||||
|
||||
.login-dialog-prompt-entry:insensitive {
|
||||
color: rgba(0,0,0,0.7);
|
||||
border: 2px solid #565656;
|
||||
}
|
||||
|
||||
.login-dialog-session-list {
|
||||
color: #ffffff;
|
||||
font-size: 10.5pt;
|
||||
|
@ -907,7 +907,7 @@ StTooltip StLabel {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.lg-extension-actions {
|
||||
.lg-extension-meta {
|
||||
spacing: 6px;
|
||||
}
|
||||
|
||||
@ -1907,6 +1907,12 @@ StTooltip StLabel {
|
||||
border: 2px solid #3465a4;
|
||||
}
|
||||
|
||||
.polkit-dialog-password-entry .capslock-warning {
|
||||
icon-size: 16px;
|
||||
warning-color: #999;
|
||||
padding: 0 4px;
|
||||
}
|
||||
|
||||
.polkit-dialog-error-label {
|
||||
font-size: 10pt;
|
||||
color: #ffff00;
|
||||
@ -1925,14 +1931,6 @@ StTooltip StLabel {
|
||||
padding-bottom: 8px;
|
||||
}
|
||||
|
||||
.network-dialog-show-password-checkbox {
|
||||
padding-top: 5px;
|
||||
padding-bottom: 5px;
|
||||
font-size: 10pt;
|
||||
color: white;
|
||||
spacing: 10px;
|
||||
}
|
||||
|
||||
.network-dialog-secret-table {
|
||||
spacing-rows: 15px;
|
||||
}
|
||||
|
@ -46,6 +46,7 @@ nobase_dist_js_DATA = \
|
||||
ui/messageTray.js \
|
||||
ui/modalDialog.js \
|
||||
ui/networkAgent.js \
|
||||
ui/shellEntry.js \
|
||||
ui/shellMountOperation.js \
|
||||
ui/notificationDaemon.js \
|
||||
ui/overview.js \
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*-
|
||||
*
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
/*
|
||||
* Copyright 2011 Red Hat, Inc
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
|
@ -1,4 +1,4 @@
|
||||
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const DBus = imports.dbus;
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const DBus = imports.dbus;
|
||||
const Lang = imports.lang;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*-
|
||||
*
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
/*
|
||||
* Copyright 2011 Red Hat, Inc
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@ -297,6 +297,20 @@ UserList.prototype = {
|
||||
x_align: St.Align.START,
|
||||
y_align: St.Align.MIDDLE });
|
||||
this._items = {};
|
||||
|
||||
this.actor.connect('key-focus-in', Lang.bind(this, this._moveFocusToItems));
|
||||
},
|
||||
|
||||
_moveFocusToItems: function() {
|
||||
let hasItems = Object.keys(this._items).length > 0;
|
||||
|
||||
if (!hasItems)
|
||||
return;
|
||||
|
||||
if (global.stage.get_key_focus() != this.actor)
|
||||
return;
|
||||
|
||||
this.actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false);
|
||||
},
|
||||
|
||||
_showItem: function(item) {
|
||||
@ -502,6 +516,8 @@ UserList.prototype = {
|
||||
item.showFocusAnimation(0);
|
||||
}));
|
||||
|
||||
this._moveFocusToItems();
|
||||
|
||||
this.emit('item-added', item);
|
||||
},
|
||||
|
||||
@ -694,10 +710,13 @@ SessionList.prototype = {
|
||||
let ids = GdmGreeter.get_session_ids();
|
||||
ids.sort();
|
||||
|
||||
if (ids.length <= 1)
|
||||
if (ids.length <= 1) {
|
||||
this._box.hide();
|
||||
else
|
||||
this._button.hide();
|
||||
} else {
|
||||
this._button.show();
|
||||
this._box.show();
|
||||
}
|
||||
|
||||
for (let i = 0; i < ids.length; i++) {
|
||||
let [sessionName, sessionDescription] = GdmGreeter.get_session_name_and_description(ids[i]);
|
||||
@ -922,6 +941,7 @@ LoginDialog.prototype = {
|
||||
|
||||
function() {
|
||||
this._sessionList.close();
|
||||
this._promptFingerprintMessage.hide();
|
||||
this._userList.actor.show();
|
||||
this._userList.actor.opacity = 255;
|
||||
return this._userList.showItems();
|
||||
@ -943,7 +963,18 @@ LoginDialog.prototype = {
|
||||
},
|
||||
|
||||
_onInfo: function(client, serviceName, info) {
|
||||
// we don't want fingerprint messages with the word UPEK in them
|
||||
// We don't display fingerprint messages, because they
|
||||
// have words like UPEK in them. Instead we use the messages
|
||||
// as a cue to display our own message.
|
||||
if (serviceName == _FINGERPRINT_SERVICE_NAME &&
|
||||
this._haveFingerprintReader &&
|
||||
(!this._promptFingerprintMessage.visible ||
|
||||
this._promptFingerprintMessage.opacity != 255)) {
|
||||
|
||||
_fadeInActor(this._promptFingerprintMessage);
|
||||
return;
|
||||
}
|
||||
|
||||
if (serviceName != _PASSWORD_SERVICE_NAME)
|
||||
return;
|
||||
Main.notifyError(info);
|
||||
@ -971,10 +1002,10 @@ LoginDialog.prototype = {
|
||||
},
|
||||
|
||||
function() {
|
||||
if (!this._haveFingerprintReader)
|
||||
return null;
|
||||
|
||||
return _fadeInActor(this._promptFingerprintMessage);
|
||||
// Show it with 0 opacity so we preallocate space for it
|
||||
// in the event we need to fade in the message
|
||||
this._promptFingerprintMessage.opacity = 0;
|
||||
this._promptFingerprintMessage.show();
|
||||
},
|
||||
|
||||
function() {
|
||||
@ -1046,6 +1077,8 @@ LoginDialog.prototype = {
|
||||
|
||||
function() {
|
||||
this._promptFingerprintMessage.hide();
|
||||
this._promptEntry.reactive = true;
|
||||
this._promptEntry.remove_style_pseudo_class('insensitive');
|
||||
this._promptEntry.set_text('');
|
||||
}];
|
||||
|
||||
@ -1061,7 +1094,8 @@ LoginDialog.prototype = {
|
||||
|
||||
function() {
|
||||
let _text = this._promptEntry.get_text();
|
||||
this._promptEntry.set_text('');
|
||||
this._promptEntry.reactive = false;
|
||||
this._promptEntry.add_style_pseudo_class('insensitive');
|
||||
this._greeterClient.call_answer_query(serviceName, _text);
|
||||
}];
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*-
|
||||
*
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
/*
|
||||
* Copyright 2011 Red Hat, Inc
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
|
@ -1,4 +1,5 @@
|
||||
/* mode: js2; indent-tabs-mode: nil; tab-size: 4 */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
/* The name of this package (not localized) */
|
||||
const PACKAGE_NAME = '@PACKAGE_NAME@';
|
||||
/* The version of this package */
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const St = imports.gi.St;
|
||||
const Shell = imports.gi.Shell;
|
||||
|
@ -1,3 +1,5 @@
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Gio = imports.gi.Gio;
|
||||
const GLib = imports.gi.GLib;
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
/*
|
||||
* This function is intended to extend the String object and provide
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const DBus = imports.dbus;
|
||||
const Lang = imports.lang;
|
||||
@ -78,7 +78,7 @@ function Inhibitor(objectPath) {
|
||||
Inhibitor.prototype = {
|
||||
_init: function(objectPath) {
|
||||
DBus.session.proxifyObject(this,
|
||||
"org.gnome.SessionManager",
|
||||
'org.gnome.SessionManager',
|
||||
objectPath);
|
||||
this.isLoaded = false;
|
||||
this._loadingPropertiesCount = InhibitorIface.properties.length;
|
||||
@ -94,7 +94,7 @@ Inhibitor.prototype = {
|
||||
|
||||
if (this._loadingPropertiesCount == 0) {
|
||||
this.isLoaded = true;
|
||||
this.emit("is-loaded");
|
||||
this.emit('is-loaded');
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Lang = imports.lang;
|
||||
const Signals = imports.signals;
|
||||
|
@ -1,4 +1,4 @@
|
||||
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const DBus = imports.dbus;
|
||||
const Lang = imports.lang;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
// parse:
|
||||
// @params: caller-provided parameter object, or %null
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const DBus = imports.dbus;
|
||||
const Lang = imports.lang;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Gdk = imports.gi.Gdk;
|
||||
const Gio = imports.gi.Gio;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Main = imports.ui.main;
|
||||
const Scripting = imports.ui.scripting;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const Gdk = imports.gi.Gdk;
|
||||
@ -134,11 +134,40 @@ AltTabPopup.prototype = {
|
||||
}
|
||||
},
|
||||
|
||||
show : function(backward, binding, mask) {
|
||||
_getAppLists: function() {
|
||||
let tracker = Shell.WindowTracker.get_default();
|
||||
let appSys = Shell.AppSystem.get_default();
|
||||
let apps = appSys.get_running ();
|
||||
let allApps = appSys.get_running ();
|
||||
|
||||
if (!apps.length)
|
||||
let screen = global.screen;
|
||||
let display = screen.get_display();
|
||||
let windows = display.get_tab_list(Meta.TabList.NORMAL, screen,
|
||||
screen.get_active_workspace());
|
||||
|
||||
// windows is only the windows on the current workspace. For
|
||||
// each one, if it corresponds to an app we know, move that
|
||||
// app from allApps to apps.
|
||||
let apps = [];
|
||||
for (let i = 0; i < windows.length && allApps.length != 0; i++) {
|
||||
let app = tracker.get_window_app(windows[i]);
|
||||
let index = allApps.indexOf(app);
|
||||
if (index != -1) {
|
||||
apps.push(app);
|
||||
allApps.splice(index, 1);
|
||||
}
|
||||
}
|
||||
|
||||
// Now @apps is a list of apps on the current workspace, in
|
||||
// standard Alt+Tab order (MRU except for minimized windows),
|
||||
// and allApps is a list of apps that only appear on other
|
||||
// workspaces, sorted by user_time, which is good enough.
|
||||
return [apps, allApps];
|
||||
},
|
||||
|
||||
show : function(backward, binding, mask) {
|
||||
let [localApps, otherApps] = this._getAppLists();
|
||||
|
||||
if (localApps.length == 0 && otherApps.length == 0)
|
||||
return false;
|
||||
|
||||
if (!Main.pushModal(this.actor))
|
||||
@ -152,7 +181,7 @@ AltTabPopup.prototype = {
|
||||
this.actor.connect('button-press-event', Lang.bind(this, this._clickedOutside));
|
||||
this.actor.connect('scroll-event', Lang.bind(this, this._onScroll));
|
||||
|
||||
this._appSwitcher = new AppSwitcher(apps, this);
|
||||
this._appSwitcher = new AppSwitcher(localApps, otherApps, this);
|
||||
this.actor.add_actor(this._appSwitcher.actor);
|
||||
this._appSwitcher.connect('item-activated', Lang.bind(this, this._appActivated));
|
||||
this._appSwitcher.connect('item-entered', Lang.bind(this, this._appEntered));
|
||||
@ -846,33 +875,32 @@ AppIcon.prototype = {
|
||||
}
|
||||
};
|
||||
|
||||
function AppSwitcher(apps, altTabPopup) {
|
||||
this._init(apps, altTabPopup);
|
||||
function AppSwitcher() {
|
||||
this._init.apply(this, arguments);
|
||||
}
|
||||
|
||||
AppSwitcher.prototype = {
|
||||
__proto__ : SwitcherList.prototype,
|
||||
|
||||
_init : function(apps, altTabPopup) {
|
||||
_init : function(localApps, otherApps, altTabPopup) {
|
||||
SwitcherList.prototype._init.call(this, true);
|
||||
|
||||
// Construct the AppIcons, sort by time, add to the popup
|
||||
// Construct the AppIcons, add to the popup
|
||||
let activeWorkspace = global.screen.get_active_workspace();
|
||||
let workspaceIcons = [];
|
||||
let otherIcons = [];
|
||||
for (let i = 0; i < apps.length; i++) {
|
||||
let appIcon = new AppIcon(apps[i]);
|
||||
for (let i = 0; i < localApps.length; i++) {
|
||||
let appIcon = new AppIcon(localApps[i]);
|
||||
// Cache the window list now; we don't handle dynamic changes here,
|
||||
// and we don't want to be continually retrieving it
|
||||
appIcon.cachedWindows = appIcon.app.get_windows();
|
||||
if (this._hasWindowsOnWorkspace(appIcon, activeWorkspace))
|
||||
workspaceIcons.push(appIcon);
|
||||
else
|
||||
otherIcons.push(appIcon);
|
||||
workspaceIcons.push(appIcon);
|
||||
}
|
||||
for (let i = 0; i < otherApps.length; i++) {
|
||||
let appIcon = new AppIcon(otherApps[i]);
|
||||
appIcon.cachedWindows = appIcon.app.get_windows();
|
||||
otherIcons.push(appIcon);
|
||||
}
|
||||
|
||||
workspaceIcons.sort(Lang.bind(this, this._sortAppIcon));
|
||||
otherIcons.sort(Lang.bind(this, this._sortAppIcon));
|
||||
|
||||
this.icons = [];
|
||||
this._arrows = [];
|
||||
@ -1012,19 +1040,6 @@ AppSwitcher.prototype = {
|
||||
|
||||
if (appIcon.cachedWindows.length == 1)
|
||||
arrow.hide();
|
||||
},
|
||||
|
||||
_hasWindowsOnWorkspace: function(appIcon, workspace) {
|
||||
let windows = appIcon.cachedWindows;
|
||||
for (let i = 0; i < windows.length; i++) {
|
||||
if (windows[i].get_workspace() == workspace)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
|
||||
_sortAppIcon : function(appIcon1, appIcon2) {
|
||||
return appIcon1.app.compare(appIcon2.app);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const GLib = imports.gi.GLib;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Shell = imports.gi.Shell;
|
||||
const Lang = imports.lang;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Lang = imports.lang;
|
||||
const DBus = imports.dbus;
|
||||
@ -209,10 +209,14 @@ AutomountManager.prototype = {
|
||||
}
|
||||
}
|
||||
|
||||
// Volume is already mounted, don't bother.
|
||||
if (volume.get_mount())
|
||||
return;
|
||||
|
||||
if (!this._settings.get_boolean(SETTING_ENABLE_AUTOMOUNT) ||
|
||||
!volume.should_automount() ||
|
||||
!volume.can_mount()) {
|
||||
// allow the autorun to run anyway; this can happen if the
|
||||
// allow the autorun to run anyway; this can happen if the
|
||||
// mount gets added programmatically later, even if
|
||||
// should_automount() or can_mount() are false, like for
|
||||
// blank optical media.
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Lang = imports.lang;
|
||||
const DBus = imports.dbus;
|
||||
@ -277,7 +277,7 @@ AutorunResidentSource.prototype = {
|
||||
__proto__: MessageTray.Source.prototype,
|
||||
|
||||
_init: function() {
|
||||
MessageTray.Source.prototype._init.call(this, _('Removable Devices'));
|
||||
MessageTray.Source.prototype._init.call(this, _("Removable Devices"));
|
||||
|
||||
this._mounts = [];
|
||||
|
||||
@ -491,7 +491,7 @@ AutorunTransientDispatcher.prototype = {
|
||||
let app = null;
|
||||
|
||||
if (setting == AutorunSetting.RUN) {
|
||||
app = Gio.app_info_get_default_for_type(type, false);
|
||||
app = Gio.app_info_get_default_for_type(contentTypes[0], false);
|
||||
} else if (setting == AutorunSetting.FILES) {
|
||||
app = Gio.app_info_get_default_for_type('inode/directory', false);
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const Lang = imports.lang;
|
||||
@ -46,6 +46,7 @@ BoxPointer.prototype = {
|
||||
this._yOffset = 0;
|
||||
this._xPosition = 0;
|
||||
this._yPosition = 0;
|
||||
this._sourceAlignment = 0.5;
|
||||
},
|
||||
|
||||
show: function(animate, onComplete) {
|
||||
@ -75,7 +76,7 @@ BoxPointer.prototype = {
|
||||
Tweener.addTween(this, { opacity: 255,
|
||||
xOffset: 0,
|
||||
yOffset: 0,
|
||||
transition: "linear",
|
||||
transition: 'linear',
|
||||
onComplete: onComplete,
|
||||
time: POPUP_ANIMATION_TIME });
|
||||
},
|
||||
@ -106,7 +107,7 @@ BoxPointer.prototype = {
|
||||
Tweener.addTween(this, { opacity: 0,
|
||||
xOffset: xOffset,
|
||||
yOffset: yOffset,
|
||||
transition: "linear",
|
||||
transition: 'linear',
|
||||
time: POPUP_ANIMATION_TIME,
|
||||
onComplete: Lang.bind(this, function () {
|
||||
this.actor.hide();
|
||||
@ -180,7 +181,7 @@ BoxPointer.prototype = {
|
||||
this.bin.allocate(childBox, flags);
|
||||
|
||||
if (this._sourceActor && this._sourceActor.mapped)
|
||||
this._reposition(this._sourceActor, this._alignment);
|
||||
this._reposition(this._sourceActor, this._arrowAlignment);
|
||||
},
|
||||
|
||||
_drawBorder: function(area) {
|
||||
@ -312,24 +313,37 @@ BoxPointer.prototype = {
|
||||
this.actor.show();
|
||||
|
||||
this._sourceActor = sourceActor;
|
||||
this._alignment = alignment;
|
||||
this._arrowAlignment = alignment;
|
||||
|
||||
this._reposition(sourceActor, alignment);
|
||||
},
|
||||
|
||||
setSourceAlignment: function(alignment) {
|
||||
this._sourceAlignment = alignment;
|
||||
|
||||
if (!this._sourceActor)
|
||||
return;
|
||||
|
||||
// We need to show it now to force an allocation,
|
||||
// so that we can query the correct size.
|
||||
this.actor.show();
|
||||
|
||||
this._reposition(this._sourceActor, this._arrowAlignment);
|
||||
},
|
||||
|
||||
_reposition: function(sourceActor, alignment) {
|
||||
// Position correctly relative to the sourceActor
|
||||
let sourceNode = sourceActor.get_theme_node();
|
||||
let sourceContentBox = sourceNode.get_content_box(sourceActor.get_allocation_box());
|
||||
let sourceAllocation = Shell.util_get_transformed_allocation(sourceActor);
|
||||
let sourceCenterX = sourceAllocation.x1 + sourceContentBox.x1 + (sourceContentBox.x2 - sourceContentBox.x1) / 2;
|
||||
let sourceCenterY = sourceAllocation.y1 + sourceContentBox.y1 + (sourceContentBox.y2 - sourceContentBox.y1) / 2;
|
||||
let sourceCenterX = sourceAllocation.x1 + sourceContentBox.x1 + (sourceContentBox.x2 - sourceContentBox.x1) * this._sourceAlignment;
|
||||
let sourceCenterY = sourceAllocation.y1 + sourceContentBox.y1 + (sourceContentBox.y2 - sourceContentBox.y1) * this._sourceAlignment;
|
||||
let [minWidth, minHeight, natWidth, natHeight] = this.actor.get_preferred_size();
|
||||
|
||||
// We also want to keep it onscreen, and separated from the
|
||||
// edge by the same distance as the main part of the box is
|
||||
// separated from its sourceActor
|
||||
let primary = Main.layoutManager.primaryMonitor;
|
||||
let monitor = Main.layoutManager.findMonitorForActor(sourceActor);
|
||||
let themeNode = this.actor.get_theme_node();
|
||||
let borderWidth = themeNode.get_length('-arrow-border-width');
|
||||
let arrowBase = themeNode.get_length('-arrow-base');
|
||||
@ -364,8 +378,8 @@ BoxPointer.prototype = {
|
||||
case St.Side.BOTTOM:
|
||||
resX = sourceCenterX - (halfMargin + (natWidth - margin) * alignment);
|
||||
|
||||
resX = Math.max(resX, primary.x + 10);
|
||||
resX = Math.min(resX, primary.x + primary.width - (10 + natWidth));
|
||||
resX = Math.max(resX, monitor.x + 10);
|
||||
resX = Math.min(resX, monitor.x + monitor.width - (10 + natWidth));
|
||||
this.setArrowOrigin(sourceCenterX - resX);
|
||||
break;
|
||||
|
||||
@ -373,8 +387,8 @@ BoxPointer.prototype = {
|
||||
case St.Side.RIGHT:
|
||||
resY = sourceCenterY - (halfMargin + (natHeight - margin) * alignment);
|
||||
|
||||
resY = Math.max(resY, primary.y + 10);
|
||||
resY = Math.min(resY, primary.y + primary.height - (10 + natHeight));
|
||||
resY = Math.max(resY, monitor.y + 10);
|
||||
resY = Math.min(resY, monitor.y + monitor.height - (10 + natHeight));
|
||||
|
||||
this.setArrowOrigin(sourceCenterY - resY);
|
||||
break;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const DBus = imports.dbus;
|
||||
const Clutter = imports.gi.Clutter;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Folks = imports.gi.Folks
|
||||
const Lang = imports.lang;
|
||||
@ -26,7 +26,8 @@ function Contact(id) {
|
||||
|
||||
Contact.prototype = {
|
||||
_init: function(id) {
|
||||
this.individual = Shell.ContactSystem.get_default().get_individual(id);
|
||||
this._contactSys = Shell.ContactSystem.get_default();
|
||||
this.individual = this._contactSys.get_individual(id);
|
||||
|
||||
this.actor = new St.Bin({ style_class: 'contact',
|
||||
reactive: true,
|
||||
@ -56,7 +57,12 @@ Contact.prototype = {
|
||||
x_align: St.Align.START,
|
||||
y_align: St.Align.MIDDLE });
|
||||
|
||||
let aliasText = this.individual.alias || _("Unknown");
|
||||
let email = this._contactSys.get_email_for_display(this.individual);
|
||||
let aliasText = this.individual.alias ||
|
||||
this.individual.full_name ||
|
||||
this.individual.nickname ||
|
||||
email ||
|
||||
_("Unknown");
|
||||
let aliasLabel = new St.Label({ text: aliasText,
|
||||
style_class: 'contact-details-alias' });
|
||||
details.add(aliasLabel, { x_fill: true,
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const Gdk = imports.gi.Gdk;
|
||||
|
110
js/ui/dash.js
110
js/ui/dash.js
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const Signals = imports.signals;
|
||||
@ -37,6 +37,7 @@ DashItemContainer.prototype = {
|
||||
this.child = null;
|
||||
this._childScale = 1;
|
||||
this._childOpacity = 255;
|
||||
this.animatingOut = false;
|
||||
},
|
||||
|
||||
_allocate: function(actor, box, flags) {
|
||||
@ -115,6 +116,7 @@ DashItemContainer.prototype = {
|
||||
return;
|
||||
}
|
||||
|
||||
this.animatingOut = true;
|
||||
this.childScale = 1.0;
|
||||
Tweener.addTween(this,
|
||||
{ childScale: 0.0,
|
||||
@ -177,12 +179,6 @@ RemoveFavoriteIcon.prototype = {
|
||||
this._iconBin._delegate = this;
|
||||
|
||||
this.setChild(this._iconBin);
|
||||
this.hiding = false;
|
||||
},
|
||||
|
||||
animateOutAndDestroy: function() {
|
||||
DashItemContainer.prototype.animateOutAndDestroy.call(this);
|
||||
this.hiding = true;
|
||||
},
|
||||
|
||||
_createIcon: function(size) {
|
||||
@ -314,15 +310,12 @@ Dash.prototype = {
|
||||
_endDrag: function() {
|
||||
this._clearDragPlaceholder();
|
||||
if (this._favRemoveTarget) {
|
||||
this._favRemoveTarget.actor.hide();
|
||||
this._adjustIconSize();
|
||||
this._favRemoveTarget.actor.show();
|
||||
|
||||
this._favRemoveTarget.animateOutAndDestroy();
|
||||
this._favRemoveTarget.actor.connect('destroy', Lang.bind(this,
|
||||
function() {
|
||||
this._favRemoveTarget = null;
|
||||
}));
|
||||
this._adjustIconSize();
|
||||
}
|
||||
DND.removeDragMonitor(this._dragMonitor);
|
||||
},
|
||||
@ -401,8 +394,18 @@ Dash.prototype = {
|
||||
},
|
||||
|
||||
_adjustIconSize: function() {
|
||||
let children = this._box.get_children();
|
||||
if (children.length == 0) {
|
||||
// For the icon size, we only consider children which are "proper"
|
||||
// icons (i.e. ignoring drag placeholders) and which are not
|
||||
// animating out (which means they will be destroyed at the end of
|
||||
// the animation)
|
||||
let iconChildren = this._box.get_children().filter(function(actor) {
|
||||
return actor._delegate.child &&
|
||||
actor._delegate.child._delegate &&
|
||||
actor._delegate.child._delegate.icon &&
|
||||
!actor._delegate.animatingOut;
|
||||
});
|
||||
|
||||
if (iconChildren.length == 0) {
|
||||
this._box.add_style_pseudo_class('empty');
|
||||
return;
|
||||
}
|
||||
@ -412,23 +415,45 @@ Dash.prototype = {
|
||||
if (this._maxHeight == -1)
|
||||
return;
|
||||
|
||||
let iconChildren = children.filter(function(actor) {
|
||||
return actor.visible &&
|
||||
actor._delegate.child &&
|
||||
actor._delegate.child._delegate &&
|
||||
actor._delegate.child._delegate.icon;
|
||||
});
|
||||
|
||||
// Compute the amount of extra space (or missing space) we have
|
||||
// per icon with the current icon size
|
||||
let [minHeight, natHeight] = this.actor.get_preferred_height(-1);
|
||||
let diff = (this._maxHeight - natHeight) / iconChildren.length;
|
||||
let themeNode = this.actor.get_theme_node();
|
||||
let maxAllocation = new Clutter.ActorBox({ x1: 0, y1: 0,
|
||||
x2: 42 /* whatever */,
|
||||
y2: this._maxHeight });
|
||||
let maxContent = themeNode.get_content_box(maxAllocation);
|
||||
let availHeight = maxContent.y2 - maxContent.y1;
|
||||
let spacing = themeNode.get_length('spacing');
|
||||
|
||||
|
||||
let firstIcon = iconChildren[0]._delegate.child._delegate.icon;
|
||||
|
||||
let minHeight, natHeight;
|
||||
|
||||
// Enforce the current icon size during the size request if
|
||||
// the icon is animating
|
||||
if (firstIcon._animating) {
|
||||
let [currentWidth, currentHeight] = firstIcon.icon.get_size();
|
||||
|
||||
firstIcon.icon.set_size(this.iconSize, this.iconSize);
|
||||
[minHeight, natHeight] = iconChildren[0].get_preferred_height(-1);
|
||||
|
||||
firstIcon.icon.set_size(currentWidth, currentHeight);
|
||||
} else {
|
||||
[minHeight, natHeight] = iconChildren[0].get_preferred_height(-1);
|
||||
}
|
||||
|
||||
|
||||
// Subtract icon padding and box spacing from the available height
|
||||
availHeight -= iconChildren.length * (natHeight - this.iconSize) +
|
||||
(iconChildren.length - 1) * spacing;
|
||||
|
||||
let availSize = availHeight / iconChildren.length;
|
||||
|
||||
let iconSizes = [ 16, 22, 24, 32, 48, 64 ];
|
||||
|
||||
let newIconSize = 16;
|
||||
for (let i = 0; i < iconSizes.length; i++) {
|
||||
if (iconSizes[i] < this.iconSize + diff)
|
||||
if (iconSizes[i] < availSize)
|
||||
newIconSize = iconSizes[i];
|
||||
}
|
||||
|
||||
@ -459,11 +484,15 @@ Dash.prototype = {
|
||||
icon.icon.set_size(icon.icon.width * scale,
|
||||
icon.icon.height * scale);
|
||||
|
||||
icon._animating = true;
|
||||
Tweener.addTween(icon.icon,
|
||||
{ width: targetWidth,
|
||||
height: targetHeight,
|
||||
time: DASH_ANIMATION_TIME,
|
||||
transition: 'easeOutQuad'
|
||||
transition: 'easeOutQuad',
|
||||
onComplete: function() {
|
||||
icon._animating = false;
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
@ -566,29 +595,7 @@ Dash.prototype = {
|
||||
this._box.insert_actor(addedItems[i].item.actor,
|
||||
addedItems[i].pos);
|
||||
|
||||
// Hide removed actors to not take them into account
|
||||
// when adjusting the icon size ...
|
||||
for (let i = 0; i < removedActors.length; i++)
|
||||
removedActors[i].hide();
|
||||
|
||||
// ... and do the same for the remove target if necessary
|
||||
if (this._favRemoveTarget && this._favRemoveTarget.hiding)
|
||||
this._favRemoveTarget.actor.hide();
|
||||
|
||||
this._adjustIconSize();
|
||||
|
||||
if (this._favRemoveTarget && this._favRemoveTarget.hiding)
|
||||
this._favRemoveTarget.actor.show();
|
||||
|
||||
// Skip animations on first run when adding the initial set
|
||||
// of items, to avoid all items zooming in at once
|
||||
if (!this._shownInitially) {
|
||||
this._shownInitially = true;
|
||||
return;
|
||||
}
|
||||
|
||||
for (let i = 0; i < removedActors.length; i++) {
|
||||
removedActors[i].show();
|
||||
let item = removedActors[i]._delegate;
|
||||
|
||||
// Don't animate item removal when the overview is hidden
|
||||
@ -598,6 +605,15 @@ Dash.prototype = {
|
||||
item.actor.destroy();
|
||||
}
|
||||
|
||||
this._adjustIconSize();
|
||||
|
||||
// Skip animations on first run when adding the initial set
|
||||
// of items, to avoid all items zooming in at once
|
||||
if (!this._shownInitially) {
|
||||
this._shownInitially = true;
|
||||
return;
|
||||
}
|
||||
|
||||
// Don't animate item addition when the overview is hidden
|
||||
if (!Main.overview.visible)
|
||||
return;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const GLib = imports.gi.GLib;
|
||||
const Gio = imports.gi.Gio;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const Gtk = imports.gi.Gtk;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const DocInfo = imports.misc.docInfo;
|
||||
const Params = imports.misc.params;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*-
|
||||
*
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
/*
|
||||
* Copyright 2010 Red Hat, Inc
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
imports.gi.versions.Clutter = '1.0';
|
||||
imports.gi.versions.Gio = '2.0';
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Lang = imports.lang;
|
||||
const Signals = imports.signals;
|
||||
@ -289,7 +289,7 @@ function loadExtension(dir, enabled, type) {
|
||||
}
|
||||
|
||||
if (extensions[uuid] != undefined) {
|
||||
logExtensionError(uuid, "extension already loaded");
|
||||
logExtensionError(uuid, 'extension already loaded');
|
||||
return;
|
||||
}
|
||||
|
||||
@ -450,7 +450,6 @@ function _loadExtensionsIn(dir, type) {
|
||||
}
|
||||
|
||||
function loadExtensions() {
|
||||
_loadExtensionsIn(userExtensionsDir, ExtensionType.PER_USER);
|
||||
let systemDataDirs = GLib.get_system_data_dirs();
|
||||
for (let i = 0; i < systemDataDirs.length; i++) {
|
||||
let dirPath = systemDataDirs[i] + '/gnome-shell/extensions';
|
||||
@ -458,6 +457,7 @@ function loadExtensions() {
|
||||
if (dir.query_exists(null))
|
||||
_loadExtensionsIn(dir, ExtensionType.SYSTEM);
|
||||
}
|
||||
_loadExtensionsIn(userExtensionsDir, ExtensionType.PER_USER);
|
||||
}
|
||||
|
||||
function InstallExtensionDialog(uuid, version_tag, name) {
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const Shell = imports.gi.Shell;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Caribou = imports.gi.Caribou;
|
||||
const Clutter = imports.gi.Clutter;
|
||||
@ -75,7 +75,7 @@ Key.prototype = {
|
||||
this._extended_keys = this._key.get_extended_keys();
|
||||
this._extended_keyboard = null;
|
||||
|
||||
if (this._key.name == "Control_L" || this._key.name == "Alt_L")
|
||||
if (this._key.name == 'Control_L' || this._key.name == 'Alt_L')
|
||||
this._key.latch = true;
|
||||
|
||||
this._key.connect('key-pressed', Lang.bind(this, function ()
|
||||
@ -218,7 +218,7 @@ Keyboard.prototype = {
|
||||
this._redraw();
|
||||
},
|
||||
|
||||
_settingsChanged: function () {
|
||||
_settingsChanged: function (settings, key) {
|
||||
this._enableKeyboard = this._a11yApplicationsSettings.get_boolean(SHOW_KEYBOARD);
|
||||
if (!this._enableKeyboard && !this._keyboard)
|
||||
return;
|
||||
@ -228,9 +228,20 @@ Keyboard.prototype = {
|
||||
|
||||
if (this._keyboard)
|
||||
this._destroyKeyboard();
|
||||
if (this._enableKeyboard)
|
||||
this._setupKeyboard();
|
||||
else
|
||||
|
||||
if (this._enableKeyboard) {
|
||||
// If we've been called because the setting actually just
|
||||
// changed to true (as opposed to being called from
|
||||
// this._init()), then we want to pop up the keyboard.
|
||||
let showKeyboard = (settings != null);
|
||||
|
||||
// However, caribou-gtk-module or this._onKeyFocusChanged
|
||||
// will probably immediately tell us to hide it, so we
|
||||
// have to fake things out so we'll ignore that request.
|
||||
if (showKeyboard)
|
||||
this._timestamp = global.display.get_current_time_roundtrip() + 1;
|
||||
this._setupKeyboard(showKeyboard);
|
||||
} else
|
||||
Main.layoutManager.hideKeyboard(true);
|
||||
},
|
||||
|
||||
@ -246,7 +257,7 @@ Keyboard.prototype = {
|
||||
this._destroySource();
|
||||
},
|
||||
|
||||
_setupKeyboard: function() {
|
||||
_setupKeyboard: function(show) {
|
||||
this.actor = new St.BoxLayout({ name: 'keyboard', vertical: true, reactive: true });
|
||||
Main.layoutManager.keyboardBox.add_actor(this.actor);
|
||||
Main.layoutManager.trackChrome(this.actor);
|
||||
@ -263,20 +274,26 @@ Keyboard.prototype = {
|
||||
|
||||
this._keyboardNotifyId = this._keyboard.connect('notify::active-group', Lang.bind(this, this._onGroupChanged));
|
||||
this._focusNotifyId = global.stage.connect('notify::key-focus', Lang.bind(this, this._onKeyFocusChanged));
|
||||
this._createSource();
|
||||
|
||||
if (show)
|
||||
this.show();
|
||||
else
|
||||
this._createSource();
|
||||
},
|
||||
|
||||
_onKeyFocusChanged: function () {
|
||||
let focus = global.stage.key_focus;
|
||||
|
||||
// Showing an extended key popup will grab focus, but ignore that
|
||||
if (focus && focus._extended_keys)
|
||||
// Showing an extended key popup and clicking a key from the extended keys
|
||||
// will grab focus, but ignore that
|
||||
if (focus && (focus._extended_keys || (focus._key && focus._key.extended_key)))
|
||||
return;
|
||||
|
||||
let time = global.current_event_time();
|
||||
if (focus instanceof Clutter.Text)
|
||||
this.show();
|
||||
this.Show(time);
|
||||
else
|
||||
this.hide();
|
||||
this.Hide(time);
|
||||
},
|
||||
|
||||
_addKeys: function () {
|
||||
@ -305,7 +322,8 @@ Keyboard.prototype = {
|
||||
},
|
||||
|
||||
_getTrayIcon: function () {
|
||||
let trayButton = new St.Button ({ label: "tray", style_class: 'keyboard-key' });
|
||||
let trayButton = new St.Button ({ label: _("tray"),
|
||||
style_class: 'keyboard-key' });
|
||||
trayButton.key_width = 1;
|
||||
trayButton.connect('button-press-event', Lang.bind(this, function () {
|
||||
Main.messageTray.toggle();
|
||||
@ -339,7 +357,7 @@ Keyboard.prototype = {
|
||||
right_box.add(button.actor);
|
||||
else
|
||||
left_box.add(button.actor);
|
||||
if (key.name == "Caribou_Prefs") {
|
||||
if (key.name == 'Caribou_Prefs') {
|
||||
key.connect('key-released', Lang.bind(this, this.hide));
|
||||
|
||||
// Add new key for hiding message tray
|
||||
@ -476,6 +494,9 @@ Keyboard.prototype = {
|
||||
|
||||
// D-Bus methods
|
||||
Show: function(timestamp) {
|
||||
if (!this._enableKeyboard)
|
||||
return;
|
||||
|
||||
if (timestamp - this._timestamp < 0)
|
||||
return;
|
||||
|
||||
@ -484,6 +505,9 @@ Keyboard.prototype = {
|
||||
},
|
||||
|
||||
Hide: function(timestamp) {
|
||||
if (!this._enableKeyboard)
|
||||
return;
|
||||
|
||||
if (timestamp - this._timestamp < 0)
|
||||
return;
|
||||
|
||||
@ -492,11 +516,17 @@ Keyboard.prototype = {
|
||||
},
|
||||
|
||||
SetCursorLocation: function(x, y, w, h) {
|
||||
this._setLocation(x, y);
|
||||
if (!this._enableKeyboard)
|
||||
return;
|
||||
|
||||
// this._setLocation(x, y);
|
||||
},
|
||||
|
||||
SetEntryLocation: function(x, y, w, h) {
|
||||
this._setLocation(x, y);
|
||||
if (!this._enableKeyboard)
|
||||
return;
|
||||
|
||||
// this._setLocation(x, y);
|
||||
},
|
||||
|
||||
get Name() {
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const Lang = imports.lang;
|
||||
@ -45,7 +45,9 @@ LayoutManager.prototype = {
|
||||
this.trayBox.connect('allocation-changed',
|
||||
Lang.bind(this, this._updateTrayBarrier));
|
||||
|
||||
this.keyboardBox = new St.BoxLayout({ name: 'keyboardBox' });
|
||||
this.keyboardBox = new St.BoxLayout({ name: 'keyboardBox',
|
||||
reactive: true,
|
||||
track_hover: true });
|
||||
this.addChrome(this.keyboardBox, { visibleInFullscreen: true });
|
||||
this._keyboardHeightNotifyId = 0;
|
||||
|
||||
@ -214,10 +216,10 @@ LayoutManager.prototype = {
|
||||
let monitorLeft = monitor.x, monitorRight = monitor.x + monitor.width;
|
||||
let primaryLeft = primary.x, primaryRight = primary.x + primary.width;
|
||||
|
||||
if ((monitorLeft >= primaryLeft && monitorLeft <= primaryRight) ||
|
||||
(monitorRight >= primaryLeft && monitorRight <= primaryRight) ||
|
||||
(primaryLeft >= monitorLeft && primaryLeft <= monitorRight) ||
|
||||
(primaryRight >= monitorLeft && primaryRight <= monitorRight))
|
||||
if ((monitorLeft >= primaryLeft && monitorLeft < primaryRight) ||
|
||||
(monitorRight > primaryLeft && monitorRight <= primaryRight) ||
|
||||
(primaryLeft >= monitorLeft && primaryLeft < monitorRight) ||
|
||||
(primaryRight > monitorLeft && primaryRight <= monitorRight))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
@ -367,6 +369,10 @@ LayoutManager.prototype = {
|
||||
// Removes @actor from the chrome
|
||||
removeChrome: function(actor) {
|
||||
this._chrome.removeActor(actor);
|
||||
},
|
||||
|
||||
findMonitorForActor: function(actor) {
|
||||
return this._chrome.findMonitorForActor(actor);
|
||||
}
|
||||
};
|
||||
Signals.addSignalMethods(LayoutManager.prototype);
|
||||
@ -619,7 +625,7 @@ Chrome.prototype = {
|
||||
// We can't use Params.parse here because we want to drop
|
||||
// the extra values like ancestorData.actor
|
||||
for (let prop in defaultParams) {
|
||||
if (!params[prop])
|
||||
if (!params.hasOwnProperty(prop))
|
||||
params[prop] = ancestorData[prop];
|
||||
}
|
||||
|
||||
@ -698,7 +704,7 @@ Chrome.prototype = {
|
||||
else if (this._inOverview)
|
||||
visible = true;
|
||||
else if (!actorData.visibleInFullscreen &&
|
||||
this._findMonitorForActor(actorData.actor).inFullscreen)
|
||||
this.findMonitorForActor(actorData.actor).inFullscreen)
|
||||
visible = false;
|
||||
else
|
||||
visible = true;
|
||||
@ -760,7 +766,7 @@ Chrome.prototype = {
|
||||
|
||||
// This call guarantees that we return some monitor to simplify usage of it
|
||||
// In practice all tracked actors should be visible on some monitor anyway
|
||||
_findMonitorForActor: function(actor) {
|
||||
findMonitorForActor: function(actor) {
|
||||
let [x, y] = actor.get_transformed_position();
|
||||
let [w, h] = actor.get_transformed_size();
|
||||
let monitor = this._findMonitorForRect(x, y, w, h);
|
||||
@ -819,6 +825,18 @@ Chrome.prototype = {
|
||||
monitor.inFullscreen = true;
|
||||
}
|
||||
if (layer == Meta.StackLayer.OVERRIDE_REDIRECT) {
|
||||
// Check whether the window is screen sized
|
||||
let isScreenSized =
|
||||
(window.x == 0 && window.y == 0 &&
|
||||
window.width == global.screen_width &&
|
||||
window.height == global.screen_height);
|
||||
|
||||
if (isScreenSized) {
|
||||
for (let i = 0; i < this._monitors.length; i++)
|
||||
this._monitors[i].inFullscreen = true;
|
||||
}
|
||||
|
||||
// Or whether it is monitor sized
|
||||
let monitor = this._findMonitorForWindow(window);
|
||||
if (monitor &&
|
||||
window.x <= monitor.x &&
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Lang = imports.lang;
|
||||
const Meta = imports.gi.Meta;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Lang = imports.lang;
|
||||
const Signals = imports.signals;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const Cogl = imports.gi.Cogl;
|
||||
@ -17,6 +17,7 @@ const Mainloop = imports.mainloop;
|
||||
const History = imports.misc.history;
|
||||
const ExtensionSystem = imports.ui.extensionSystem;
|
||||
const Link = imports.ui.link;
|
||||
const ShellEntry = imports.ui.shellEntry;
|
||||
const Tweener = imports.ui.tweener;
|
||||
const Main = imports.ui.main;
|
||||
|
||||
@ -157,9 +158,9 @@ Signals.addSignalMethods(Notebook.prototype);
|
||||
function objectToString(o) {
|
||||
if (typeof(o) == typeof(objectToString)) {
|
||||
// special case this since the default is way, way too verbose
|
||||
return "<js function>";
|
||||
return '<js function>';
|
||||
} else {
|
||||
return "" + o;
|
||||
return '' + o;
|
||||
}
|
||||
}
|
||||
|
||||
@ -322,7 +323,7 @@ ObjInspector.prototype = {
|
||||
link = new St.Label({ text: '<error>' });
|
||||
}
|
||||
let hbox = new St.BoxLayout();
|
||||
let propText = propName + ": " + valueStr;
|
||||
let propText = propName + ': ' + valueStr;
|
||||
hbox.add(new St.Label({ text: propName + ': ' }));
|
||||
hbox.add(link);
|
||||
this._container.add_actor(hbox);
|
||||
@ -343,7 +344,7 @@ ObjInspector.prototype = {
|
||||
this.actor.move_anchor_point(Math.floor(sourceX + sourceWidth / 2),
|
||||
Math.floor(sourceY + sourceHeight / 2));
|
||||
Tweener.addTween(this.actor, { scale_x: 1, scale_y: 1,
|
||||
transition: "easeOutQuad",
|
||||
transition: 'easeOutQuad',
|
||||
time: 0.2 });
|
||||
} else {
|
||||
this.actor.set_scale(1, 1);
|
||||
@ -710,27 +711,23 @@ Extensions.prototype = {
|
||||
text: meta.description || 'No description' });
|
||||
box.add(description, { expand: true });
|
||||
|
||||
let metaBox = new St.BoxLayout();
|
||||
let metaBox = new St.BoxLayout({ style_class: 'lg-extension-meta' });
|
||||
box.add(metaBox);
|
||||
let stateString = this._stateToString(meta.state);
|
||||
let state = new St.Label({ style_class: 'lg-extension-state',
|
||||
text: this._stateToString(meta.state) });
|
||||
|
||||
let actionsContainer = new St.Bin({ x_align: St.Align.END });
|
||||
metaBox.add(actionsContainer);
|
||||
let actionsBox = new St.BoxLayout({ style_class: 'lg-extension-actions' });
|
||||
actionsContainer.set_child(actionsBox);
|
||||
metaBox.add(state);
|
||||
|
||||
let viewsource = new Link.Link({ label: _("View Source") });
|
||||
viewsource.actor._extensionMeta = meta;
|
||||
viewsource.actor.connect('clicked', Lang.bind(this, this._onViewSource));
|
||||
actionsBox.add(viewsource.actor);
|
||||
metaBox.add(viewsource.actor);
|
||||
|
||||
if (meta.url) {
|
||||
let webpage = new Link.Link({ label: _("Web Page") });
|
||||
webpage.actor._extensionMeta = meta;
|
||||
webpage.actor.connect('clicked', Lang.bind(this, this._onWebPage));
|
||||
actionsBox.add(webpage.actor);
|
||||
metaBox.add(webpage.actor);
|
||||
}
|
||||
|
||||
return box;
|
||||
@ -820,6 +817,7 @@ LookingGlass.prototype = {
|
||||
entryArea.add(label);
|
||||
|
||||
this._entry = new St.Entry({ can_focus: true });
|
||||
ShellEntry.addContextMenu(this._entry);
|
||||
entryArea.add(this._entry, { expand: true });
|
||||
|
||||
this._windowList = new WindowList();
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const Gio = imports.gi.Gio;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const DBus = imports.dbus;
|
||||
const Main = imports.ui.main;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const DBus = imports.dbus;
|
||||
@ -129,8 +129,6 @@ function _initRecorder() {
|
||||
function _initUserSession() {
|
||||
_initRecorder();
|
||||
|
||||
keyboard.init();
|
||||
|
||||
global.screen.override_workspace_layout(Meta.ScreenCorner.TOPLEFT, false, -1, 1);
|
||||
|
||||
ExtensionSystem.init();
|
||||
@ -496,9 +494,9 @@ function notify(msg, details) {
|
||||
function notifyError(msg, details) {
|
||||
// Also print to stderr so it's logged somewhere
|
||||
if (details)
|
||||
log("error: " + msg + ": " + details);
|
||||
log('error: ' + msg + ': ' + details);
|
||||
else
|
||||
log("error: " + msg)
|
||||
log('error: ' + msg);
|
||||
|
||||
notify(msg, details);
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const GLib = imports.gi.GLib;
|
||||
@ -252,7 +252,8 @@ FocusGrabber.prototype = {
|
||||
this._prevFocusedWindow = global.display.focus_window;
|
||||
this._prevKeyFocusActor = global.stage.get_key_focus();
|
||||
|
||||
if (!Main.overview.visible)
|
||||
if (global.stage_input_mode == Shell.StageInputMode.NONREACTIVE ||
|
||||
global.stage_input_mode == Shell.StageInputMode.NORMAL)
|
||||
global.set_stage_input_mode(Shell.StageInputMode.FOCUSED);
|
||||
|
||||
// Use captured-event to notice clicks outside the focused actor
|
||||
@ -416,6 +417,7 @@ Notification.prototype = {
|
||||
|
||||
_init: function(source, title, banner, params) {
|
||||
this.source = source;
|
||||
this.title = title;
|
||||
this.urgency = Urgency.NORMAL;
|
||||
this.resident = false;
|
||||
// 'transient' is a reserved keyword in JS, so we have to use an alternate variable name
|
||||
@ -503,8 +505,11 @@ Notification.prototype = {
|
||||
|
||||
let oldFocus = global.stage.key_focus;
|
||||
|
||||
if (this._icon)
|
||||
if (this._icon && (params.icon || params.clear)) {
|
||||
this._icon.destroy();
|
||||
this._icon = null;
|
||||
}
|
||||
|
||||
// We always clear the content area if we don't have custom
|
||||
// content because it might contain the @banner that didn't
|
||||
// fit in the banner mode.
|
||||
@ -530,14 +535,17 @@ Notification.prototype = {
|
||||
if (!this._scrollArea && !this._actionArea && !this._imageBin)
|
||||
this._table.remove_style_class_name('multi-line-notification');
|
||||
|
||||
this._icon = params.icon || this.source.createNotificationIcon();
|
||||
this._table.add(this._icon, { row: 0,
|
||||
col: 0,
|
||||
x_expand: false,
|
||||
y_expand: false,
|
||||
y_fill: false,
|
||||
y_align: St.Align.START });
|
||||
if (!this._icon) {
|
||||
this._icon = params.icon || this.source.createNotificationIcon();
|
||||
this._table.add(this._icon, { row: 0,
|
||||
col: 0,
|
||||
x_expand: false,
|
||||
y_expand: false,
|
||||
y_fill: false,
|
||||
y_align: St.Align.START });
|
||||
}
|
||||
|
||||
this.title = title;
|
||||
title = title ? _fixMarkup(title.replace(/\n/g, ' '), params.titleMarkup) : '';
|
||||
this._titleLabel.clutter_text.set_markup('<b>' + title + '</b>');
|
||||
|
||||
@ -695,6 +703,7 @@ Notification.prototype = {
|
||||
this._imageBin.opacity = 230;
|
||||
this._table.add_style_class_name('multi-line-notification');
|
||||
this._table.add_style_class_name('notification-with-image');
|
||||
this._addBannerBody();
|
||||
this._updateLastColumnSettings();
|
||||
this._table.add(this._imageBin, { row: 1,
|
||||
col: 1,
|
||||
@ -1349,6 +1358,7 @@ MessageTray.prototype = {
|
||||
this._summaryBin.opacity = 0;
|
||||
|
||||
this._summaryMotionId = 0;
|
||||
this._trayMotionId = 0;
|
||||
|
||||
this._summaryBoxPointer = new BoxPointer.BoxPointer(St.Side.BOTTOM,
|
||||
{ reactive: true,
|
||||
@ -1388,12 +1398,15 @@ MessageTray.prototype = {
|
||||
}));
|
||||
this._focusGrabber.connect('escape-pressed', Lang.bind(this, this._escapeTray));
|
||||
|
||||
Main.layoutManager.keyboardBox.connect('notify::hover', Lang.bind(this, this._onKeyboardHoverChanged));
|
||||
|
||||
this._trayState = State.HIDDEN;
|
||||
this._locked = false;
|
||||
this._traySummoned = false;
|
||||
this._useLongerTrayLeftTimeout = false;
|
||||
this._trayLeftTimeoutId = 0;
|
||||
this._pointerInTray = false;
|
||||
this._pointerInKeyboard = false;
|
||||
this._summaryState = State.HIDDEN;
|
||||
this._summaryTimeoutId = 0;
|
||||
this._pointerInSummary = false;
|
||||
@ -1574,7 +1587,7 @@ MessageTray.prototype = {
|
||||
|
||||
summaryItemToRemove.actor.destroy();
|
||||
|
||||
if (needUpdate);
|
||||
if (needUpdate)
|
||||
this._updateState();
|
||||
},
|
||||
|
||||
@ -1843,6 +1856,24 @@ MessageTray.prototype = {
|
||||
}
|
||||
},
|
||||
|
||||
_onKeyboardHoverChanged: function(keyboard) {
|
||||
this._pointerInKeyboard = keyboard.hover;
|
||||
|
||||
if (!keyboard.hover) {
|
||||
let event = Clutter.get_current_event();
|
||||
if (event && event.type() == Clutter.EventType.LEAVE) {
|
||||
let into = event.get_related();
|
||||
if (into && this.actor.contains(into)) {
|
||||
// Don't call _updateState, because pointerInTray is
|
||||
// still false
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this._updateState();
|
||||
},
|
||||
|
||||
_onStatusChanged: function(presence, status) {
|
||||
this._backFromAway = (this._userStatus == GnomeSession.PresenceStatus.IDLE && this._userStatus != status);
|
||||
this._userStatus = status;
|
||||
@ -1907,7 +1938,7 @@ MessageTray.prototype = {
|
||||
let notificationsPending = this._notificationQueue.length > 0 && (!this._busy || notificationUrgent);
|
||||
let notificationPinned = this._pointerInTray && !this._pointerInSummary && !this._notificationRemoved;
|
||||
let notificationExpanded = this._notificationBin.y < 0;
|
||||
let notificationExpired = (this._notificationTimeoutId == 0 && !(this._notification && this._notification.urgency == Urgency.CRITICAL) && !this._pointerInTray && !this._locked) || this._notificationRemoved;
|
||||
let notificationExpired = (this._notificationTimeoutId == 0 && !(this._notification && this._notification.urgency == Urgency.CRITICAL) && !this._pointerInTray && !this._locked && !(this._pointerInKeyboard && notificationExpanded)) || this._notificationRemoved;
|
||||
let canShowNotification = notificationsPending && this._summaryState == State.HIDDEN;
|
||||
|
||||
if (this._notificationState == State.HIDDEN) {
|
||||
@ -2265,6 +2296,8 @@ MessageTray.prototype = {
|
||||
// _clickedSummaryItem.actor can change absolute position without changing allocation
|
||||
this._summaryMotionId = this._summary.connect('allocation-changed',
|
||||
Lang.bind(this, this._adjustSummaryBoxPointerPosition));
|
||||
this._trayMotionId = Main.layoutManager.trayBox.connect('notify::anchor-y',
|
||||
Lang.bind(this, this._adjustSummaryBoxPointerPosition));
|
||||
|
||||
this._summaryBoxPointer.actor.opacity = 0;
|
||||
this._summaryBoxPointer.actor.show();
|
||||
@ -2296,8 +2329,10 @@ MessageTray.prototype = {
|
||||
if (this._clickedSummaryItemAllocationChangedId) {
|
||||
this._clickedSummaryItem.actor.disconnect(this._clickedSummaryItemAllocationChangedId);
|
||||
this._summary.disconnect(this._summaryMotionId);
|
||||
Main.layoutManager.trayBox.disconnect(this._trayMotionId);
|
||||
this._clickedSummaryItemAllocationChangedId = 0;
|
||||
this._summaryMotionId = 0;
|
||||
this._trayMotionId = 0;
|
||||
}
|
||||
|
||||
if (this._clickedSummaryItem)
|
||||
@ -2316,8 +2351,9 @@ MessageTray.prototype = {
|
||||
}
|
||||
|
||||
this._summaryBoxPointerState = State.HIDING;
|
||||
// Unset this._clickedSummaryItem if we are no longer showing the summary
|
||||
if (this._summaryState != State.SHOWN)
|
||||
// Unset this._clickedSummaryItem if we are no longer showing the summary or if
|
||||
// this._clickedSummaryItem is still the item associated with the currently showing box pointer
|
||||
if (this._summaryState != State.SHOWN || this._summaryBoxPointerItem == this._clickedSummaryItem)
|
||||
this._unsetClickedSummaryItem();
|
||||
|
||||
this._focusGrabber.ungrabFocus();
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const Gdk = imports.gi.Gdk;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*-
|
||||
*
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
/*
|
||||
* Copyright 2011 Giovanni Campagna <scampa.giovanni@gmail.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@ -30,6 +30,7 @@ const St = imports.gi.St;
|
||||
|
||||
const ModalDialog = imports.ui.modalDialog;
|
||||
const PopupMenu = imports.ui.popupMenu;
|
||||
const ShellEntry = imports.ui.shellEntry;
|
||||
|
||||
function NetworkSecretDialog() {
|
||||
this._init.apply(this, arguments);
|
||||
@ -103,6 +104,8 @@ NetworkSecretDialog.prototype = {
|
||||
secret.entry = new St.Entry({ style_class: 'polkit-dialog-password-entry',
|
||||
text: secret.value, can_focus: reactive,
|
||||
reactive: reactive });
|
||||
ShellEntry.addContextMenu(secret.entry,
|
||||
{ isPassword: secret.password });
|
||||
|
||||
if (secret.validate)
|
||||
secret.valid = secret.validate(secret);
|
||||
@ -127,34 +130,14 @@ NetworkSecretDialog.prototype = {
|
||||
} else
|
||||
secret.valid = true;
|
||||
|
||||
secretTable.add(label, { row: pos, col: 0, x_align: St.Align.START, y_align: St.Align.START });
|
||||
secretTable.add(label, { row: pos, col: 0, x_expand: false, x_fill: true, x_align: St.Align.START, y_align: St.Align.START });
|
||||
secretTable.add(secret.entry, { row: pos, col: 1, x_expand: true, x_fill: true, y_align: St.Align.END });
|
||||
pos++;
|
||||
|
||||
if (secret.password) {
|
||||
if (secret.password)
|
||||
secret.entry.clutter_text.set_password_char('\u25cf');
|
||||
|
||||
// FIXME: need a real checkbox here
|
||||
let button = new St.Button({ button_mask: St.ButtonMask.ONE,
|
||||
can_focus: true });
|
||||
let checkbox = new St.BoxLayout({ vertical: false,
|
||||
style_class: 'network-dialog-show-password-checkbox'
|
||||
});
|
||||
let _switch = new PopupMenu.Switch(false);
|
||||
checkbox.add(_switch.actor);
|
||||
checkbox.add(new St.Label({ text: _("Show password") }), { expand: true });
|
||||
button.connect('clicked', function() {
|
||||
_switch.toggle();
|
||||
if (_switch.state)
|
||||
secret.entry.clutter_text.set_password_char('');
|
||||
else
|
||||
secret.entry.clutter_text.set_password_char('\u25cf');
|
||||
});
|
||||
button.child = checkbox;
|
||||
secretTable.add(button, { row: pos, col: 1, x_expand: true, x_fill: true, y_fill: true })
|
||||
pos++;
|
||||
}
|
||||
}
|
||||
|
||||
messageBox.add(secretTable);
|
||||
|
||||
this._okButton = { label: _("Connect"),
|
||||
@ -404,4 +387,4 @@ NetworkAgent.prototype = {
|
||||
this._dialogs[requestId].close(global.get_current_time());
|
||||
this._dialogs[requestId].destroy();
|
||||
}
|
||||
};
|
||||
};
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const DBus = imports.dbus;
|
||||
@ -109,6 +109,14 @@ NotificationDaemon.prototype = {
|
||||
_iconForNotificationData: function(icon, hints, size) {
|
||||
let textureCache = St.TextureCache.get_default();
|
||||
|
||||
// If an icon is not specified, we use 'image-data' or 'image-path' hint for an icon
|
||||
// and don't show a large image. There are currently many applications that use
|
||||
// notify_notification_set_icon_from_pixbuf() from libnotify, which in turn sets
|
||||
// the 'image-data' hint. These applications don't typically pass in 'app_icon'
|
||||
// argument to Notify() and actually expect the pixbuf to be shown as an icon.
|
||||
// So the logic here does the right thing for this case. If both an icon and either
|
||||
// one of 'image-data' or 'image-path' are specified, we show both an icon and
|
||||
// a large image.
|
||||
if (icon) {
|
||||
if (icon.substr(0, 7) == 'file://')
|
||||
return textureCache.load_uri_async(icon, size, size);
|
||||
@ -119,6 +127,12 @@ NotificationDaemon.prototype = {
|
||||
return new St.Icon({ icon_name: icon,
|
||||
icon_type: St.IconType.FULLCOLOR,
|
||||
icon_size: size });
|
||||
} else if (hints['image-data']) {
|
||||
let [width, height, rowStride, hasAlpha,
|
||||
bitsPerSample, nChannels, data] = hints['image-data'];
|
||||
return textureCache.load_from_raw(data, hasAlpha, width, height, rowStride, size);
|
||||
} else if (hints['image-path']) {
|
||||
return textureCache.load_uri_async(GLib.filename_to_uri(hints['image-path'], null), size, size);
|
||||
} else {
|
||||
let stockIcon;
|
||||
switch (hints.urgency) {
|
||||
@ -330,7 +344,8 @@ NotificationDaemon.prototype = {
|
||||
clear: true });
|
||||
}
|
||||
|
||||
if (hints['image-data'] || hints['image-path']) {
|
||||
// We only display a large image if an icon is also specified.
|
||||
if (icon && (hints['image-data'] || hints['image-path'])) {
|
||||
let image = null;
|
||||
if (hints['image-data']) {
|
||||
let [width, height, rowStride, hasAlpha,
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const Gtk = imports.gi.Gtk;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Cairo = imports.cairo;
|
||||
const Clutter = imports.gi.Clutter;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const Gtk = imports.gi.Gtk;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const GLib = imports.gi.GLib;
|
||||
const Gio = imports.gi.Gio;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*-
|
||||
*
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
/*
|
||||
* Copyright 2010 Red Hat, Inc
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@ -33,6 +33,7 @@ const Polkit = imports.gi.Polkit;
|
||||
const PolkitAgent = imports.gi.PolkitAgent;
|
||||
|
||||
const ModalDialog = imports.ui.modalDialog;
|
||||
const ShellEntry = imports.ui.shellEntry;
|
||||
|
||||
function AuthenticationDialog(actionId, message, cookie, userNames) {
|
||||
this._init(actionId, message, cookie, userNames);
|
||||
@ -139,6 +140,7 @@ AuthenticationDialog.prototype = {
|
||||
this._passwordEntry = new St.Entry({ style_class: 'polkit-dialog-password-entry',
|
||||
text: "",
|
||||
can_focus: true});
|
||||
ShellEntry.addContextMenu(this._passwordEntry, { isPassword: true });
|
||||
this._passwordEntry.clutter_text.connect('activate', Lang.bind(this, this._onEntryActivate));
|
||||
this._passwordBox.add(this._passwordEntry,
|
||||
{expand: true });
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Cairo = imports.cairo;
|
||||
const Clutter = imports.gi.Clutter;
|
||||
@ -320,10 +320,14 @@ PopupBaseMenuItem.prototype = {
|
||||
}
|
||||
extraWidth = availWidth - naturalWidth;
|
||||
} else {
|
||||
if (child.span == -1)
|
||||
availWidth = box.x2 - x;
|
||||
else
|
||||
if (child.span == -1) {
|
||||
if (direction == St.TextDirection.LTR)
|
||||
availWidth = box.x2 - x;
|
||||
else
|
||||
availWidth = x - box.x1;
|
||||
} else {
|
||||
availWidth = naturalWidth;
|
||||
}
|
||||
extraWidth = 0;
|
||||
}
|
||||
|
||||
@ -1138,10 +1142,10 @@ function PopupMenu() {
|
||||
PopupMenu.prototype = {
|
||||
__proto__: PopupMenuBase.prototype,
|
||||
|
||||
_init: function(sourceActor, alignment, arrowSide) {
|
||||
_init: function(sourceActor, arrowAlignment, arrowSide) {
|
||||
PopupMenuBase.prototype._init.call (this, sourceActor, 'popup-menu-content');
|
||||
|
||||
this._alignment = alignment;
|
||||
this._arrowAlignment = arrowAlignment;
|
||||
this._arrowSide = arrowSide;
|
||||
|
||||
this._boxPointer = new BoxPointer.BoxPointer(arrowSide,
|
||||
@ -1194,13 +1198,17 @@ PopupMenu.prototype = {
|
||||
this._boxPointer.setArrowOrigin(origin);
|
||||
},
|
||||
|
||||
setSourceAlignment: function(alignment) {
|
||||
this._boxPointer.setSourceAlignment(alignment);
|
||||
},
|
||||
|
||||
open: function(animate) {
|
||||
if (this.isOpen)
|
||||
return;
|
||||
|
||||
this.isOpen = true;
|
||||
|
||||
this._boxPointer.setPosition(this.sourceActor, this._alignment);
|
||||
this._boxPointer.setPosition(this.sourceActor, this._arrowAlignment);
|
||||
this._boxPointer.show(animate);
|
||||
|
||||
this.actor.raise_top();
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const Gio = imports.gi.Gio;
|
||||
@ -12,6 +12,7 @@ const Signals = imports.signals;
|
||||
const FileUtils = imports.misc.fileUtils;
|
||||
const Main = imports.ui.main;
|
||||
const ModalDialog = imports.ui.modalDialog;
|
||||
const ShellEntry = imports.ui.shellEntry;
|
||||
const Tweener = imports.ui.tweener;
|
||||
const Util = imports.misc.util;
|
||||
const History = imports.misc.history;
|
||||
@ -210,6 +211,7 @@ __proto__: ModalDialog.ModalDialog.prototype,
|
||||
this.contentLayout.add(label, { y_align: St.Align.START });
|
||||
|
||||
let entry = new St.Entry({ style_class: 'run-dialog-entry' });
|
||||
ShellEntry.addContextMenu(entry);
|
||||
|
||||
this._entryText = entry.clutter_text;
|
||||
this.contentLayout.add(entry, { y_align: St.Align.START });
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const DBus = imports.dbus;
|
||||
const Gio = imports.gi.Gio;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Gio = imports.gi.Gio;
|
||||
const GLib = imports.gi.GLib;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const Lang = imports.lang;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const DBus = imports.dbus;
|
||||
const Lang = imports.lang;
|
||||
|
173
js/ui/shellEntry.js
Normal file
173
js/ui/shellEntry.js
Normal file
@ -0,0 +1,173 @@
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const Gtk = imports.gi.Gtk;
|
||||
const Lang = imports.lang;
|
||||
const St = imports.gi.St;
|
||||
|
||||
const Main = imports.ui.main;
|
||||
const Params = imports.misc.params;
|
||||
const PopupMenu = imports.ui.popupMenu;
|
||||
|
||||
|
||||
function _EntryMenu(entry, params) {
|
||||
this._init(entry, params);
|
||||
};
|
||||
|
||||
_EntryMenu.prototype = {
|
||||
__proto__: PopupMenu.PopupMenu.prototype,
|
||||
|
||||
_init: function(entry, params) {
|
||||
params = Params.parse (params, { isPassword: false });
|
||||
|
||||
PopupMenu.PopupMenu.prototype._init.call(this, entry, 0, St.Side.TOP);
|
||||
|
||||
this.actor.add_style_class_name('entry-context-menu');
|
||||
|
||||
this._entry = entry;
|
||||
this._clipboard = St.Clipboard.get_default();
|
||||
|
||||
// Populate menu
|
||||
let item;
|
||||
item = new PopupMenu.PopupMenuItem(_("Copy"));
|
||||
item.connect('activate', Lang.bind(this, this._onCopyActivated));
|
||||
this.addMenuItem(item);
|
||||
this._copyItem = item;
|
||||
|
||||
item = new PopupMenu.PopupMenuItem(_("Paste"));
|
||||
item.connect('activate', Lang.bind(this, this._onPasteActivated));
|
||||
this.addMenuItem(item);
|
||||
this._pasteItem = item;
|
||||
|
||||
this._passwordItem = null;
|
||||
if (params.isPassword) {
|
||||
item = new PopupMenu.PopupMenuItem('');
|
||||
item.connect('activate', Lang.bind(this,
|
||||
this._onPasswordActivated));
|
||||
this.addMenuItem(item);
|
||||
this._passwordItem = item;
|
||||
}
|
||||
|
||||
Main.uiGroup.add_actor(this.actor);
|
||||
this.actor.hide();
|
||||
},
|
||||
|
||||
open: function() {
|
||||
this._updatePasteItem();
|
||||
this._updateCopyItem();
|
||||
if (this._passwordItem)
|
||||
this._updatePasswordItem();
|
||||
|
||||
let direction = Gtk.DirectionType.TAB_FORWARD;
|
||||
if (!this.actor.navigate_focus(null, direction, false))
|
||||
this.actor.grab_key_focus();
|
||||
|
||||
PopupMenu.PopupMenu.prototype.open.call(this);
|
||||
},
|
||||
|
||||
_updateCopyItem: function() {
|
||||
let selection = this._entry.clutter_text.get_selection();
|
||||
this._copyItem.setSensitive(selection && selection != '');
|
||||
},
|
||||
|
||||
_updatePasteItem: function() {
|
||||
this._clipboard.get_text(Lang.bind(this,
|
||||
function(clipboard, text) {
|
||||
this._pasteItem.setSensitive(text && text != '');
|
||||
}));
|
||||
},
|
||||
|
||||
_updatePasswordItem: function() {
|
||||
let textHidden = (this._entry.clutter_text.password_char);
|
||||
if (textHidden)
|
||||
this._passwordItem.label.set_text(_("Show Text"));
|
||||
else
|
||||
this._passwordItem.label.set_text(_("Hide Text"));
|
||||
},
|
||||
|
||||
_onCopyActivated: function() {
|
||||
let selection = this._entry.clutter_text.get_selection();
|
||||
this._clipboard.set_text(selection);
|
||||
},
|
||||
|
||||
_onPasteActivated: function() {
|
||||
this._clipboard.get_text(Lang.bind(this,
|
||||
function(clipboard, text) {
|
||||
if (!text)
|
||||
return;
|
||||
this._entry.clutter_text.delete_selection();
|
||||
let pos = this._entry.clutter_text.get_cursor_position();
|
||||
this._entry.clutter_text.insert_text(text, pos);
|
||||
}));
|
||||
},
|
||||
|
||||
_onPasswordActivated: function() {
|
||||
let visible = !!(this._entry.clutter_text.password_char);
|
||||
this._entry.clutter_text.set_password_char(visible ? '' : '\u25cf');
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
function _setMenuAlignment(entry, stageX) {
|
||||
let [success, entryX, entryY] = entry.transform_stage_point(stageX, 0);
|
||||
if (success)
|
||||
entry._menu.setSourceAlignment(entryX / entry.width);
|
||||
};
|
||||
|
||||
function _onClicked(action, actor) {
|
||||
let entry = actor._menu ? actor : actor.get_parent();
|
||||
|
||||
if (entry._menu.isOpen) {
|
||||
entry._menu.close();
|
||||
} else if (action.get_button() == 3) {
|
||||
let [stageX, stageY] = action.get_coords();
|
||||
_setMenuAlignment(entry, stageX);
|
||||
entry._menu.open();
|
||||
}
|
||||
};
|
||||
|
||||
function _onLongPress(action, actor, state) {
|
||||
let entry = actor._menu ? actor : actor.get_parent();
|
||||
|
||||
if (state == Clutter.LongPressState.QUERY)
|
||||
return action.get_button() == 1 && !entry._menu.isOpen;
|
||||
|
||||
if (state == Clutter.LongPressState.ACTIVATE) {
|
||||
let [stageX, stageY] = action.get_coords();
|
||||
_setMenuAlignment(entry, stageX);
|
||||
entry._menu.open();
|
||||
}
|
||||
return false;
|
||||
};
|
||||
|
||||
function _onPopup(actor) {
|
||||
let entry = actor._menu ? actor : actor.get_parent();
|
||||
let [success, textX, textY, lineHeight] = entry.clutter_text.position_to_coords(-1);
|
||||
if (success)
|
||||
entry._menu.setSourceAlignment(textX / entry.width);
|
||||
entry._menu.open();
|
||||
};
|
||||
|
||||
function addContextMenu(entry, params) {
|
||||
if (entry._menu)
|
||||
return;
|
||||
|
||||
entry._menu = new _EntryMenu(entry, params);
|
||||
entry._menuManager = new PopupMenu.PopupMenuManager({ actor: entry });
|
||||
entry._menuManager.addMenu(entry._menu);
|
||||
|
||||
let clickAction;
|
||||
|
||||
// Add a click action to both the entry and its clutter_text; the former
|
||||
// so padding is included in the clickable area, the latter because the
|
||||
// event processing of ClutterText prevents event-bubbling.
|
||||
clickAction = new Clutter.ClickAction();
|
||||
clickAction.connect('clicked', _onClicked);
|
||||
clickAction.connect('long-press', _onLongPress);
|
||||
entry.clutter_text.add_action(clickAction);
|
||||
|
||||
clickAction = new Clutter.ClickAction();
|
||||
clickAction.connect('clicked', _onClicked);
|
||||
clickAction.connect('long-press', _onLongPress);
|
||||
entry.add_action(clickAction);
|
||||
|
||||
entry.connect('popup-menu', _onPopup);
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Lang = imports.lang;
|
||||
const Signals = imports.signals;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const DBus = imports.dbus;
|
||||
const GConf = imports.gi.GConf;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const Gdk = imports.gi.Gdk;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const GdkPixbuf = imports.gi.GdkPixbuf;
|
||||
|
@ -1,4 +1,4 @@
|
||||
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
const ByteArray = imports.byteArray;
|
||||
const DBus = imports.dbus;
|
||||
const GLib = imports.gi.GLib;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Gio = imports.gi.Gio;
|
||||
const DBus = imports.dbus;
|
||||
@ -43,8 +43,8 @@ const UPDeviceState = {
|
||||
const PowerManagerInterface = {
|
||||
name: 'org.gnome.SettingsDaemon.Power',
|
||||
methods: [
|
||||
{ name: 'GetDevices', inSignature: '', outSignature: 'a(susbut)' },
|
||||
{ name: 'GetPrimaryDevice', inSignature: '', outSignature: '(susbut)' },
|
||||
{ name: 'GetDevices', inSignature: '', outSignature: 'a(susdut)' },
|
||||
{ name: 'GetPrimaryDevice', inSignature: '', outSignature: '(susdut)' },
|
||||
],
|
||||
signals: [
|
||||
{ name: 'Changed', inSignature: '' },
|
||||
@ -155,7 +155,7 @@ Indicator.prototype = {
|
||||
_devicesChanged: function() {
|
||||
this._proxy.GetRemote('Icon', Lang.bind(this, function(icon, error) {
|
||||
if (icon) {
|
||||
let gicon = Shell.util_icon_from_string (icon);
|
||||
let gicon = Gio.icon_new_for_string(icon);
|
||||
this.setGIcon(gicon);
|
||||
this.actor.show();
|
||||
} else {
|
||||
@ -183,7 +183,7 @@ DeviceItem.prototype = {
|
||||
this._box = new St.BoxLayout({ style_class: 'popup-device-menu-item' });
|
||||
this._label = new St.Label({ text: this._deviceTypeToString(device_type) });
|
||||
|
||||
this._icon = new St.Icon({ gicon: Shell.util_icon_from_string(icon),
|
||||
this._icon = new St.Icon({ gicon: Gio.icon_new_for_string(icon),
|
||||
icon_type: St.IconType.SYMBOLIC,
|
||||
style_class: 'popup-menu-icon' });
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const DBus = imports.dbus;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Lang = imports.lang;
|
||||
const Shell = imports.gi.Shell;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const DBus = imports.dbus;
|
||||
const Gio = imports.gi.Gio;
|
||||
@ -257,7 +257,7 @@ Client.prototype = {
|
||||
// FIXME: We don't have a 'chat room' icon (bgo #653737) use
|
||||
// system-users for now as Empathy does.
|
||||
let source = new ApproverSource(dispatchOp, _("Invitation"),
|
||||
Shell.util_icon_from_string('system-users'));
|
||||
Gio.icon_new_for_string('system-users'));
|
||||
Main.messageTray.add(source);
|
||||
|
||||
let notif = new RoomInviteNotification(source, dispatchOp, channel, contacts[0]);
|
||||
@ -305,6 +305,8 @@ Client.prototype = {
|
||||
Shell.get_tp_contacts(conn, [targetHandle],
|
||||
contactFeatures,
|
||||
Lang.bind(this, this._createAudioVideoSource, channel, context, dispatchOp));
|
||||
|
||||
context.delay();
|
||||
},
|
||||
|
||||
_createAudioVideoSource: function(connection, contacts, failed, channel, context, dispatchOp) {
|
||||
@ -323,8 +325,8 @@ Client.prototype = {
|
||||
|
||||
// We got the TpContact
|
||||
let source = new ApproverSource(dispatchOp, _("Call"), isVideo ?
|
||||
Shell.util_icon_from_string('camera-web') :
|
||||
Shell.util_icon_from_string('audio-input-microphone'));
|
||||
Gio.icon_new_for_string('camera-web') :
|
||||
Gio.icon_new_for_string('audio-input-microphone'));
|
||||
Main.messageTray.add(source);
|
||||
|
||||
let notif = new AudioVideoNotification(source, dispatchOp, channel, contacts[0], isVideo);
|
||||
@ -338,6 +340,8 @@ Client.prototype = {
|
||||
Shell.get_tp_contacts(conn, [targetHandle],
|
||||
contactFeatures,
|
||||
Lang.bind(this, this._createFileTransferSource, channel, context, dispatchOp));
|
||||
|
||||
context.delay();
|
||||
},
|
||||
|
||||
_createFileTransferSource: function(connection, contacts, failed, channel, context, dispatchOp) {
|
||||
@ -535,21 +539,18 @@ ChatSource.prototype = {
|
||||
|
||||
_updateAlias: function() {
|
||||
let oldAlias = this.title;
|
||||
this.setTitle(this._contact.get_alias());
|
||||
this._notification.appendAliasChange(oldAlias, this.title);
|
||||
this.pushNotification(this._notification);
|
||||
let newAlias = this._contact.get_alias();
|
||||
|
||||
if (oldAlias == newAlias)
|
||||
return;
|
||||
|
||||
this.setTitle(newAlias);
|
||||
this._notification.appendAliasChange(oldAlias, newAlias);
|
||||
},
|
||||
|
||||
createNotificationIcon: function() {
|
||||
this._iconBox = new St.Bin({ style_class: 'avatar-box' });
|
||||
this._iconBox._size = this.ICON_SIZE;
|
||||
|
||||
this._updateAvatarIcon();
|
||||
|
||||
return this._iconBox;
|
||||
},
|
||||
|
||||
_updateAvatarIcon: function() {
|
||||
let textureCache = St.TextureCache.get_default();
|
||||
let file = this._contact.get_avatar_file();
|
||||
|
||||
@ -561,12 +562,19 @@ ChatSource.prototype = {
|
||||
icon_type: St.IconType.FULLCOLOR,
|
||||
icon_size: this._iconBox._size });
|
||||
}
|
||||
|
||||
return this._iconBox;
|
||||
},
|
||||
|
||||
_updateAvatarIcon: function() {
|
||||
this._setSummaryIcon(this.createNotificationIcon());
|
||||
this._notification.update(this._notification.title, null, { customContent: true, icon: this.createNotificationIcon() });
|
||||
},
|
||||
|
||||
open: function(notification) {
|
||||
if (this._client.is_handling_channel(this._channel)) {
|
||||
// We are handling the channel, try to pass it to Empathy
|
||||
this._client.delegate_channels_async([this._channel], global.get_current_time(), "", null);
|
||||
this._client.delegate_channels_async([this._channel], global.get_current_time(), '', null);
|
||||
}
|
||||
else {
|
||||
// We are not the handler, just ask to present the channel
|
||||
@ -1194,6 +1202,7 @@ AudioVideoNotification.prototype = {
|
||||
this.setResident(true);
|
||||
|
||||
this.addButton('reject', _("Reject"));
|
||||
/* translators: this is a button label (verb), not a noun */
|
||||
this.addButton('answer', _("Answer"));
|
||||
|
||||
this.connect('action-invoked', Lang.bind(this, function(self, action) {
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const Lang = imports.lang;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const AccountsService = imports.gi.AccountsService;
|
||||
const DBus = imports.dbus;
|
||||
@ -158,22 +158,29 @@ IMStatusChooserItem.prototype = {
|
||||
Lang.bind(this, this._changeIMStatus));
|
||||
|
||||
this._presence = new GnomeSession.Presence();
|
||||
this._presence.getStatus(Lang.bind(this, this._sessionStatusChanged));
|
||||
this._presence.connect('StatusChanged',
|
||||
Lang.bind(this, this._sessionStatusChanged));
|
||||
|
||||
this._sessionPresenceRestored = false;
|
||||
this._imPresenceRestored = false;
|
||||
this._currentPresence = undefined;
|
||||
this._previousPresence = undefined;
|
||||
|
||||
this._accountMgr = Tp.AccountManager.dup()
|
||||
this._accountMgr.connect('most-available-presence-changed',
|
||||
Lang.bind(this, this._IMStatusChanged));
|
||||
this._accountMgr.prepare_async(null, Lang.bind(this,
|
||||
function(mgr) {
|
||||
let [presence, s, msg] = mgr.get_most_available_presence();
|
||||
let [presence, status, msg] = mgr.get_most_available_presence();
|
||||
|
||||
this._previousPresence = presence;
|
||||
this._IMStatusChanged(mgr, presence, s, msg);
|
||||
let savedPresence = global.settings.get_int('saved-im-presence');
|
||||
if (savedPresence == presence) {
|
||||
this._IMStatusChanged(mgr, presence, status, msg);
|
||||
} else {
|
||||
this._setComboboxPresence(savedPresence);
|
||||
status = this._statusForPresence(savedPresence);
|
||||
msg = msg ? msg : '';
|
||||
mgr.set_all_requested_presences(savedPresence, status, msg);
|
||||
}
|
||||
}));
|
||||
|
||||
this._userManager = AccountsService.UserManager.get_default();
|
||||
@ -261,19 +268,35 @@ IMStatusChooserItem.prototype = {
|
||||
},
|
||||
|
||||
_IMStatusChanged: function(accountMgr, presence, status, message) {
|
||||
if (!this._imPresenceRestored)
|
||||
this._imPresenceRestored = true;
|
||||
|
||||
if (presence == this._currentPresence)
|
||||
return;
|
||||
|
||||
this._currentPresence = presence;
|
||||
this._setComboboxPresence(presence);
|
||||
|
||||
if (!this._sessionPresenceRestored) {
|
||||
this._presence.getStatus(Lang.bind(this, this._sessionStatusChanged));
|
||||
return;
|
||||
}
|
||||
|
||||
if (presence == Tp.ConnectionPresenceType.AVAILABLE)
|
||||
this._presence.setStatus(GnomeSession.PresenceStatus.AVAILABLE);
|
||||
|
||||
if (!this._expectedPresence || presence != this._expectedPresence)
|
||||
this._previousPresence = presence;
|
||||
// We ignore the actual value of _expectedPresence and never safe
|
||||
// the first presence change after an "automatic" change, assuming
|
||||
// that it is the response to our request; this is to account for
|
||||
// mission control falling back to "similar" presences if an account
|
||||
// type does not implement the requested presence.
|
||||
if (!this._expectedPresence)
|
||||
global.settings.set_int('saved-im-presence', presence);
|
||||
else
|
||||
this._expectedPresence = undefined;
|
||||
},
|
||||
|
||||
_setComboboxPresence: function(presence) {
|
||||
let activatedItem;
|
||||
|
||||
if (presence == Tp.ConnectionPresenceType.AVAILABLE)
|
||||
@ -310,13 +333,16 @@ IMStatusChooserItem.prototype = {
|
||||
return;
|
||||
|
||||
status = this._statusForPresence(newPresence);
|
||||
msg = msg ? msg : "";
|
||||
msg = msg ? msg : '';
|
||||
this._accountMgr.set_all_requested_presences(newPresence, status, msg);
|
||||
},
|
||||
|
||||
getIMPresenceForSessionStatus: function(sessionStatus) {
|
||||
// Restore the last user-set presence when coming back from
|
||||
// BUSY/IDLE (otherwise the last user-set presence matches
|
||||
// the current one)
|
||||
if (sessionStatus == GnomeSession.PresenceStatus.AVAILABLE)
|
||||
return this._previousPresence;
|
||||
return global.settings.get_int('saved-im-presence');
|
||||
|
||||
if (sessionStatus == GnomeSession.PresenceStatus.BUSY) {
|
||||
// Only change presence if the current one is "more present" than
|
||||
@ -337,6 +363,20 @@ IMStatusChooserItem.prototype = {
|
||||
},
|
||||
|
||||
_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.setStatus(savedStatus);
|
||||
return;
|
||||
}
|
||||
this._sessionPresenceRestored = true;
|
||||
}
|
||||
|
||||
global.settings.set_int('saved-session-presence', sessionStatus);
|
||||
|
||||
let [presence, s, msg] = this._accountMgr.get_most_available_presence();
|
||||
let newPresence, status;
|
||||
|
||||
@ -346,7 +386,7 @@ IMStatusChooserItem.prototype = {
|
||||
return;
|
||||
|
||||
status = this._statusForPresence(newPresence);
|
||||
msg = msg ? msg : "";
|
||||
msg = msg ? msg : '';
|
||||
|
||||
this._expectedPresence = newPresence;
|
||||
this._accountMgr.set_all_requested_presences(newPresence, status, msg);
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const Gtk = imports.gi.Gtk;
|
||||
@ -12,6 +12,7 @@ const St = imports.gi.St;
|
||||
const Main = imports.ui.main;
|
||||
const Search = imports.ui.search;
|
||||
const SearchDisplay = imports.ui.searchDisplay;
|
||||
const ShellEntry = imports.ui.shellEntry;
|
||||
const Tweener = imports.ui.tweener;
|
||||
|
||||
function BaseTab(titleActor, pageActor, name, a11yIcon) {
|
||||
@ -120,6 +121,7 @@ SearchTab.prototype = {
|
||||
hint_text: _("Type to search..."),
|
||||
track_hover: true,
|
||||
can_focus: true });
|
||||
ShellEntry.addContextMenu(this._entry);
|
||||
this._text = this._entry.clutter_text;
|
||||
this._text.connect('key-press-event', Lang.bind(this, this._onKeyPress));
|
||||
|
||||
@ -289,9 +291,11 @@ SearchTab.prototype = {
|
||||
_onCapturedEvent: function(actor, event) {
|
||||
if (event.type() == Clutter.EventType.BUTTON_PRESS) {
|
||||
let source = event.get_source();
|
||||
if (source != this._text && this._text.text == '') {
|
||||
if (source != this._text && this._text.text == '' &&
|
||||
!Main.layoutManager.keyboardBox.contains(source)) {
|
||||
// the user clicked outside after activating the entry, but
|
||||
// with no search term entered - cancel the search
|
||||
// with no search term entered and no keyboard button pressed
|
||||
// - cancel the search
|
||||
this._reset();
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Lang = imports.lang;
|
||||
const Shell = imports.gi.Shell;
|
||||
@ -12,35 +12,10 @@ function WindowAttentionHandler() {
|
||||
|
||||
WindowAttentionHandler.prototype = {
|
||||
_init : function() {
|
||||
this._startupIds = {};
|
||||
this._tracker = Shell.WindowTracker.get_default();
|
||||
this._tracker.connect('startup-sequence-changed', Lang.bind(this, this._onStartupSequenceChanged));
|
||||
|
||||
global.display.connect('window-demands-attention', Lang.bind(this, this._onWindowDemandsAttention));
|
||||
},
|
||||
|
||||
_onStartupSequenceChanged : function(tracker) {
|
||||
let sequences = tracker.get_startup_sequences();
|
||||
this._startupIds = {};
|
||||
for(let i = 0; i < sequences.length; i++) {
|
||||
this._startupIds[sequences[i].get_id()] = true;
|
||||
}
|
||||
},
|
||||
|
||||
_getTitle : function(app, window) {
|
||||
if (this._startupIds[window.get_startup_id()])
|
||||
return app.get_name();
|
||||
else
|
||||
return window.title;
|
||||
},
|
||||
|
||||
_getBanner : function(app, window) {
|
||||
if (this._startupIds[window.get_startup_id()])
|
||||
return _("%s has finished starting").format(app.get_name());
|
||||
else
|
||||
return _("'%s' is ready").format(window.title);
|
||||
},
|
||||
|
||||
_onWindowDemandsAttention : function(display, window) {
|
||||
// We don't want to show the notification when the window is already focused,
|
||||
// because this is rather pointless.
|
||||
@ -57,12 +32,16 @@ WindowAttentionHandler.prototype = {
|
||||
let source = new Source(app, window);
|
||||
Main.messageTray.add(source);
|
||||
|
||||
let notification = new MessageTray.Notification(source, this._getTitle(app, window), this._getBanner(app, window));
|
||||
let banner = _("'%s' is ready").format(window.title);
|
||||
let title = app.get_name();
|
||||
|
||||
let notification = new MessageTray.Notification(source, title, banner);
|
||||
source.notify(notification);
|
||||
|
||||
source.signalIDs.push(window.connect('notify::title', Lang.bind(this, function(win) {
|
||||
notification.update(this._getTitle(app, win), this._getBanner(app, win));
|
||||
})));
|
||||
source.signalIDs.push(window.connect('notify::title',
|
||||
Lang.bind(this, function() {
|
||||
notification.update(title, banner);
|
||||
})));
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const GLib = imports.gi.GLib;
|
||||
@ -37,28 +37,36 @@ function WindowDimmer(actor) {
|
||||
|
||||
WindowDimmer.prototype = {
|
||||
_init: function(actor) {
|
||||
this.effect = new Clutter.ShaderEffect({ shader_type: Clutter.ShaderType.FRAGMENT_SHADER });
|
||||
this.effect.set_shader_source(getDimShaderSource());
|
||||
if (Clutter.feature_available(Clutter.FeatureFlags.SHADERS_GLSL)) {
|
||||
this._effect = new Clutter.ShaderEffect({ shader_type: Clutter.ShaderType.FRAGMENT_SHADER });
|
||||
this._effect.set_shader_source(getDimShaderSource());
|
||||
} else {
|
||||
this._effect = null;
|
||||
}
|
||||
|
||||
this.actor = actor;
|
||||
},
|
||||
|
||||
set dimFraction(fraction) {
|
||||
this._dimFraction = fraction;
|
||||
|
||||
if (this._effect == null)
|
||||
return;
|
||||
|
||||
if (!Meta.prefs_get_attach_modal_dialogs()) {
|
||||
this.effect.enabled = false;
|
||||
this._effect.enabled = false;
|
||||
return;
|
||||
}
|
||||
|
||||
if (fraction > 0.01) {
|
||||
Shell.shader_effect_set_double_uniform(this.effect, 'height', this.actor.get_height());
|
||||
Shell.shader_effect_set_double_uniform(this.effect, 'fraction', fraction);
|
||||
Shell.shader_effect_set_double_uniform(this._effect, 'height', this.actor.get_height());
|
||||
Shell.shader_effect_set_double_uniform(this._effect, 'fraction', fraction);
|
||||
|
||||
if (!this.effect.actor)
|
||||
this.actor.add_effect(this.effect);
|
||||
if (!this._effect.actor)
|
||||
this.actor.add_effect(this._effect);
|
||||
} else {
|
||||
if (this.effect.actor)
|
||||
this.actor.remove_effect(this.effect);
|
||||
if (this._effect.actor)
|
||||
this.actor.remove_effect(this._effect);
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const GConf = imports.gi.GConf;
|
||||
@ -135,8 +135,11 @@ WindowClone.prototype = {
|
||||
this._realWindowDestroyId = this.realWindow.connect('destroy',
|
||||
Lang.bind(this, this._disconnectRealWindowSignals));
|
||||
|
||||
this.actor.connect('button-release-event',
|
||||
Lang.bind(this, this._onButtonRelease));
|
||||
let clickAction = new Clutter.ClickAction();
|
||||
clickAction.connect('clicked', Lang.bind(this, this._onClicked));
|
||||
clickAction.connect('long-press', Lang.bind(this, this._onLongPress));
|
||||
|
||||
this.actor.add_action(clickAction);
|
||||
|
||||
this.actor.connect('scroll-event',
|
||||
Lang.bind(this, this._onScroll));
|
||||
@ -147,6 +150,7 @@ WindowClone.prototype = {
|
||||
|
||||
this._draggable = DND.makeDraggable(this.actor,
|
||||
{ restoreOnSuccess: true,
|
||||
manualMode: true,
|
||||
dragActorMaxSize: WINDOW_DND_SIZE,
|
||||
dragActorOpacity: DRAGGING_WINDOW_OPACITY });
|
||||
this._draggable.connect('drag-begin', Lang.bind(this, this._onDragBegin));
|
||||
@ -345,9 +349,27 @@ WindowClone.prototype = {
|
||||
this._zoomStep = undefined;
|
||||
},
|
||||
|
||||
_onButtonRelease : function (actor, event) {
|
||||
_onClicked: function(action, actor) {
|
||||
this._selected = true;
|
||||
this.emit('selected', event.get_time());
|
||||
this.emit('selected', global.get_current_time());
|
||||
},
|
||||
|
||||
_onLongPress: function(action, actor, state) {
|
||||
// Take advantage of the Clutter policy to consider
|
||||
// a long-press canceled when the pointer movement
|
||||
// exceeds dnd-drag-threshold to manually start the drag
|
||||
if (state == Clutter.LongPressState.CANCEL) {
|
||||
// A click cancels a long-press before any click handler is
|
||||
// run - make sure to not start a drag in that case
|
||||
Meta.later_add(Meta.LaterType.BEFORE_REDRAW, Lang.bind(this,
|
||||
function() {
|
||||
if (this._selected)
|
||||
return;
|
||||
let [x, y] = action.get_coords();
|
||||
this._draggable.startDrag(x, y, global.get_current_time());
|
||||
}));
|
||||
}
|
||||
return true;
|
||||
},
|
||||
|
||||
_onDragBegin : function (draggable, time) {
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const Lang = imports.lang;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const Lang = imports.lang;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const Lang = imports.lang;
|
||||
@ -109,8 +109,6 @@ WorkspacesView.prototype = {
|
||||
this._scrollAdjustment.connect('notify::value',
|
||||
Lang.bind(this, this._onScroll));
|
||||
|
||||
this._timeoutId = 0;
|
||||
|
||||
this._switchWorkspaceNotifyId =
|
||||
global.window_manager.connect('switch-workspace',
|
||||
Lang.bind(this, this._activeWorkspaceChanged));
|
||||
@ -321,10 +319,6 @@ WorkspacesView.prototype = {
|
||||
if (this._inDrag)
|
||||
this._dragEnd();
|
||||
|
||||
if (this._timeoutId) {
|
||||
Mainloop.source_remove(this._timeoutId);
|
||||
this._timeoutId = 0;
|
||||
}
|
||||
if (this._itemDragBeginId > 0) {
|
||||
Main.overview.disconnect(this._itemDragBeginId);
|
||||
this._itemDragBeginId = 0;
|
||||
@ -383,72 +377,10 @@ WorkspacesView.prototype = {
|
||||
this._extraWorkspaces[i].setReservedSlot(dragEvent.dragActor._delegate);
|
||||
}
|
||||
|
||||
let primary = Main.layoutManager.primaryMonitor;
|
||||
|
||||
let activeWorkspaceIndex = global.screen.get_active_workspace_index();
|
||||
let topWorkspace, bottomWorkspace;
|
||||
topWorkspace = this._workspaces[activeWorkspaceIndex - 1];
|
||||
bottomWorkspace = this._workspaces[activeWorkspaceIndex + 1];
|
||||
let hoverWorkspace = null;
|
||||
|
||||
// reactive monitor edges
|
||||
let topEdge = primary.y;
|
||||
let switchTop = (dragEvent.y <= topEdge && topWorkspace);
|
||||
if (switchTop && this._dragOverLastY != topEdge) {
|
||||
topWorkspace.metaWorkspace.activate(global.get_current_time());
|
||||
this._dragOverLastY = topEdge;
|
||||
|
||||
return DND.DragMotionResult.CONTINUE;
|
||||
}
|
||||
let bottomEdge = primary.y + primary.height - 1;
|
||||
let switchBottom = (dragEvent.y >= bottomEdge && bottomWorkspace);
|
||||
if (switchBottom && this._dragOverLastY != bottomEdge) {
|
||||
bottomWorkspace.metaWorkspace.activate(global.get_current_time());
|
||||
this._dragOverLastY = bottomEdge;
|
||||
|
||||
return DND.DragMotionResult.CONTINUE;
|
||||
}
|
||||
this._dragOverLastY = dragEvent.y;
|
||||
let result = DND.DragMotionResult.CONTINUE;
|
||||
|
||||
// check hover state of new workspace area / inactive workspaces
|
||||
if (topWorkspace) {
|
||||
if (topWorkspace.actor.contains(dragEvent.targetActor)) {
|
||||
hoverWorkspace = topWorkspace;
|
||||
result = topWorkspace.handleDragOver(dragEvent.source, dragEvent.dragActor);
|
||||
}
|
||||
}
|
||||
|
||||
if (bottomWorkspace) {
|
||||
if (bottomWorkspace.actor.contains(dragEvent.targetActor)) {
|
||||
hoverWorkspace = bottomWorkspace;
|
||||
result = bottomWorkspace.handleDragOver(dragEvent.source, dragEvent.dragActor);
|
||||
}
|
||||
}
|
||||
|
||||
// handle delayed workspace switches
|
||||
if (hoverWorkspace) {
|
||||
if (!this._timeoutId)
|
||||
this._timeoutId = Mainloop.timeout_add_seconds(1,
|
||||
Lang.bind(this, function() {
|
||||
hoverWorkspace.metaWorkspace.activate(global.get_current_time());
|
||||
return false;
|
||||
}));
|
||||
} else {
|
||||
if (this._timeoutId) {
|
||||
Mainloop.source_remove(this._timeoutId);
|
||||
this._timeoutId = 0;
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
return DND.DragMotionResult.CONTINUE;
|
||||
},
|
||||
|
||||
_dragEnd: function() {
|
||||
if (this._timeoutId) {
|
||||
Mainloop.source_remove(this._timeoutId);
|
||||
this._timeoutId = 0;
|
||||
}
|
||||
DND.removeDragMonitor(this._dragMonitor);
|
||||
this._inDrag = false;
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const Lang = imports.lang;
|
||||
|
@ -1,6 +1,8 @@
|
||||
af
|
||||
an
|
||||
ar
|
||||
as
|
||||
ast
|
||||
be
|
||||
bg
|
||||
bn
|
||||
@ -30,6 +32,7 @@ it
|
||||
ja
|
||||
ko
|
||||
kn
|
||||
ku
|
||||
lt
|
||||
lv
|
||||
mr
|
||||
|
@ -25,6 +25,7 @@ js/ui/polkitAuthenticationAgent.js
|
||||
js/ui/popupMenu.js
|
||||
js/ui/runDialog.js
|
||||
js/ui/searchDisplay.js
|
||||
js/ui/shellEntry.js
|
||||
js/ui/shellMountOperation.js
|
||||
js/ui/status/accessibility.js
|
||||
js/ui/status/bluetooth.js
|
||||
@ -44,4 +45,3 @@ src/shell-global.c
|
||||
src/shell-mobile-providers.c
|
||||
src/shell-polkit-authentication-agent.c
|
||||
src/shell-util.c
|
||||
|
||||
|
136
po/be.po
136
po/be.po
@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell.master\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-09-19 21:58+0300\n"
|
||||
"PO-Revision-Date: 2011-09-19 21:58+0300\n"
|
||||
"POT-Creation-Date: 2011-09-21 22:18+0300\n"
|
||||
"PO-Revision-Date: 2011-09-21 22:18+0300\n"
|
||||
"Last-Translator: Ігар Грачышка <ihar.hrachyshka@gmail.com>\n"
|
||||
"Language-Team: Belarusian <i18n-bel-gnome@googlegroups.com>\n"
|
||||
"Language: be\n"
|
||||
@ -169,8 +169,8 @@ msgid "Not listed?"
|
||||
msgstr "Няма ў спісе?"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1004 ../js/ui/endSessionDialog.js:426
|
||||
#: ../js/ui/extensionSystem.js:477 ../js/ui/networkAgent.js:158
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:170 ../js/ui/status/bluetooth.js:480
|
||||
#: ../js/ui/extensionSystem.js:477 ../js/ui/networkAgent.js:165
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:171 ../js/ui/status/bluetooth.js:480
|
||||
msgid "Cancel"
|
||||
msgstr "Скасаваць"
|
||||
|
||||
@ -183,8 +183,8 @@ msgstr "Увайсці"
|
||||
msgid "Login Window"
|
||||
msgstr "Акно ўваходу"
|
||||
|
||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:525
|
||||
#: ../js/ui/userMenu.js:527 ../js/ui/userMenu.js:596
|
||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:514
|
||||
#: ../js/ui/userMenu.js:516 ../js/ui/userMenu.js:585
|
||||
msgid "Suspend"
|
||||
msgstr "Прыпыніць камп'ютар"
|
||||
|
||||
@ -248,12 +248,16 @@ msgstr "%s дададзены ў ваш спіс упадабанага."
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "%s выдалены з вашага спіса ўпадабанага."
|
||||
|
||||
#: ../js/ui/autorunManager.js:592
|
||||
#: ../js/ui/autorunManager.js:280
|
||||
msgid "Removable Devices"
|
||||
msgstr "Зменныя прыстасаванні"
|
||||
|
||||
#: ../js/ui/autorunManager.js:590
|
||||
#, c-format
|
||||
msgid "Open with %s"
|
||||
msgstr "Адкрыць у %s"
|
||||
|
||||
#: ../js/ui/autorunManager.js:618
|
||||
#: ../js/ui/autorunManager.js:616
|
||||
msgid "Eject"
|
||||
msgstr "Выняць"
|
||||
|
||||
@ -408,15 +412,15 @@ msgstr "На наступным тыдні"
|
||||
msgid "Unknown"
|
||||
msgstr "Невядома"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:80 ../js/ui/userMenu.js:147
|
||||
#: ../js/ui/contactDisplay.js:80 ../js/ui/userMenu.js:139
|
||||
msgid "Available"
|
||||
msgstr "Даступны"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:85 ../js/ui/userMenu.js:156
|
||||
#: ../js/ui/contactDisplay.js:85 ../js/ui/userMenu.js:148
|
||||
msgid "Away"
|
||||
msgstr "Адсутны"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:89 ../js/ui/userMenu.js:150
|
||||
#: ../js/ui/contactDisplay.js:89 ../js/ui/userMenu.js:142
|
||||
msgid "Busy"
|
||||
msgstr "Заняты"
|
||||
|
||||
@ -428,7 +432,7 @@ msgstr "Па-за сеткай"
|
||||
msgid "CONTACTS"
|
||||
msgstr "КАНТАКТЫ"
|
||||
|
||||
#: ../js/ui/dash.js:172 ../js/ui/messageTray.js:1196
|
||||
#: ../js/ui/dash.js:172 ../js/ui/messageTray.js:1197
|
||||
msgid "Remove"
|
||||
msgstr "Выдаліць"
|
||||
|
||||
@ -609,58 +613,58 @@ msgstr "Паглядзець выточны код"
|
||||
msgid "Web Page"
|
||||
msgstr "Сеціўная старонка"
|
||||
|
||||
#: ../js/ui/messageTray.js:1189
|
||||
#: ../js/ui/messageTray.js:1190
|
||||
msgid "Open"
|
||||
msgstr "Адкрыць"
|
||||
|
||||
#: ../js/ui/messageTray.js:2371
|
||||
#: ../js/ui/messageTray.js:2372
|
||||
msgid "System Information"
|
||||
msgstr "Сістэмная інфармацыя"
|
||||
|
||||
#: ../js/ui/networkAgent.js:138
|
||||
#: ../js/ui/networkAgent.js:145
|
||||
msgid "Show password"
|
||||
msgstr "Паказваць пароль"
|
||||
|
||||
#: ../js/ui/networkAgent.js:153
|
||||
#: ../js/ui/networkAgent.js:160
|
||||
msgid "Connect"
|
||||
msgstr "Злучыць"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: ../js/ui/networkAgent.js:248 ../js/ui/networkAgent.js:260
|
||||
#: ../js/ui/networkAgent.js:287 ../js/ui/networkAgent.js:307
|
||||
#: ../js/ui/networkAgent.js:317
|
||||
#: ../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
|
||||
msgid "Password: "
|
||||
msgstr "Пароль: "
|
||||
|
||||
#. static WEP
|
||||
#: ../js/ui/networkAgent.js:253
|
||||
#: ../js/ui/networkAgent.js:260
|
||||
msgid "Key: "
|
||||
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:285 ../js/ui/networkAgent.js:303
|
||||
#: ../js/ui/networkAgent.js:292 ../js/ui/networkAgent.js:310
|
||||
msgid "Username: "
|
||||
msgstr "Імя карыстальніка: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:291
|
||||
#: ../js/ui/networkAgent.js:298
|
||||
msgid "Identity: "
|
||||
msgstr "Ідэнтычнасць: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:293
|
||||
#: ../js/ui/networkAgent.js:300
|
||||
msgid "Private key password: "
|
||||
msgstr "Пароль да прыватнага ключа: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:305
|
||||
#: ../js/ui/networkAgent.js:312
|
||||
msgid "Service: "
|
||||
msgstr "Паслуга: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:334
|
||||
#: ../js/ui/networkAgent.js:341
|
||||
msgid "Authentication required by wireless network"
|
||||
msgstr "Для бесправадной сеткі патрэбная ідэнтыфікацыя"
|
||||
|
||||
#: ../js/ui/networkAgent.js:335
|
||||
#: ../js/ui/networkAgent.js:342
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
@ -669,37 +673,37 @@ msgstr ""
|
||||
"Для доступу да бесправадной сеткі \"%s\" патрэбны пароль або ключы "
|
||||
"шыфравання."
|
||||
|
||||
#: ../js/ui/networkAgent.js:339
|
||||
#: ../js/ui/networkAgent.js:346
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "Правадная ідэнтыфікацыя 802.1X"
|
||||
|
||||
#: ../js/ui/networkAgent.js:341
|
||||
#: ../js/ui/networkAgent.js:348
|
||||
msgid "Network name: "
|
||||
msgstr "Назва сеткі: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:346
|
||||
#: ../js/ui/networkAgent.js:353
|
||||
msgid "DSL authentication"
|
||||
msgstr "DSL-ідэнтыфікацыя"
|
||||
|
||||
#: ../js/ui/networkAgent.js:353
|
||||
#: ../js/ui/networkAgent.js:360
|
||||
msgid "PIN code required"
|
||||
msgstr "Патрэбны PIN-код"
|
||||
|
||||
#: ../js/ui/networkAgent.js:354
|
||||
#: ../js/ui/networkAgent.js:361
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr ""
|
||||
"Для прыстасавання для доступу да шырокапалоснай мабільнай сеткі патрэбны PIN-"
|
||||
"код"
|
||||
|
||||
#: ../js/ui/networkAgent.js:355
|
||||
#: ../js/ui/networkAgent.js:362
|
||||
msgid "PIN: "
|
||||
msgstr "PIN-код: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:361
|
||||
#: ../js/ui/networkAgent.js:368
|
||||
msgid "Mobile broadband network password"
|
||||
msgstr "Пароль да шырокапалоснай мабільнай сеткі"
|
||||
|
||||
#: ../js/ui/networkAgent.js:362
|
||||
#: ../js/ui/networkAgent.js:369
|
||||
#, c-format
|
||||
msgid "A password is required to connect to '%s'."
|
||||
msgstr "Каб злучыцца з \"%s\", патрэбны пароль."
|
||||
@ -763,7 +767,7 @@ msgstr "Патрэбная ідэнтыфікацыя"
|
||||
msgid "Administrator"
|
||||
msgstr "Адміністратар"
|
||||
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:174
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:175
|
||||
msgid "Authenticate"
|
||||
msgstr "Ідэнтыфікаваць"
|
||||
|
||||
@ -771,11 +775,11 @@ msgstr "Ідэнтыфікаваць"
|
||||
#. * requested authentication was not gained; this can happen
|
||||
#. * because of an authentication error (like invalid password),
|
||||
#. * for instance.
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:262
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:256
|
||||
msgid "Sorry, that didn't work. Please try again."
|
||||
msgstr "На жаль, ідэнтыфікацыя не адбылася. Паўтарыце спробу."
|
||||
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:274
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:268
|
||||
msgid "Password:"
|
||||
msgstr "Пароль:"
|
||||
|
||||
@ -784,7 +788,7 @@ msgstr "Пароль:"
|
||||
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
|
||||
#. switches containing "◯" and "|"). Other values will
|
||||
#. simply result in invisible toggle switches.
|
||||
#: ../js/ui/popupMenu.js:709
|
||||
#: ../js/ui/popupMenu.js:727
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-intl"
|
||||
|
||||
@ -974,11 +978,11 @@ msgstr "Увядзіце PIN, які паказвае прыстасаванне
|
||||
msgid "OK"
|
||||
msgstr "Добра"
|
||||
|
||||
#: ../js/ui/status/keyboard.js:72
|
||||
#: ../js/ui/status/keyboard.js:73
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "Паказаць раскладку"
|
||||
|
||||
#: ../js/ui/status/keyboard.js:77
|
||||
#: ../js/ui/status/keyboard.js:78
|
||||
msgid "Region and Language Settings"
|
||||
msgstr "Настройкі мясцовасці і мовы"
|
||||
|
||||
@ -1023,13 +1027,13 @@ msgstr "недаступна"
|
||||
msgid "connection failed"
|
||||
msgstr "не ўдалося злучыцца"
|
||||
|
||||
#: ../js/ui/status/network.js:575 ../js/ui/status/network.js:1515
|
||||
#: ../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:1455
|
||||
#: ../js/ui/status/network.js:611 ../js/ui/status/network.js:1458
|
||||
msgid "Connected (private)"
|
||||
msgstr "Злучана (прыватна)"
|
||||
|
||||
@ -1046,7 +1050,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:1467
|
||||
#: ../js/ui/status/network.js:878 ../js/ui/status/network.js:1470
|
||||
#, c-format
|
||||
msgid "Auto %s"
|
||||
msgstr "Аўтаматычна: %s"
|
||||
@ -1055,47 +1059,47 @@ msgstr "Аўтаматычна: %s"
|
||||
msgid "Auto bluetooth"
|
||||
msgstr "Аўтаматычна: Bluetooth"
|
||||
|
||||
#: ../js/ui/status/network.js:1469
|
||||
#: ../js/ui/status/network.js:1472
|
||||
msgid "Auto wireless"
|
||||
msgstr "Аўтаматычна: wireless"
|
||||
|
||||
#: ../js/ui/status/network.js:1558
|
||||
#: ../js/ui/status/network.js:1566
|
||||
msgid "Enable networking"
|
||||
msgstr "Уключыць сеткавыя функцыі"
|
||||
|
||||
#: ../js/ui/status/network.js:1570
|
||||
#: ../js/ui/status/network.js:1578
|
||||
msgid "Wired"
|
||||
msgstr "Правадное злучэнне"
|
||||
|
||||
#: ../js/ui/status/network.js:1581
|
||||
#: ../js/ui/status/network.js:1589
|
||||
msgid "Wireless"
|
||||
msgstr "Бесправадное злучэнне"
|
||||
|
||||
#: ../js/ui/status/network.js:1591
|
||||
#: ../js/ui/status/network.js:1599
|
||||
msgid "Mobile broadband"
|
||||
msgstr "Мабільны broadband"
|
||||
|
||||
#: ../js/ui/status/network.js:1601
|
||||
#: ../js/ui/status/network.js:1609
|
||||
msgid "VPN Connections"
|
||||
msgstr "VPN-злучэнні"
|
||||
|
||||
#: ../js/ui/status/network.js:1612
|
||||
#: ../js/ui/status/network.js:1620
|
||||
msgid "Network Settings"
|
||||
msgstr "Сеткавыя настройкі"
|
||||
|
||||
#: ../js/ui/status/network.js:1749
|
||||
#: ../js/ui/status/network.js:1757
|
||||
msgid "Connection failed"
|
||||
msgstr "Не ўдалося злучыцца"
|
||||
|
||||
#: ../js/ui/status/network.js:1750
|
||||
#: ../js/ui/status/network.js:1758
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Не ўдалося ўключыць сеткавае злучэнне"
|
||||
|
||||
#: ../js/ui/status/network.js:2000
|
||||
#: ../js/ui/status/network.js:2008
|
||||
msgid "Networking is disabled"
|
||||
msgstr "Сеткавыя функцыі выключаныя"
|
||||
|
||||
#: ../js/ui/status/network.js:2125
|
||||
#: ../js/ui/status/network.js:2133
|
||||
msgid "Network Manager"
|
||||
msgstr "Сеткавы кіраўнік"
|
||||
|
||||
@ -1447,51 +1451,51 @@ msgstr "Рэдагаваць конт"
|
||||
msgid "Unknown reason"
|
||||
msgstr "Невядомая прычына"
|
||||
|
||||
#: ../js/ui/userMenu.js:153
|
||||
#: ../js/ui/userMenu.js:145
|
||||
msgid "Hidden"
|
||||
msgstr "Схаваны"
|
||||
|
||||
#: ../js/ui/userMenu.js:159
|
||||
#: ../js/ui/userMenu.js:151
|
||||
msgid "Idle"
|
||||
msgstr "Бяздзейны"
|
||||
|
||||
#: ../js/ui/userMenu.js:162
|
||||
#: ../js/ui/userMenu.js:154
|
||||
msgid "Unavailable"
|
||||
msgstr "Недаступны"
|
||||
|
||||
#: ../js/ui/userMenu.js:523 ../js/ui/userMenu.js:527 ../js/ui/userMenu.js:597
|
||||
#: ../js/ui/userMenu.js:512 ../js/ui/userMenu.js:516 ../js/ui/userMenu.js:586
|
||||
msgid "Power Off..."
|
||||
msgstr "Выключыць камп'ютар..."
|
||||
|
||||
#: ../js/ui/userMenu.js:559
|
||||
#: ../js/ui/userMenu.js:548
|
||||
msgid "Notifications"
|
||||
msgstr "Апавяшчэнні"
|
||||
|
||||
#: ../js/ui/userMenu.js:567
|
||||
#: ../js/ui/userMenu.js:556
|
||||
msgid "Online Accounts"
|
||||
msgstr "Сеціўныя конты"
|
||||
|
||||
#: ../js/ui/userMenu.js:571
|
||||
#: ../js/ui/userMenu.js:560
|
||||
msgid "System Settings"
|
||||
msgstr "Сістэмныя настройкі"
|
||||
|
||||
#: ../js/ui/userMenu.js:578
|
||||
#: ../js/ui/userMenu.js:567
|
||||
msgid "Lock Screen"
|
||||
msgstr "Замкнуць экран"
|
||||
|
||||
#: ../js/ui/userMenu.js:583
|
||||
#: ../js/ui/userMenu.js:572
|
||||
msgid "Switch User"
|
||||
msgstr "Перамяніць карыстальніка"
|
||||
|
||||
#: ../js/ui/userMenu.js:588
|
||||
#: ../js/ui/userMenu.js:577
|
||||
msgid "Log Out..."
|
||||
msgstr "Скончыць сеанс..."
|
||||
|
||||
#: ../js/ui/userMenu.js:616
|
||||
#: ../js/ui/userMenu.js:605
|
||||
msgid "Your chat status will be set to busy"
|
||||
msgstr "Вам прызначаны стан занятасці для чату"
|
||||
|
||||
#: ../js/ui/userMenu.js:617
|
||||
#: ../js/ui/userMenu.js:606
|
||||
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."
|
||||
|
364
po/bg.po
364
po/bg.po
@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-09-18 11:40+0300\n"
|
||||
"PO-Revision-Date: 2011-09-18 11:40+0300\n"
|
||||
"POT-Creation-Date: 2011-10-15 10:43+0300\n"
|
||||
"PO-Revision-Date: 2011-10-05 13:04+0300\n"
|
||||
"Last-Translator: Ivaylo Valkov <ivaylo@e-valkov.org>\n"
|
||||
"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
|
||||
"Language: bg\n"
|
||||
@ -70,24 +70,20 @@ msgid "If true, display date in the clock, in addition to time."
|
||||
msgstr "Показване на дата в допълнение към времето, ако е истина."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:9
|
||||
msgid "If true, display onscreen keyboard."
|
||||
msgstr "Показване на екранната клавиатура, ако е истина."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:10
|
||||
msgid "If true, display seconds in time."
|
||||
msgstr "Показване на секундите в допълнение към времето, ако е истина."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:11
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:10
|
||||
msgid "If true, display the ISO week date in the calendar."
|
||||
msgstr "Показване на деня от седмицата по ISO, ако е истина."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:12
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:11
|
||||
msgid "List of desktop file IDs for favorite applications"
|
||||
msgstr ""
|
||||
"Списък на идентификаторите на файловете във формат .desktop за любими "
|
||||
"програми"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:14
|
||||
#: ../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 "
|
||||
@ -113,23 +109,19 @@ msgstr ""
|
||||
"WEBM и използва кодера VP8. Стойността в „%T“ замества предполагаемия "
|
||||
"оптимален брой нишки за системата."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:15
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:14
|
||||
msgid "Show date in clock"
|
||||
msgstr "Показване на дата в часовника"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:16
|
||||
msgid "Show the onscreen keyboard"
|
||||
msgstr "Показване на екранната клавиатура"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:17
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:15
|
||||
msgid "Show the week date in the calendar"
|
||||
msgstr "Показване на деня от седмицата в календара"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:18
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:16
|
||||
msgid "Show time with seconds"
|
||||
msgstr "Показване на секунди към времето"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:19
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:17
|
||||
msgid ""
|
||||
"The applications corresponding to these identifiers will be displayed in the "
|
||||
"favorites area."
|
||||
@ -137,7 +129,7 @@ msgstr ""
|
||||
"Програмите, които отговарят на тези идентификатор, ще бъдат показани в "
|
||||
"областта „Любими“."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:20
|
||||
#: ../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 "
|
||||
@ -147,7 +139,7 @@ msgstr ""
|
||||
"екрана, което ще бъде уникално и ще зависи от текущата дата. Трябва да го "
|
||||
"промените, когато записвате в различен формат на контейнера."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:21
|
||||
#: ../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."
|
||||
@ -155,11 +147,11 @@ msgstr ""
|
||||
"Честота на кадрите за записа на екрана създаден от записващата програма на "
|
||||
"Обвивката на GNOME в кадри за секунда."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:22
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:20
|
||||
msgid "The gstreamer pipeline used to encode the screencast"
|
||||
msgstr "Конвейерът на gstreamer за кодиране на записа на екрана"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:23
|
||||
#: ../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 "
|
||||
@ -172,54 +164,75 @@ msgstr ""
|
||||
"защитите личните си данни. Забележете, че дори да го направите, това няма да "
|
||||
"премахне вече запазените данни."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:24
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:22
|
||||
msgid "The type of keyboard to use."
|
||||
msgstr "Видът на клавиатурата, която да се ползва."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:25
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:23
|
||||
msgid "Uuids of extensions to enable"
|
||||
msgstr "Идентификатори (uuid) на разширения, които да бъдат включени"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:26
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:24
|
||||
msgid "Whether to collect stats about applications usage"
|
||||
msgstr "Дали да се събира статистика за използването на програми"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:27
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:25
|
||||
msgid "Which keyboard to use"
|
||||
msgstr "Коя клавиатура да бъде да се ползва"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:28
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:26
|
||||
msgid "disabled OpenSearch providers"
|
||||
msgstr "изключени доставчици на OpenSearch"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:608
|
||||
#: ../js/gdm/loginDialog.js:617
|
||||
msgid "Session..."
|
||||
msgstr "Сесия…"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:765
|
||||
#: ../js/gdm/loginDialog.js:788
|
||||
msgctxt "title"
|
||||
msgid "Sign In"
|
||||
msgstr "Регистриране"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:822
|
||||
#. translators: this message is shown below the password entry field
|
||||
#. to indicate the user can swipe their finger instead
|
||||
#: ../js/gdm/loginDialog.js:833
|
||||
msgid "(or swipe finger)"
|
||||
msgstr "(или се регистрирайте с пръстов отпечатък)"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:851
|
||||
msgid "Not listed?"
|
||||
msgstr "Липсва в списъка?"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:932 ../js/ui/endSessionDialog.js:426
|
||||
#: ../js/ui/extensionSystem.js:477 ../js/ui/networkAgent.js:158
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:170 ../js/ui/status/bluetooth.js:480
|
||||
#: ../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
|
||||
msgid "Cancel"
|
||||
msgstr "Отказване"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:937
|
||||
#: ../js/gdm/loginDialog.js:1024
|
||||
msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "Регистриране"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1257
|
||||
#: ../js/gdm/loginDialog.js:1373
|
||||
msgid "Login Window"
|
||||
msgstr "Екран за идентификация"
|
||||
|
||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:549
|
||||
#: ../js/ui/userMenu.js:551 ../js/ui/userMenu.js:620
|
||||
msgid "Suspend"
|
||||
msgstr "Приспиване"
|
||||
|
||||
#: ../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/ui/endSessionDialog.js:80
|
||||
#: ../js/ui/endSessionDialog.js:91
|
||||
msgid "Power Off"
|
||||
msgstr "Изключване"
|
||||
|
||||
#: ../js/misc/util.js:92
|
||||
msgid "Command not found"
|
||||
msgstr "Командата не беше открита"
|
||||
@ -270,12 +283,16 @@ msgstr "Програмата „%s“ беше добавена в „Любим
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "Програмата „%s“ беше премахната от „Любими“"
|
||||
|
||||
#: ../js/ui/autorunManager.js:592
|
||||
#: ../js/ui/autorunManager.js:280
|
||||
msgid "Removable Devices"
|
||||
msgstr "Външни устройства"
|
||||
|
||||
#: ../js/ui/autorunManager.js:590
|
||||
#, c-format
|
||||
msgid "Open with %s"
|
||||
msgstr "Отваряне с %s"
|
||||
|
||||
#: ../js/ui/autorunManager.js:618
|
||||
#: ../js/ui/autorunManager.js:616
|
||||
msgid "Eject"
|
||||
msgstr "Изваждане"
|
||||
|
||||
@ -425,32 +442,32 @@ msgstr "Тази седмица"
|
||||
msgid "Next week"
|
||||
msgstr "Следващата седмица"
|
||||
|
||||
#: ../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:444
|
||||
#: ../js/ui/status/power.js:223 ../src/shell-app.c:353
|
||||
msgid "Unknown"
|
||||
msgstr "Неизвестно"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:80 ../js/ui/userMenu.js:147
|
||||
#: ../js/ui/contactDisplay.js:86 ../js/ui/userMenu.js:139
|
||||
msgid "Available"
|
||||
msgstr "На линия"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:85 ../js/ui/userMenu.js:156
|
||||
#: ../js/ui/contactDisplay.js:91 ../js/ui/userMenu.js:148
|
||||
msgid "Away"
|
||||
msgstr "Отсъстващ"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:89 ../js/ui/userMenu.js:150
|
||||
#: ../js/ui/contactDisplay.js:95 ../js/ui/userMenu.js:142
|
||||
msgid "Busy"
|
||||
msgstr "Зает"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:93
|
||||
#: ../js/ui/contactDisplay.js:99
|
||||
msgid "Offline"
|
||||
msgstr "Извън мрежата"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:140
|
||||
#: ../js/ui/contactDisplay.js:146
|
||||
msgid "CONTACTS"
|
||||
msgstr "КОНТАКТИ"
|
||||
|
||||
#: ../js/ui/dash.js:172 ../js/ui/messageTray.js:1196
|
||||
#: ../js/ui/dash.js:172 ../js/ui/messageTray.js:1204
|
||||
msgid "Remove"
|
||||
msgstr "Изтриване"
|
||||
|
||||
@ -547,10 +564,6 @@ msgstr[1] "Ще излезете от системата автоматично
|
||||
msgid "Logging out of the system."
|
||||
msgstr "Излизане от системата."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:80 ../js/ui/endSessionDialog.js:91
|
||||
msgid "Power Off"
|
||||
msgstr "Изключване"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:81
|
||||
msgid "Click Power Off to quit these applications and power off the system."
|
||||
msgstr ""
|
||||
@ -568,11 +581,6 @@ msgstr[1] "Системата ще се изключи автоматично с
|
||||
msgid "Powering off the system."
|
||||
msgstr "Изключване на системата."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:89 ../js/ui/endSessionDialog.js:97
|
||||
#: ../js/ui/endSessionDialog.js:106
|
||||
msgid "Restart"
|
||||
msgstr "Рестартиране"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:98
|
||||
msgid "Click Restart to quit these applications and restart the system."
|
||||
msgstr ""
|
||||
@ -599,7 +607,11 @@ msgstr "Инсталиране"
|
||||
msgid "Download and install '%s' from extensions.gnome.org?"
|
||||
msgstr "Да се изтегли и инсталира ли „%s“ от from extensions.gnome.org?"
|
||||
|
||||
#: ../js/ui/keyboard.js:513 ../js/ui/status/power.js:211
|
||||
#: ../js/ui/keyboard.js:309
|
||||
msgid "tray"
|
||||
msgstr "област за уведомяване"
|
||||
|
||||
#: ../js/ui/keyboard.js:531 ../js/ui/status/power.js:211
|
||||
msgid "Keyboard"
|
||||
msgstr "Клавиатура"
|
||||
|
||||
@ -629,66 +641,66 @@ msgstr "Остаряло"
|
||||
msgid "Downloading"
|
||||
msgstr "Изтегляне"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:724
|
||||
#: ../js/ui/lookingGlass.js:720
|
||||
msgid "View Source"
|
||||
msgstr "Преглед на изходния код"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:730
|
||||
#: ../js/ui/lookingGlass.js:726
|
||||
msgid "Web Page"
|
||||
msgstr "Домашна страница"
|
||||
|
||||
#: ../js/ui/messageTray.js:1189
|
||||
#: ../js/ui/messageTray.js:1197
|
||||
msgid "Open"
|
||||
msgstr "Отваряне"
|
||||
|
||||
#: ../js/ui/messageTray.js:2368
|
||||
#: ../js/ui/messageTray.js:2406
|
||||
msgid "System Information"
|
||||
msgstr "Информация за системата"
|
||||
|
||||
#: ../js/ui/networkAgent.js:138
|
||||
#: ../js/ui/networkAgent.js:145
|
||||
msgid "Show password"
|
||||
msgstr "Показване на парола"
|
||||
|
||||
#: ../js/ui/networkAgent.js:153
|
||||
#: ../js/ui/networkAgent.js:160
|
||||
msgid "Connect"
|
||||
msgstr "Свързване"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: ../js/ui/networkAgent.js:248 ../js/ui/networkAgent.js:260
|
||||
#: ../js/ui/networkAgent.js:287 ../js/ui/networkAgent.js:307
|
||||
#: ../js/ui/networkAgent.js:317
|
||||
#: ../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
|
||||
msgid "Password: "
|
||||
msgstr "Парола: "
|
||||
|
||||
#. static WEP
|
||||
#: ../js/ui/networkAgent.js:253
|
||||
#: ../js/ui/networkAgent.js:260
|
||||
msgid "Key: "
|
||||
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:285 ../js/ui/networkAgent.js:303
|
||||
#: ../js/ui/networkAgent.js:292 ../js/ui/networkAgent.js:310
|
||||
msgid "Username: "
|
||||
msgstr "Потребител: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:291
|
||||
#: ../js/ui/networkAgent.js:298
|
||||
msgid "Identity: "
|
||||
msgstr "Самоличност: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:293
|
||||
#: ../js/ui/networkAgent.js:300
|
||||
msgid "Private key password: "
|
||||
msgstr "Парола за частният ключ: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:305
|
||||
#: ../js/ui/networkAgent.js:312
|
||||
msgid "Service: "
|
||||
msgstr "Услуга: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:334
|
||||
#: ../js/ui/networkAgent.js:341
|
||||
msgid "Authentication required by wireless network"
|
||||
msgstr "Изисква се удостоверяване за безжична мрежа"
|
||||
|
||||
#: ../js/ui/networkAgent.js:335
|
||||
#: ../js/ui/networkAgent.js:342
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
@ -697,35 +709,35 @@ msgstr ""
|
||||
"За достъп до безжичната мрежа „%s“ са необходими пароли или криптирани "
|
||||
"ключове."
|
||||
|
||||
#: ../js/ui/networkAgent.js:339
|
||||
#: ../js/ui/networkAgent.js:346
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "Жична идентификация 802.1Х"
|
||||
|
||||
#: ../js/ui/networkAgent.js:341
|
||||
#: ../js/ui/networkAgent.js:348
|
||||
msgid "Network name: "
|
||||
msgstr "Име на мрежата: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:346
|
||||
#: ../js/ui/networkAgent.js:353
|
||||
msgid "DSL authentication"
|
||||
msgstr "Удостоверяване за DSL"
|
||||
|
||||
#: ../js/ui/networkAgent.js:353
|
||||
#: ../js/ui/networkAgent.js:360
|
||||
msgid "PIN code required"
|
||||
msgstr "Необходим е PIN"
|
||||
|
||||
#: ../js/ui/networkAgent.js:354
|
||||
#: ../js/ui/networkAgent.js:361
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "Мобилното устройство изисква ПИН"
|
||||
|
||||
#: ../js/ui/networkAgent.js:355
|
||||
#: ../js/ui/networkAgent.js:362
|
||||
msgid "PIN: "
|
||||
msgstr "ПИН: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:361
|
||||
#: ../js/ui/networkAgent.js:368
|
||||
msgid "Mobile broadband network password"
|
||||
msgstr "Парола за мобилна широколентова връзка"
|
||||
|
||||
#: ../js/ui/networkAgent.js:362
|
||||
#: ../js/ui/networkAgent.js:369
|
||||
#, c-format
|
||||
msgid "A password is required to connect to '%s'."
|
||||
msgstr "За свързване към „%s“ се изисква парола."
|
||||
@ -789,7 +801,7 @@ msgstr "Необходимо е удостоверяване"
|
||||
msgid "Administrator"
|
||||
msgstr "Администратор"
|
||||
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:174
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:175
|
||||
msgid "Authenticate"
|
||||
msgstr "Удостоверяване"
|
||||
|
||||
@ -797,11 +809,11 @@ msgstr "Удостоверяване"
|
||||
#. * requested authentication was not gained; this can happen
|
||||
#. * because of an authentication error (like invalid password),
|
||||
#. * for instance.
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:262
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:256
|
||||
msgid "Sorry, that didn't work. Please try again."
|
||||
msgstr "Действието не беше успешно. Опитайте отново."
|
||||
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:274
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:268
|
||||
msgid "Password:"
|
||||
msgstr "Парола:"
|
||||
|
||||
@ -810,7 +822,7 @@ msgstr "Парола:"
|
||||
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
|
||||
#. switches containing "◯" and "|"). Other values will
|
||||
#. simply result in invisible toggle switches.
|
||||
#: ../js/ui/popupMenu.js:687
|
||||
#: ../js/ui/popupMenu.js:731
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-intl"
|
||||
|
||||
@ -837,9 +849,10 @@ msgstr "Увеличаване"
|
||||
#. let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA,
|
||||
#. 'screen-reader-enabled');
|
||||
#. this.menu.addMenuItem(screenReader);
|
||||
#. let screenKeyboard = this._buildItem(_("Screen Keyboard"), APPLICATIONS_SCHEMA,
|
||||
#. 'screen-keyboard-enabled');
|
||||
#. this.menu.addMenuItem(screenKeyboard);
|
||||
#: ../js/ui/status/accessibility.js:71
|
||||
msgid "Screen Keyboard"
|
||||
msgstr "Екранна клавиатура"
|
||||
|
||||
#: ../js/ui/status/accessibility.js:75
|
||||
msgid "Visual Alerts"
|
||||
msgstr "Визуална помощ"
|
||||
@ -958,7 +971,7 @@ msgstr "Винаги позволяване на достъп"
|
||||
msgid "Grant this time only"
|
||||
msgstr "Позволяване само този път"
|
||||
|
||||
#: ../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 "Отхвърляне"
|
||||
|
||||
@ -998,11 +1011,11 @@ msgstr "Въведете кода на устройството %s."
|
||||
msgid "OK"
|
||||
msgstr "Добре"
|
||||
|
||||
#: ../js/ui/status/keyboard.js:72
|
||||
#: ../js/ui/status/keyboard.js:73
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "Показване на клавиатурната подредба"
|
||||
|
||||
#: ../js/ui/status/keyboard.js:77
|
||||
#: ../js/ui/status/keyboard.js:78
|
||||
msgid "Region and Language Settings"
|
||||
msgstr "Настройки на региона и езика"
|
||||
|
||||
@ -1047,13 +1060,13 @@ msgstr "недостъпно"
|
||||
msgid "connection failed"
|
||||
msgstr "връзката е неуспешна"
|
||||
|
||||
#: ../js/ui/status/network.js:575 ../js/ui/status/network.js:1515
|
||||
#: ../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:1455
|
||||
#: ../js/ui/status/network.js:611 ../js/ui/status/network.js:1458
|
||||
msgid "Connected (private)"
|
||||
msgstr "Връзката е осъществена (няма налични данни)"
|
||||
|
||||
@ -1070,7 +1083,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:1467
|
||||
#: ../js/ui/status/network.js:878 ../js/ui/status/network.js:1470
|
||||
#, c-format
|
||||
msgid "Auto %s"
|
||||
msgstr "Автоматична мрежа към „%s“"
|
||||
@ -1079,47 +1092,47 @@ msgstr "Автоматична мрежа към „%s“"
|
||||
msgid "Auto bluetooth"
|
||||
msgstr "Автоматична мрежа по Bluetooth"
|
||||
|
||||
#: ../js/ui/status/network.js:1469
|
||||
#: ../js/ui/status/network.js:1472
|
||||
msgid "Auto wireless"
|
||||
msgstr "Автоматична безжична мрежа"
|
||||
|
||||
#: ../js/ui/status/network.js:1558
|
||||
#: ../js/ui/status/network.js:1566
|
||||
msgid "Enable networking"
|
||||
msgstr "Включване на мрежата"
|
||||
|
||||
#: ../js/ui/status/network.js:1570
|
||||
#: ../js/ui/status/network.js:1578
|
||||
msgid "Wired"
|
||||
msgstr "Жична"
|
||||
|
||||
#: ../js/ui/status/network.js:1581
|
||||
#: ../js/ui/status/network.js:1589
|
||||
msgid "Wireless"
|
||||
msgstr "Безжична"
|
||||
|
||||
#: ../js/ui/status/network.js:1591
|
||||
#: ../js/ui/status/network.js:1599
|
||||
msgid "Mobile broadband"
|
||||
msgstr "Мобилна широколентова"
|
||||
|
||||
#: ../js/ui/status/network.js:1601
|
||||
#: ../js/ui/status/network.js:1609
|
||||
msgid "VPN Connections"
|
||||
msgstr "Връзки към ВЧМ"
|
||||
|
||||
#: ../js/ui/status/network.js:1612
|
||||
#: ../js/ui/status/network.js:1620
|
||||
msgid "Network Settings"
|
||||
msgstr "Настройки на мрежата"
|
||||
|
||||
#: ../js/ui/status/network.js:1749
|
||||
#: ../js/ui/status/network.js:1757
|
||||
msgid "Connection failed"
|
||||
msgstr "Връзката е неуспешна"
|
||||
|
||||
#: ../js/ui/status/network.js:1750
|
||||
#: ../js/ui/status/network.js:1758
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Осъществяването на връзка към мрежата е неуспешно"
|
||||
|
||||
#: ../js/ui/status/network.js:2000
|
||||
#: ../js/ui/status/network.js:2008
|
||||
msgid "Networking is disabled"
|
||||
msgstr "Мрежата е изключена"
|
||||
|
||||
#: ../js/ui/status/network.js:2125
|
||||
#: ../js/ui/status/network.js:2133
|
||||
msgid "Network Manager"
|
||||
msgstr "Управление на мрежата"
|
||||
|
||||
@ -1227,39 +1240,39 @@ msgid "Invitation"
|
||||
msgstr "Покана"
|
||||
|
||||
#. We got the TpContact
|
||||
#: ../js/ui/telepathyClient.js:325
|
||||
#: ../js/ui/telepathyClient.js:327
|
||||
msgid "Call"
|
||||
msgstr "Разговор"
|
||||
|
||||
#. We got the TpContact
|
||||
#: ../js/ui/telepathyClient.js:353
|
||||
#: ../js/ui/telepathyClient.js:357
|
||||
msgid "File Transfer"
|
||||
msgstr "Обмен на файлове"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:434
|
||||
#: ../js/ui/telepathyClient.js:438
|
||||
msgid "Subscription request"
|
||||
msgstr "Искане за записване"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:470
|
||||
#: ../js/ui/telepathyClient.js:474
|
||||
msgid "Connection error"
|
||||
msgstr "Грешка при свързване"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:733
|
||||
#: ../js/ui/telepathyClient.js:741
|
||||
#, c-format
|
||||
msgid "%s is online."
|
||||
msgstr "%s е на линия."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:738
|
||||
#: ../js/ui/telepathyClient.js:746
|
||||
#, c-format
|
||||
msgid "%s is offline."
|
||||
msgstr "%s не е на линия."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:741
|
||||
#: ../js/ui/telepathyClient.js:749
|
||||
#, c-format
|
||||
msgid "%s is away."
|
||||
msgstr "%s отсъства."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:744
|
||||
#: ../js/ui/telepathyClient.js:752
|
||||
#, c-format
|
||||
msgid "%s is busy."
|
||||
msgstr "%s е зает."
|
||||
@ -1267,35 +1280,35 @@ msgstr "%s е зает."
|
||||
#. Translators: this is a time format string followed by a date.
|
||||
#. If applicable, replace %X with a strftime format valid for your
|
||||
#. locale, without seconds.
|
||||
#: ../js/ui/telepathyClient.js:978
|
||||
#: ../js/ui/telepathyClient.js:986
|
||||
#, no-c-format
|
||||
msgid "Sent at <b>%X</b> on <b>%A</b>"
|
||||
msgstr "Изпратено в <b>%X</b> на <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:984
|
||||
#: ../js/ui/telepathyClient.js:992
|
||||
#, no-c-format
|
||||
msgid "Sent on <b>%A</b>, <b>%B %d</b>"
|
||||
msgstr "Изпратено на <b>%3$d %2$B</b>, <b>%1$A</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 "Изпратено на <b>%3$d %2$B %4$Y</b>, <b>%1$A</b>"
|
||||
|
||||
#. 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 в момента е познат като %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 "Покана за присъединяване към %s"
|
||||
@ -1303,34 +1316,35 @@ msgstr "Покана за присъединяване към %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 ви кани да се присъедините към %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 "Отклоняване"
|
||||
|
||||
#: ../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 "Приемане"
|
||||
|
||||
#. 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 "Видео разговор от %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 "Повикване от %s"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1197
|
||||
#. translators: this is a button label (verb), not a noun
|
||||
#: ../js/ui/telepathyClient.js:1206
|
||||
msgid "Answer"
|
||||
msgstr "Отговор"
|
||||
|
||||
@ -1339,109 +1353,109 @@ msgstr "Отговор"
|
||||
#. * 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 ви праща „%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 иска разрешение да вижда дали сте в мрежата"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1406
|
||||
#: ../js/ui/telepathyClient.js:1415
|
||||
msgid "Network error"
|
||||
msgstr "Мрежова грешка"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1408
|
||||
#: ../js/ui/telepathyClient.js:1417
|
||||
msgid "Authentication failed"
|
||||
msgstr "Неуспешно идентифициране"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1410
|
||||
#: ../js/ui/telepathyClient.js:1419
|
||||
msgid "Encryption error"
|
||||
msgstr "Грешка в шифрирането"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1412
|
||||
#: ../js/ui/telepathyClient.js:1421
|
||||
msgid "Certificate not provided"
|
||||
msgstr "Не е предоставен сертификат"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1414
|
||||
#: ../js/ui/telepathyClient.js:1423
|
||||
msgid "Certificate untrusted"
|
||||
msgstr "Сертификатът не е доверен"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1416
|
||||
#: ../js/ui/telepathyClient.js:1425
|
||||
msgid "Certificate expired"
|
||||
msgstr "Сертификатът е изтекъл"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1418
|
||||
#: ../js/ui/telepathyClient.js:1427
|
||||
msgid "Certificate not activated"
|
||||
msgstr "Сертификатът не е влязъл в сила"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1420
|
||||
#: ../js/ui/telepathyClient.js:1429
|
||||
msgid "Certificate hostname mismatch"
|
||||
msgstr "Несъвпадане на името с това в сертификата"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1422
|
||||
#: ../js/ui/telepathyClient.js:1431
|
||||
msgid "Certificate fingerprint mismatch"
|
||||
msgstr "Несъвпадане на отпечатъка на сертификата"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1424
|
||||
#: ../js/ui/telepathyClient.js:1433
|
||||
msgid "Certificate self-signed"
|
||||
msgstr "Сертификатът е самоподписан"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1426
|
||||
#: ../js/ui/telepathyClient.js:1435
|
||||
msgid "Status is set to offline"
|
||||
msgstr "Състоянието е „Извън мрежата“."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1428
|
||||
#: ../js/ui/telepathyClient.js:1437
|
||||
msgid "Encryption is not available"
|
||||
msgstr "Не е налично шифриране"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1430
|
||||
#: ../js/ui/telepathyClient.js:1439
|
||||
msgid "Certificate is invalid"
|
||||
msgstr "Сертификатът е неправилен"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1432
|
||||
#: ../js/ui/telepathyClient.js:1441
|
||||
msgid "Connection has been refused"
|
||||
msgstr "Връзката е отказана"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1434
|
||||
#: ../js/ui/telepathyClient.js:1443
|
||||
msgid "Connection can't be established"
|
||||
msgstr "Не може да се установи връзка"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1436
|
||||
#: ../js/ui/telepathyClient.js:1445
|
||||
msgid "Connection has been lost"
|
||||
msgstr "Връзката прекъсна"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1438
|
||||
#: ../js/ui/telepathyClient.js:1447
|
||||
msgid "This resource is already connected to the server"
|
||||
msgstr "Ресурсът вече е свързан към сървъра"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1440
|
||||
#: ../js/ui/telepathyClient.js:1449
|
||||
msgid ""
|
||||
"Connection has been replaced by a new connection using the same resource"
|
||||
msgstr "Връзката бе заместена от нова връзка, използваща същия ресурс"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1442
|
||||
#: ../js/ui/telepathyClient.js:1451
|
||||
msgid "The account already exists on the server"
|
||||
msgstr "На сървъра вече има регистрация с такова име."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1444
|
||||
#: ../js/ui/telepathyClient.js:1453
|
||||
msgid "Server is currently too busy to handle the connection"
|
||||
msgstr ""
|
||||
"В момента сървърът е твърде натоварен, за да обработи заявката за свързване"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1446
|
||||
#: ../js/ui/telepathyClient.js:1455
|
||||
msgid "Certificate has been revoked"
|
||||
msgstr "Сертификатът е анулиран"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1448
|
||||
#: ../js/ui/telepathyClient.js:1457
|
||||
msgid ""
|
||||
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
|
||||
msgstr "Сертификатът използва несигурен шифър или слаб алгоритъм за шифриране"
|
||||
|
||||
#: ../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"
|
||||
@ -1451,72 +1465,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 "Връзката е към „%s“ е неуспешна"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1468
|
||||
#: ../js/ui/telepathyClient.js:1477
|
||||
msgid "Reconnect"
|
||||
msgstr "Ново свързване"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1469
|
||||
#: ../js/ui/telepathyClient.js:1478
|
||||
msgid "Edit account"
|
||||
msgstr "Редактиране на регистрацията"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1515
|
||||
#: ../js/ui/telepathyClient.js:1524
|
||||
msgid "Unknown reason"
|
||||
msgstr "Неизвестна причина"
|
||||
|
||||
#: ../js/ui/userMenu.js:153
|
||||
#: ../js/ui/userMenu.js:145
|
||||
msgid "Hidden"
|
||||
msgstr "Скрит"
|
||||
|
||||
#: ../js/ui/userMenu.js:159
|
||||
#: ../js/ui/userMenu.js:151
|
||||
msgid "Idle"
|
||||
msgstr "Бездействие"
|
||||
|
||||
#: ../js/ui/userMenu.js:162
|
||||
#: ../js/ui/userMenu.js:154
|
||||
msgid "Unavailable"
|
||||
msgstr "Недостъпно"
|
||||
|
||||
#: ../js/ui/userMenu.js:518 ../js/ui/userMenu.js:522 ../js/ui/userMenu.js:592
|
||||
#: ../js/ui/userMenu.js:547 ../js/ui/userMenu.js:551 ../js/ui/userMenu.js:621
|
||||
msgid "Power Off..."
|
||||
msgstr "Изключване..."
|
||||
|
||||
#: ../js/ui/userMenu.js:520 ../js/ui/userMenu.js:522 ../js/ui/userMenu.js:591
|
||||
msgid "Suspend"
|
||||
msgstr "Приспиване"
|
||||
|
||||
#: ../js/ui/userMenu.js:554
|
||||
#: ../js/ui/userMenu.js:583
|
||||
msgid "Notifications"
|
||||
msgstr "Известяване"
|
||||
|
||||
#: ../js/ui/userMenu.js:562
|
||||
#: ../js/ui/userMenu.js:591
|
||||
msgid "Online Accounts"
|
||||
msgstr "Мрежови регистрации"
|
||||
|
||||
#: ../js/ui/userMenu.js:566
|
||||
#: ../js/ui/userMenu.js:595
|
||||
msgid "System Settings"
|
||||
msgstr "Настройки на системата"
|
||||
|
||||
#: ../js/ui/userMenu.js:573
|
||||
#: ../js/ui/userMenu.js:602
|
||||
msgid "Lock Screen"
|
||||
msgstr "Заключване на екрана"
|
||||
|
||||
#: ../js/ui/userMenu.js:578
|
||||
#: ../js/ui/userMenu.js:607
|
||||
msgid "Switch User"
|
||||
msgstr "Смяна на потребител"
|
||||
|
||||
#: ../js/ui/userMenu.js:583
|
||||
#: ../js/ui/userMenu.js:612
|
||||
msgid "Log Out..."
|
||||
msgstr "Изход…"
|
||||
|
||||
#: ../js/ui/userMenu.js:611
|
||||
#: ../js/ui/userMenu.js:640
|
||||
msgid "Your chat status will be set to busy"
|
||||
msgstr "Състоянието ви ще се зададе да е „Зает“"
|
||||
|
||||
#: ../js/ui/userMenu.js:612
|
||||
#: ../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."
|
||||
@ -1537,12 +1547,7 @@ msgstr "Търсене на написаното…"
|
||||
msgid "Search"
|
||||
msgstr "Търсене"
|
||||
|
||||
#: ../js/ui/windowAttentionHandler.js:39
|
||||
#, c-format
|
||||
msgid "%s has finished starting"
|
||||
msgstr "Програмата „%s“ стартира успешно"
|
||||
|
||||
#: ../js/ui/windowAttentionHandler.js:41
|
||||
#: ../js/ui/windowAttentionHandler.js:35
|
||||
#, c-format
|
||||
msgid "'%s' is ready"
|
||||
msgstr "Програмата „%s“ е готова за употреба"
|
||||
@ -1577,7 +1582,7 @@ msgstr "Показване на версията"
|
||||
msgid "Mode used by GDM for login screen"
|
||||
msgstr "Режим използван от GDM за екрана за влизане"
|
||||
|
||||
#: ../src/shell-app.c:581
|
||||
#: ../src/shell-app.c:579
|
||||
#, c-format
|
||||
msgid "Failed to launch '%s'"
|
||||
msgstr "Неуспех при стартиране на „%s“"
|
||||
@ -1613,3 +1618,12 @@ msgstr "Файлова система"
|
||||
#, c-format
|
||||
msgid "%1$s: %2$s"
|
||||
msgstr "%1$s: %2$s"
|
||||
|
||||
#~ msgid "%s has not emitted any errors."
|
||||
#~ msgstr "Разширение %s не е давало грешки."
|
||||
|
||||
#~ msgid "Hide Errors"
|
||||
#~ msgstr "Скриване на грешките"
|
||||
|
||||
#~ msgid "Show Errors"
|
||||
#~ msgstr "Показване на грешките"
|
||||
|
1083
po/ca@valencia.po
1083
po/ca@valencia.po
File diff suppressed because it is too large
Load Diff
362
po/de.po
362
po/de.po
@ -15,15 +15,16 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-09-19 20:15+0200\n"
|
||||
"PO-Revision-Date: 2011-09-19 20:16+0100\n"
|
||||
"Last-Translator: Mario Blättermann <mariobl@freenet.de>\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-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"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: \n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Poedit-Language: German\n"
|
||||
"X-Poedit-Country: GERMANY\n"
|
||||
@ -112,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"
|
||||
@ -135,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 ""
|
||||
@ -199,38 +200,38 @@ msgstr "deaktivierte OpenSearch-Provider"
|
||||
msgid "Session..."
|
||||
msgstr "Sitzung …"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:785
|
||||
#: ../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:830
|
||||
#: ../js/gdm/loginDialog.js:833
|
||||
msgid "(or swipe finger)"
|
||||
msgstr "(oder benutzen Sie den Fingerabdruckleser)"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:848
|
||||
#: ../js/gdm/loginDialog.js:851
|
||||
msgid "Not listed?"
|
||||
msgstr "Nicht aufgeführt?"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1004 ../js/ui/endSessionDialog.js:426
|
||||
#: ../js/ui/extensionSystem.js:477 ../js/ui/networkAgent.js:158
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:170 ../js/ui/status/bluetooth.js:480
|
||||
#: ../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:1009
|
||||
#: ../js/gdm/loginDialog.js:1024
|
||||
msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "Anmelden"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1358
|
||||
#: ../js/gdm/loginDialog.js:1373
|
||||
msgid "Login Window"
|
||||
msgstr "Anmeldefenster"
|
||||
|
||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:525 ../js/ui/userMenu.js:527
|
||||
#: ../js/ui/userMenu.js:596
|
||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:549
|
||||
#: ../js/ui/userMenu.js:551 ../js/ui/userMenu.js:620
|
||||
msgid "Suspend"
|
||||
msgstr "Bereitschaft"
|
||||
|
||||
@ -294,12 +295,16 @@ msgstr "%s wurde zu Ihren Favoriten hinzugefügt"
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "%s wurde aus Ihren Favoriten entfernt"
|
||||
|
||||
#: ../js/ui/autorunManager.js:592
|
||||
#: ../js/ui/autorunManager.js:280
|
||||
msgid "Removable Devices"
|
||||
msgstr "Wechseldatenträger"
|
||||
|
||||
#: ../js/ui/autorunManager.js:590
|
||||
#, c-format
|
||||
msgid "Open with %s"
|
||||
msgstr "Öffnen mit %s"
|
||||
|
||||
#: ../js/ui/autorunManager.js:618
|
||||
#: ../js/ui/autorunManager.js:616
|
||||
msgid "Eject"
|
||||
msgstr "Auswerfen"
|
||||
|
||||
@ -453,32 +458,32 @@ msgstr "Diese Woche"
|
||||
msgid "Next week"
|
||||
msgstr "Nächste Woche"
|
||||
|
||||
#: ../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:444
|
||||
#: ../js/ui/status/power.js:223 ../src/shell-app.c:353
|
||||
msgid "Unknown"
|
||||
msgstr "Unbekannt"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:80 ../js/ui/userMenu.js:147
|
||||
#: ../js/ui/contactDisplay.js:86 ../js/ui/userMenu.js:139
|
||||
msgid "Available"
|
||||
msgstr "Verfügbar"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:85 ../js/ui/userMenu.js:156
|
||||
#: ../js/ui/contactDisplay.js:91 ../js/ui/userMenu.js:148
|
||||
msgid "Away"
|
||||
msgstr "Abwesend"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:89 ../js/ui/userMenu.js:150
|
||||
#: ../js/ui/contactDisplay.js:95 ../js/ui/userMenu.js:142
|
||||
msgid "Busy"
|
||||
msgstr "Beschäftigt"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:93
|
||||
#: ../js/ui/contactDisplay.js:99
|
||||
msgid "Offline"
|
||||
msgstr "Abgemeldet"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:140
|
||||
#: ../js/ui/contactDisplay.js:146
|
||||
msgid "CONTACTS"
|
||||
msgstr "KONTAKTE"
|
||||
|
||||
#: ../js/ui/dash.js:172 ../js/ui/messageTray.js:1196
|
||||
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1205
|
||||
msgid "Remove"
|
||||
msgstr "Entfernen"
|
||||
|
||||
@ -617,132 +622,133 @@ msgstr "Installieren"
|
||||
msgid "Download and install '%s' from extensions.gnome.org?"
|
||||
msgstr "»%s« von extensions.gnome.org herunterladen und installieren?"
|
||||
|
||||
#: ../js/ui/keyboard.js:517 ../js/ui/status/power.js:211
|
||||
#: ../js/ui/keyboard.js:325
|
||||
msgid "tray"
|
||||
msgstr "Benachrichtigungsfeld"
|
||||
|
||||
#: ../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 "Keine Erweiterungen installiert"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:691
|
||||
#: ../js/ui/lookingGlass.js:692
|
||||
msgid "Enabled"
|
||||
msgstr "Aktiviert"
|
||||
|
||||
#. 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 "Deaktiviert"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:695
|
||||
#: ../js/ui/lookingGlass.js:696
|
||||
msgid "Error"
|
||||
msgstr "Fehler"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:697
|
||||
#: ../js/ui/lookingGlass.js:698
|
||||
msgid "Out of date"
|
||||
msgstr "Veraltet"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:699
|
||||
#: ../js/ui/lookingGlass.js:700
|
||||
msgid "Downloading"
|
||||
msgstr "Herunterladen"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:724
|
||||
#: ../js/ui/lookingGlass.js:721
|
||||
msgid "View Source"
|
||||
msgstr "Quelle zeigen"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:730
|
||||
#: ../js/ui/lookingGlass.js:727
|
||||
msgid "Web Page"
|
||||
msgstr "Webseite"
|
||||
|
||||
#: ../js/ui/messageTray.js:1189
|
||||
#: ../js/ui/messageTray.js:1198
|
||||
msgid "Open"
|
||||
msgstr "Öffnen"
|
||||
|
||||
#: ../js/ui/messageTray.js:2371
|
||||
#: ../js/ui/messageTray.js:2407
|
||||
msgid "System Information"
|
||||
msgstr "Systeminformationen"
|
||||
|
||||
#: ../js/ui/networkAgent.js:138
|
||||
msgid "Show password"
|
||||
msgstr "Passwort anzeigen"
|
||||
|
||||
#: ../js/ui/networkAgent.js:153
|
||||
#: ../js/ui/networkAgent.js:143
|
||||
msgid "Connect"
|
||||
msgstr "Verbinden"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: ../js/ui/networkAgent.js:248 ../js/ui/networkAgent.js:260
|
||||
#: ../js/ui/networkAgent.js:287 ../js/ui/networkAgent.js:307
|
||||
#: ../js/ui/networkAgent.js:317
|
||||
#: ../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 "Passwort:"
|
||||
|
||||
#. static WEP
|
||||
#: ../js/ui/networkAgent.js:253
|
||||
#: ../js/ui/networkAgent.js:243
|
||||
msgid "Key: "
|
||||
msgstr "Schlüssel:"
|
||||
|
||||
#. 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:285 ../js/ui/networkAgent.js:303
|
||||
#: ../js/ui/networkAgent.js:275 ../js/ui/networkAgent.js:293
|
||||
msgid "Username: "
|
||||
msgstr "Benutzername:"
|
||||
|
||||
#: ../js/ui/networkAgent.js:291
|
||||
#: ../js/ui/networkAgent.js:281
|
||||
msgid "Identity: "
|
||||
msgstr "Identität:"
|
||||
|
||||
#: ../js/ui/networkAgent.js:293
|
||||
#: ../js/ui/networkAgent.js:283
|
||||
msgid "Private key password: "
|
||||
msgstr "Passwort für geheimen Schlüssel:"
|
||||
|
||||
#: ../js/ui/networkAgent.js:305
|
||||
#: ../js/ui/networkAgent.js:295
|
||||
msgid "Service: "
|
||||
msgstr "Dienst:"
|
||||
|
||||
#: ../js/ui/networkAgent.js:334
|
||||
#: ../js/ui/networkAgent.js:324
|
||||
msgid "Authentication required by wireless network"
|
||||
msgstr "Legitimierung für Funknetzwerk wird benötigt"
|
||||
|
||||
#: ../js/ui/networkAgent.js:335
|
||||
#: ../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."
|
||||
|
||||
#: ../js/ui/networkAgent.js:339
|
||||
#: ../js/ui/networkAgent.js:329
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "Kabelgebundene 802.1X-Legitimierung"
|
||||
|
||||
#: ../js/ui/networkAgent.js:341
|
||||
#: ../js/ui/networkAgent.js:331
|
||||
msgid "Network name: "
|
||||
msgstr "Netzwerkname:"
|
||||
|
||||
#: ../js/ui/networkAgent.js:346
|
||||
#: ../js/ui/networkAgent.js:336
|
||||
msgid "DSL authentication"
|
||||
msgstr "DSL-Legitimierung"
|
||||
|
||||
#: ../js/ui/networkAgent.js:353
|
||||
#: ../js/ui/networkAgent.js:343
|
||||
msgid "PIN code required"
|
||||
msgstr "PIN-Code ist erforderlich"
|
||||
|
||||
#: ../js/ui/networkAgent.js:354
|
||||
#: ../js/ui/networkAgent.js:344
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "Für das mobile Breitbandgerät wird ein PIN-Code benötigt."
|
||||
|
||||
#: ../js/ui/networkAgent.js:355
|
||||
#: ../js/ui/networkAgent.js:345
|
||||
msgid "PIN: "
|
||||
msgstr "PIN: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:361
|
||||
#: ../js/ui/networkAgent.js:351
|
||||
msgid "Mobile broadband network password"
|
||||
msgstr "Passwort der mobilen Breitbandverbindung"
|
||||
|
||||
#: ../js/ui/networkAgent.js:362
|
||||
#: ../js/ui/networkAgent.js:352
|
||||
#, c-format
|
||||
msgid "A password is required to connect to '%s'."
|
||||
msgstr "Es wird ein Passwort benötigt, um sich mit »%s« zu verbinden."
|
||||
@ -799,15 +805,15 @@ msgstr "Verbinden mit …"
|
||||
msgid "PLACES & DEVICES"
|
||||
msgstr "ORTE UND GERÄTE"
|
||||
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:72
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:73
|
||||
msgid "Authentication Required"
|
||||
msgstr "Legitimierung erforderlich"
|
||||
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:106
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:107
|
||||
msgid "Administrator"
|
||||
msgstr "Systemverwalter"
|
||||
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:174
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:177
|
||||
msgid "Authenticate"
|
||||
msgstr "Legitimieren"
|
||||
|
||||
@ -815,11 +821,11 @@ msgstr "Legitimieren"
|
||||
#. * requested authentication was not gained; this can happen
|
||||
#. * because of an authentication error (like invalid password),
|
||||
#. * for instance.
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:262
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:258
|
||||
msgid "Sorry, that didn't work. Please try again."
|
||||
msgstr "Entschuldigung, das hat nicht geklappt. Bitte versuchen Sie es erneut."
|
||||
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:274
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:270
|
||||
msgid "Password:"
|
||||
msgstr "Passwort:"
|
||||
|
||||
@ -828,11 +834,11 @@ msgstr "Passwort:"
|
||||
#. "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:709
|
||||
#: ../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 "Bitte geben Sie einen Befehl ein:"
|
||||
|
||||
@ -844,6 +850,22 @@ msgstr "Suche läuft …"
|
||||
msgid "No matching results."
|
||||
msgstr "Keine passenden Ergebnisse."
|
||||
|
||||
#: ../js/ui/shellEntry.js:30
|
||||
msgid "Copy"
|
||||
msgstr "Kopieren"
|
||||
|
||||
#: ../js/ui/shellEntry.js:35
|
||||
msgid "Paste"
|
||||
msgstr "Einfügen"
|
||||
|
||||
#: ../js/ui/shellEntry.js:81
|
||||
msgid "Show Text"
|
||||
msgstr "Text anzeigen"
|
||||
|
||||
#: ../js/ui/shellEntry.js:83
|
||||
msgid "Hide Text"
|
||||
msgstr "Text verbergen"
|
||||
|
||||
#: ../js/ui/shellMountOperation.js:285
|
||||
msgid "Wrong password, please try again"
|
||||
msgstr "Falsches Passwort, bitte versuchen Sie es erneut"
|
||||
@ -877,7 +899,7 @@ msgstr "Springende Tasten"
|
||||
|
||||
#: ../js/ui/status/accessibility.js:87
|
||||
msgid "Mouse Keys"
|
||||
msgstr "Maustasten"
|
||||
msgstr "Tastaturmaus"
|
||||
|
||||
#: ../js/ui/status/accessibility.js:91
|
||||
msgid "Universal Access Settings"
|
||||
@ -978,7 +1000,7 @@ msgstr "Immer Zugriff gewähren"
|
||||
msgid "Grant this time only"
|
||||
msgstr "Nur dieses Mal gewähren"
|
||||
|
||||
#: ../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 "Abweisen"
|
||||
|
||||
@ -1019,11 +1041,11 @@ msgstr "Bitte geben Sie die auf dem Gerät angezeigte PIN ein."
|
||||
msgid "OK"
|
||||
msgstr "OK"
|
||||
|
||||
#: ../js/ui/status/keyboard.js:72
|
||||
#: ../js/ui/status/keyboard.js:73
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "Tastaturbelegung zeigen"
|
||||
|
||||
#: ../js/ui/status/keyboard.js:77
|
||||
#: ../js/ui/status/keyboard.js:78
|
||||
msgid "Region and Language Settings"
|
||||
msgstr "Einstellungen für Region und Sprache"
|
||||
|
||||
@ -1068,13 +1090,13 @@ msgstr "nicht verfügbar"
|
||||
msgid "connection failed"
|
||||
msgstr "Verbindung gescheitert"
|
||||
|
||||
#: ../js/ui/status/network.js:575 ../js/ui/status/network.js:1515
|
||||
#: ../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:1455
|
||||
#: ../js/ui/status/network.js:611 ../js/ui/status/network.js:1458
|
||||
msgid "Connected (private)"
|
||||
msgstr "Verbunden (privat)"
|
||||
|
||||
@ -1091,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:1467
|
||||
#: ../js/ui/status/network.js:878 ../js/ui/status/network.js:1470
|
||||
#, c-format
|
||||
msgid "Auto %s"
|
||||
msgstr "%s (automatisch)"
|
||||
@ -1100,47 +1122,47 @@ msgstr "%s (automatisch)"
|
||||
msgid "Auto bluetooth"
|
||||
msgstr "Bluetooth (automatisch)"
|
||||
|
||||
#: ../js/ui/status/network.js:1469
|
||||
#: ../js/ui/status/network.js:1472
|
||||
msgid "Auto wireless"
|
||||
msgstr "Drahtlos (automatisch)"
|
||||
|
||||
#: ../js/ui/status/network.js:1558
|
||||
#: ../js/ui/status/network.js:1566
|
||||
msgid "Enable networking"
|
||||
msgstr "Netzwerk aktivieren"
|
||||
|
||||
#: ../js/ui/status/network.js:1570
|
||||
#: ../js/ui/status/network.js:1578
|
||||
msgid "Wired"
|
||||
msgstr "Kabelgebunden"
|
||||
|
||||
#: ../js/ui/status/network.js:1581
|
||||
#: ../js/ui/status/network.js:1589
|
||||
msgid "Wireless"
|
||||
msgstr "Drahtlos"
|
||||
|
||||
#: ../js/ui/status/network.js:1591
|
||||
#: ../js/ui/status/network.js:1599
|
||||
msgid "Mobile broadband"
|
||||
msgstr "Mobiles Breitband"
|
||||
|
||||
#: ../js/ui/status/network.js:1601
|
||||
#: ../js/ui/status/network.js:1609
|
||||
msgid "VPN Connections"
|
||||
msgstr "VPN-Verbindungen"
|
||||
|
||||
#: ../js/ui/status/network.js:1612
|
||||
#: ../js/ui/status/network.js:1620
|
||||
msgid "Network Settings"
|
||||
msgstr "Netzwerkeinstellungen"
|
||||
|
||||
#: ../js/ui/status/network.js:1749
|
||||
#: ../js/ui/status/network.js:1757
|
||||
msgid "Connection failed"
|
||||
msgstr "Verbindung gescheitert"
|
||||
|
||||
#: ../js/ui/status/network.js:1750
|
||||
#: ../js/ui/status/network.js:1758
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Aktivierung der Netzwerkverbindung ist gescheitert"
|
||||
|
||||
#: ../js/ui/status/network.js:2000
|
||||
#: ../js/ui/status/network.js:2008
|
||||
msgid "Networking is disabled"
|
||||
msgstr "Netzwerk ist deaktiviert"
|
||||
|
||||
#: ../js/ui/status/network.js:2125
|
||||
#: ../js/ui/status/network.js:2133
|
||||
msgid "Network Manager"
|
||||
msgstr "Netzwerk-Verwaltung"
|
||||
|
||||
@ -1248,39 +1270,39 @@ msgid "Invitation"
|
||||
msgstr "Einladung"
|
||||
|
||||
#. We got the TpContact
|
||||
#: ../js/ui/telepathyClient.js:325
|
||||
#: ../js/ui/telepathyClient.js:327
|
||||
msgid "Call"
|
||||
msgstr "Anruf"
|
||||
|
||||
#. We got the TpContact
|
||||
#: ../js/ui/telepathyClient.js:353
|
||||
#: ../js/ui/telepathyClient.js:357
|
||||
msgid "File Transfer"
|
||||
msgstr "Dateiübertragung"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:434
|
||||
#: ../js/ui/telepathyClient.js:438
|
||||
msgid "Subscription request"
|
||||
msgstr "Abonnementanfrage"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:470
|
||||
#: ../js/ui/telepathyClient.js:474
|
||||
msgid "Connection error"
|
||||
msgstr "Verbindungsfehler"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:733
|
||||
#: ../js/ui/telepathyClient.js:741
|
||||
#, c-format
|
||||
msgid "%s is online."
|
||||
msgstr "%s ist angemeldet."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:738
|
||||
#: ../js/ui/telepathyClient.js:746
|
||||
#, c-format
|
||||
msgid "%s is offline."
|
||||
msgstr "%s ist abgemeldet."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:741
|
||||
#: ../js/ui/telepathyClient.js:749
|
||||
#, c-format
|
||||
msgid "%s is away."
|
||||
msgstr "»%s« ist abwesend."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:744
|
||||
#: ../js/ui/telepathyClient.js:752
|
||||
#, c-format
|
||||
msgid "%s is busy."
|
||||
msgstr "%s ist beschäftigt."
|
||||
@ -1288,35 +1310,35 @@ msgstr "%s ist beschäftigt."
|
||||
#. 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 "Gesendet am <b>%A</b> um <b>%X</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 "Gesendet am <b>%A</b>, <b>%d. %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 "Gesendet am <b>%A</b>, <b>%d. %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 heißt jetzt %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 "Einladung zum Betreten von %s"
|
||||
@ -1324,34 +1346,35 @@ msgstr "Einladung zum Betreten von %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 lädt Sie ein, %s beizutreten"
|
||||
|
||||
#: ../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 "Ablehnen"
|
||||
|
||||
#: ../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 "Annehmen"
|
||||
|
||||
#. 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 "Video-Anruf von %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 "Anruf von %s"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1197
|
||||
#. translators: this is a button label (verb), not a noun
|
||||
#: ../js/ui/telepathyClient.js:1206
|
||||
msgid "Answer"
|
||||
msgstr "Antworten"
|
||||
|
||||
@ -1360,112 +1383,113 @@ msgstr "Antworten"
|
||||
#. * 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 sendet Ihnen %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 bittet um das Recht, Ihre Online-Verfügbarkeit sehen zu dürfen"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1406
|
||||
#: ../js/ui/telepathyClient.js:1415
|
||||
msgid "Network error"
|
||||
msgstr "Netzwerkfehler"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1408
|
||||
#: ../js/ui/telepathyClient.js:1417
|
||||
msgid "Authentication failed"
|
||||
msgstr "Legitimierung fehlgeschlagen"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1410
|
||||
#: ../js/ui/telepathyClient.js:1419
|
||||
msgid "Encryption error"
|
||||
msgstr "Verschlüsselungsfehler"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1412
|
||||
#: ../js/ui/telepathyClient.js:1421
|
||||
msgid "Certificate not provided"
|
||||
msgstr "Zertifikat wurde nicht bereitgestellt"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1414
|
||||
#: ../js/ui/telepathyClient.js:1423
|
||||
msgid "Certificate untrusted"
|
||||
msgstr "Zertifikat nicht vertrauenswürdig"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1416
|
||||
#: ../js/ui/telepathyClient.js:1425
|
||||
msgid "Certificate expired"
|
||||
msgstr "Zertifikat abgelaufen"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1418
|
||||
#: ../js/ui/telepathyClient.js:1427
|
||||
msgid "Certificate not activated"
|
||||
msgstr "Zertifikat nicht aktiviert"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1420
|
||||
#: ../js/ui/telepathyClient.js:1429
|
||||
msgid "Certificate hostname mismatch"
|
||||
msgstr "Rechnername des Zertifikats stimmt nicht überein"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1422
|
||||
#: ../js/ui/telepathyClient.js:1431
|
||||
msgid "Certificate fingerprint mismatch"
|
||||
msgstr "Fingerabdruck des Zertifikats stimmt nicht überein"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1424
|
||||
#: ../js/ui/telepathyClient.js:1433
|
||||
msgid "Certificate self-signed"
|
||||
msgstr "Selbstsigniertes Zertifikat"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1426
|
||||
#: ../js/ui/telepathyClient.js:1435
|
||||
msgid "Status is set to offline"
|
||||
msgstr "Der Status ist auf »Abgemeldet« gesetzt"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1428
|
||||
#: ../js/ui/telepathyClient.js:1437
|
||||
msgid "Encryption is not available"
|
||||
msgstr "Verschlüsselung ist nicht verfügbar"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1430
|
||||
#: ../js/ui/telepathyClient.js:1439
|
||||
msgid "Certificate is invalid"
|
||||
msgstr "Zertifikat ist ungültig"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1432
|
||||
#: ../js/ui/telepathyClient.js:1441
|
||||
msgid "Connection has been refused"
|
||||
msgstr "Verbindungsaufbau wurde verweigert"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1434
|
||||
#: ../js/ui/telepathyClient.js:1443
|
||||
msgid "Connection can't be established"
|
||||
msgstr "Verbindung kann nicht hergestellt werden"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1436
|
||||
#: ../js/ui/telepathyClient.js:1445
|
||||
msgid "Connection has been lost"
|
||||
msgstr "Verbindung wurde unterbrochen"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1438
|
||||
#: ../js/ui/telepathyClient.js:1447
|
||||
msgid "This resource is already connected to the server"
|
||||
msgstr "Diese Ressource ist bereits mit dem Server verbunden"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1440
|
||||
msgid "Connection has been replaced by a new connection using the same resource"
|
||||
#: ../js/ui/telepathyClient.js:1449
|
||||
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"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1442
|
||||
#: ../js/ui/telepathyClient.js:1451
|
||||
msgid "The account already exists on the server"
|
||||
msgstr "Dieses Konto ist bereits auf dem Server vorhanden"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1444
|
||||
#: ../js/ui/telepathyClient.js:1453
|
||||
msgid "Server is currently too busy to handle the connection"
|
||||
msgstr ""
|
||||
"Der Server ist derzeit überlastet und kann die Verbindung nicht annehmen"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1446
|
||||
#: ../js/ui/telepathyClient.js:1455
|
||||
msgid "Certificate has been revoked"
|
||||
msgstr "Zertifikat wurde zurückgezogen"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1448
|
||||
#: ../js/ui/telepathyClient.js:1457
|
||||
msgid ""
|
||||
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
|
||||
msgstr ""
|
||||
"Das Zertifikat verwendet einen unsicheren Chiffrier-Algorithmus oder ist "
|
||||
"kryptografisch schwach"
|
||||
|
||||
#: ../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"
|
||||
@ -1476,68 +1500,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 "Verbindung zu %s ist fehlgeschlagen"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1468
|
||||
#: ../js/ui/telepathyClient.js:1477
|
||||
msgid "Reconnect"
|
||||
msgstr "Erneut verbinden"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1469
|
||||
#: ../js/ui/telepathyClient.js:1478
|
||||
msgid "Edit account"
|
||||
msgstr "Konto bearbeiten"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1515
|
||||
#: ../js/ui/telepathyClient.js:1524
|
||||
msgid "Unknown reason"
|
||||
msgstr "Unbekannter Grund"
|
||||
|
||||
#: ../js/ui/userMenu.js:153
|
||||
#: ../js/ui/userMenu.js:145
|
||||
msgid "Hidden"
|
||||
msgstr "Verborgen"
|
||||
|
||||
#: ../js/ui/userMenu.js:159
|
||||
#: ../js/ui/userMenu.js:151
|
||||
msgid "Idle"
|
||||
msgstr "Untätig"
|
||||
|
||||
#: ../js/ui/userMenu.js:162
|
||||
#: ../js/ui/userMenu.js:154
|
||||
msgid "Unavailable"
|
||||
msgstr "Nicht verfügbar"
|
||||
|
||||
#: ../js/ui/userMenu.js:523 ../js/ui/userMenu.js:527 ../js/ui/userMenu.js:597
|
||||
#: ../js/ui/userMenu.js:547 ../js/ui/userMenu.js:551 ../js/ui/userMenu.js:621
|
||||
msgid "Power Off..."
|
||||
msgstr "Ausschalten …"
|
||||
|
||||
#: ../js/ui/userMenu.js:559
|
||||
#: ../js/ui/userMenu.js:583
|
||||
msgid "Notifications"
|
||||
msgstr "Benachrichtigungen"
|
||||
|
||||
#: ../js/ui/userMenu.js:567
|
||||
#: ../js/ui/userMenu.js:591
|
||||
msgid "Online Accounts"
|
||||
msgstr "Online-Konten"
|
||||
|
||||
#: ../js/ui/userMenu.js:571
|
||||
#: ../js/ui/userMenu.js:595
|
||||
msgid "System Settings"
|
||||
msgstr "Systemeinstellungen"
|
||||
|
||||
#: ../js/ui/userMenu.js:578
|
||||
#: ../js/ui/userMenu.js:602
|
||||
msgid "Lock Screen"
|
||||
msgstr "Bildschirm sperren"
|
||||
|
||||
#: ../js/ui/userMenu.js:583
|
||||
#: ../js/ui/userMenu.js:607
|
||||
msgid "Switch User"
|
||||
msgstr "Benutzer wechseln"
|
||||
|
||||
#: ../js/ui/userMenu.js:588
|
||||
#: ../js/ui/userMenu.js:612
|
||||
msgid "Log Out..."
|
||||
msgstr "Abmelden …"
|
||||
|
||||
#: ../js/ui/userMenu.js:616
|
||||
#: ../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:617
|
||||
#: ../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."
|
||||
@ -1550,20 +1574,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 "Suchbegriff eingeben …"
|
||||
|
||||
#: ../js/ui/viewSelector.js:140 ../src/shell-util.c:261
|
||||
#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:261
|
||||
msgid "Search"
|
||||
msgstr "Suchen"
|
||||
|
||||
#: ../js/ui/windowAttentionHandler.js:39
|
||||
#, c-format
|
||||
msgid "%s has finished starting"
|
||||
msgstr "Start von %s ist abgeschlossen"
|
||||
|
||||
#: ../js/ui/windowAttentionHandler.js:41
|
||||
#: ../js/ui/windowAttentionHandler.js:35
|
||||
#, c-format
|
||||
msgid "'%s' is ready"
|
||||
msgstr "»%s« ist bereit"
|
||||
@ -1598,7 +1617,7 @@ msgstr "Version ausgeben"
|
||||
msgid "Mode used by GDM for login screen"
|
||||
msgstr "Der durch GDM im Anmeldefenster verwendete Modus"
|
||||
|
||||
#: ../src/shell-app.c:581
|
||||
#: ../src/shell-app.c:579
|
||||
#, c-format
|
||||
msgid "Failed to launch '%s'"
|
||||
msgstr "»%s« konnte nicht gestartet werden"
|
||||
@ -1635,6 +1654,21 @@ msgstr "Dateisystem"
|
||||
msgid "%1$s: %2$s"
|
||||
msgstr "%1$s: %2$s"
|
||||
|
||||
#~ 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"
|
||||
|
||||
#~ msgid "If true, display onscreen keyboard."
|
||||
#~ msgstr "Legt fest, ob eine Bildschirmtastatur angezeigt wird."
|
||||
|
||||
|
474
po/en_GB.po
474
po/en_GB.po
File diff suppressed because it is too large
Load Diff
328
po/es.po
328
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.
|
||||
# Jorge González <jorgegonz@svn.gnome.org>, 2009, 2010, 2011.
|
||||
# Daniel Mustieles <daniel.mustieles@gmail.com>, 2010, 2011.
|
||||
# Jorge González <jorgegonz@svn.gnome.org>, 2009, 2010, 2011.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell.master\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2011-09-19 11:34+0000\n"
|
||||
"PO-Revision-Date: 2011-09-19 14:57+0200\n"
|
||||
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
|
||||
"Language-Team: Español <gnome-es-list@gnome.org>\n"
|
||||
"POT-Creation-Date: 2011-10-04 20:49+0000\n"
|
||||
"PO-Revision-Date: 2011-10-06 23:37+0200\n"
|
||||
"Last-Translator: Jorge González <jorgegonz@svn.gnome.org>\n"
|
||||
"Language-Team: Español; Castellano <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"
|
||||
@ -98,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"
|
||||
@ -204,8 +204,8 @@ msgid "Not listed?"
|
||||
msgstr "¿No está listado?"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1004 ../js/ui/endSessionDialog.js:426
|
||||
#: ../js/ui/extensionSystem.js:477 ../js/ui/networkAgent.js:158
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:170 ../js/ui/status/bluetooth.js:480
|
||||
#: ../js/ui/extensionSystem.js:477 ../js/ui/networkAgent.js:165
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:171 ../js/ui/status/bluetooth.js:480
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
@ -218,8 +218,8 @@ msgstr "Iniciar sesión"
|
||||
msgid "Login Window"
|
||||
msgstr "Ventana de inicio de sesión"
|
||||
|
||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:520
|
||||
#: ../js/ui/userMenu.js:522 ../js/ui/userMenu.js:591
|
||||
#: ../js/gdm/powerMenu.js:116 ../js/ui/userMenu.js:514
|
||||
#: ../js/ui/userMenu.js:516 ../js/ui/userMenu.js:585
|
||||
msgid "Suspend"
|
||||
msgstr "Suspender"
|
||||
|
||||
@ -283,12 +283,16 @@ msgstr "Se ha añadido %s a sus favoritos."
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "Se ha quitado %s de sus favoritos."
|
||||
|
||||
#: ../js/ui/autorunManager.js:592
|
||||
#: ../js/ui/autorunManager.js:280
|
||||
msgid "Removable Devices"
|
||||
msgstr "Dispositivos extraíbles"
|
||||
|
||||
#: ../js/ui/autorunManager.js:590
|
||||
#, c-format
|
||||
msgid "Open with %s"
|
||||
msgstr "Abrir con %s"
|
||||
|
||||
#: ../js/ui/autorunManager.js:618
|
||||
#: ../js/ui/autorunManager.js:616
|
||||
msgid "Eject"
|
||||
msgstr "Expulsar"
|
||||
|
||||
@ -443,15 +447,15 @@ msgstr "La semana que viene"
|
||||
msgid "Unknown"
|
||||
msgstr "Desconocido"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:80 ../js/ui/userMenu.js:147
|
||||
#: ../js/ui/contactDisplay.js:80 ../js/ui/userMenu.js:139
|
||||
msgid "Available"
|
||||
msgstr "Disponible"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:85 ../js/ui/userMenu.js:156
|
||||
#: ../js/ui/contactDisplay.js:85 ../js/ui/userMenu.js:148
|
||||
msgid "Away"
|
||||
msgstr "Ausente"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:89 ../js/ui/userMenu.js:150
|
||||
#: ../js/ui/contactDisplay.js:89 ../js/ui/userMenu.js:142
|
||||
msgid "Busy"
|
||||
msgstr "Ocupado"
|
||||
|
||||
@ -463,7 +467,7 @@ msgstr "Desconectado"
|
||||
msgid "CONTACTS"
|
||||
msgstr "CONTACTOS"
|
||||
|
||||
#: ../js/ui/dash.js:172 ../js/ui/messageTray.js:1196
|
||||
#: ../js/ui/dash.js:172 ../js/ui/messageTray.js:1204
|
||||
msgid "Remove"
|
||||
msgstr "Quitar"
|
||||
|
||||
@ -599,7 +603,12 @@ msgstr "Instalar"
|
||||
msgid "Download and install '%s' from extensions.gnome.org?"
|
||||
msgstr "¿Descargar e instalar «%s» desde extensions.gnome.org?"
|
||||
|
||||
#: ../js/ui/keyboard.js:517 ../js/ui/status/power.js:211
|
||||
#: ../js/ui/keyboard.js:308
|
||||
#| msgid "Retry"
|
||||
msgid "tray"
|
||||
msgstr "bandeja"
|
||||
|
||||
#: ../js/ui/keyboard.js:530 ../js/ui/status/power.js:211
|
||||
msgid "Keyboard"
|
||||
msgstr "Teclado"
|
||||
|
||||
@ -629,103 +638,103 @@ msgstr "Caducado"
|
||||
msgid "Downloading"
|
||||
msgstr "Descargando"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:724
|
||||
#: ../js/ui/lookingGlass.js:720
|
||||
msgid "View Source"
|
||||
msgstr "Ver fuente"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:730
|
||||
#: ../js/ui/lookingGlass.js:726
|
||||
msgid "Web Page"
|
||||
msgstr "Página web"
|
||||
|
||||
#: ../js/ui/messageTray.js:1189
|
||||
#: ../js/ui/messageTray.js:1197
|
||||
msgid "Open"
|
||||
msgstr "Abrir"
|
||||
|
||||
#: ../js/ui/messageTray.js:2368
|
||||
#: ../js/ui/messageTray.js:2406
|
||||
msgid "System Information"
|
||||
msgstr "Información del sistema"
|
||||
|
||||
#: ../js/ui/networkAgent.js:138
|
||||
#: ../js/ui/networkAgent.js:145
|
||||
msgid "Show password"
|
||||
msgstr "Mostrar contraseña"
|
||||
|
||||
#: ../js/ui/networkAgent.js:153
|
||||
#: ../js/ui/networkAgent.js:160
|
||||
msgid "Connect"
|
||||
msgstr "Conectar"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: ../js/ui/networkAgent.js:248 ../js/ui/networkAgent.js:260
|
||||
#: ../js/ui/networkAgent.js:287 ../js/ui/networkAgent.js:307
|
||||
#: ../js/ui/networkAgent.js:317
|
||||
#: ../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
|
||||
msgid "Password: "
|
||||
msgstr "Contraseña: "
|
||||
|
||||
#. static WEP
|
||||
#: ../js/ui/networkAgent.js:253
|
||||
#: ../js/ui/networkAgent.js:260
|
||||
msgid "Key: "
|
||||
msgstr "Clave:"
|
||||
|
||||
#. 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:285 ../js/ui/networkAgent.js:303
|
||||
#: ../js/ui/networkAgent.js:292 ../js/ui/networkAgent.js:310
|
||||
msgid "Username: "
|
||||
msgstr "Nombre de usuario:"
|
||||
|
||||
#: ../js/ui/networkAgent.js:291
|
||||
#: ../js/ui/networkAgent.js:298
|
||||
msgid "Identity: "
|
||||
msgstr "Identidad:"
|
||||
|
||||
#: ../js/ui/networkAgent.js:293
|
||||
#: ../js/ui/networkAgent.js:300
|
||||
msgid "Private key password: "
|
||||
msgstr "Contraseña de la clave privada:"
|
||||
|
||||
#: ../js/ui/networkAgent.js:305
|
||||
#: ../js/ui/networkAgent.js:312
|
||||
msgid "Service: "
|
||||
msgstr "Servicio:"
|
||||
|
||||
#: ../js/ui/networkAgent.js:334
|
||||
#: ../js/ui/networkAgent.js:341
|
||||
msgid "Authentication required by wireless network"
|
||||
msgstr "La red inalámbrica requiere autenticación"
|
||||
|
||||
#: ../js/ui/networkAgent.js:335
|
||||
#: ../js/ui/networkAgent.js:342
|
||||
#, 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»."
|
||||
|
||||
#: ../js/ui/networkAgent.js:339
|
||||
#: ../js/ui/networkAgent.js:346
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "Autenticación 802.1X cableada"
|
||||
|
||||
#: ../js/ui/networkAgent.js:341
|
||||
#: ../js/ui/networkAgent.js:348
|
||||
msgid "Network name: "
|
||||
msgstr "Nombre de la red"
|
||||
|
||||
#: ../js/ui/networkAgent.js:346
|
||||
#: ../js/ui/networkAgent.js:353
|
||||
msgid "DSL authentication"
|
||||
msgstr "Autenticación DSL"
|
||||
|
||||
#: ../js/ui/networkAgent.js:353
|
||||
#: ../js/ui/networkAgent.js:360
|
||||
msgid "PIN code required"
|
||||
msgstr "Código PIN requerido"
|
||||
|
||||
#: ../js/ui/networkAgent.js:354
|
||||
#: ../js/ui/networkAgent.js:361
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "Se necesita un código PIN para el dispositivo de banda ancha móvil"
|
||||
|
||||
#: ../js/ui/networkAgent.js:355
|
||||
#: ../js/ui/networkAgent.js:362
|
||||
msgid "PIN: "
|
||||
msgstr "PIN: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:361
|
||||
#: ../js/ui/networkAgent.js:368
|
||||
msgid "Mobile broadband network password"
|
||||
msgstr "Contraseña de la red de banda ancha móvil"
|
||||
|
||||
#: ../js/ui/networkAgent.js:362
|
||||
#: ../js/ui/networkAgent.js:369
|
||||
#, c-format
|
||||
msgid "A password is required to connect to '%s'."
|
||||
msgstr "Se requiere una contraseña para conectar a «%s»."
|
||||
@ -789,7 +798,7 @@ msgstr "Se necesita autenticación"
|
||||
msgid "Administrator"
|
||||
msgstr "Administrador"
|
||||
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:174
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:175
|
||||
msgid "Authenticate"
|
||||
msgstr "Autenticar"
|
||||
|
||||
@ -797,11 +806,11 @@ msgstr "Autenticar"
|
||||
#. * requested authentication was not gained; this can happen
|
||||
#. * because of an authentication error (like invalid password),
|
||||
#. * for instance.
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:262
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:256
|
||||
msgid "Sorry, that didn't work. Please try again."
|
||||
msgstr "Inténtelo de nuevo,"
|
||||
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:274
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:268
|
||||
msgid "Password:"
|
||||
msgstr "Contraseña:"
|
||||
|
||||
@ -810,7 +819,7 @@ msgstr "Contraseña:"
|
||||
#. "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:687
|
||||
#: ../js/ui/popupMenu.js:731
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-intl"
|
||||
|
||||
@ -838,7 +847,6 @@ msgstr "Ampliación"
|
||||
#. 'screen-reader-enabled');
|
||||
#. this.menu.addMenuItem(screenReader);
|
||||
#: ../js/ui/status/accessibility.js:71
|
||||
#| msgid "Screen Reader"
|
||||
msgid "Screen Keyboard"
|
||||
msgstr "Teclado en pantalla"
|
||||
|
||||
@ -960,7 +968,7 @@ msgstr "Conceder acceso siempre"
|
||||
msgid "Grant this time only"
|
||||
msgstr "Conceder sólo esta vez"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:392 ../js/ui/telepathyClient.js:1196
|
||||
#: ../js/ui/status/bluetooth.js:392 ../js/ui/telepathyClient.js:1200
|
||||
msgid "Reject"
|
||||
msgstr "Rechazar"
|
||||
|
||||
@ -1000,11 +1008,11 @@ msgstr "Introduzca el PIN mencionado en el dispositivo."
|
||||
msgid "OK"
|
||||
msgstr "Aceptar"
|
||||
|
||||
#: ../js/ui/status/keyboard.js:72
|
||||
#: ../js/ui/status/keyboard.js:73
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "Mostrar la distribución del teclado"
|
||||
|
||||
#: ../js/ui/status/keyboard.js:77
|
||||
#: ../js/ui/status/keyboard.js:78
|
||||
msgid "Region and Language Settings"
|
||||
msgstr "Configuración de región e idioma"
|
||||
|
||||
@ -1049,13 +1057,13 @@ msgstr "no disponible"
|
||||
msgid "connection failed"
|
||||
msgstr "falló la conexión"
|
||||
|
||||
#: ../js/ui/status/network.js:575 ../js/ui/status/network.js:1515
|
||||
#: ../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:1455
|
||||
#: ../js/ui/status/network.js:611 ../js/ui/status/network.js:1458
|
||||
msgid "Connected (private)"
|
||||
msgstr "Conectada (privada)"
|
||||
|
||||
@ -1072,7 +1080,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:1467
|
||||
#: ../js/ui/status/network.js:878 ../js/ui/status/network.js:1470
|
||||
#, c-format
|
||||
msgid "Auto %s"
|
||||
msgstr "%s automática"
|
||||
@ -1081,47 +1089,47 @@ msgstr "%s automática"
|
||||
msgid "Auto bluetooth"
|
||||
msgstr "Bluetooth automático"
|
||||
|
||||
#: ../js/ui/status/network.js:1469
|
||||
#: ../js/ui/status/network.js:1472
|
||||
msgid "Auto wireless"
|
||||
msgstr "Inalámbrica automática"
|
||||
|
||||
#: ../js/ui/status/network.js:1558
|
||||
#: ../js/ui/status/network.js:1566
|
||||
msgid "Enable networking"
|
||||
msgstr "Activar red"
|
||||
|
||||
#: ../js/ui/status/network.js:1570
|
||||
#: ../js/ui/status/network.js:1578
|
||||
msgid "Wired"
|
||||
msgstr "Cableada"
|
||||
|
||||
#: ../js/ui/status/network.js:1581
|
||||
#: ../js/ui/status/network.js:1589
|
||||
msgid "Wireless"
|
||||
msgstr "Inalámbrica"
|
||||
|
||||
#: ../js/ui/status/network.js:1591
|
||||
#: ../js/ui/status/network.js:1599
|
||||
msgid "Mobile broadband"
|
||||
msgstr "Banda ancha móvil"
|
||||
|
||||
#: ../js/ui/status/network.js:1601
|
||||
#: ../js/ui/status/network.js:1609
|
||||
msgid "VPN Connections"
|
||||
msgstr "Conexiones VPN"
|
||||
|
||||
#: ../js/ui/status/network.js:1612
|
||||
#: ../js/ui/status/network.js:1620
|
||||
msgid "Network Settings"
|
||||
msgstr "Configuración de la red"
|
||||
|
||||
#: ../js/ui/status/network.js:1749
|
||||
#: ../js/ui/status/network.js:1757
|
||||
msgid "Connection failed"
|
||||
msgstr "Falló la conexión"
|
||||
|
||||
#: ../js/ui/status/network.js:1750
|
||||
#: ../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:2000
|
||||
#: ../js/ui/status/network.js:2008
|
||||
msgid "Networking is disabled"
|
||||
msgstr "La red está desactivada"
|
||||
|
||||
#: ../js/ui/status/network.js:2125
|
||||
#: ../js/ui/status/network.js:2133
|
||||
msgid "Network Manager"
|
||||
msgstr "Gestor de la red"
|
||||
|
||||
@ -1229,39 +1237,39 @@ msgid "Invitation"
|
||||
msgstr "Invitación"
|
||||
|
||||
#. We got the TpContact
|
||||
#: ../js/ui/telepathyClient.js:325
|
||||
#: ../js/ui/telepathyClient.js:327
|
||||
msgid "Call"
|
||||
msgstr "Llamar"
|
||||
|
||||
#. We got the TpContact
|
||||
#: ../js/ui/telepathyClient.js:353
|
||||
#: ../js/ui/telepathyClient.js:357
|
||||
msgid "File Transfer"
|
||||
msgstr "Transferencia de archivos"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:434
|
||||
#: ../js/ui/telepathyClient.js:438
|
||||
msgid "Subscription request"
|
||||
msgstr "Solicitud de suscripción"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:470
|
||||
#: ../js/ui/telepathyClient.js:474
|
||||
msgid "Connection error"
|
||||
msgstr "Error de conexión"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:733
|
||||
#: ../js/ui/telepathyClient.js:737
|
||||
#, c-format
|
||||
msgid "%s is online."
|
||||
msgstr "%s está conectado/a."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:738
|
||||
#: ../js/ui/telepathyClient.js:742
|
||||
#, c-format
|
||||
msgid "%s is offline."
|
||||
msgstr "%s está desconectado/a."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:741
|
||||
#: ../js/ui/telepathyClient.js:745
|
||||
#, c-format
|
||||
msgid "%s is away."
|
||||
msgstr "%s está ausente."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:744
|
||||
#: ../js/ui/telepathyClient.js:748
|
||||
#, c-format
|
||||
msgid "%s is busy."
|
||||
msgstr "%s está ocupado/a."
|
||||
@ -1269,35 +1277,35 @@ msgstr "%s está ocupado/a."
|
||||
#. Translators: this is a time format string followed by a date.
|
||||
#. If applicable, replace %X with a strftime format valid for your
|
||||
#. locale, without seconds.
|
||||
#: ../js/ui/telepathyClient.js:978
|
||||
#: ../js/ui/telepathyClient.js:982
|
||||
#, no-c-format
|
||||
msgid "Sent at <b>%X</b> on <b>%A</b>"
|
||||
msgstr "Enviado el <b>%A</b> a las <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:988
|
||||
#, no-c-format
|
||||
msgid "Sent on <b>%A</b>, <b>%B %d</b>"
|
||||
msgstr "Enviado el <b>%A</b>, <b>%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:989
|
||||
#: ../js/ui/telepathyClient.js:993
|
||||
#, no-c-format
|
||||
msgid "Sent on <b>%A</b>, <b>%B %d</b>, %Y"
|
||||
msgstr "Enviado el <b>%A</b>, <b>%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:1031
|
||||
#: ../js/ui/telepathyClient.js:1035
|
||||
#, c-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "Ahora %s se llama %s"
|
||||
|
||||
#. translators: argument is a room name like
|
||||
#. * room@jabber.org for example.
|
||||
#: ../js/ui/telepathyClient.js:1140
|
||||
#: ../js/ui/telepathyClient.js:1144
|
||||
#, c-format
|
||||
msgid "Invitation to %s"
|
||||
msgstr "Invitación a %s"
|
||||
@ -1305,34 +1313,34 @@ msgstr "Invitación 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:1148
|
||||
#: ../js/ui/telepathyClient.js:1152
|
||||
#, c-format
|
||||
msgid "%s is inviting you to join %s"
|
||||
msgstr "%s le está invitando a unirse a %s"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1150 ../js/ui/telepathyClient.js:1239
|
||||
#: ../js/ui/telepathyClient.js:1343
|
||||
#: ../js/ui/telepathyClient.js:1154 ../js/ui/telepathyClient.js:1243
|
||||
#: ../js/ui/telepathyClient.js:1347
|
||||
msgid "Decline"
|
||||
msgstr "Rechazar"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1151 ../js/ui/telepathyClient.js:1240
|
||||
#: ../js/ui/telepathyClient.js:1344
|
||||
#: ../js/ui/telepathyClient.js:1155 ../js/ui/telepathyClient.js:1244
|
||||
#: ../js/ui/telepathyClient.js:1348
|
||||
msgid "Accept"
|
||||
msgstr "Aceptar"
|
||||
|
||||
#. translators: argument is a contact name like Alice for example.
|
||||
#: ../js/ui/telepathyClient.js:1184
|
||||
#: ../js/ui/telepathyClient.js:1188
|
||||
#, c-format
|
||||
msgid "Video call from %s"
|
||||
msgstr "Videollamada de %s"
|
||||
|
||||
#. translators: argument is a contact name like Alice for example.
|
||||
#: ../js/ui/telepathyClient.js:1187
|
||||
#: ../js/ui/telepathyClient.js:1191
|
||||
#, c-format
|
||||
msgid "Call from %s"
|
||||
msgstr "Llamada de %s"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1197
|
||||
#: ../js/ui/telepathyClient.js:1201
|
||||
msgid "Answer"
|
||||
msgstr "Responder"
|
||||
|
||||
@ -1341,112 +1349,112 @@ msgstr "Responder"
|
||||
#. * file name. The string will be something
|
||||
#. * like: "Alice is sending you test.ogg"
|
||||
#.
|
||||
#: ../js/ui/telepathyClient.js:1233
|
||||
#: ../js/ui/telepathyClient.js:1237
|
||||
#, c-format
|
||||
msgid "%s is sending you %s"
|
||||
msgstr "%s le está enviando %s"
|
||||
|
||||
#. To translators: The parameter is the contact's alias
|
||||
#: ../js/ui/telepathyClient.js:1308
|
||||
#: ../js/ui/telepathyClient.js:1312
|
||||
#, c-format
|
||||
msgid "%s would like permission to see when you are online"
|
||||
msgstr "%s solicita permiso para ver cuándo está en línea"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1406
|
||||
#: ../js/ui/telepathyClient.js:1410
|
||||
msgid "Network error"
|
||||
msgstr "Error de la red"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1408
|
||||
#: ../js/ui/telepathyClient.js:1412
|
||||
msgid "Authentication failed"
|
||||
msgstr "Falló la autenticación"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1410
|
||||
#: ../js/ui/telepathyClient.js:1414
|
||||
msgid "Encryption error"
|
||||
msgstr "Error de cifrado"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1412
|
||||
#: ../js/ui/telepathyClient.js:1416
|
||||
msgid "Certificate not provided"
|
||||
msgstr "Certificado no proporcionado"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1414
|
||||
#: ../js/ui/telepathyClient.js:1418
|
||||
msgid "Certificate untrusted"
|
||||
msgstr "No se confía en el certificado"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1416
|
||||
#: ../js/ui/telepathyClient.js:1420
|
||||
msgid "Certificate expired"
|
||||
msgstr "Certificado caducado"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1418
|
||||
#: ../js/ui/telepathyClient.js:1422
|
||||
msgid "Certificate not activated"
|
||||
msgstr "Certificado no activado"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1420
|
||||
#: ../js/ui/telepathyClient.js:1424
|
||||
msgid "Certificate hostname mismatch"
|
||||
msgstr "El nombre del servidor dle certificado no coincide"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1422
|
||||
#: ../js/ui/telepathyClient.js:1426
|
||||
msgid "Certificate fingerprint mismatch"
|
||||
msgstr "La huella del certificado no coincide"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1424
|
||||
#: ../js/ui/telepathyClient.js:1428
|
||||
msgid "Certificate self-signed"
|
||||
msgstr "Certificado autofirmado"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1426
|
||||
#: ../js/ui/telepathyClient.js:1430
|
||||
msgid "Status is set to offline"
|
||||
msgstr "El estado está establecido a «desconectado»"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1428
|
||||
#: ../js/ui/telepathyClient.js:1432
|
||||
msgid "Encryption is not available"
|
||||
msgstr "El cifrado no está disponible"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1430
|
||||
#: ../js/ui/telepathyClient.js:1434
|
||||
msgid "Certificate is invalid"
|
||||
msgstr "El certificado no es válido"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1432
|
||||
#: ../js/ui/telepathyClient.js:1436
|
||||
msgid "Connection has been refused"
|
||||
msgstr "Se ha rechazado la conexión"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1434
|
||||
#: ../js/ui/telepathyClient.js:1438
|
||||
msgid "Connection can't be established"
|
||||
msgstr "No se puede establecer la conexión"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1436
|
||||
#: ../js/ui/telepathyClient.js:1440
|
||||
msgid "Connection has been lost"
|
||||
msgstr "Se ha perdido la conexión"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1438
|
||||
#: ../js/ui/telepathyClient.js:1442
|
||||
msgid "This resource is already connected to the server"
|
||||
msgstr "Este recurso ya está conectado al servidor"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1440
|
||||
#: ../js/ui/telepathyClient.js:1444
|
||||
msgid ""
|
||||
"Connection has been replaced by a new connection using the same resource"
|
||||
msgstr ""
|
||||
"Se ha sustituido la conexión por una nueva conexión usando el mismo recurso"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1442
|
||||
#: ../js/ui/telepathyClient.js:1446
|
||||
msgid "The account already exists on the server"
|
||||
msgstr "La cuenta ya existe en el servidor"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1444
|
||||
#: ../js/ui/telepathyClient.js:1448
|
||||
msgid "Server is currently too busy to handle the connection"
|
||||
msgstr ""
|
||||
"Actualmente el servidor está muy ocupado intentando gestionar la conexión"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1446
|
||||
#: ../js/ui/telepathyClient.js:1450
|
||||
msgid "Certificate has been revoked"
|
||||
msgstr "Se ha revocado el certificado"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1448
|
||||
#: ../js/ui/telepathyClient.js:1452
|
||||
msgid ""
|
||||
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
|
||||
msgstr ""
|
||||
"El certificado usa un algoritmo de cifrado inseguro o es criptográficamente "
|
||||
"débil"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1450
|
||||
#: ../js/ui/telepathyClient.js:1454
|
||||
msgid ""
|
||||
"The length of the server certificate, or the depth of the server certificate "
|
||||
"chain, exceed the limits imposed by the cryptography library"
|
||||
@ -1457,68 +1465,68 @@ msgstr ""
|
||||
|
||||
#. translators: argument is the account name, like
|
||||
#. * name@jabber.org for example.
|
||||
#: ../js/ui/telepathyClient.js:1459
|
||||
#: ../js/ui/telepathyClient.js:1463
|
||||
#, c-format
|
||||
msgid "Connection to %s failed"
|
||||
msgstr "Falló la conexión a %s"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1468
|
||||
#: ../js/ui/telepathyClient.js:1472
|
||||
msgid "Reconnect"
|
||||
msgstr "Reconectar"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1469
|
||||
#: ../js/ui/telepathyClient.js:1473
|
||||
msgid "Edit account"
|
||||
msgstr "Editar cuenta"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1515
|
||||
#: ../js/ui/telepathyClient.js:1519
|
||||
msgid "Unknown reason"
|
||||
msgstr "Razón desconocida"
|
||||
|
||||
#: ../js/ui/userMenu.js:153
|
||||
#: ../js/ui/userMenu.js:145
|
||||
msgid "Hidden"
|
||||
msgstr "Oculto"
|
||||
|
||||
#: ../js/ui/userMenu.js:159
|
||||
#: ../js/ui/userMenu.js:151
|
||||
msgid "Idle"
|
||||
msgstr "Inactivo"
|
||||
|
||||
#: ../js/ui/userMenu.js:162
|
||||
#: ../js/ui/userMenu.js:154
|
||||
msgid "Unavailable"
|
||||
msgstr "No disponible"
|
||||
|
||||
#: ../js/ui/userMenu.js:518 ../js/ui/userMenu.js:522 ../js/ui/userMenu.js:592
|
||||
#: ../js/ui/userMenu.js:512 ../js/ui/userMenu.js:516 ../js/ui/userMenu.js:586
|
||||
msgid "Power Off..."
|
||||
msgstr "Apagar…"
|
||||
|
||||
#: ../js/ui/userMenu.js:554
|
||||
#: ../js/ui/userMenu.js:548
|
||||
msgid "Notifications"
|
||||
msgstr "Notificaciones"
|
||||
|
||||
#: ../js/ui/userMenu.js:562
|
||||
#: ../js/ui/userMenu.js:556
|
||||
msgid "Online Accounts"
|
||||
msgstr "Cuentas en línea"
|
||||
|
||||
#: ../js/ui/userMenu.js:566
|
||||
#: ../js/ui/userMenu.js:560
|
||||
msgid "System Settings"
|
||||
msgstr "Configuración del sistema"
|
||||
|
||||
#: ../js/ui/userMenu.js:573
|
||||
#: ../js/ui/userMenu.js:567
|
||||
msgid "Lock Screen"
|
||||
msgstr "Bloquear la pantalla"
|
||||
|
||||
#: ../js/ui/userMenu.js:578
|
||||
#: ../js/ui/userMenu.js:572
|
||||
msgid "Switch User"
|
||||
msgstr "Cambiar de usuario"
|
||||
|
||||
#: ../js/ui/userMenu.js:583
|
||||
#: ../js/ui/userMenu.js:577
|
||||
msgid "Log Out..."
|
||||
msgstr "Cerrar la sesión…"
|
||||
|
||||
#: ../js/ui/userMenu.js:611
|
||||
#: ../js/ui/userMenu.js:605
|
||||
msgid "Your chat status will be set to busy"
|
||||
msgstr "Su estado del chat se establecerá a «ocupado»"
|
||||
|
||||
#: ../js/ui/userMenu.js:612
|
||||
#: ../js/ui/userMenu.js:606
|
||||
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,12 +1547,7 @@ msgstr "Teclear para buscar…"
|
||||
msgid "Search"
|
||||
msgstr "Buscar"
|
||||
|
||||
#: ../js/ui/windowAttentionHandler.js:39
|
||||
#, c-format
|
||||
msgid "%s has finished starting"
|
||||
msgstr "%s finalizó su lanzamiento"
|
||||
|
||||
#: ../js/ui/windowAttentionHandler.js:41
|
||||
#: ../js/ui/windowAttentionHandler.js:35
|
||||
#, c-format
|
||||
msgid "'%s' is ready"
|
||||
msgstr "«%s» está preparado"
|
||||
@ -1616,6 +1619,20 @@ msgstr "Sistema de archivos"
|
||||
msgid "%1$s: %2$s"
|
||||
msgstr "%1$s: %2$s"
|
||||
|
||||
#~ 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"
|
||||
|
||||
#~ msgid "If true, display onscreen keyboard."
|
||||
#~ msgstr "Si es cierta, muestra el teclado en pantalla."
|
||||
|
||||
@ -1882,8 +1899,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 "
|
||||
@ -1900,18 +1917,19 @@ msgstr "%1$s: %2$s"
|
||||
#~ msgid ""
|
||||
#~ "This key specifies the hour format used by the panel clock. Possible "
|
||||
#~ "values are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to "
|
||||
#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. 1970-"
|
||||
#~ "01-01. If set to \"custom\", the clock will display time according to the "
|
||||
#~ "format specified in the custom_format key. Note that if set to either "
|
||||
#~ "\"unix\" or \"custom\", the show_date and show_seconds keys are ignored."
|
||||
#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. "
|
||||
#~ "1970-01-01. If set to \"custom\", the clock will display time according "
|
||||
#~ "to the format specified in the custom_format key. Note that if set to "
|
||||
#~ "either \"unix\" or \"custom\", the show_date and show_seconds keys are "
|
||||
#~ "ignored."
|
||||
#~ msgstr ""
|
||||
#~ "Esta clave especifica el formato de la hora especificado por el reloj del "
|
||||
#~ "panel. Los valores posibles son «12-hour» (12 horas), «24-hour» (24 horas), "
|
||||
#~ "«unix» y «custom» (personalizado).Si se establece a «unix» el reloj mostrará "
|
||||
#~ "la hora en segundos desde la época (1 de enero de 1970). Si se establece "
|
||||
#~ "a «custom» el reloj mostrará la hora según el formato especificado en la "
|
||||
#~ "clave «custom_format». Note que si se establece a «unix» o «custom» se "
|
||||
#~ "ignoran las claves «show_date» y «show_seconds»."
|
||||
#~ "panel. Los valores posibles son «12-hour» (12 horas), «24-hour» (24 "
|
||||
#~ "horas), «unix» y «custom» (personalizado).Si se establece a «unix» el "
|
||||
#~ "reloj mostrará la hora en segundos desde la época (1 de enero de 1970). "
|
||||
#~ "Si se establece a «custom» el reloj mostrará la hora según el formato "
|
||||
#~ "especificado en la clave «custom_format». Note que si se establece a "
|
||||
#~ "«unix» o «custom» se ignoran las claves «show_date» y «show_seconds»."
|
||||
|
||||
#~ msgid "Clock Format"
|
||||
#~ msgstr "Formato del reloj"
|
||||
|
348
po/fa.po
348
po/fa.po
@ -8,8 +8,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2011-09-19 03:42+0000\n"
|
||||
"PO-Revision-Date: 2011-09-19 14:32+0330\n"
|
||||
"POT-Creation-Date: 2011-10-04 20:49+0000\n"
|
||||
"PO-Revision-Date: 2011-10-15 16:02+0330\n"
|
||||
"Last-Translator: Arash Mousavi <mousavi.arash@gmail.com>\n"
|
||||
"Language-Team: Persian <>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@ -62,125 +62,115 @@ msgid "If true, display date in the clock, in addition to time."
|
||||
msgstr "اگر روی «درست» تنظیم شود، تاریخ را در کنار ساعت نشان میدهد."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:9
|
||||
msgid "If true, display onscreen keyboard."
|
||||
msgstr "در صورت تنظیم بر روی «درست»، صفحهکلید مجازی نمایش داده میشود."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:10
|
||||
msgid "If true, display seconds in time."
|
||||
msgstr "در صورت تنظیم بر روی «درست»، ثانیهها را در ساعت نشان میدهد."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:11
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:10
|
||||
msgid "If true, display the ISO week date in the calendar."
|
||||
msgstr "در صورت تنظیم بر روی «درست»، تاریخ هفتگی ایزو را در تقویم نشان میدهد."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:12
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:11
|
||||
msgid "List of desktop file IDs for favorite applications"
|
||||
msgstr "فهرست شناسههای پروندهی رومیزی برای برنامههای مورد پسند"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:14
|
||||
#: ../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 "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."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:15
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:14
|
||||
msgid "Show date in clock"
|
||||
msgstr "نمایش تاریخ در ساعت"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:16
|
||||
msgid "Show the onscreen keyboard"
|
||||
msgstr "نمایش صفحهکلید مجازی"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:17
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:15
|
||||
msgid "Show the week date in the calendar"
|
||||
msgstr "نمایش هفته در تقویم"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:18
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:16
|
||||
msgid "Show time with seconds"
|
||||
msgstr "نمایش ساعت همراه با ثانیه"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:19
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:17
|
||||
msgid "The applications corresponding to these identifiers will be displayed in the favorites area."
|
||||
msgstr "برنامههای مشابه این شناسهها در قسمت مورد پسندها نمایش داده میشود."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:20
|
||||
#: ../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 "نام پروندهی ضبط شده برای تصویربرداری از صفحهنمایش یکتا و براساس تاریخ جاری خواهد بود و از این افزونه استفاده خواهد کرد. اگر در زمان ضبط از قالب دیگری استفاده کنید باید تغییر کند."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:21
|
||||
#: ../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 "سرعت فریم حاصل از تصویربرداری از صفحه نمایش با استفاده از ضبط کننده نمایشگر پوستهی گنوم بر اساس فریم بر ثانیه"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:22
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:20
|
||||
msgid "The gstreamer pipeline used to encode the screencast"
|
||||
msgstr "مجرای ارتباطی gstreamer برای کدگذاری تصویربرداری از صفحه نمایش"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:23
|
||||
#: ../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 "پوسته گنوم در حالت عادی برنامههای فعال را جهت ارائه برنامههای بیشتر استفاده شده پایش می کند. (برای مثال در اجرا کنندهها). با اینکه که این اطلاعات به صورت خصوصی نگاهداری میشود، ممکن است شما بخواهید این امکان را به دلایل امنیتی غیرفعال کنید. لطفا توجه کنید این کار باعث پاک شدن اطلاعاتی که تاکنون ذخیره شدهاند نمیشود."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:24
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:22
|
||||
msgid "The type of keyboard to use."
|
||||
msgstr "نوع صفحهکلید جهت استفاده"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:25
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:23
|
||||
msgid "Uuids of extensions to enable"
|
||||
msgstr "شناسههای Uuid افزونهها جهت فعالسازی"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:26
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:24
|
||||
msgid "Whether to collect stats about applications usage"
|
||||
msgstr "اینکه اطلاعات برنامهها دربارهی میزان استفاده از منابع جمعآوری شود یا خیر"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:27
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:25
|
||||
msgid "Which keyboard to use"
|
||||
msgstr "استفاده از کدام صفحهکلید"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:28
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:26
|
||||
msgid "disabled OpenSearch providers"
|
||||
msgstr "غیرفعال کردنِ تامینکنندهگان OpenSearch"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:614
|
||||
#: ../js/gdm/loginDialog.js:617
|
||||
msgid "Session..."
|
||||
msgstr "نشست..."
|
||||
|
||||
#: ../js/gdm/loginDialog.js:776
|
||||
#| msgid "Sign In"
|
||||
#: ../js/gdm/loginDialog.js:785
|
||||
msgctxt "title"
|
||||
msgid "Sign In"
|
||||
msgstr "ورود"
|
||||
|
||||
#. translators: this message is shown below the password entry field
|
||||
#. to indicate the user can swipe their finger instead
|
||||
#: ../js/gdm/loginDialog.js:821
|
||||
#: ../js/gdm/loginDialog.js:830
|
||||
msgid "(or swipe finger)"
|
||||
msgstr "(یا انگشتتان را بکشید)"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:839
|
||||
#: ../js/gdm/loginDialog.js:848
|
||||
msgid "Not listed?"
|
||||
msgstr "فهرست نشده؟"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:980
|
||||
#: ../js/gdm/loginDialog.js:1004
|
||||
#: ../js/ui/endSessionDialog.js:426
|
||||
#: ../js/ui/extensionSystem.js:477
|
||||
#: ../js/ui/networkAgent.js:158
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:170
|
||||
#: ../js/ui/networkAgent.js:165
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:171
|
||||
#: ../js/ui/status/bluetooth.js:480
|
||||
msgid "Cancel"
|
||||
msgstr "لغو"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:985
|
||||
#| msgid "Sign In"
|
||||
#: ../js/gdm/loginDialog.js:1009
|
||||
msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "ورود"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1324
|
||||
#: ../js/gdm/loginDialog.js:1358
|
||||
msgid "Login Window"
|
||||
msgstr "پنجرهی ورود به سیستم"
|
||||
|
||||
#: ../js/gdm/powerMenu.js:116
|
||||
#: ../js/ui/userMenu.js:520
|
||||
#: ../js/ui/userMenu.js:522
|
||||
#: ../js/ui/userMenu.js:591
|
||||
#: ../js/ui/userMenu.js:514
|
||||
#: ../js/ui/userMenu.js:516
|
||||
#: ../js/ui/userMenu.js:585
|
||||
msgid "Suspend"
|
||||
msgstr "تعلیق"
|
||||
|
||||
@ -247,12 +237,16 @@ msgstr "مورد %s به مورد پسندهای شما اضافه شد."
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "مورد %s ازمورد پسندهای شما حذف شد."
|
||||
|
||||
#: ../js/ui/autorunManager.js:592
|
||||
#: ../js/ui/autorunManager.js:280
|
||||
msgid "Removable Devices"
|
||||
msgstr "دستگاههای جدا شدنی"
|
||||
|
||||
#: ../js/ui/autorunManager.js:590
|
||||
#, c-format
|
||||
msgid "Open with %s"
|
||||
msgstr "باز کردن با %s"
|
||||
|
||||
#: ../js/ui/autorunManager.js:618
|
||||
#: ../js/ui/autorunManager.js:616
|
||||
msgid "Eject"
|
||||
msgstr "بیرون دادن"
|
||||
|
||||
@ -410,17 +404,17 @@ msgid "Unknown"
|
||||
msgstr "ناشناخته"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:80
|
||||
#: ../js/ui/userMenu.js:147
|
||||
#: ../js/ui/userMenu.js:139
|
||||
msgid "Available"
|
||||
msgstr "در دسترس"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:85
|
||||
#: ../js/ui/userMenu.js:156
|
||||
#: ../js/ui/userMenu.js:148
|
||||
msgid "Away"
|
||||
msgstr "غائب"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:89
|
||||
#: ../js/ui/userMenu.js:150
|
||||
#: ../js/ui/userMenu.js:142
|
||||
msgid "Busy"
|
||||
msgstr "مشغول"
|
||||
|
||||
@ -433,7 +427,7 @@ msgid "CONTACTS"
|
||||
msgstr "CONTACTS"
|
||||
|
||||
#: ../js/ui/dash.js:172
|
||||
#: ../js/ui/messageTray.js:1196
|
||||
#: ../js/ui/messageTray.js:1204
|
||||
msgid "Remove"
|
||||
msgstr "حذف"
|
||||
|
||||
@ -512,7 +506,6 @@ msgstr "بر روی خروج از سیستم کلیک کنید تا از این
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:64
|
||||
#, c-format
|
||||
#| msgid "%s will be logged out automatically in %d seconds."
|
||||
msgid "%s will be logged out automatically in %d second."
|
||||
msgid_plural "%s will be logged out automatically in %d seconds."
|
||||
msgstr[0] "%s به طور خودکار در مدت %Id ثانیه از سیستم خارج خواهد شد."
|
||||
@ -520,7 +513,6 @@ msgstr[1] "%s به طور خودکار در مدت %Id ثانیه از سیست
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:69
|
||||
#, c-format
|
||||
#| msgid "You will be logged out automatically in %d seconds."
|
||||
msgid "You will be logged out automatically in %d second."
|
||||
msgid_plural "You will be logged out automatically in %d seconds."
|
||||
msgstr[0] "شما پس از %Id ثانیه به طور خودکار از سیستم خارج میشوید."
|
||||
@ -536,7 +528,6 @@ msgstr "بر روی خاموش کردن کلیک کنید تا از این بر
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:83
|
||||
#, c-format
|
||||
#| msgid "The system will power off automatically in %d seconds."
|
||||
msgid "The system will power off automatically in %d second."
|
||||
msgid_plural "The system will power off automatically in %d seconds."
|
||||
msgstr[0] "سیستم پس از %Id ثانیه به طور خودکار خاموش میشود."
|
||||
@ -552,7 +543,6 @@ msgstr "بر روی راهاندازی مجدد کلیک کنید تا از
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:100
|
||||
#, c-format
|
||||
#| msgid "The system will restart automatically in %d seconds."
|
||||
msgid "The system will restart automatically in %d second."
|
||||
msgid_plural "The system will restart automatically in %d seconds."
|
||||
msgstr[0] "سیستم پس از %Id ثانیه به طور خودکار مجددا راهاندازی میشود."
|
||||
@ -571,7 +561,12 @@ msgstr "نصب"
|
||||
msgid "Download and install '%s' from extensions.gnome.org?"
|
||||
msgstr "بارگیری و نصب «%s» از extensions.gnome.org؟"
|
||||
|
||||
#: ../js/ui/keyboard.js:513
|
||||
#: ../js/ui/keyboard.js:308
|
||||
#| msgid "Retry"
|
||||
msgid "tray"
|
||||
msgstr "سینی"
|
||||
|
||||
#: ../js/ui/keyboard.js:530
|
||||
#: ../js/ui/status/power.js:211
|
||||
msgid "Keyboard"
|
||||
msgstr "صفحهکلید"
|
||||
@ -603,102 +598,102 @@ msgstr "قدیمی"
|
||||
msgid "Downloading"
|
||||
msgstr "در حال بارگیری"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:724
|
||||
#: ../js/ui/lookingGlass.js:720
|
||||
msgid "View Source"
|
||||
msgstr "نمایش منبع"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:730
|
||||
#: ../js/ui/lookingGlass.js:726
|
||||
msgid "Web Page"
|
||||
msgstr "صفحهی وب"
|
||||
|
||||
#: ../js/ui/messageTray.js:1189
|
||||
#: ../js/ui/messageTray.js:1197
|
||||
msgid "Open"
|
||||
msgstr "بازکردن"
|
||||
|
||||
#: ../js/ui/messageTray.js:2368
|
||||
#: ../js/ui/messageTray.js:2406
|
||||
msgid "System Information"
|
||||
msgstr "اطلاعات سیستم"
|
||||
|
||||
#: ../js/ui/networkAgent.js:138
|
||||
#: ../js/ui/networkAgent.js:145
|
||||
msgid "Show password"
|
||||
msgstr "نمایش گذرواژه"
|
||||
|
||||
#: ../js/ui/networkAgent.js:153
|
||||
#: ../js/ui/networkAgent.js:160
|
||||
msgid "Connect"
|
||||
msgstr "اتصال"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: ../js/ui/networkAgent.js:248
|
||||
#: ../js/ui/networkAgent.js:260
|
||||
#: ../js/ui/networkAgent.js:287
|
||||
#: ../js/ui/networkAgent.js:307
|
||||
#: ../js/ui/networkAgent.js:317
|
||||
#: ../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
|
||||
msgid "Password: "
|
||||
msgstr "گذرواژه: "
|
||||
|
||||
#. static WEP
|
||||
#: ../js/ui/networkAgent.js:253
|
||||
#: ../js/ui/networkAgent.js:260
|
||||
msgid "Key: "
|
||||
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:285
|
||||
#: ../js/ui/networkAgent.js:303
|
||||
#: ../js/ui/networkAgent.js:292
|
||||
#: ../js/ui/networkAgent.js:310
|
||||
msgid "Username: "
|
||||
msgstr "نامکاربری: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:291
|
||||
#: ../js/ui/networkAgent.js:298
|
||||
msgid "Identity: "
|
||||
msgstr "شناسه: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:293
|
||||
#: ../js/ui/networkAgent.js:300
|
||||
msgid "Private key password: "
|
||||
msgstr "گذرواژه کلید خصوصی: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:305
|
||||
#: ../js/ui/networkAgent.js:312
|
||||
msgid "Service: "
|
||||
msgstr "سرویس: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:334
|
||||
#: ../js/ui/networkAgent.js:341
|
||||
msgid "Authentication required by wireless network"
|
||||
msgstr "تایید هویت برای شبکه بیسیم لازم است"
|
||||
|
||||
#: ../js/ui/networkAgent.js:335
|
||||
#: ../js/ui/networkAgent.js:342
|
||||
#, c-format
|
||||
msgid "Passwords or encryption keys are required to access the wireless network '%s'."
|
||||
msgstr "گذرواژه یا کلیدهای رمزنگاری برای دسترسی به شبکه «%s» لازم است."
|
||||
|
||||
#: ../js/ui/networkAgent.js:339
|
||||
#: ../js/ui/networkAgent.js:346
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "تایید هویت 802.1X سیمی"
|
||||
|
||||
#: ../js/ui/networkAgent.js:341
|
||||
#: ../js/ui/networkAgent.js:348
|
||||
msgid "Network name: "
|
||||
msgstr "نام شبکه: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:346
|
||||
#: ../js/ui/networkAgent.js:353
|
||||
msgid "DSL authentication"
|
||||
msgstr "تایید هویت DSL"
|
||||
|
||||
#: ../js/ui/networkAgent.js:353
|
||||
#: ../js/ui/networkAgent.js:360
|
||||
msgid "PIN code required"
|
||||
msgstr "کد پین لازم است"
|
||||
|
||||
#: ../js/ui/networkAgent.js:354
|
||||
#: ../js/ui/networkAgent.js:361
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "کد پین برای دستگاه پهنباند تلفنهمراه لازم است"
|
||||
|
||||
#: ../js/ui/networkAgent.js:355
|
||||
#: ../js/ui/networkAgent.js:362
|
||||
msgid "PIN: "
|
||||
msgstr "پین: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:361
|
||||
#: ../js/ui/networkAgent.js:368
|
||||
msgid "Mobile broadband network password"
|
||||
msgstr "گذرواژه شبکه پهنباند تلفن همراه"
|
||||
|
||||
#: ../js/ui/networkAgent.js:362
|
||||
#: ../js/ui/networkAgent.js:369
|
||||
#, c-format
|
||||
msgid "A password is required to connect to '%s'."
|
||||
msgstr "برای اتصال به «%s» گذرواژه لازم است."
|
||||
@ -762,7 +757,7 @@ msgstr "تایید هویت لازم است"
|
||||
msgid "Administrator"
|
||||
msgstr "مدیر"
|
||||
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:174
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:175
|
||||
msgid "Authenticate"
|
||||
msgstr "تایید هویت"
|
||||
|
||||
@ -770,11 +765,11 @@ msgstr "تایید هویت"
|
||||
#. * requested authentication was not gained; this can happen
|
||||
#. * because of an authentication error (like invalid password),
|
||||
#. * for instance.
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:262
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:256
|
||||
msgid "Sorry, that didn't work. Please try again."
|
||||
msgstr "متاسفتم، تاثیری نداشت! مجددا تلاش کنید."
|
||||
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:274
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:268
|
||||
msgid "Password:"
|
||||
msgstr "گذرواژه"
|
||||
|
||||
@ -783,7 +778,7 @@ msgstr "گذرواژه"
|
||||
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
|
||||
#. switches containing "◯" and "|"). Other values will
|
||||
#. simply result in invisible toggle switches.
|
||||
#: ../js/ui/popupMenu.js:687
|
||||
#: ../js/ui/popupMenu.js:731
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-intl"
|
||||
|
||||
@ -810,9 +805,11 @@ msgstr "بزرگنمایی"
|
||||
#. let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA,
|
||||
#. 'screen-reader-enabled');
|
||||
#. this.menu.addMenuItem(screenReader);
|
||||
#. let screenKeyboard = this._buildItem(_("Screen Keyboard"), APPLICATIONS_SCHEMA,
|
||||
#. 'screen-keyboard-enabled');
|
||||
#. this.menu.addMenuItem(screenKeyboard);
|
||||
#: ../js/ui/status/accessibility.js:71
|
||||
#| msgid "Keyboard"
|
||||
msgid "Screen Keyboard"
|
||||
msgstr "صفحهکلید مجازی"
|
||||
|
||||
#: ../js/ui/status/accessibility.js:75
|
||||
msgid "Visual Alerts"
|
||||
msgstr "هشدارهای نمایشی"
|
||||
@ -938,7 +935,7 @@ msgid "Grant this time only"
|
||||
msgstr "موافقت تنها در همین زمان"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:392
|
||||
#: ../js/ui/telepathyClient.js:1196
|
||||
#: ../js/ui/telepathyClient.js:1200
|
||||
msgid "Reject"
|
||||
msgstr "رد کردن"
|
||||
|
||||
@ -979,11 +976,11 @@ msgstr "لطفا PIN ذکر شده در دستگاه را وارد کنید."
|
||||
msgid "OK"
|
||||
msgstr "تایید"
|
||||
|
||||
#: ../js/ui/status/keyboard.js:72
|
||||
#: ../js/ui/status/keyboard.js:73
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "نمایش چیدمان صفحهکلید"
|
||||
|
||||
#: ../js/ui/status/keyboard.js:77
|
||||
#: ../js/ui/status/keyboard.js:78
|
||||
msgid "Region and Language Settings"
|
||||
msgstr "تنظیمات ناحیه و زبان"
|
||||
|
||||
@ -1029,14 +1026,14 @@ msgid "connection failed"
|
||||
msgstr "اتصال شکست خورد"
|
||||
|
||||
#: ../js/ui/status/network.js:575
|
||||
#: ../js/ui/status/network.js:1515
|
||||
#: ../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:1455
|
||||
#: ../js/ui/status/network.js:1458
|
||||
msgid "Connected (private)"
|
||||
msgstr "متصل شد (خصوصی)"
|
||||
|
||||
@ -1054,7 +1051,7 @@ msgstr "دایالآپ خودکار"
|
||||
|
||||
#. TRANSLATORS: this the automatic wireless connection name (including the network name)
|
||||
#: ../js/ui/status/network.js:878
|
||||
#: ../js/ui/status/network.js:1467
|
||||
#: ../js/ui/status/network.js:1470
|
||||
#, c-format
|
||||
msgid "Auto %s"
|
||||
msgstr "اتصال بیسیم %s خودکار"
|
||||
@ -1063,47 +1060,47 @@ msgstr "اتصال بیسیم %s خودکار"
|
||||
msgid "Auto bluetooth"
|
||||
msgstr "بلوتوث خودکار"
|
||||
|
||||
#: ../js/ui/status/network.js:1469
|
||||
#: ../js/ui/status/network.js:1472
|
||||
msgid "Auto wireless"
|
||||
msgstr "بیسیم خودکار"
|
||||
|
||||
#: ../js/ui/status/network.js:1558
|
||||
#: ../js/ui/status/network.js:1566
|
||||
msgid "Enable networking"
|
||||
msgstr "فعالسازی شبکه"
|
||||
|
||||
#: ../js/ui/status/network.js:1570
|
||||
#: ../js/ui/status/network.js:1578
|
||||
msgid "Wired"
|
||||
msgstr "سیمی"
|
||||
|
||||
#: ../js/ui/status/network.js:1581
|
||||
#: ../js/ui/status/network.js:1589
|
||||
msgid "Wireless"
|
||||
msgstr "بیسیم"
|
||||
|
||||
#: ../js/ui/status/network.js:1591
|
||||
#: ../js/ui/status/network.js:1599
|
||||
msgid "Mobile broadband"
|
||||
msgstr "پهنباند همراه"
|
||||
|
||||
#: ../js/ui/status/network.js:1601
|
||||
#: ../js/ui/status/network.js:1609
|
||||
msgid "VPN Connections"
|
||||
msgstr "اتصالهای ویپیان"
|
||||
|
||||
#: ../js/ui/status/network.js:1612
|
||||
#: ../js/ui/status/network.js:1620
|
||||
msgid "Network Settings"
|
||||
msgstr "تنظیمات شبکه"
|
||||
|
||||
#: ../js/ui/status/network.js:1749
|
||||
#: ../js/ui/status/network.js:1757
|
||||
msgid "Connection failed"
|
||||
msgstr "اتصال شکست خورد"
|
||||
|
||||
#: ../js/ui/status/network.js:1750
|
||||
#: ../js/ui/status/network.js:1758
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "فعالسازی اتصال شبکه شکست خورد"
|
||||
|
||||
#: ../js/ui/status/network.js:2000
|
||||
#: ../js/ui/status/network.js:2008
|
||||
msgid "Networking is disabled"
|
||||
msgstr "غیرفعالسازی شبکه"
|
||||
|
||||
#: ../js/ui/status/network.js:2125
|
||||
#: ../js/ui/status/network.js:2133
|
||||
msgid "Network Manager"
|
||||
msgstr "مدیریت شبکه"
|
||||
|
||||
@ -1212,39 +1209,39 @@ msgid "Invitation"
|
||||
msgstr "دعوتنامه"
|
||||
|
||||
#. We got the TpContact
|
||||
#: ../js/ui/telepathyClient.js:325
|
||||
#: ../js/ui/telepathyClient.js:327
|
||||
msgid "Call"
|
||||
msgstr "تماس"
|
||||
|
||||
#. We got the TpContact
|
||||
#: ../js/ui/telepathyClient.js:353
|
||||
#: ../js/ui/telepathyClient.js:357
|
||||
msgid "File Transfer"
|
||||
msgstr "انتقال پرونده"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:434
|
||||
#: ../js/ui/telepathyClient.js:438
|
||||
msgid "Subscription request"
|
||||
msgstr "درخواست اشتراک"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:470
|
||||
#: ../js/ui/telepathyClient.js:474
|
||||
msgid "Connection error"
|
||||
msgstr "خطا اتصال"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:733
|
||||
#: ../js/ui/telepathyClient.js:737
|
||||
#, c-format
|
||||
msgid "%s is online."
|
||||
msgstr "%s بر خط است."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:738
|
||||
#: ../js/ui/telepathyClient.js:742
|
||||
#, c-format
|
||||
msgid "%s is offline."
|
||||
msgstr "%s برون خط است."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:741
|
||||
#: ../js/ui/telepathyClient.js:745
|
||||
#, c-format
|
||||
msgid "%s is away."
|
||||
msgstr "%s غایب است."
|
||||
|
||||
#: ../js/ui/telepathyClient.js:744
|
||||
#: ../js/ui/telepathyClient.js:748
|
||||
#, c-format
|
||||
msgid "%s is busy."
|
||||
msgstr "%s مشغول است."
|
||||
@ -1252,35 +1249,35 @@ msgstr "%s مشغول است."
|
||||
#. Translators: this is a time format string followed by a date.
|
||||
#. If applicable, replace %X with a strftime format valid for your
|
||||
#. locale, without seconds.
|
||||
#: ../js/ui/telepathyClient.js:978
|
||||
#: ../js/ui/telepathyClient.js:982
|
||||
#, no-c-format
|
||||
msgid "Sent at <b>%X</b> on <b>%A</b>"
|
||||
msgstr "ارسال در <b>%OH:%OM</b> در <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:984
|
||||
#: ../js/ui/telepathyClient.js:988
|
||||
#, no-c-format
|
||||
msgid "Sent on <b>%A</b>, <b>%B %d</b>"
|
||||
msgstr "ارسال در <b>%A</b>, <b>%B %d</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:993
|
||||
#, no-c-format
|
||||
msgid "Sent on <b>%A</b>, <b>%B %d</b>, %Y"
|
||||
msgstr "ارسال در <b>%A</b>, <b>%B %d</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:1035
|
||||
#, c-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "%s با عنوان %s شناخته میشود"
|
||||
|
||||
#. translators: argument is a room name like
|
||||
#. * room@jabber.org for example.
|
||||
#: ../js/ui/telepathyClient.js:1140
|
||||
#: ../js/ui/telepathyClient.js:1144
|
||||
#, c-format
|
||||
msgid "Invitation to %s"
|
||||
msgstr "دعوتنامه به %s"
|
||||
@ -1288,36 +1285,36 @@ msgstr "دعوتنامه به %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:1152
|
||||
#, c-format
|
||||
msgid "%s is inviting you to join %s"
|
||||
msgstr "%s از شما دعوت میکند که به %s بپیوندید"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1150
|
||||
#: ../js/ui/telepathyClient.js:1239
|
||||
#: ../js/ui/telepathyClient.js:1343
|
||||
#: ../js/ui/telepathyClient.js:1154
|
||||
#: ../js/ui/telepathyClient.js:1243
|
||||
#: ../js/ui/telepathyClient.js:1347
|
||||
msgid "Decline"
|
||||
msgstr "رد کردن"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1151
|
||||
#: ../js/ui/telepathyClient.js:1240
|
||||
#: ../js/ui/telepathyClient.js:1344
|
||||
#: ../js/ui/telepathyClient.js:1155
|
||||
#: ../js/ui/telepathyClient.js:1244
|
||||
#: ../js/ui/telepathyClient.js:1348
|
||||
msgid "Accept"
|
||||
msgstr "پذیرفتن"
|
||||
|
||||
#. translators: argument is a contact name like Alice for example.
|
||||
#: ../js/ui/telepathyClient.js:1184
|
||||
#: ../js/ui/telepathyClient.js:1188
|
||||
#, c-format
|
||||
msgid "Video call from %s"
|
||||
msgstr "تماس ویدئویی از طریق %s"
|
||||
|
||||
#. translators: argument is a contact name like Alice for example.
|
||||
#: ../js/ui/telepathyClient.js:1187
|
||||
#: ../js/ui/telepathyClient.js:1191
|
||||
#, c-format
|
||||
msgid "Call from %s"
|
||||
msgstr "تماس از طرف %s"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1197
|
||||
#: ../js/ui/telepathyClient.js:1201
|
||||
msgid "Answer"
|
||||
msgstr "پاسخگویی"
|
||||
|
||||
@ -1326,175 +1323,175 @@ msgstr "پاسخگویی"
|
||||
#. * file name. The string will be something
|
||||
#. * like: "Alice is sending you test.ogg"
|
||||
#.
|
||||
#: ../js/ui/telepathyClient.js:1233
|
||||
#: ../js/ui/telepathyClient.js:1237
|
||||
#, c-format
|
||||
msgid "%s is sending you %s"
|
||||
msgstr "%s در حال ارسال %s به شما است"
|
||||
|
||||
#. To translators: The parameter is the contact's alias
|
||||
#: ../js/ui/telepathyClient.js:1308
|
||||
#: ../js/ui/telepathyClient.js:1312
|
||||
#, c-format
|
||||
msgid "%s would like permission to see when you are online"
|
||||
msgstr "%s اجازه دسترسی برای دیدن زمانهایی که شما برخط هستید را دارد"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1406
|
||||
#: ../js/ui/telepathyClient.js:1410
|
||||
msgid "Network error"
|
||||
msgstr "خطا شبکه"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1408
|
||||
#: ../js/ui/telepathyClient.js:1412
|
||||
msgid "Authentication failed"
|
||||
msgstr "تایید هویت شکست خورد"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1410
|
||||
#: ../js/ui/telepathyClient.js:1414
|
||||
msgid "Encryption error"
|
||||
msgstr "خطا رمزنگاری"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1412
|
||||
#: ../js/ui/telepathyClient.js:1416
|
||||
msgid "Certificate not provided"
|
||||
msgstr "گواهینامه ارائه نشده"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1414
|
||||
#: ../js/ui/telepathyClient.js:1418
|
||||
msgid "Certificate untrusted"
|
||||
msgstr "گواهینامه نامعتبر است"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1416
|
||||
#: ../js/ui/telepathyClient.js:1420
|
||||
msgid "Certificate expired"
|
||||
msgstr "گواهینامه منقضی شده"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1418
|
||||
#: ../js/ui/telepathyClient.js:1422
|
||||
msgid "Certificate not activated"
|
||||
msgstr "گواهینامه فعال نشده"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1420
|
||||
#: ../js/ui/telepathyClient.js:1424
|
||||
msgid "Certificate hostname mismatch"
|
||||
msgstr "نام کارگزار گواهینامه نامنطبق است"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1422
|
||||
#: ../js/ui/telepathyClient.js:1426
|
||||
msgid "Certificate fingerprint mismatch"
|
||||
msgstr "اثرانگشت گواهینامه نامنطبق است"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1424
|
||||
#: ../js/ui/telepathyClient.js:1428
|
||||
msgid "Certificate self-signed"
|
||||
msgstr "گواهینامه خود-امضا شده"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1426
|
||||
#: ../js/ui/telepathyClient.js:1430
|
||||
msgid "Status is set to offline"
|
||||
msgstr "وضعیت بر روی برون خط تنظیم شده"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1428
|
||||
#: ../js/ui/telepathyClient.js:1432
|
||||
msgid "Encryption is not available"
|
||||
msgstr "رمزنگاری موجود نیست"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1430
|
||||
#: ../js/ui/telepathyClient.js:1434
|
||||
msgid "Certificate is invalid"
|
||||
msgstr "گواهینامه نامعتبر است"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1432
|
||||
#: ../js/ui/telepathyClient.js:1436
|
||||
msgid "Connection has been refused"
|
||||
msgstr "اتصال رد شده است"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1434
|
||||
#: ../js/ui/telepathyClient.js:1438
|
||||
msgid "Connection can't be established"
|
||||
msgstr "اتصال نمیتواند برقرار شود"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1436
|
||||
#: ../js/ui/telepathyClient.js:1440
|
||||
msgid "Connection has been lost"
|
||||
msgstr "اتصال از دست رفته است"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1438
|
||||
#: ../js/ui/telepathyClient.js:1442
|
||||
msgid "This resource is already connected to the server"
|
||||
msgstr "این منبع از قبل به کارگزار متصل شده است"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1440
|
||||
#: ../js/ui/telepathyClient.js:1444
|
||||
msgid "Connection has been replaced by a new connection using the same resource"
|
||||
msgstr "اتصال توسط یک اتصال جدید که از منبع مشابه استفاده میکند، جایگزین شده است"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1442
|
||||
#: ../js/ui/telepathyClient.js:1446
|
||||
msgid "The account already exists on the server"
|
||||
msgstr "حساب از قبل بر روی کارگزار وجود دارد"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1444
|
||||
#: ../js/ui/telepathyClient.js:1448
|
||||
msgid "Server is currently too busy to handle the connection"
|
||||
msgstr "کارگزار در حال حاضر برای دست گرفتن اتصال بسیار مشغول است"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1446
|
||||
#: ../js/ui/telepathyClient.js:1450
|
||||
msgid "Certificate has been revoked"
|
||||
msgstr "گواهینامه لغو شده است"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1448
|
||||
#: ../js/ui/telepathyClient.js:1452
|
||||
msgid "Certificate uses an insecure cipher algorithm or is cryptographically weak"
|
||||
msgstr "گواهینامه از الگوریتم رمزی نامطمئنی استفاده میکند یا از نظر cryptography ضعیف است"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1450
|
||||
#: ../js/ui/telepathyClient.js:1454
|
||||
msgid "The length of the server certificate, or the depth of the server certificate chain, exceed the limits imposed by the cryptography library"
|
||||
msgstr "اندازه گواهینامه کارگزار، یا عمق حلقهی گواهینامه کارگزار، از محدودیت اعمال شده توسط کتابخانه cryptography تجاوز کرد"
|
||||
|
||||
#. translators: argument is the account name, like
|
||||
#. * name@jabber.org for example.
|
||||
#: ../js/ui/telepathyClient.js:1459
|
||||
#: ../js/ui/telepathyClient.js:1463
|
||||
#, c-format
|
||||
msgid "Connection to %s failed"
|
||||
msgstr "اتصال به %s شکست خورد"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1468
|
||||
#: ../js/ui/telepathyClient.js:1472
|
||||
msgid "Reconnect"
|
||||
msgstr "اتصال مجدد"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1469
|
||||
#: ../js/ui/telepathyClient.js:1473
|
||||
msgid "Edit account"
|
||||
msgstr "ویرایش حساب"
|
||||
|
||||
#: ../js/ui/telepathyClient.js:1515
|
||||
#: ../js/ui/telepathyClient.js:1519
|
||||
msgid "Unknown reason"
|
||||
msgstr "دلیل ناشناخته"
|
||||
|
||||
#: ../js/ui/userMenu.js:153
|
||||
#: ../js/ui/userMenu.js:145
|
||||
msgid "Hidden"
|
||||
msgstr "نامرئی"
|
||||
|
||||
#: ../js/ui/userMenu.js:159
|
||||
#: ../js/ui/userMenu.js:151
|
||||
msgid "Idle"
|
||||
msgstr "بیکار"
|
||||
|
||||
#: ../js/ui/userMenu.js:162
|
||||
#: ../js/ui/userMenu.js:154
|
||||
msgid "Unavailable"
|
||||
msgstr "خارج از دسترس"
|
||||
|
||||
#: ../js/ui/userMenu.js:518
|
||||
#: ../js/ui/userMenu.js:522
|
||||
#: ../js/ui/userMenu.js:592
|
||||
#: ../js/ui/userMenu.js:512
|
||||
#: ../js/ui/userMenu.js:516
|
||||
#: ../js/ui/userMenu.js:586
|
||||
msgid "Power Off..."
|
||||
msgstr "خاموش کردن..."
|
||||
|
||||
#: ../js/ui/userMenu.js:554
|
||||
#: ../js/ui/userMenu.js:548
|
||||
msgid "Notifications"
|
||||
msgstr "اعلانها"
|
||||
|
||||
#: ../js/ui/userMenu.js:562
|
||||
#: ../js/ui/userMenu.js:556
|
||||
msgid "Online Accounts"
|
||||
msgstr "حسابهای برخط"
|
||||
|
||||
#: ../js/ui/userMenu.js:566
|
||||
#: ../js/ui/userMenu.js:560
|
||||
msgid "System Settings"
|
||||
msgstr "تنظیمات سیستم"
|
||||
|
||||
#: ../js/ui/userMenu.js:573
|
||||
#: ../js/ui/userMenu.js:567
|
||||
msgid "Lock Screen"
|
||||
msgstr "قفل کردن صفحه"
|
||||
|
||||
#: ../js/ui/userMenu.js:578
|
||||
#: ../js/ui/userMenu.js:572
|
||||
msgid "Switch User"
|
||||
msgstr "تعویض کاربر"
|
||||
|
||||
#: ../js/ui/userMenu.js:583
|
||||
#: ../js/ui/userMenu.js:577
|
||||
msgid "Log Out..."
|
||||
msgstr "خروج از سیستم..."
|
||||
|
||||
#: ../js/ui/userMenu.js:611
|
||||
#: ../js/ui/userMenu.js:605
|
||||
msgid "Your chat status will be set to busy"
|
||||
msgstr "وضعیت گپ شما «مشغول» تنظیم میشود"
|
||||
|
||||
#: ../js/ui/userMenu.js:612
|
||||
#: ../js/ui/userMenu.js:606
|
||||
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 "هماکنون اعلانها، از جمله پیامهای گپ، غیرفعال هستند. وضعیتِ برخطِ شما به گونهای تنظیم شده است که به دیگران نشان دهد ممکن است شما پیامهایشان را نبینید."
|
||||
|
||||
@ -1511,12 +1508,7 @@ msgstr "برای جستجو تایپ کنید..."
|
||||
msgid "Search"
|
||||
msgstr "جستجو"
|
||||
|
||||
#: ../js/ui/windowAttentionHandler.js:39
|
||||
#, c-format
|
||||
msgid "%s has finished starting"
|
||||
msgstr "راهاندازی %s پایان یافته است"
|
||||
|
||||
#: ../js/ui/windowAttentionHandler.js:41
|
||||
#: ../js/ui/windowAttentionHandler.js:35
|
||||
#, c-format
|
||||
msgid "'%s' is ready"
|
||||
msgstr "«%s» آماده است"
|
||||
@ -1588,3 +1580,11 @@ msgstr "سیستم پروندهها"
|
||||
msgid "%1$s: %2$s"
|
||||
msgstr "%1$s: %2$s"
|
||||
|
||||
#~ msgid "If true, display onscreen keyboard."
|
||||
#~ msgstr "در صورت تنظیم بر روی «درست»، صفحهکلید مجازی نمایش داده میشود."
|
||||
|
||||
#~ msgid "Show the onscreen keyboard"
|
||||
#~ msgstr "نمایش صفحهکلید مجازی"
|
||||
|
||||
#~ msgid "%s has finished starting"
|
||||
#~ msgstr "راهاندازی %s پایان یافته است"
|
||||
|
296
po/fi.po
296
po/fi.po
@ -19,11 +19,10 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2011-09-17 15:25+0000\n"
|
||||
"PO-Revision-Date: 2011-09-17 22:26+0300\n"
|
||||
"Last-Translator: Ville-Pekka Vainio <vpvainio@iki.fi>\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"
|
||||
"Language-Team: Finnish <gnome-fi-laatu@lists.sourceforge.net>\n"
|
||||
"Language: fi\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@ -41,38 +40,170 @@ msgstr "Gnomen ikkunanhallinta"
|
||||
msgid "Window management and application launching"
|
||||
msgstr "Ikkunanhallinta ja sovelluksien käynnistäminen"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.h:25
|
||||
msgid ""
|
||||
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
|
||||
"dialog."
|
||||
msgstr ""
|
||||
"Salli pääsy sisäiseen vianselvitys- ja monitorointityökaluun Alt-F2-ikkunan "
|
||||
"kautta."
|
||||
|
||||
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"
|
||||
|
||||
msgid "File extension used for storing the screencast"
|
||||
msgstr "Tiedostopääte ruutunauhoitusten tallentamiseen"
|
||||
|
||||
msgid "Framerate used for recording screencasts."
|
||||
msgstr "Ruutunauhoitusten kuvataajuus."
|
||||
|
||||
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 ""
|
||||
"GNOMEn ikkunanhallinan laajennuksilla on uuid-tunnisteominaisuus, ja tämä "
|
||||
"avain luettelee laajennukset, jotka ladataan. ”disabled-extensions” (pois "
|
||||
"kytketyt laajennukset) ylittää tämän asetuksen mikäli laajennus esiintyy "
|
||||
"molemmissa luetteloissa."
|
||||
|
||||
msgid "History for command (Alt-F2) dialog"
|
||||
msgstr "Historia komentoikkunalle (Alt-F2)"
|
||||
|
||||
msgid "History for the looking glass dialog"
|
||||
msgstr "Historia näyttölasi-ikkunalle"
|
||||
|
||||
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."
|
||||
|
||||
msgid "If true, display seconds in time."
|
||||
msgstr "Jos tosi, näytä sekunnit ajassa."
|
||||
|
||||
msgid "If true, display the ISO week date in the calendar."
|
||||
msgstr "Jos tosi, näytä ISO-viikonpäivät kalenterissa."
|
||||
|
||||
msgid "List of desktop file IDs for favorite applications"
|
||||
msgstr "Luettelo työpöytätiedostojen tunnisteista lempisovelluksille"
|
||||
|
||||
#, 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 ""
|
||||
"Asettaa GStreamer-liukuhihnan, jota käytetään nauhoitusten pakkaamiseen. "
|
||||
"Asetus noudattaa gst-launch-komennon syntaksia. Liukuhihnalla tulee olla "
|
||||
"yhdistämätön viemärialusta, jonne nauhoitettu video syötetään. Normaalisti "
|
||||
"sillä on yhdistämätön lähde, jonka tuloste kirjoitetaan tulostetiedostoon. "
|
||||
"Liukuhihna voi kuitenkin huolehtia itse tulosteesta - tätä voidaan käyttää "
|
||||
"vaikkapa lähettämään tuloste Icecast-palvelimelle shout2send- tai "
|
||||
"vastaavalla komponentilla. Jos tätä ei aseteta tai arvona on tyhjää, "
|
||||
"käytetään oletusliukuhihnaa. Oletusliukuhihna on tällä hetkellä ”videorate ! "
|
||||
"vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux” ja nauhoittaa WEBM-"
|
||||
"muotoon VP8-koodekilla. %T korvautuu arvauksella parhaan suorituskyvy "
|
||||
"antavasta säiemäärästä järjestelmässä."
|
||||
|
||||
msgid "Show date in clock"
|
||||
msgstr "Näytä päivämäärä kellossa"
|
||||
|
||||
msgid "Show the week date in the calendar"
|
||||
msgstr "Näytä viikonpäivä kalenterissa"
|
||||
|
||||
msgid "Show time with seconds"
|
||||
msgstr "Näytä aika sekuntien kera"
|
||||
|
||||
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."
|
||||
|
||||
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 ""
|
||||
"Nauhoitetuille ruutunauhoituksille valitaan yksikäsitteinen tiedostonimi "
|
||||
"nykyisen päivämäärän ja tämän tiedostopäätteen mukaisesti. Tiedostopääte "
|
||||
"tulisi vaihtaa mikäli nauhoitetaan eri tallennusmuotoon."
|
||||
|
||||
msgid ""
|
||||
"The framerate of the resulting screencast recordered by GNOME Shell's "
|
||||
"screencast recorder in frames-per-second."
|
||||
msgstr ""
|
||||
"Nauhoituksesta tuloksena saatavan ruutunauhoituksen kuvataajuus kun käytössä "
|
||||
"on GNOMEn ikkunanhallinnan nauhoitin, kuvaa per sekunti."
|
||||
|
||||
msgid "The gstreamer pipeline used to encode the screencast"
|
||||
msgstr "Gstreamer-liukuhihna jolla ruutunauhoitukset pakataan"
|
||||
|
||||
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 ""
|
||||
"Ikkunanhallinta seuraa normaalisti aktiivisia sovelluksia, jotta eniten "
|
||||
"käytetyt voidaan esittää (esim. käynnistimissä). Vaikka nämä tiedot pysyvät "
|
||||
"yksityisinä, voit silti haluta ottaa ominaisuuden pois käytöstä "
|
||||
"yksityisyyden vuoksi. Huomaa että pois kytkeminen ei poista aiemmin "
|
||||
"tallennettuja tietoja."
|
||||
|
||||
msgid "The type of keyboard to use."
|
||||
msgstr "Käytettävän näppäimistön tyyppi."
|
||||
|
||||
msgid "Uuids of extensions to enable"
|
||||
msgstr "Käyttöön otettavien laajennosten UUID:t"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:604
|
||||
msgid "Session..."
|
||||
msgstr "Istunto..."
|
||||
msgid "Whether to collect stats about applications usage"
|
||||
msgstr "Kerätäänkö sovellusten käytöstä tilastoja"
|
||||
|
||||
msgid "Which keyboard to use"
|
||||
msgstr "Mitä näppäimistöä käytetään"
|
||||
|
||||
msgid "disabled OpenSearch providers"
|
||||
msgstr "käytöstä poistetut OpenSearch-tarjoajat"
|
||||
|
||||
msgid "Session..."
|
||||
msgstr "Istunto…"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:761
|
||||
msgctxt "title"
|
||||
msgid "Sign In"
|
||||
msgstr "Kirjaudu sisään"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:818
|
||||
#. translators: this message is shown below the password entry field
|
||||
#. to indicate the user can swipe their finger instead
|
||||
msgid "(or swipe finger)"
|
||||
msgstr "(tai pyyhkäise sormella)"
|
||||
|
||||
msgid "Not listed?"
|
||||
msgstr "Ei luettelossa?"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:928 ../js/ui/endSessionDialog.js:426
|
||||
#: ../js/ui/extensionSystem.js:477 ../js/ui/networkAgent.js:158
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:170 ../js/ui/status/bluetooth.js:480
|
||||
msgid "Cancel"
|
||||
msgstr "Peru"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:933
|
||||
msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "Kirjaudu sisään"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1253
|
||||
msgid "Login Window"
|
||||
msgstr "Kirjautumisikkuna"
|
||||
|
||||
msgid "Suspend"
|
||||
msgstr "Valmiustila"
|
||||
|
||||
msgid "Restart"
|
||||
msgstr "Käynnistä uudelleen"
|
||||
|
||||
msgid "Power Off"
|
||||
msgstr "Sammuta"
|
||||
|
||||
#: ../js/misc/util.js:92
|
||||
msgid "Command not found"
|
||||
msgstr "Komentoa ei löydy"
|
||||
@ -123,12 +254,13 @@ msgstr "%s on lisätty suosikkeihin."
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "%s on poistettu suosikeista."
|
||||
|
||||
#: ../js/ui/autorunManager.js:592
|
||||
msgid "Removable Devices"
|
||||
msgstr "Irroitettavat laitteet"
|
||||
|
||||
#, c-format
|
||||
msgid "Open with %s"
|
||||
msgstr "Avaa käyttäen %s"
|
||||
|
||||
#: ../js/ui/autorunManager.js:618
|
||||
msgid "Eject"
|
||||
msgstr "Poista asemasta"
|
||||
|
||||
@ -285,15 +417,12 @@ msgstr "Ensi viikolla"
|
||||
msgid "Unknown"
|
||||
msgstr "Tuntematon"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:80 ../js/ui/userMenu.js:147
|
||||
msgid "Available"
|
||||
msgstr "Tavoitettavissa"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:85 ../js/ui/userMenu.js:156
|
||||
msgid "Away"
|
||||
msgstr "Poissa"
|
||||
|
||||
#: ../js/ui/contactDisplay.js:89 ../js/ui/userMenu.js:150
|
||||
msgid "Busy"
|
||||
msgstr "Kiireinen"
|
||||
|
||||
@ -305,7 +434,6 @@ msgstr "Ei linjoilla"
|
||||
msgid "CONTACTS"
|
||||
msgstr "YHTEYSTIEDOT"
|
||||
|
||||
#: ../js/ui/dash.js:172 ../js/ui/messageTray.js:1196
|
||||
msgid "Remove"
|
||||
msgstr "Poista"
|
||||
|
||||
@ -380,7 +508,7 @@ msgstr "VIIMEISIMMÄT"
|
||||
#: ../js/ui/endSessionDialog.js:60
|
||||
#, c-format
|
||||
msgid "Log Out %s"
|
||||
msgstr "Kirjaudu ulos (%s)..."
|
||||
msgstr "Kirjaa %s ulos"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:61 ../js/ui/endSessionDialog.js:75
|
||||
msgid "Log Out"
|
||||
@ -410,10 +538,6 @@ msgstr[1] "Sinut kirjataan ulos automaattisesti %d sekunnin kuluttua."
|
||||
msgid "Logging out of the system."
|
||||
msgstr "Kirjaudutaan ulos järjestelmästä."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:80 ../js/ui/endSessionDialog.js:91
|
||||
msgid "Power Off"
|
||||
msgstr "Sammuta"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:81
|
||||
msgid "Click Power Off to quit these applications and power off the system."
|
||||
msgstr ""
|
||||
@ -431,11 +555,6 @@ msgstr[1] "Järjestelmä sammuu automaattisesti %d sekunnin kuluttua."
|
||||
msgid "Powering off the system."
|
||||
msgstr "Sammutetaan järjestelmää"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:89 ../js/ui/endSessionDialog.js:97
|
||||
#: ../js/ui/endSessionDialog.js:106
|
||||
msgid "Restart"
|
||||
msgstr "Käynnistä uudelleen"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:98
|
||||
msgid "Click Restart to quit these applications and restart the system."
|
||||
msgstr ""
|
||||
@ -446,8 +565,10 @@ msgstr ""
|
||||
#, c-format
|
||||
msgid "The system will restart automatically in %d second."
|
||||
msgid_plural "The system will restart automatically in %d seconds."
|
||||
msgstr[0] "Järjestelmä käynnistyy automaattisesti uudelleen %d sekunnin kuluttua."
|
||||
msgstr[1] "Järjestelmä käynnistyy automaattisesti uudelleen %d sekunnin kuluttua."
|
||||
msgstr[0] ""
|
||||
"Järjestelmä käynnistyy automaattisesti uudelleen %d sekunnin kuluttua."
|
||||
msgstr[1] ""
|
||||
"Järjestelmä käynnistyy automaattisesti uudelleen %d sekunnin kuluttua."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:104
|
||||
msgid "Restarting the system."
|
||||
@ -462,7 +583,6 @@ msgstr "Asenna"
|
||||
msgid "Download and install '%s' from extensions.gnome.org?"
|
||||
msgstr "Lataa ja asenna ”%s” sivustolta extensions.gnome.org?"
|
||||
|
||||
#: ../js/ui/keyboard.js:513 ../js/ui/status/power.js:211
|
||||
msgid "Keyboard"
|
||||
msgstr "Näppäimistö"
|
||||
|
||||
@ -500,93 +620,71 @@ msgstr "Näytä lähde"
|
||||
msgid "Web Page"
|
||||
msgstr "WWW-sivu"
|
||||
|
||||
#: ../js/ui/messageTray.js:1189
|
||||
msgid "Open"
|
||||
msgstr "Avaa"
|
||||
|
||||
#: ../js/ui/messageTray.js:2368
|
||||
msgid "System Information"
|
||||
msgstr "Järjestelmän tiedot"
|
||||
|
||||
#: ../js/ui/networkAgent.js:138
|
||||
msgid "Show password"
|
||||
msgstr "Näytä salasana"
|
||||
|
||||
#: ../js/ui/networkAgent.js:153
|
||||
msgid "Connect"
|
||||
msgstr "Yhdistä"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: ../js/ui/networkAgent.js:248 ../js/ui/networkAgent.js:260
|
||||
#: ../js/ui/networkAgent.js:287 ../js/ui/networkAgent.js:307
|
||||
#: ../js/ui/networkAgent.js:317
|
||||
msgid "Password: "
|
||||
msgstr "Salasana: "
|
||||
|
||||
#. static WEP
|
||||
#: ../js/ui/networkAgent.js:253
|
||||
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:285 ../js/ui/networkAgent.js:303
|
||||
msgid "Username: "
|
||||
msgstr "Käyttäjänimi: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:291
|
||||
msgid "Identity: "
|
||||
msgstr "Henkilöllisyys: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:293
|
||||
msgid "Private key password: "
|
||||
msgstr "Salaisen avaimen salasana: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:305
|
||||
msgid "Service: "
|
||||
msgstr "Palvelu: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:334
|
||||
msgid "Authentication required by wireless network"
|
||||
msgstr "Langaton verkko vaatii tunnistautumisen"
|
||||
|
||||
#: ../js/ui/networkAgent.js:335
|
||||
#, 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:339
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "Kiinteän 802.1X-yhteyden tunnistautuminen"
|
||||
|
||||
#: ../js/ui/networkAgent.js:341
|
||||
msgid "Network name: "
|
||||
msgstr "Verkon nimi: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:346
|
||||
msgid "DSL authentication"
|
||||
msgstr "DSL-tunnistautuminen"
|
||||
|
||||
#: ../js/ui/networkAgent.js:353
|
||||
msgid "PIN code required"
|
||||
msgstr "PIN-koodi vaaditaan"
|
||||
|
||||
#: ../js/ui/networkAgent.js:354
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "Mobiililaajakaista vaatii PIN-koodin"
|
||||
|
||||
#: ../js/ui/networkAgent.js:355
|
||||
msgid "PIN: "
|
||||
msgstr "PIN: "
|
||||
|
||||
#: ../js/ui/networkAgent.js:361
|
||||
msgid "Mobile broadband network password"
|
||||
msgstr "Mobiililaajakaistan verkkosalasana"
|
||||
|
||||
#: ../js/ui/networkAgent.js:362
|
||||
#, c-format
|
||||
msgid "A password is required to connect to '%s'."
|
||||
msgstr "Salasana vaaditaan kohteeseen %s yhdistämiseksi."
|
||||
@ -610,18 +708,15 @@ msgid "Dash"
|
||||
msgstr "Pikavalikko"
|
||||
|
||||
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
||||
#: ../js/ui/panel.js:538
|
||||
#, 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:574
|
||||
msgid "Activities"
|
||||
msgstr "Toiminnot"
|
||||
|
||||
#: ../js/ui/panel.js:966
|
||||
msgid "Top Bar"
|
||||
msgstr "Yläpalkki"
|
||||
|
||||
@ -636,7 +731,7 @@ msgstr "Yritä uudelleen"
|
||||
|
||||
#: ../js/ui/placeDisplay.js:163
|
||||
msgid "Connect to..."
|
||||
msgstr "Yhdistä..."
|
||||
msgstr "Yhdistä…"
|
||||
|
||||
#: ../js/ui/placeDisplay.js:375
|
||||
msgid "PLACES & DEVICES"
|
||||
@ -650,7 +745,6 @@ msgstr "Tunnistautuminen vaaditaan"
|
||||
msgid "Administrator"
|
||||
msgstr "Ylläpitäjä"
|
||||
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:174
|
||||
msgid "Authenticate"
|
||||
msgstr "Tunnistaudu"
|
||||
|
||||
@ -658,11 +752,9 @@ msgstr "Tunnistaudu"
|
||||
#. * requested authentication was not gained; this can happen
|
||||
#. * because of an authentication error (like invalid password),
|
||||
#. * for instance.
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:262
|
||||
msgid "Sorry, that didn't work. Please try again."
|
||||
msgstr "Tunnistautuminen epäonnistui. Yritä uudelleen."
|
||||
|
||||
#: ../js/ui/polkitAuthenticationAgent.js:274
|
||||
msgid "Password:"
|
||||
msgstr "Salasana:"
|
||||
|
||||
@ -671,7 +763,6 @@ 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:687
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-intl"
|
||||
|
||||
@ -681,7 +772,7 @@ msgstr "Syötä komento:"
|
||||
|
||||
#: ../js/ui/searchDisplay.js:340
|
||||
msgid "Searching..."
|
||||
msgstr "Haetaan..."
|
||||
msgstr "Haetaan…"
|
||||
|
||||
#: ../js/ui/searchDisplay.js:363
|
||||
msgid "No matching results."
|
||||
@ -698,9 +789,9 @@ msgstr "Lähennys"
|
||||
#. let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA,
|
||||
#. 'screen-reader-enabled');
|
||||
#. this.menu.addMenuItem(screenReader);
|
||||
#. let screenKeyboard = this._buildItem(_("Screen Keyboard"), APPLICATIONS_SCHEMA,
|
||||
#. 'screen-keyboard-enabled');
|
||||
#. this.menu.addMenuItem(screenKeyboard);
|
||||
msgid "Screen Keyboard"
|
||||
msgstr "Näyttönäppäimistö"
|
||||
|
||||
#: ../js/ui/status/accessibility.js:75
|
||||
msgid "Visual Alerts"
|
||||
msgstr "Visuaaliset hälytykset"
|
||||
@ -745,11 +836,11 @@ msgstr "Näkyvyys"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:66
|
||||
msgid "Send Files to Device..."
|
||||
msgstr "Lähetä tiedostoja laitteelle..."
|
||||
msgstr "Lähetä tiedostoja laitteelle…"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:67
|
||||
msgid "Set up a New Device..."
|
||||
msgstr "Asenna uusi laite..."
|
||||
msgstr "Asenna uusi laite…"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:91
|
||||
msgid "Bluetooth Settings"
|
||||
@ -766,19 +857,19 @@ msgstr "Yhteys"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:217 ../js/ui/status/network.js:486
|
||||
msgid "disconnecting..."
|
||||
msgstr "katkaistaan yhteyttä..."
|
||||
msgstr "katkaistaan yhteyttä…"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:230 ../js/ui/status/network.js:492
|
||||
msgid "connecting..."
|
||||
msgstr "yhdistetään..."
|
||||
msgstr "yhdistetään…"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:248
|
||||
msgid "Send Files..."
|
||||
msgstr "Lähetä tiedostoja..."
|
||||
msgstr "Lähetä tiedostoja…"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:253
|
||||
msgid "Browse Files..."
|
||||
msgstr "Selaa tiedostoja..."
|
||||
msgstr "Selaa tiedostoja…"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:262
|
||||
msgid "Error browsing device"
|
||||
@ -859,11 +950,9 @@ msgstr "Kirjoita laitteella mainittu PIN-koodi."
|
||||
msgid "OK"
|
||||
msgstr "OK"
|
||||
|
||||
#: ../js/ui/status/keyboard.js:72
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "Näytä näppäimistön asettelu"
|
||||
|
||||
#: ../js/ui/status/keyboard.js:77
|
||||
msgid "Region and Language Settings"
|
||||
msgstr "Kielen ja alueen asetukset"
|
||||
|
||||
@ -908,13 +997,11 @@ msgstr "ei käytettävissä"
|
||||
msgid "connection failed"
|
||||
msgstr "yhteys katkesi"
|
||||
|
||||
#: ../js/ui/status/network.js:575 ../js/ui/status/network.js:1515
|
||||
msgid "More..."
|
||||
msgstr "Lisää..."
|
||||
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:1455
|
||||
msgid "Connected (private)"
|
||||
msgstr "Yhdistetty (yksityinen)"
|
||||
|
||||
@ -931,7 +1018,6 @@ 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:1467
|
||||
#, c-format
|
||||
msgid "Auto %s"
|
||||
msgstr "Automaattinen: %s"
|
||||
@ -940,47 +1026,36 @@ msgstr "Automaattinen: %s"
|
||||
msgid "Auto bluetooth"
|
||||
msgstr "Automaattinen: Bluetooth"
|
||||
|
||||
#: ../js/ui/status/network.js:1469
|
||||
msgid "Auto wireless"
|
||||
msgstr "Automaattinen: langaton"
|
||||
|
||||
#: ../js/ui/status/network.js:1558
|
||||
msgid "Enable networking"
|
||||
msgstr "Ota verkko käyttöön"
|
||||
|
||||
#: ../js/ui/status/network.js:1570
|
||||
msgid "Wired"
|
||||
msgstr "Kiinteä"
|
||||
|
||||
#: ../js/ui/status/network.js:1581
|
||||
msgid "Wireless"
|
||||
msgstr "Langaton"
|
||||
|
||||
#: ../js/ui/status/network.js:1591
|
||||
msgid "Mobile broadband"
|
||||
msgstr "Mobiililaajakaista"
|
||||
|
||||
#: ../js/ui/status/network.js:1601
|
||||
msgid "VPN Connections"
|
||||
msgstr "VPN-yhteydet"
|
||||
|
||||
#: ../js/ui/status/network.js:1612
|
||||
msgid "Network Settings"
|
||||
msgstr "Verkkoasetukset"
|
||||
|
||||
#: ../js/ui/status/network.js:1749
|
||||
msgid "Connection failed"
|
||||
msgstr "Yhteys epäonnistui"
|
||||
|
||||
#: ../js/ui/status/network.js:1750
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Verkkoyhteyden aktivointi epäonnistui"
|
||||
|
||||
#: ../js/ui/status/network.js:2000
|
||||
msgid "Networking is disabled"
|
||||
msgstr "Verkko ei ole käytössä"
|
||||
|
||||
#: ../js/ui/status/network.js:2125
|
||||
msgid "Network Manager"
|
||||
msgstr "Verkon hallinta"
|
||||
|
||||
@ -992,7 +1067,7 @@ msgstr "Virranhallinta"
|
||||
#. to estimate battery life
|
||||
#: ../js/ui/status/power.js:103
|
||||
msgid "Estimating..."
|
||||
msgstr "Arvioidaan..."
|
||||
msgstr "Arvioidaan…"
|
||||
|
||||
#: ../js/ui/status/power.js:110
|
||||
#, c-format
|
||||
@ -1327,55 +1402,39 @@ msgstr "Muokkaa tiliä"
|
||||
msgid "Unknown reason"
|
||||
msgstr "Tuntematon syy"
|
||||
|
||||
#: ../js/ui/userMenu.js:153
|
||||
msgid "Hidden"
|
||||
msgstr "Piilotettu"
|
||||
|
||||
#: ../js/ui/userMenu.js:159
|
||||
msgid "Idle"
|
||||
msgstr "Jouten"
|
||||
|
||||
#: ../js/ui/userMenu.js:162
|
||||
msgid "Unavailable"
|
||||
msgstr "Ei tavoitettavissa"
|
||||
|
||||
#: ../js/ui/userMenu.js:518 ../js/ui/userMenu.js:522 ../js/ui/userMenu.js:592
|
||||
msgid "Power Off..."
|
||||
msgstr "Sammuta..."
|
||||
msgstr "Sammuta…"
|
||||
|
||||
#: ../js/ui/userMenu.js:520 ../js/ui/userMenu.js:522 ../js/ui/userMenu.js:591
|
||||
msgid "Suspend"
|
||||
msgstr "Valmiustila"
|
||||
|
||||
#: ../js/ui/userMenu.js:554
|
||||
msgid "Notifications"
|
||||
msgstr "Ilmoitukset"
|
||||
|
||||
#: ../js/ui/userMenu.js:562
|
||||
msgid "Online Accounts"
|
||||
msgstr "Verkkotilit"
|
||||
|
||||
#: ../js/ui/userMenu.js:566
|
||||
msgid "System Settings"
|
||||
msgstr "Järjestelmän asetukset"
|
||||
|
||||
#: ../js/ui/userMenu.js:573
|
||||
msgid "Lock Screen"
|
||||
msgstr "Lukitse näyttö"
|
||||
|
||||
#: ../js/ui/userMenu.js:578
|
||||
msgid "Switch User"
|
||||
msgstr "Vaihda käyttäjää"
|
||||
|
||||
#: ../js/ui/userMenu.js:583
|
||||
msgid "Log Out..."
|
||||
msgstr "Kirjaudu ulos..."
|
||||
msgstr "Kirjaudu ulos…"
|
||||
|
||||
#: ../js/ui/userMenu.js:611
|
||||
msgid "Your chat status will be set to busy"
|
||||
msgstr "Pikaviestitilaksi asetetaan ”kiireinen”"
|
||||
|
||||
#: ../js/ui/userMenu.js:612
|
||||
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."
|
||||
@ -1390,7 +1449,7 @@ msgstr ""
|
||||
#. characters.
|
||||
#: ../js/ui/viewSelector.js:120
|
||||
msgid "Type to search..."
|
||||
msgstr "Kirjoita hakeaksesi..."
|
||||
msgstr "Kirjoita hakeaksesi…"
|
||||
|
||||
#: ../js/ui/viewSelector.js:140 ../src/shell-util.c:261
|
||||
msgid "Search"
|
||||
@ -1508,21 +1567,12 @@ msgstr "%1$s: %2$s"
|
||||
#~ msgid "Drag here to add favorites"
|
||||
#~ msgstr "Raahaa tähän lisätäksesi suosikkeihin"
|
||||
|
||||
#~ msgid "Find..."
|
||||
#~ msgstr "Etsi..."
|
||||
|
||||
#~ msgid "Invisible"
|
||||
#~ msgstr "Näkymätön"
|
||||
|
||||
#~ msgid "Sidebar"
|
||||
#~ msgstr "Sivupalkki"
|
||||
|
||||
#~ msgid "System Preferences..."
|
||||
#~ msgstr "Järjestelmän asetukset"
|
||||
|
||||
#~ msgid "Shut Down..."
|
||||
#~ msgstr "Sammuta..."
|
||||
|
||||
#~ msgid "Recent Documents"
|
||||
#~ msgstr "Viimeisimmät asiakirjat"
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user