Compare commits

..

1 Commits

Author SHA1 Message Date
Jasper St. Pierre
d8009fd826 Fix most of the Cogl deprecation warnings 2013-09-11 15:26:44 -04:00
99 changed files with 13565 additions and 13816 deletions

5
.gitignore vendored
View File

@@ -19,8 +19,6 @@ configure
data/50-gnome-shell-*.xml
data/gnome-shell.desktop
data/gnome-shell.desktop.in
data/gnome-shell-wayland.desktop
data/gnome-shell-wayland.desktop.in
data/gnome-shell-extension-prefs.desktop
data/gnome-shell-extension-prefs.desktop.in
data/gschemas.compiled
@@ -73,14 +71,13 @@ src/calendar-server/evolution-calendar.desktop.in
src/calendar-server/org.gnome.Shell.CalendarServer.service
src/gnome-shell
src/gnome-shell-calendar-server
src/gnome-shell-extension-prefs
src/gnome-shell-extension-tool
src/gnome-shell-extension-prefs
src/gnome-shell-hotplug-sniffer
src/gnome-shell-jhbuild
src/gnome-shell-perf-helper
src/gnome-shell-perf-tool
src/gnome-shell-real
src/gnome-shell-wayland
src/hotplug-sniffer/org.gnome.Shell.HotplugSniffer.service
src/run-js-test
src/test-recorder

78
NEWS
View File

@@ -1,81 +1,3 @@
3.10.0.1
=========
* Fix login screen [Ray; #708691]
Contributors:
Ray Strode, Giovanni Campagna, Jasper St. Pierree
Translations:
Kjartan Maraas [nb], Marek Černocký [cs], A S Alam [pa], Daniel Mustieles [es],
Ihar Hrachyshka [be], Chao-Hsiung Liao [zh_HK], Nilamdyuti Goswami [as],
Yuri Myasoedov [ru], Baurzhan Muftakhidinov [kk]
3.10.0
======
* Fix fade effect in ScrollViews [Carlos; #708256]
* network: Resync when activating connection changes [Jasper; #708322]
* Close run dialog when the screen locks [Florian; #708218]
* Fix entry growing out of password dialogs [Florian; #708324, #703833]
* Vertically center labels in submenu items [Jasper; #708330]
* https://bugzilla.gnome.org/show_bug.cgi?id=708387 [Mike; #708387]
* Fix bluetooth icon not being added to status menu [Jasper; #708541]
* Fix GNOME 2 keyring dialogs appearing on lock screen [Florian; #708187]
* Fix passwords being cleared twice when authentication fails [Florian; #708186]
* Fix message tray appearing in a11y popup on login screen [Florian; #708380]
* Increase width of aggregate menu popup [Adel; #708472]
Contributors:
Adel Gadllah, Mike Gorse, Ryan Lortie, Florian Müllner, Frédéric Péters,
Carlos Soriano, Jasper St. Pierre, Rico Tzschichholz
Translations:
Daniel Șerbănescu [ro], Ryan Lortie [eo], Ihar Hrachyshka [be],
A S Alam [pa], Jiro Matsuzawa [ja], Chao-Hsiung Liao [zh_HK, zh_TW],
Piotr Drąg [pl], Kristjan SCHMIDT [eo], Daniel Korostil [uk],
Rūdolfs Mazurs [lv], Reinout van Schouwen [nl], Yosef Or Boczko [he],
Fran Diéguez [gl], António Lima [pt], Andika Triwidada [id],
Alexandre Franke [fr], Rafael Ferreira [pt_BR], Milo Casagrande [it],
Kenneth Nielsen [da], Matej Urbančič [sl]
3.9.92
======
* Don't show page indicators if there's only one page [Florian; #707363]
* Make :active style of app and non-app results consistent [Jakub; #704714]
* Fade app pages when scrolled [Florian; #707409]
* Don't block scrolling on page indicators [Carlos; #707609]
* Tweak visual appearance of folder views [Florian; #707662]
* Don't put minimized apps at the end of the app switcher [Florian; #707663]
* Merge the wayland branch [Giovanni, Neil; #707467]
* Make search entry behave better in RTL locales [Matthias, Florian; #705779]
* Allow to change app pages with pageUp/pageDown keys [Carlos; #707979]
* Set approriate a11y states on expandable menu items [Alejandro; #708038]
* Improve page indicator animation [Carlos; #707565]
* Misc bug fixes and cleanups [Florian, Olivier, Jasper, Giovanni, Magdalen,
Adel, Carlos, Rico, Joanmarie; #707308, #707430, #707508, #707557, #707600,
#707614, #707666, #707814, #707806, #707801, #707889, #707892, #707935,
#707842, #707940, #707996, #708007, #708009, #708020, #707580, #708080]
Contributors:
Magdalen Berns, Olivier Blin, Giovanni Campagna, Matthias Clasen,
Joanmarie Diggs, Adel Gadllah, Florian Müllner, Alejandro Piñeiro,
Neil Roberts, Carlos Soriano, Jasper St. Pierre, Jakub Steiner,
Rico Tzschichholz
Translations:
Rafael Ferreira [pt_BR], Fran Diéguez [gl], Daniel Mustieles [es],
Aurimas Černius [lt], Luca Ferretti [it], Piotr Drąg [pl],
Chao-Hsiung Liao [zh_HK, zh_TW], Timo Jyrinki [fi], Daniel Korostil [uk],
Dušan Kazik [sk], Adam Matoušek [cs], Marek Černocký [cs],
Jiro Matsuzawa [ja], Yuri Myasoedov [ru], Tobias Endrigkeit [de],
Kjartan Maraas [nb], Victor Ibragimov [tg], Мирослав Николић [sr, sr@latin],
A S Alam [pa], Khaled Hosny [ar], Andika Triwidada [id],
Nilamdyuti Goswami [as], Ihar Hrachyshka [be], Rūdolfs Mazurs [lv],
Mattias Põldaru [et], Gabor Kelemen [hu], Bruce Cowan [en_GB],
Matej Urbančič [sl], Enrico Nicoletto [pt_BR], Benjamin Steinwender [de],
Changwoo Ryu [ko], Kris Thomsen [da], Alexandre Franke [fr],
Evgeny Bobkin [ru], Baurzhan Muftakhidinov [kk], Peter Mráz [sk],
Inaki Larranaga Murgoitio [eu], Yosef Or Boczko [he]
3.9.91
======
* Improve submenu styling [Jakub; #706037]

View File

@@ -1,5 +1,5 @@
AC_PREREQ(2.63)
AC_INIT([gnome-shell],[3.10.0.1],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
AC_INIT([gnome-shell],[3.9.91],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_SRCDIR([src/shell-global.c])
@@ -60,7 +60,7 @@ AM_CONDITIONAL(BUILD_RECORDER, $build_recorder)
CLUTTER_MIN_VERSION=1.13.4
GOBJECT_INTROSPECTION_MIN_VERSION=0.10.1
GJS_MIN_VERSION=1.35.4
MUTTER_MIN_VERSION=3.10.0
MUTTER_MIN_VERSION=3.9.91
GTK_MIN_VERSION=3.7.9
GIO_MIN_VERSION=2.37.0
LIBECAL_MIN_VERSION=3.5.3

View File

@@ -3,10 +3,6 @@ dist_wanda_DATA = wanda.png
desktopdir=$(datadir)/applications
desktop_DATA = gnome-shell.desktop gnome-shell-extension-prefs.desktop
if HAVE_MUTTER_WAYLAND
desktop_DATA += gnome-shell-wayland.desktop
endif HAVE_MUTTER_WAYLAND
# We substitute in bindir so it works as an autostart
# file when built in a non-system prefix
@@ -87,7 +83,6 @@ convert_DATA = gnome-shell-overrides.convert
EXTRA_DIST = \
gnome-shell.desktop.in.in \
gnome-shell-wayland.desktop.in.in \
gnome-shell-extension-prefs.desktop.in.in \
$(introspection_DATA) \
$(menu_DATA) \
@@ -97,7 +92,6 @@ EXTRA_DIST = \
CLEANFILES = \
gnome-shell.desktop.in \
gnome-shell-wayland.desktop.in \
gnome-shell-extension-prefs.in \
$(desktop_DATA) \
$(keys_DATA) \

View File

@@ -1,15 +0,0 @@
[Desktop Entry]
Type=Application
_Name=GNOME Shell (wayland compositor)
_Comment=Window management and application launching
Exec=@bindir@/mutter-launch -- gnome-shell-wayland --wayland
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=gnome-shell
X-GNOME-Bugzilla-Component=general
X-GNOME-Bugzilla-Version=@VERSION@
Categories=GNOME;GTK;Core;
OnlyShowIn=GNOME;
NoDisplay=true
X-GNOME-Autostart-Phase=DisplayServer
X-GNOME-Autostart-Notify=true
X-GNOME-AutoRestart=false

View File

@@ -216,10 +216,10 @@
<key name="focus-change-on-pointer-rest" type="b">
<default>true</default>
<_summary>Delay focus changes in mouse mode until the pointer stops moving</_summary>
<_description>
<summary>Delay focus changes in mouse mode until the pointer stops moving</summary>
<description>
This key overrides the key in org.gnome.mutter when running GNOME Shell.
</_description>
</description>
</key>
</schema>
</schemalist>

View File

@@ -642,7 +642,7 @@ StScrollBar StButton#vhandle:active {
}
.aggregate-menu {
width: 360px;
width: 340px;
}
.aggregate-menu .popup-menu-icon {
@@ -918,6 +918,7 @@ StScrollBar StButton#vhandle:active {
}
.app-display {
padding: 8px;
spacing: 20px;
}
@@ -941,7 +942,7 @@ StScrollBar StButton#vhandle:active {
}
.page-indicator {
padding: 15px 20px;
padding: 15px 30px;
}
.page-indicator .page-indicator-icon {

View File

@@ -244,7 +244,6 @@ const AuthPrompt = new Lang.Class({
},
_onVerificationFailed: function() {
this._queryingService = null;
this.clear();
this.updateSensitivity(true);

View File

@@ -72,10 +72,8 @@ function versionCompare(required, reference) {
reference = reference.split('.');
for (let i = 0; i < required.length; i++) {
let requiredInt = parseInt(required[i]);
let referenceInt = parseInt(reference[i]);
if (requiredInt != referenceInt)
return requiredInt < referenceInt;
if (required[i] != reference[i])
return required[i] < reference[i];
}
return true;

View File

@@ -2,7 +2,6 @@
const Clutter = imports.gi.Clutter;
const GLib = imports.gi.GLib;
const Lang = imports.lang;
const St = imports.gi.St;
const Main = imports.ui.main;
@@ -190,57 +189,28 @@ function insertSorted(array, val, cmp) {
return pos;
}
const CloseButton = new Lang.Class({
Name: 'CloseButton',
Extends: St.Button,
function makeCloseButton() {
let closeButton = new St.Button({ style_class: 'notification-close'});
_init: function(boxpointer) {
this.parent({ style_class: 'notification-close'});
// This is a bit tricky. St.Bin has its own x-align/y-align properties
// that compete with Clutter's properties. This should be fixed for
// Clutter 2.0. Since St.Bin doesn't define its own setters, the
// setters are a workaround to get Clutter's version.
closeButton.set_x_align(Clutter.ActorAlign.END);
closeButton.set_y_align(Clutter.ActorAlign.START);
// This is a bit tricky. St.Bin has its own x-align/y-align properties
// that compete with Clutter's properties. This should be fixed for
// Clutter 2.0. Since St.Bin doesn't define its own setters, the
// setters are a workaround to get Clutter's version.
this.set_x_align(Clutter.ActorAlign.END);
this.set_y_align(Clutter.ActorAlign.START);
// XXX Clutter 2.0 workaround: ClutterBinLayout needs expand
// to respect the alignments.
closeButton.set_x_expand(true);
closeButton.set_y_expand(true);
// XXX Clutter 2.0 workaround: ClutterBinLayout needs expand
// to respect the alignments.
this.set_x_expand(true);
this.set_y_expand(true);
closeButton.connect('style-changed', function() {
let themeNode = closeButton.get_theme_node();
closeButton.translation_x = themeNode.get_length('-shell-close-overlap-x');
closeButton.translation_y = themeNode.get_length('-shell-close-overlap-y');
});
this._boxPointer = boxpointer;
if (boxpointer)
this._boxPointer.connect('arrow-side-changed', Lang.bind(this, this._sync));
},
_computeBoxPointerOffset: function() {
if (!this._boxPointer || !this._boxPointer.actor.get_stage())
return 0;
let side = this._boxPointer.arrowSide;
if (side == St.Side.TOP)
return this._boxPointer.getArrowHeight();
else
return 0;
},
_sync: function() {
let themeNode = this.get_theme_node();
let offY = this._computeBoxPointerOffset();
this.translation_x = themeNode.get_length('-shell-close-overlap-x')
this.translation_y = themeNode.get_length('-shell-close-overlap-y') + offY;
},
vfunc_style_changed: function() {
this._sync();
this.parent();
},
});
function makeCloseButton(boxpointer) {
return new CloseButton(boxpointer);
return closeButton;
}
function ensureActorVisibleInScrollView(scrollView, actor) {

View File

@@ -39,9 +39,12 @@ const FOLDER_SUBICON_FRACTION = .4;
const MIN_FREQUENT_APPS_COUNT = 3;
const INDICATORS_BASE_TIME = 0.25;
const INDICATORS_ANIMATION_DELAY = 0.125;
const INDICATORS_ANIMATION_MAX_TIME = 0.75;
const INDICATORS_ANIMATION_TIME = 0.5;
// 100% means indicators wait for be animated until the previous one
// is animated completely. 0% means all animators are animated
// at once without delay
const INDICATORS_ANIMATION_DELAY_PERCENTAGE = 50;
// Fraction of page height the finger or mouse must reach
// to change page
const PAGE_SWITCH_TRESHOLD = 0.2;
@@ -227,23 +230,24 @@ const PageIndicators = new Lang.Class({
if (children.length == 0)
return;
let offset;
if (this.actor.get_text_direction() == Clutter.TextDirection.RTL)
offset = -children[0].width;
else
offset = children[0].width;
let timePerChild = INDICATORS_ANIMATION_TIME / this._nPages;
let delay = INDICATORS_ANIMATION_DELAY_PERCENTAGE / 100 * timePerChild;
let delay = INDICATORS_ANIMATION_DELAY;
let totalAnimationTime = INDICATORS_BASE_TIME + INDICATORS_ANIMATION_DELAY * this._nPages;
if (totalAnimationTime > INDICATORS_ANIMATION_MAX_TIME)
delay -= (totalAnimationTime - INDICATORS_ANIMATION_MAX_TIME) / this._nPages;
let [stageX, ] = children[0].get_transformed_position();
let offset;
let monitor = Main.layoutManager.primaryMonitor;
if (Clutter.get_default_text_direction() == Clutter.TextDirection.RTL)
offset = monitor.x - stageX - children[0].width;
else
offset = monitor.x + monitor.width - stageX;
for (let i = 0; i < this._nPages; i++) {
children[i].translation_x = offset;
Tweener.addTween(children[i],
{ translation_x: 0,
time: INDICATORS_BASE_TIME + delay * i,
transition: 'easeInOutQuad'
time: timePerChild,
delay: delay * i,
transition: 'easeOutQuad'
});
}
}
@@ -333,19 +337,6 @@ const AllView = new Lang.Class({
function() {
this._displayingPopup = false;
}));
this.actor.connect('notify::mapped', Lang.bind(this,
function() {
if (this.actor.mapped) {
this._keyPressEventId =
global.stage.connect('key-press-event',
Lang.bind(this, this._onKeyPressEvent));
} else {
if (this._keyPressEventId)
global.stage.disconnect(this._keyPressEventId);
this._keyPressEventId = 0;
}
}));
},
getCurrentPageY: function() {
@@ -353,8 +344,6 @@ const AllView = new Lang.Class({
},
goToPage: function(pageNumber) {
if(pageNumber < 0 || pageNumber > this._grid.nPages() - 1)
return;
if (this._currentPage == pageNumber && this._displayingPopup && this._currentPopup)
return;
if (this._displayingPopup && this._currentPopup)
@@ -416,13 +405,16 @@ const AllView = new Lang.Class({
_onScroll: function(actor, event) {
if (this._displayingPopup)
return true;
let direction = event.get_scroll_direction();
if (direction == Clutter.ScrollDirection.UP)
this.goToPage(this._currentPage - 1);
else if (direction == Clutter.ScrollDirection.DOWN)
this.goToPage(this._currentPage + 1);
if (direction == Clutter.ScrollDirection.UP) {
if (this._currentPage > 0)
this.goToPage(this._currentPage - 1);
} else {
if (direction == Clutter.ScrollDirection.DOWN) {
if (this._currentPage < (this._grid.nPages() - 1))
this.goToPage(this._currentPage + 1);
}
}
return true;
},
@@ -442,9 +434,9 @@ const AllView = new Lang.Class({
return;
let diffCurrentPage = this._diffToPage(this._currentPage);
if (diffCurrentPage > this._scrollView.height * PAGE_SWITCH_TRESHOLD) {
if (action.get_velocity(0)[2] > 0)
if (action.get_velocity(0)[2] > 0 && this._currentPage > 0)
this.goToPage(this._currentPage - 1);
else
else if (this._currentPage < this._grid.nPages() - 1)
this.goToPage(this._currentPage + 1);
} else {
this.goToPage(this._currentPage);
@@ -452,21 +444,6 @@ const AllView = new Lang.Class({
this._panning = false;
},
_onKeyPressEvent: function(actor, event) {
if (this._displayingPopup)
return true;
if (event.get_key_symbol() == Clutter.Page_Up) {
this.goToPage(this._currentPage - 1);
return true;
} else if (event.get_key_symbol() == Clutter.Page_Down) {
this.goToPage(this._currentPage + 1);
return true;
}
return false;
},
_getItemId: function(item) {
if (item instanceof Shell.App)
return item.get_id();
@@ -1180,7 +1157,7 @@ const AppFolderPopup = new Lang.Class({
this.actor.add_actor(this._boxPointer.actor);
this._boxPointer.bin.set_child(this._view.actor);
this.closeButton = Util.makeCloseButton(this._boxPointer);
this.closeButton = Util.makeCloseButton();
this.closeButton.connect('clicked', Lang.bind(this, this.popdown));
this.actor.add_actor(this.closeButton);

View File

@@ -3,9 +3,8 @@
const Clutter = imports.gi.Clutter;
const Lang = imports.lang;
const Meta = imports.gi.Meta;
const Shell = imports.gi.Shell;
const Signals = imports.signals;
const St = imports.gi.St;
const Shell = imports.gi.Shell;
const Main = imports.ui.main;
const Tweener = imports.ui.tweener;
@@ -62,10 +61,6 @@ const BoxPointer = new Lang.Class({
this._muteInput();
},
get arrowSide() {
return this._arrowSide;
},
_muteInput: function() {
if (this._capturedEventId == 0)
this._capturedEventId = this.actor.connect('captured-event',
@@ -617,8 +612,6 @@ const BoxPointer = new Lang.Class({
this._container.queue_relayout();
return false;
}));
this.emit('arrow-side-changed');
}
},
@@ -651,8 +644,6 @@ const BoxPointer = new Lang.Class({
updateArrowSide: function(side) {
this._arrowSide = side;
this._border.queue_repaint();
this.emit('arrow-side-changed');
},
getPadding: function(side) {
@@ -663,4 +654,3 @@ const BoxPointer = new Lang.Class({
return this.actor.get_theme_node().get_length('-arrow-rise');
}
});
Signals.addSignalMethods(BoxPointer.prototype);

View File

@@ -80,26 +80,23 @@ const KeyringDialog = new Lang.Class({
},
_buildControlTable: function() {
let layout = new Clutter.TableLayout();
let table = new St.Widget({ style_class: 'keyring-dialog-control-table',
layout_manager: layout });
layout.hookup_style(table);
let table = new St.Table({ style_class: 'keyring-dialog-control-table' });
let row = 0;
if (this.prompt.password_visible) {
let label = new St.Label({ style_class: 'prompt-dialog-password-label' });
let label = new St.Label(({ style_class: 'prompt-dialog-password-label' }));
label.set_text(_("Password:"));
label.clutter_text.ellipsize = Pango.EllipsizeMode.NONE;
layout.pack(label, 0, row);
layout.child_set(label, { x_expand: false, y_fill: false,
x_align: Clutter.TableAlignment.START });
table.add(label, { row: row, col: 0,
x_expand: false, x_fill: true,
x_align: St.Align.START,
y_fill: false, y_align: St.Align.MIDDLE });
this._passwordEntry = new St.Entry({ style_class: 'prompt-dialog-password-entry',
text: '',
can_focus: true });
can_focus: true});
this._passwordEntry.clutter_text.set_password_char('\u25cf'); // ● U+25CF BLACK CIRCLE
ShellEntry.addContextMenu(this._passwordEntry, { isPassword: true });
this._passwordEntry.clutter_text.connect('activate', Lang.bind(this, this._onPasswordActivate));
layout.pack(this._passwordEntry, 1, row);
table.add(this._passwordEntry, { row: row, col: 1, x_expand: true, x_fill: true, x_align: St.Align.START });
row++;
} else {
this._passwordEntry = null;
@@ -108,16 +105,17 @@ const KeyringDialog = new Lang.Class({
if (this.prompt.confirm_visible) {
var label = new St.Label(({ style_class: 'prompt-dialog-password-label' }));
label.set_text(_("Type again:"));
layout.pack(label, 0, row);
layout.child_set(label, { x_expand: false, y_fill: false,
x_align: Clutter.TableAlignment.START });
table.add(label, { row: row, col: 0,
x_expand: false, x_fill: true,
x_align: St.Align.START,
y_fill: false, y_align: St.Align.MIDDLE });
this._confirmEntry = new St.Entry({ style_class: 'prompt-dialog-password-entry',
text: '',
can_focus: true });
can_focus: true});
this._confirmEntry.clutter_text.set_password_char('\u25cf'); // ● U+25CF BLACK CIRCLE
ShellEntry.addContextMenu(this._confirmEntry, { isPassword: true });
this._confirmEntry.clutter_text.connect('activate', Lang.bind(this, this._onConfirmActivate));
layout.pack(this._confirmEntry, 1, row);
table.add(this._confirmEntry, { row: row, col: 1, x_expand: true, x_fill: true, x_align: St.Align.START });
row++;
} else {
this._confirmEntry = null;
@@ -130,14 +128,14 @@ const KeyringDialog = new Lang.Class({
let choice = new CheckBox.CheckBox();
this.prompt.bind_property('choice-label', choice.getLabelActor(), 'text', GObject.BindingFlags.SYNC_CREATE);
this.prompt.bind_property('choice-chosen', choice.actor, 'checked', GObject.BindingFlags.SYNC_CREATE | GObject.BindingFlags.BIDIRECTIONAL);
layout.pack(choice.actor, 1, row);
table.add(choice.actor, { row: row, col: 1, x_expand: false, x_fill: true, x_align: St.Align.START });
row++;
}
let warning = new St.Label({ style_class: 'prompt-dialog-error-label' });
warning.clutter_text.ellipsize = Pango.EllipsizeMode.NONE;
warning.clutter_text.line_wrap = true;
layout.pack(warning, 1, row);
table.add(warning, { row: row, col: 1, x_expand: false, x_fill: false, x_align: St.Align.START });
this.prompt.bind_property('warning-visible', warning, 'visible', GObject.BindingFlags.SYNC_CREATE);
this.prompt.bind_property('warning', warning, 'text', GObject.BindingFlags.SYNC_CREATE);
@@ -223,50 +221,27 @@ const KeyringDialog = new Lang.Class({
},
});
const KeyringDummyDialog = new Lang.Class({
Name: 'KeyringDummyDialog',
_init: function() {
this.prompt = new Shell.KeyringPrompt();
this.prompt.connect('show-password',
Lang.bind(this, this._cancelPrompt));
this.prompt.connect('show-confirm', Lang.bind(this,
this._cancelPrompt));
},
_cancelPrompt: function() {
this.prompt.cancel();
}
});
const KeyringPrompter = new Lang.Class({
Name: 'KeyringPrompter',
_init: function() {
this._prompter = new Gcr.SystemPrompter();
this._prompter.connect('new-prompt', Lang.bind(this,
function() {
let dialog = this._enabled ? new KeyringDialog()
: new KeyringDummyDialog();
return dialog.prompt;
}));
this._prompter.connect('new-prompt', function(prompter) {
let dialog = new KeyringDialog();
return dialog.prompt;
});
this._dbusId = null;
this._registered = false;
this._enabled = false;
},
enable: function() {
if (!this._registered) {
this._prompter.register(Gio.DBus.session);
this._dbusId = Gio.DBus.session.own_name('org.gnome.keyring.SystemPrompter',
Gio.BusNameOwnerFlags.ALLOW_REPLACEMENT, null, null);
this._registered = true;
}
this._enabled = true;
this._prompter.register(Gio.DBus.session);
this._dbusId = Gio.DBus.session.own_name('org.gnome.keyring.SystemPrompter',
Gio.BusNameOwnerFlags.ALLOW_REPLACEMENT, null, null);
},
disable: function() {
this._enabled = false;
this._prompter.unregister(false);
Gio.DBus.session.unown_name(this._dbusId);
}
});

View File

@@ -72,18 +72,13 @@ const NetworkSecretDialog = new Lang.Class({
expand: true });
}
let layout = new Clutter.TableLayout();
let secretTable = new St.Widget({ style_class: 'network-dialog-secret-table',
layout_manager: layout });
layout.hookup_style(secretTable);
let secretTable = new St.Table({ style_class: 'network-dialog-secret-table' });
let initialFocusSet = false;
let pos = 0;
for (let i = 0; i < this._content.secrets.length; i++) {
let secret = this._content.secrets[i];
let label = new St.Label({ style_class: 'prompt-dialog-password-label',
text: secret.label });
label.clutter_text.ellipsize = Pango.EllipsizeMode.NONE;
let reactive = secret.key != null;
@@ -116,10 +111,11 @@ const NetworkSecretDialog = new Lang.Class({
} else
secret.valid = true;
layout.pack(label, 0, pos);
layout.child_set(label, { x_expand: false, y_fill: false,
x_align: Clutter.TableAlignment.START });
layout.pack(secret.entry, 1, pos);
secretTable.add(label, { row: pos, col: 0,
x_expand: false, x_fill: true,
x_align: St.Align.START,
y_fill: false, y_align: St.Align.MIDDLE });
secretTable.add(secret.entry, { row: pos, col: 1, x_expand: true, x_fill: true, y_align: St.Align.END });
pos++;
if (secret.password)

View File

@@ -5,7 +5,6 @@ const GLib = imports.gi.GLib;
const Gtk = imports.gi.Gtk;
const St = imports.gi.St;
const Lang = imports.lang;
const Meta = imports.gi.Meta;
const Shell = imports.gi.Shell;
const Signals = imports.signals;
const Tweener = imports.ui.tweener;
@@ -28,9 +27,9 @@ const DragMotionResult = {
};
const DRAG_CURSOR_MAP = {
0: Meta.Cursor.DND_UNSUPPORTED_TARGET,
1: Meta.Cursor.DND_COPY,
2: Meta.Cursor.DND_MOVE
0: Shell.Cursor.DND_UNSUPPORTED_TARGET,
1: Shell.Cursor.DND_COPY,
2: Shell.Cursor.DND_MOVE
};
const DragDropResult = {
@@ -86,6 +85,11 @@ const _Draggable = new Lang.Class({
this.actor.connect('destroy', Lang.bind(this, function() {
this._actorDestroyed = true;
// If the drag actor is destroyed and we were going to fix
// up its hover state, fix up the parent hover state instead
if (this.actor == this._firstLeaveActor)
this._firstLeaveActor = this._dragOrigParent;
if (this._dragInProgress && this._dragCancellable)
this._cancelDrag(global.get_current_time());
this.disconnectAll();
@@ -101,6 +105,12 @@ const _Draggable = new Lang.Class({
this._animationInProgress = false; // The drag is over and the item is in the process of animating to its original position (snapping back or reverting).
this._dragCancellable = true;
// During the drag, we eat enter/leave events so that actors don't prelight.
// But we remember the actors that we first left/last entered so we can
// fix up the hover state after the drag ends.
this._firstLeaveActor = null;
this._lastEnterActor = null;
this._eventsGrabbed = false;
},
@@ -186,6 +196,11 @@ const _Draggable = new Lang.Class({
this._cancelDrag(event.get_time());
return true;
}
} else if (event.type() == Clutter.EventType.LEAVE) {
if (this._firstLeaveActor == null)
this._firstLeaveActor = event.get_source();
} else if (event.type() == Clutter.EventType.ENTER) {
this._lastEnterActor = event.get_source();
}
return false;
@@ -229,7 +244,7 @@ const _Draggable = new Lang.Class({
if (this._onEventId)
this._ungrabActor();
this._grabEvents();
global.screen.set_cursor(Meta.Cursor.DND_IN_DRAG);
global.set_cursor(Shell.Cursor.DND_IN_DRAG);
this._dragX = this._dragStartX = stageX;
this._dragY = this._dragStartY = stageY;
@@ -359,7 +374,7 @@ const _Draggable = new Lang.Class({
if (motionFunc) {
let result = motionFunc(dragEvent);
if (result != DragMotionResult.CONTINUE) {
global.screen.set_cursor(DRAG_CURSOR_MAP[result]);
global.set_cursor(DRAG_CURSOR_MAP[result]);
return false;
}
}
@@ -377,13 +392,13 @@ const _Draggable = new Lang.Class({
targY,
0);
if (result != DragMotionResult.CONTINUE) {
global.screen.set_cursor(DRAG_CURSOR_MAP[result]);
global.set_cursor(DRAG_CURSOR_MAP[result]);
return false;
}
}
target = target.get_parent();
}
global.screen.set_cursor(Meta.Cursor.DND_IN_DRAG);
global.set_cursor(Shell.Cursor.DND_IN_DRAG);
return false;
},
@@ -455,7 +470,7 @@ const _Draggable = new Lang.Class({
}
this._dragInProgress = false;
global.screen.set_cursor(Meta.Cursor.DEFAULT);
global.unset_cursor();
this.emit('drag-end', event.get_time(), true);
this._dragComplete();
return true;
@@ -507,7 +522,7 @@ const _Draggable = new Lang.Class({
let [snapBackX, snapBackY, snapBackScale] = this._getRestoreLocation();
if (this._actorDestroyed) {
global.screen.set_cursor(Meta.Cursor.DEFAULT);
global.unset_cursor();
if (!this._buttonDown)
this._dragComplete();
this.emit('drag-end', eventTime, false);
@@ -561,7 +576,7 @@ const _Draggable = new Lang.Class({
} else {
dragActor.destroy();
}
global.screen.set_cursor(Meta.Cursor.DEFAULT);
global.unset_cursor();
this.emit('drag-end', eventTime, false);
this._animationInProgress = false;
@@ -569,12 +584,33 @@ const _Draggable = new Lang.Class({
this._dragComplete();
},
// Actor is an actor we have entered or left during the drag; call
// st_widget_sync_hover on all StWidget ancestors
_syncHover: function(actor) {
while (actor) {
let parent = actor.get_parent();
if (actor instanceof St.Widget)
actor.sync_hover();
actor = parent;
}
},
_dragComplete: function() {
if (!this._actorDestroyed)
Shell.util_set_hidden_from_pick(this._dragActor, false);
this._ungrabEvents();
global.sync_pointer();
if (this._firstLeaveActor) {
this._syncHover(this._firstLeaveActor);
this._firstLeaveActor = null;
}
if (this._lastEnterActor) {
this._syncHover(this._lastEnterActor);
this._lastEnterActor = null;
}
if (this._updateHoverId) {
GLib.source_remove(this._updateHoverId);

View File

@@ -33,7 +33,6 @@ const FocusCaretTracker = new Lang.Class({
_init: function() {
Atspi.init();
Atspi.set_timeout(250, 250);
this._atspiListener = Atspi.EventListener.new(Lang.bind(this, this._onChanged));
},

View File

@@ -1072,15 +1072,15 @@ const LookingGlass = new Lang.Class({
let myWidth = primary.width * 0.7;
let availableHeight = primary.height - Main.layoutManager.keyboardBox.height;
let myHeight = Math.min(primary.height * 0.7, availableHeight * 0.9);
this.actor.x = primary.x + (primary.width - myWidth) / 2;
this._hiddenY = primary.y + Main.layoutManager.panelBox.height - myHeight - 4; // -4 to hide the top corners
this.actor.x = (primary.width - myWidth) / 2;
this._hiddenY = Main.layoutManager.panelBox.height - myHeight - 4; // -4 to hide the top corners
this._targetY = this._hiddenY + myHeight;
this.actor.y = this._hiddenY;
this.actor.width = myWidth;
this.actor.height = myHeight;
this._objInspector.actor.set_size(Math.floor(myWidth * 0.8), Math.floor(myHeight * 0.8));
this._objInspector.actor.set_position(this.actor.x + Math.floor(myWidth * 0.1),
this._targetY + Math.floor(myHeight * 0.1));
this._objInspector.actor.set_position(primary.x + this.actor.x + Math.floor(myWidth * 0.1),
primary.y + this._targetY + Math.floor(myHeight * 0.1));
},
insertObject: function(obj) {

View File

@@ -57,20 +57,6 @@ const Magnifier = new Lang.Class({
// Magnifier is a manager of ZoomRegions.
this._zoomRegions = [];
// Export to dbus.
magDBusService = new MagnifierDBus.ShellMagnifier();
let showAtLaunch = this._settingsInit();
this.setActive(showAtLaunch);
},
_initialize: function() {
if (this._initialized)
return;
this._initialized = true;
this._settingsInitLate();
// Create small clutter tree for the magnified mouse.
let cursorTracker = Meta.CursorTracker.get_for_screen(global.screen);
this._mouseSprite = new Clutter.Texture();
@@ -86,11 +72,15 @@ const Magnifier = new Lang.Class({
let aZoomRegion = new ZoomRegion(this, this._cursorRoot);
this._zoomRegions.push(aZoomRegion);
this._settingsInitRegion(aZoomRegion);
let showAtLaunch = this._settingsInit(aZoomRegion);
aZoomRegion.scrollContentsTo(this.xMouse, this.yMouse);
cursorTracker.connect('cursor-changed', Lang.bind(this, this._updateMouseSprite));
this._cursorTracker = cursorTracker;
// Export to dbus.
magDBusService = new MagnifierDBus.ShellMagnifier();
this.setActive(showAtLaunch);
},
/**
@@ -98,7 +88,7 @@ const Magnifier = new Lang.Class({
* Show the system mouse pointer.
*/
showSystemCursor: function() {
this._cursorTracker.set_pointer_visible(true);
global.stage.show_cursor();
},
/**
@@ -106,7 +96,7 @@ const Magnifier = new Lang.Class({
* Hide the system mouse pointer.
*/
hideSystemCursor: function() {
this._cursorTracker.set_pointer_visible(false);
global.stage.hide_cursor();
},
/**
@@ -115,12 +105,6 @@ const Magnifier = new Lang.Class({
* @activate: Boolean to activate or de-activate the magnifier.
*/
setActive: function(activate) {
if (activate == this.isActive())
return;
if (activate)
this._initialize();
this._zoomRegions.forEach (function(zoomRegion, index, array) {
zoomRegion.setActive(activate);
});
@@ -133,7 +117,7 @@ const Magnifier = new Lang.Class({
// Make sure system mouse pointer is shown when all zoom regions are
// invisible.
if (!activate)
this._cursorTracker.set_pointer_visible(true);
global.stage.show_cursor();
// Notify interested parties of this change
this.emit('active-changed', activate);
@@ -448,68 +432,64 @@ const Magnifier = new Lang.Class({
this._mouseSprite.set_anchor_point(xHot, yHot);
},
_settingsInitRegion: function(zoomRegion) {
// Mag factor is accurate to two decimal places.
let aPref = parseFloat(this._settings.get_double(MAG_FACTOR_KEY).toFixed(2));
if (aPref != 0.0)
zoomRegion.setMagFactor(aPref, aPref);
aPref = this._settings.get_enum(SCREEN_POSITION_KEY);
if (aPref)
zoomRegion.setScreenPosition(aPref);
zoomRegion.setLensMode(this._settings.get_boolean(LENS_MODE_KEY));
zoomRegion.setClampScrollingAtEdges(!this._settings.get_boolean(CLAMP_MODE_KEY));
aPref = this._settings.get_enum(MOUSE_TRACKING_KEY);
if (aPref)
zoomRegion.setMouseTrackingMode(aPref);
aPref = this._settings.get_enum(FOCUS_TRACKING_KEY);
if (aPref)
zoomRegion.setFocusTrackingMode(aPref);
aPref = this._settings.get_enum(CARET_TRACKING_KEY);
if (aPref)
zoomRegion.setCaretTrackingMode(aPref);
aPref = this._settings.get_boolean(INVERT_LIGHTNESS_KEY);
if (aPref)
zoomRegion.setInvertLightness(aPref);
aPref = this._settings.get_double(COLOR_SATURATION_KEY);
if (aPref)
zoomRegion.setColorSaturation(aPref);
let bc = {};
bc.r = this._settings.get_double(BRIGHT_RED_KEY);
bc.g = this._settings.get_double(BRIGHT_GREEN_KEY);
bc.b = this._settings.get_double(BRIGHT_BLUE_KEY);
zoomRegion.setBrightness(bc);
bc.r = this._settings.get_double(CONTRAST_RED_KEY);
bc.g = this._settings.get_double(CONTRAST_GREEN_KEY);
bc.b = this._settings.get_double(CONTRAST_BLUE_KEY);
zoomRegion.setContrast(bc);
},
_settingsInit: function() {
_settingsInit: function(zoomRegion) {
this._appSettings = new Gio.Settings({ schema: APPLICATIONS_SCHEMA });
this._settings = new Gio.Settings({ schema: MAGNIFIER_SCHEMA });
this._appSettings.connect('changed::' + SHOW_KEY, Lang.bind(this, function() {
let active = this._appSettings.get_boolean(SHOW_KEY);
this.setActive(active);
}));
if (zoomRegion) {
// Mag factor is accurate to two decimal places.
let aPref = parseFloat(this._settings.get_double(MAG_FACTOR_KEY).toFixed(2));
if (aPref != 0.0)
zoomRegion.setMagFactor(aPref, aPref);
return this._appSettings.get_boolean(SHOW_KEY);
},
aPref = this._settings.get_enum(SCREEN_POSITION_KEY);
if (aPref)
zoomRegion.setScreenPosition(aPref);
zoomRegion.setLensMode(this._settings.get_boolean(LENS_MODE_KEY));
zoomRegion.setClampScrollingAtEdges(!this._settings.get_boolean(CLAMP_MODE_KEY));
aPref = this._settings.get_enum(MOUSE_TRACKING_KEY);
if (aPref)
zoomRegion.setMouseTrackingMode(aPref);
aPref = this._settings.get_enum(FOCUS_TRACKING_KEY);
if (aPref)
zoomRegion.setFocusTrackingMode(aPref);
aPref = this._settings.get_enum(CARET_TRACKING_KEY);
if (aPref)
zoomRegion.setCaretTrackingMode(aPref);
aPref = this._settings.get_boolean(INVERT_LIGHTNESS_KEY);
if (aPref)
zoomRegion.setInvertLightness(aPref);
aPref = this._settings.get_double(COLOR_SATURATION_KEY);
if (aPref)
zoomRegion.setColorSaturation(aPref);
let bc = {};
bc.r = this._settings.get_double(BRIGHT_RED_KEY);
bc.g = this._settings.get_double(BRIGHT_GREEN_KEY);
bc.b = this._settings.get_double(BRIGHT_BLUE_KEY);
zoomRegion.setBrightness(bc);
bc.r = this._settings.get_double(CONTRAST_RED_KEY);
bc.g = this._settings.get_double(CONTRAST_GREEN_KEY);
bc.b = this._settings.get_double(CONTRAST_BLUE_KEY);
zoomRegion.setContrast(bc);
}
_settingsInitLate: function() {
let showCrosshairs = this._settings.get_boolean(SHOW_CROSS_HAIRS_KEY);
this.addCrosshairs();
this.setCrosshairsVisible(showCrosshairs);
this._appSettings.connect('changed::' + SHOW_KEY,
Lang.bind(this, function() {
this.setActive(this._appSettings.get_boolean(SHOW_KEY));
}));
this._settings.connect('changed::' + SCREEN_POSITION_KEY,
Lang.bind(this, this._updateScreenPosition));
this._settings.connect('changed::' + MAG_FACTOR_KEY,
@@ -573,6 +553,8 @@ const Magnifier = new Lang.Class({
Lang.bind(this, function() {
this.setCrosshairsClip(this._settings.get_boolean(CROSS_HAIRS_CLIP_KEY));
}));
return this._appSettings.get_boolean(SHOW_KEY);
},
_updateScreenPosition: function() {
@@ -750,17 +732,14 @@ const ZoomRegion = new Lang.Class({
* @activate: Boolean to show/hide the ZoomRegion.
*/
setActive: function(activate) {
if (activate == this.isActive())
return;
if (activate) {
if (activate && !this.isActive()) {
this._createActors();
if (this._isMouseOverRegion())
this._magnifier.hideSystemCursor();
this._updateMagViewGeometry();
this._updateCloneGeometry();
this._updateMousePosition();
} else {
} else if (!activate && this.isActive()) {
this._destroyActors();
}
},

View File

@@ -90,12 +90,8 @@ function _sessionUpdated() {
Shell.KeyBindingMode.OVERVIEW,
sessionMode.hasRunDialog ? openRunDialog : null);
if (!sessionMode.hasRunDialog) {
if (runDialog)
runDialog.close();
if (lookingGlass)
lookingGlass.close();
}
if (!sessionMode.hasRunDialog && lookingGlass)
lookingGlass.close();
}
function start() {

View File

@@ -215,10 +215,10 @@ const URLHighlighter = new Lang.Class({
let urlId = this._findUrlAtPos(event);
if (urlId != -1 && !this._cursorChanged) {
global.screen.set_cursor(Meta.Cursor.POINTING_HAND);
global.set_cursor(Shell.Cursor.POINTING_HAND);
this._cursorChanged = true;
} else if (urlId == -1) {
global.screen.set_cursor(Meta.Cursor.DEFAULT);
global.unset_cursor();
this._cursorChanged = false;
}
return false;
@@ -229,7 +229,7 @@ const URLHighlighter = new Lang.Class({
if (this._cursorChanged) {
this._cursorChanged = false;
global.screen.set_cursor(Meta.Cursor.DEFAULT);
global.unset_cursor();
}
}));
},
@@ -1805,9 +1805,8 @@ const MessageTray = new Lang.Class({
},
_sessionUpdated: function() {
if (Main.sessionMode.isLocked || Main.sessionMode.isGreeter) {
if (this._inCtrlAltTab)
Main.ctrlAltTabManager.removeGroup(this._summary);
if ((Main.sessionMode.isLocked || Main.sessionMode.isGreeter) && this._inCtrlAltTab) {
Main.ctrlAltTabManager.removeGroup(this._summary);
this._inCtrlAltTab = false;
} else if (!this._inCtrlAltTab) {
Main.ctrlAltTabManager.addGroup(this._summary, _("Message Tray"), 'user-available-symbolic',

View File

@@ -504,17 +504,6 @@ const MessagesIndicator = new Lang.Class({
}
});
const ControlsLayout = new Lang.Class({
Name: 'ControlsLayout',
Extends: Clutter.BinLayout,
Signals: { 'allocation-changed': { flags: GObject.SignalFlags.RUN_LAST } },
vfunc_allocate: function(container, box, flags) {
this.parent(container, box, flags);
this.emit('allocation-changed');
}
});
const ControlsManager = new Lang.Class({
Name: 'ControlsManager',
@@ -535,8 +524,7 @@ const ControlsManager = new Lang.Class({
this._indicator = new MessagesIndicator(this.viewSelector);
this.indicatorActor = this._indicator.actor;
let layout = new ControlsLayout();
this.actor = new St.Widget({ layout_manager: layout,
this.actor = new St.Widget({ layout_manager: new Clutter.BinLayout(),
reactive: true,
x_expand: true, y_expand: true,
clip_to_allocation: true });
@@ -551,7 +539,7 @@ const ControlsManager = new Lang.Class({
expand: true });
this._group.add_actor(this._thumbnailsSlider.actor);
layout.connect('allocation-changed', Lang.bind(this, this._updateWorkspacesGeometry));
this._group.connect('notify::allocation', Lang.bind(this, this._updateWorkspacesGeometry));
Main.overview.connect('showing', Lang.bind(this, this._updateSpacerVisibility));
Main.overview.connect('item-drag-begin', Lang.bind(this,

View File

@@ -611,7 +611,6 @@ const ActivitiesButton = new Lang.Class({
_onButtonRelease: function() {
Main.overview.toggle();
this.menu.close();
},
_onKeyRelease: function(actor, event) {
@@ -805,7 +804,7 @@ const AggregateMenu = new Lang.Class({
Extends: PanelMenu.Button,
_init: function() {
this.parent(0.0, _("Settings"), false);
this.parent(0.0, _("Settings Menu"), false);
this.menu.actor.add_style_class_name('aggregate-menu');
this._indicators = new St.BoxLayout({ style_class: 'panel-status-indicators-box' });

View File

@@ -948,18 +948,14 @@ const PopupSubMenuMenuItem = new Lang.Class({
this.actor.add_child(this.icon);
}
this.label = new St.Label({ text: text,
y_expand: true,
y_align: Clutter.ActorAlign.CENTER });
this.label = new St.Label({ text: text });
this.actor.add_child(this.label);
this.actor.label_actor = this.label;
let expander = new St.Bin({ style_class: 'popup-menu-item-expander' });
this.actor.add(expander, { expand: true });
this.status = new St.Label({ style_class: 'popup-status-menu-item',
y_expand: true,
y_align: Clutter.ActorAlign.CENTER });
this.status = new St.Label({ style_class: 'popup-status-menu-item' });
this.actor.add_child(this.status);
this._triangle = new St.Label({ text: '\u25B8',
@@ -973,7 +969,6 @@ const PopupSubMenuMenuItem = new Lang.Class({
this._triangleBin.set_scale(-1.0, 1.0);
this.actor.add_child(this._triangleBin);
this.actor.add_accessible_state (Atk.StateType.EXPANDABLE);
this.menu = new PopupSubMenu(this.actor, this._triangle);
this.menu.connect('open-state-changed', Lang.bind(this, this._subMenuOpenStateChanged));
@@ -995,11 +990,9 @@ const PopupSubMenuMenuItem = new Lang.Class({
if (open) {
this.actor.add_style_pseudo_class('open');
this._getTopMenu()._setOpenedSubMenu(this.menu);
this.actor.add_accessible_state (Atk.StateType.EXPANDED);
} else {
this.actor.remove_style_pseudo_class('open');
this._getTopMenu()._setOpenedSubMenu(null);
this.actor.remove_accessible_state (Atk.StateType.EXPANDED);
}
},

View File

@@ -584,7 +584,6 @@ const ScreenShield = new Lang.Class({
this._shortLightbox.connect('shown', Lang.bind(this, this._onShortLightboxShown));
this.idleMonitor = Meta.IdleMonitor.get_core();
this._cursorTracker = Meta.CursorTracker.get_for_screen(global.screen);
},
_createBackground: function(monitorIndex) {
@@ -954,7 +953,7 @@ const ScreenShield = new Lang.Class({
this._hideLockScreenComplete();
}
this._cursorTracker.set_pointer_visible(true);
global.stage.show_cursor();
},
_ensureUnlockDialog: function(onPrimary, allowCancel) {
@@ -1087,15 +1086,15 @@ const ScreenShield = new Lang.Class({
this._checkArrowAnimation();
let motionId = global.stage.connect('captured-event', Lang.bind(this, function(stage, event) {
let motionId = global.stage.connect('captured-event', function(stage, event) {
if (event.type() == Clutter.EventType.MOTION) {
this._cursorTracker.set_pointer_visible(true);
global.stage.show_cursor();
global.stage.disconnect(motionId);
}
return false;
}));
this._cursorTracker.set_pointer_visible(false);
});
global.stage.hide_cursor();
this._lockScreenState = MessageTray.State.SHOWN;
this._lockScreenGroup.fixed_position_set = false;

View File

@@ -6,7 +6,6 @@ const Gio = imports.gi.Gio;
const GLib = imports.gi.GLib;
const Gtk = imports.gi.Gtk;
const Lang = imports.lang;
const Meta = imports.gi.Meta;
const Shell = imports.gi.Shell;
const Signals = imports.signals;
const St = imports.gi.St;
@@ -168,7 +167,7 @@ const SelectArea = new Lang.Class({
if (!Main.pushModal(this._group) || this._group.visible)
return;
global.screen.set_cursor(Meta.Cursor.CROSSHAIR);
global.set_cursor(Shell.Cursor.CROSSHAIR);
this._group.visible = true;
},
@@ -239,7 +238,7 @@ const SelectArea = new Lang.Class({
function() {
Main.popModal(this._group);
this._group.destroy();
global.screen.set_cursor(Meta.Cursor.DEFAULT);
global.unset_cursor();
this.emit('finished', geometry);
})

View File

@@ -31,7 +31,6 @@ const Indicator = new Lang.Class({
this._applet.killswitch_state = GnomeBluetooth.KillswitchState.SOFT_BLOCKED;
}));
this._item.menu.addSettingsAction(_("Bluetooth Settings"), 'gnome-bluetooth-panel.desktop');
this.menu.addMenuItem(this._item);
this._applet = new GnomeBluetoothApplet.Applet();
this._applet.connect('devices-changed', Lang.bind(this, this._sync));

View File

@@ -1287,7 +1287,6 @@ const NMApplet = new Lang.Class({
this._client.connect('notify::networking-enabled', Lang.bind(this, this._syncNMState));
this._client.connect('notify::state', Lang.bind(this, this._syncNMState));
this._client.connect('notify::primary-connection', Lang.bind(this, this._syncMainConnection));
this._client.connect('notify::activating-connection', Lang.bind(this, this._syncMainConnection));
this._client.connect('notify::active-connections', Lang.bind(this, this._syncVPNConnections));
this._client.connect('device-added', Lang.bind(this, this._deviceAdded));
this._client.connect('device-removed', Lang.bind(this, this._deviceRemoved));

View File

@@ -3,7 +3,6 @@
const Clutter = imports.gi.Clutter;
const Lang = imports.lang;
const Main = imports.ui.main;
const Meta = imports.gi.Meta;
const Shell = imports.gi.Shell;
const Signals = imports.signals;
const DND = imports.ui.dnd;
@@ -21,8 +20,7 @@ const XdndHandler = new Lang.Class({
Main.uiGroup.add_actor(this._dummy);
this._dummy.hide();
if (!Meta.is_wayland_compositor())
global.init_xdnd();
global.init_xdnd();
global.connect('xdnd-enter', Lang.bind(this, this._onEnter));
global.connect('xdnd-position-changed', Lang.bind(this, this._onPositionChanged));

View File

@@ -4,7 +4,6 @@
data/50-gnome-shell-system.xml.in
data/gnome-shell.desktop.in.in
data/gnome-shell-extension-prefs.desktop.in.in
data/gnome-shell-wayland.desktop.in.in
data/org.gnome.shell.gschema.xml.in.in
js/extensionPrefs/main.js
js/gdm/authPrompt.js

184
po/as.po
View File

@@ -9,8 +9,8 @@ msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2013-09-23 13:35+0000\n"
"PO-Revision-Date: 2013-09-24 14:24+0530\n"
"POT-Creation-Date: 2013-09-02 19:28+0000\n"
"PO-Revision-Date: 2013-09-10 20:47+0530\n"
"Last-Translator: Nilamdyuti Goswami <ngoswami@redhat.com>\n"
"Language-Team: Assamese <kde-i18n-doc@kde.org>\n"
"Language: as_IN\n"
@@ -49,7 +49,6 @@ msgid "GNOME Shell"
msgstr "GNOME শ্বেল"
#: ../data/gnome-shell.desktop.in.in.h:2
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
msgid "Window management and application launching"
msgstr "উইন্ডো ব্যৱস্থাপনা আৰু এপ্লিকেচনৰ লঞ্চ"
@@ -62,10 +61,6 @@ msgstr "GNOME শ্বেল সম্প্ৰসাৰন পছন্দস
msgid "Configure GNOME Shell Extensions"
msgstr "GNOME শ্বেল সম্প্ৰসাৰনসমূহ সংৰূপণ কৰক"
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
msgid "GNOME Shell (wayland compositor)"
msgstr "GNOME শ্বেল (wayland compositor)"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr ""
@@ -192,10 +187,12 @@ msgstr ""
"কাৰ্য্যসমূহ অভাৰভিউৰ \"এপ্লিকেচনসমূহ দেখুৱাওক\" দৰ্শন খোলিবলে কি'বাইণ্ডিং।"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
#| msgid "Keybinding to open the \"Show Applications\" view"
msgid "Keybinding to open the overview"
msgstr "অভাৰভিউ খোলিবলে কি'বাইণ্ডিং"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
#| msgid "Keybinding to open the \"Show Applications\" view"
msgid "Keybinding to open the Activities Overview."
msgstr "কাৰ্য্যসমূহ অভাৰভিউ খোলিবলে কি'বাইণ্ডিং"
@@ -271,11 +268,6 @@ msgstr "কাৰ্য্যস্থানসমূহক চলমানভ
msgid "Workspaces only on primary monitor"
msgstr "কাৰ্য্যস্থানসমূহ কেৱল প্ৰাথমিক মনিটৰত"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
msgid "Delay focus changes in mouse mode until the pointer stops moving"
msgstr ""
"বিলম্বৰ ফকাচ মাউছ অৱস্থাত পৰিবৰ্তন হয় যেতিয়ালৈকে পইন্টাৰে গমন কৰা বন্ধ নকৰে"
#: ../js/extensionPrefs/main.js:125
#, c-format
msgid "There was an error loading the preferences dialog for %s:"
@@ -289,10 +281,10 @@ msgstr "প্ৰসাৰন"
msgid "Select an extension to configure using the combobox above."
msgstr "উপৰত দিয়া কম্বোবাকচ ব্যৱহাৰ কৰি সংৰূপণ কৰিবলে এটা সম্প্ৰসাৰন বাছক।"
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:136
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:132
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/bluetooth.js:222 ../js/ui/status/network.js:686
#: ../js/ui/status/bluetooth.js:221 ../js/ui/status/network.js:686
msgid "Cancel"
msgstr "বাতিল কৰক"
@@ -311,6 +303,7 @@ msgid "Sign In"
msgstr "ছাইন ইন কৰক"
#: ../js/gdm/loginDialog.js:294
#| msgid "Switch Session"
msgid "Choose Session"
msgstr "অধিবেশন বাছক"
@@ -331,8 +324,8 @@ msgstr "(উদাহৰণ, ব্যৱহাৰকাৰী অথবা %s)"
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:259
#: ../js/ui/components/networkAgent.js:277
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:255
#: ../js/ui/components/networkAgent.js:273
msgid "Username: "
msgstr "ব্যৱহাৰকাৰীৰ নাম: "
@@ -353,42 +346,42 @@ msgstr "প্ৰমাণীকৰণ ত্ৰুটি"
msgid "(or swipe finger)"
msgstr "(অথবা আঙুলি স্বাইপ কৰক)"
#: ../js/misc/util.js:98
#: ../js/misc/util.js:97
msgid "Command not found"
msgstr "কমান্ড পোৱা নগল"
#. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer
#: ../js/misc/util.js:131
#: ../js/misc/util.js:130
msgid "Could not parse command:"
msgstr "কমান্ড বিশ্লেষন কৰিব নোৱাৰি:"
#: ../js/misc/util.js:139
#: ../js/misc/util.js:138
#, c-format
msgid "Execution of '%s' failed:"
msgstr "'%s' ৰ প্ৰেৰণ ব্যৰ্থ হল:"
#: ../js/ui/appDisplay.js:596
#: ../js/ui/appDisplay.js:578
msgid "Frequently used applications will appear here"
msgstr "সঘনে ব্যৱহাৰ কৰা এপ্লিকেচনসমূহ ইয়াত উপস্থিত হব"
#: ../js/ui/appDisplay.js:712
#: ../js/ui/appDisplay.js:694
msgid "Frequent"
msgstr "সঘন"
#: ../js/ui/appDisplay.js:719
#: ../js/ui/appDisplay.js:701
msgid "All"
msgstr "সকলো"
#: ../js/ui/appDisplay.js:1514
#: ../js/ui/appDisplay.js:1488
msgid "New Window"
msgstr "নতুন উইন্ডো"
#: ../js/ui/appDisplay.js:1517 ../js/ui/dash.js:284
#: ../js/ui/appDisplay.js:1491 ../js/ui/dash.js:284
msgid "Remove from Favorites"
msgstr "পছন্দৰ পৰা আতৰাওক"
#: ../js/ui/appDisplay.js:1518
#: ../js/ui/appDisplay.js:1492
msgid "Add to Favorites"
msgstr "পছন্দলে যোগ কৰক"
@@ -402,8 +395,7 @@ msgstr "%s ক আপোনাৰ পছন্দলে যোগ কৰা হ
msgid "%s has been removed from your favorites."
msgstr "%s ক আপোনাৰ পছন্দৰ পৰা আতৰোৱা হৈছে।"
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:807
#: ../js/ui/status/system.js:325
#: ../js/ui/backgroundMenu.js:19 ../js/ui/status/system.js:325
msgid "Settings"
msgstr "সংহতিসমূহ"
@@ -589,50 +581,50 @@ msgstr "%s ৰ সৈতে খোলক"
msgid "Eject"
msgstr "উলিৱাওক"
#: ../js/ui/components/keyring.js:91 ../js/ui/components/polkitAgent.js:280
#: ../js/ui/components/keyring.js:88 ../js/ui/components/polkitAgent.js:280
msgid "Password:"
msgstr "পাছৱাৰ্ড:"
#: ../js/ui/components/keyring.js:110
#: ../js/ui/components/keyring.js:107
msgid "Type again:"
msgstr "আকৌ টাইপ কৰক:"
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:112
#: ../js/ui/components/networkAgent.js:127 ../js/ui/status/network.js:112
#: ../js/ui/status/network.js:275 ../js/ui/status/network.js:689
msgid "Connect"
msgstr "সংযোগ কৰক"
#. Cisco LEAP
#: ../js/ui/components/networkAgent.js:222
#: ../js/ui/components/networkAgent.js:234
#: ../js/ui/components/networkAgent.js:261
#: ../js/ui/components/networkAgent.js:281
#: ../js/ui/components/networkAgent.js:291
#: ../js/ui/components/networkAgent.js:218
#: ../js/ui/components/networkAgent.js:230
#: ../js/ui/components/networkAgent.js:257
#: ../js/ui/components/networkAgent.js:277
#: ../js/ui/components/networkAgent.js:287
msgid "Password: "
msgstr "পাছৱাৰ্ড: "
#. static WEP
#: ../js/ui/components/networkAgent.js:227
#: ../js/ui/components/networkAgent.js:223
msgid "Key: "
msgstr "কি': "
#: ../js/ui/components/networkAgent.js:265
#: ../js/ui/components/networkAgent.js:261
msgid "Identity: "
msgstr "পৰিচয়: "
#: ../js/ui/components/networkAgent.js:267
#: ../js/ui/components/networkAgent.js:263
msgid "Private key password: "
msgstr "ব্যক্তিগত কি' পাছৱাৰ্ড: "
#: ../js/ui/components/networkAgent.js:279
#: ../js/ui/components/networkAgent.js:275
msgid "Service: "
msgstr "সেৱা: "
#: ../js/ui/components/networkAgent.js:308
#: ../js/ui/components/networkAgent.js:304
msgid "Authentication required by wireless network"
msgstr "বেতাঁৰ নেটৱাৰ্কৰ দ্বাৰা প্ৰমাণীকৰণৰ প্ৰয়োজন"
#: ../js/ui/components/networkAgent.js:309
#: ../js/ui/components/networkAgent.js:305
#, c-format
msgid ""
"Passwords or encryption keys are required to access the wireless network "
@@ -641,35 +633,35 @@ msgstr ""
"বেতাঁৰ নেটৱাৰ্ক '%s' অভিগম কৰিবলে পাছৱাৰ্ডসমূহ অথবা ইনক্ৰিপষণ কি'সমূহৰ "
"প্ৰয়োজন।"
#: ../js/ui/components/networkAgent.js:313
#: ../js/ui/components/networkAgent.js:309
msgid "Wired 802.1X authentication"
msgstr "তাঁৰযুক্ত 802.1X প্ৰমাণীকৰণ"
#: ../js/ui/components/networkAgent.js:315
#: ../js/ui/components/networkAgent.js:311
msgid "Network name: "
msgstr "নেটৱাৰ্কৰ নাম: "
#: ../js/ui/components/networkAgent.js:320
#: ../js/ui/components/networkAgent.js:316
msgid "DSL authentication"
msgstr "DSL প্ৰমাণীকৰণ"
#: ../js/ui/components/networkAgent.js:327
#: ../js/ui/components/networkAgent.js:323
msgid "PIN code required"
msgstr "PIN ক'ডৰ প্ৰয়োজন"
#: ../js/ui/components/networkAgent.js:328
#: ../js/ui/components/networkAgent.js:324
msgid "PIN code is needed for the mobile broadband device"
msgstr "মবাইল ব্ৰডবেণ্ড সেৱাৰ বাবে PIN ক'ডৰ প্ৰয়োজন"
#: ../js/ui/components/networkAgent.js:329
#: ../js/ui/components/networkAgent.js:325
msgid "PIN: "
msgstr "PIN: "
#: ../js/ui/components/networkAgent.js:335
#: ../js/ui/components/networkAgent.js:331
msgid "Mobile broadband network password"
msgstr "মবাইল ব্ৰডবেণ্ড নেটৱাৰ্ক পাছৱাৰ্ড"
#: ../js/ui/components/networkAgent.js:336
#: ../js/ui/components/networkAgent.js:332
#, c-format
msgid "A password is required to connect to '%s'."
msgstr "'%s' লে সংযোগ কৰিবলে এটা পাছৱাৰ্ডৰ প্ৰয়োজন।"
@@ -934,7 +926,7 @@ msgstr "একাওন্ট দৰ্শন কৰক"
msgid "Unknown reason"
msgstr "অজ্ঞাত কাৰণ"
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:100
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:96
msgid "Windows"
msgstr "উইন্ডোসমূহ"
@@ -1032,12 +1024,15 @@ msgstr[0] "চিস্টেম %d ছেকেণ্ডত স্বচাল
msgstr[1] "চিস্টেম %d ছেকেণ্ডত স্বচালিতভাৱে পুনৰাম্ভ হব।"
#: ../js/ui/endSessionDialog.js:112
#| msgid "Install Updates & Restart"
msgctxt "title"
msgid "Restart & Install Updates"
msgstr "পুনাৰম্ভ কৰক আৰু আপডেইটসমূহ ইনস্টল কৰক"
#: ../js/ui/endSessionDialog.js:114
#, c-format
#| msgid "The system will restart automatically in %d second."
#| msgid_plural "The system will restart automatically in %d seconds."
msgid "The system will automatically restart and install updates in %d second."
msgid_plural ""
"The system will automatically restart and install updates in %d seconds."
@@ -1082,7 +1077,7 @@ msgstr "ইনস্টল কৰক"
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "extensions.gnome.org ৰ পৰা '%s' ক ডাউনল'ড আৰু ইনস্টল কৰিব নে?"
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:333
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:334
msgid "Keyboard"
msgstr "কিবৰ্ড"
@@ -1158,11 +1153,11 @@ msgstr "ট্ৰে মেনু"
msgid "No Messages"
msgstr "কোনো বাৰ্তা নাই"
#: ../js/ui/messageTray.js:1813
#: ../js/ui/messageTray.js:1812
msgid "Message Tray"
msgstr "বাৰ্তা ট্ৰে"
#: ../js/ui/messageTray.js:2788
#: ../js/ui/messageTray.js:2786
msgid "System Information"
msgstr "চিস্টেম তথ্য"
@@ -1194,17 +1189,22 @@ msgstr "অভাৰভিউ"
msgid "Type to search…"
msgstr "সন্ধান কৰিবলে টাইপ কৰক…"
#: ../js/ui/panel.js:518
#: ../js/ui/panel.js:516
msgid "Quit"
msgstr "প্ৰস্থান কৰক"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:570
#: ../js/ui/panel.js:568
msgid "Activities"
msgstr "কাৰ্য্যসমূহ"
#: ../js/ui/panel.js:903
#: ../js/ui/panel.js:805
#| msgid "Settings"
msgid "Settings Menu"
msgstr "সংহতিসমূহ মেনু"
#: ../js/ui/panel.js:892
msgid "Top Bar"
msgstr "উপৰৰ বাৰ"
@@ -1213,7 +1213,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:233
#: ../js/ui/popupMenu.js:226
msgid "toggle-switch-us"
msgstr "toggle-switch-us"
@@ -1242,7 +1242,7 @@ msgstr[1] "%d নতুন অধিসূচনাসমূহ"
msgid "Lock"
msgstr "লক কৰক"
#: ../js/ui/screenShield.js:704
#: ../js/ui/screenShield.js:703
msgid "GNOME needs to lock the screen"
msgstr "GNOME এ পৰ্দা লক কৰিব লাগিব"
@@ -1253,11 +1253,11 @@ msgstr "GNOME এ পৰ্দা লক কৰিব লাগিব"
#.
#. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
#: ../js/ui/screenShield.js:830 ../js/ui/screenShield.js:1296
msgid "Unable to lock"
msgstr "লক কৰিবলে অক্ষম"
#: ../js/ui/screenShield.js:832 ../js/ui/screenShield.js:1298
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
msgid "Lock was blocked by an application"
msgstr "লক কাৰ্য্য এটা এপ্লিকেচন দ্বাৰা প্ৰতিৰোধ কৰা হৈছিল"
@@ -1339,9 +1339,9 @@ msgstr "ডাঙৰ লিখনী"
#. The Bluetooth menu only appears when Bluetooth is in use,
#. so just statically build it with a "Turn Off" menu item.
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:63
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
#: ../js/ui/status/bluetooth.js:164 ../js/ui/status/bluetooth.js:195
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:62
#: ../js/ui/status/bluetooth.js:99 ../js/ui/status/bluetooth.js:127
#: ../js/ui/status/bluetooth.js:163 ../js/ui/status/bluetooth.js:194
msgid "Bluetooth"
msgstr "ব্লুটুথ"
@@ -1354,80 +1354,82 @@ msgstr "বন্ধ কৰক"
msgid "Bluetooth Settings"
msgstr "ব্লুটুথ সংহতিসমূহ"
#: ../js/ui/status/bluetooth.js:58
#: ../js/ui/status/bluetooth.js:57
#, c-format
#| msgid "Connected (private)"
msgid "%d Connected Device"
msgid_plural "%d Connected Devices"
msgstr[0] "%d সংযুক্ত ডিভাইচ"
msgstr[1] "%d সংযুক্ত ডিভাইচসমূহ"
#: ../js/ui/status/bluetooth.js:101 ../js/ui/status/bluetooth.js:129
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
#, c-format
msgid "Authorization request from %s"
msgstr "%s ৰ পৰা প্ৰমাণীকৰণ অনুৰোধ"
#: ../js/ui/status/bluetooth.js:107 ../js/ui/status/bluetooth.js:172
#: ../js/ui/status/bluetooth.js:203
#: ../js/ui/status/bluetooth.js:106 ../js/ui/status/bluetooth.js:171
#: ../js/ui/status/bluetooth.js:202
#, c-format
msgid "Device %s wants to pair with this computer"
msgstr "ডিভাইচ %s এ এই কমপিউটাৰৰ লগত সংযোগ কৰিব বিচাৰে"
#: ../js/ui/status/bluetooth.js:109
#: ../js/ui/status/bluetooth.js:108
msgid "Allow"
msgstr "অনুমতি দিয়ক"
#: ../js/ui/status/bluetooth.js:110
#: ../js/ui/status/bluetooth.js:109
msgid "Deny"
msgstr "নাকচ কৰক"
#: ../js/ui/status/bluetooth.js:135
#: ../js/ui/status/bluetooth.js:134
#, c-format
msgid "Device %s wants access to the service '%s'"
msgstr "ডিভাইচ %s এ সেৱা '%s' লে অভিগম বিচাৰে"
#: ../js/ui/status/bluetooth.js:137
#: ../js/ui/status/bluetooth.js:136
msgid "Always grant access"
msgstr "সদায় অভিগম প্ৰদান কৰক"
#: ../js/ui/status/bluetooth.js:138
#: ../js/ui/status/bluetooth.js:137
msgid "Grant this time only"
msgstr "কেৱল এইবাৰৰ কাৰণে প্ৰদান কৰক"
#: ../js/ui/status/bluetooth.js:139
#: ../js/ui/status/bluetooth.js:138
msgid "Reject"
msgstr "নাকচ কৰক"
#. Translators: argument is the device short name
#: ../js/ui/status/bluetooth.js:166
#: ../js/ui/status/bluetooth.js:165
#, c-format
msgid "Pairing confirmation for %s"
msgstr "%s ৰ কাৰণে যোৰ প্ৰতিশ্ৰুতি"
#: ../js/ui/status/bluetooth.js:173
#: ../js/ui/status/bluetooth.js:172
#, c-format
#| msgid "Please confirm whether the PIN '%06d' matches the one on the device."
msgid ""
"Please confirm whether the Passkey '%06d' matches the one on the device."
msgstr "অনুগ্ৰহ কৰি সুনিশ্চিত কৰক যে পাছকি '%06d' ডিভাইচত থকাটোৰ সৈতে মিল খায়।"
#. Translators: this is the verb, not the noun
#: ../js/ui/status/bluetooth.js:176
#: ../js/ui/status/bluetooth.js:175
msgid "Matches"
msgstr "মিলসমূহ"
#: ../js/ui/status/bluetooth.js:177
#: ../js/ui/status/bluetooth.js:176
msgid "Does not match"
msgstr "মিল নাখায়"
#: ../js/ui/status/bluetooth.js:196
#: ../js/ui/status/bluetooth.js:195
#, c-format
msgid "Pairing request for %s"
msgstr "%s ৰ কাৰণে যোৰ অনুৰোধ"
#: ../js/ui/status/bluetooth.js:204
#: ../js/ui/status/bluetooth.js:203
msgid "Please enter the PIN mentioned on the device."
msgstr "অনুগ্ৰহ কৰি ডিভাইচত উল্লেখ কৰা PIN সুমুৱাওক।"
#: ../js/ui/status/bluetooth.js:221
#: ../js/ui/status/bluetooth.js:220
msgid "OK"
msgstr "ঠিক আছে"
@@ -1435,7 +1437,7 @@ msgstr "ঠিক আছে"
msgid "Brightness"
msgstr "উজ্জ্বলতা"
#: ../js/ui/status/keyboard.js:403
#: ../js/ui/status/keyboard.js:404
msgid "Show Keyboard Layout"
msgstr "কিবৰ্ড বিন্যাস দেখুৱাওক"
@@ -1444,6 +1446,7 @@ msgid "<unknown>"
msgstr "<unknown>"
#: ../js/ui/status/network.js:203 ../js/ui/status/network.js:1049
#| msgid "Offline"
msgid "Off"
msgstr "অফ"
@@ -1488,18 +1491,22 @@ msgid "connection failed"
msgstr "সংযোগ ব্যৰ্থ"
#: ../js/ui/status/network.js:654
#| msgid "Network"
msgid "Wi-Fi Networks"
msgstr "Wi-Fi নেটৱাৰ্কসমূহ"
#: ../js/ui/status/network.js:656
#| msgid "Enable networking"
msgid "Select a network"
msgstr "এটা নেটৱাৰ্ক বাছক"
#: ../js/ui/status/network.js:680
#| msgid "Network"
msgid "No Networks"
msgstr "কোনো নেটৱাৰ্ক নাই"
#: ../js/ui/status/network.js:949
#| msgid "Network"
msgid "Select Network"
msgstr "নেটৱাৰ্ক বাছক"
@@ -1511,15 +1518,15 @@ msgstr "অন কৰক"
msgid "VPN"
msgstr "VPN"
#: ../js/ui/status/network.js:1307
#: ../js/ui/status/network.js:1306
msgid "Network Manager"
msgstr "নেটৱাৰ্ক ব্যৱস্থাপক"
#: ../js/ui/status/network.js:1346
#: ../js/ui/status/network.js:1345
msgid "Connection failed"
msgstr "সংযোগ ব্যৰ্থ"
#: ../js/ui/status/network.js:1347
#: ../js/ui/status/network.js:1346
msgid "Activation of network connection failed"
msgstr "নেটৱাৰ্ক সংযোগ সক্ৰিয়কৰণ ব্যৰ্থ হল"
@@ -1562,6 +1569,7 @@ msgid "Airplane Mode"
msgstr "বিমান অৱস্থা"
#: ../js/ui/status/rfkill.js:45
#| msgid "Open"
msgid "On"
msgstr "অন"
@@ -1605,11 +1613,11 @@ msgstr "অন্য ব্যৱহাৰকাৰী হিচাপে লগ
msgid "Unlock Window"
msgstr "উইন্ডো আনলক কৰক"
#: ../js/ui/viewSelector.js:104
#: ../js/ui/viewSelector.js:100
msgid "Applications"
msgstr "এপ্লিকেচনসমূহ"
#: ../js/ui/viewSelector.js:108
#: ../js/ui/viewSelector.js:104
msgid "Search"
msgstr "সন্ধান কৰক"
@@ -1640,6 +1648,7 @@ msgstr "আপুনি এই প্ৰদৰ্শন সংহতিসমূ
#. to avoid ellipsizing the labels.
#.
#: ../js/ui/windowManager.js:75
#| msgid "Power Settings"
msgid "Revert Settings"
msgstr "সংহতিসমূহক পূৰ্ব অৱস্থালৈ নিয়ক"
@@ -1713,9 +1722,6 @@ msgstr "পাছৱাৰ্ড ৰিক্ত হব নোৱাৰিব"
msgid "Authentication dialog was dismissed by the user"
msgstr "প্ৰমাণীকৰণ ডাইলগ ব্যৱহাৰকাৰী দ্বাৰা নাকচ কৰা হৈছিল"
#~ msgid "Settings Menu"
#~ msgstr "সংহতিসমূহ মেনু"
#~ msgid "Screenshots"
#~ msgstr "স্ক্ৰিনশ্বটসমূহ"

162
po/be.po
View File

@@ -5,7 +5,7 @@ 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: 2013-09-23 13:35+0000\n"
"POT-Creation-Date: 2013-09-02 19:28+0000\n"
"PO-Revision-Date: 2012-10-16 12:05+0300\n"
"Last-Translator: Kasia Bondarava <kasia.bondarava@gmail.com>\n"
"Language-Team: Belarusian <i18n-bel-gnome@googlegroups.com>\n"
@@ -47,7 +47,6 @@ msgid "GNOME Shell"
msgstr "Абалонка GNOME"
#: ../data/gnome-shell.desktop.in.in.h:2
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
msgid "Window management and application launching"
msgstr "Кіраванне вокнамі і пуск праграм"
@@ -60,10 +59,6 @@ msgstr "Настройкі пашырэння абалонкі GNOME"
msgid "Configure GNOME Shell Extensions"
msgstr "Настройкі пашырэнняў абалонкі GNOME"
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
msgid "GNOME Shell (wayland compositor)"
msgstr "Абалонка GNOME (Wayland-кампазіцыя)"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr ""
@@ -263,10 +258,6 @@ msgstr "Дынамічнае кіраванне прасторамі працы"
msgid "Workspaces only on primary monitor"
msgstr "Прасторы працы толькі для асноўнага манітора"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
msgid "Delay focus changes in mouse mode until the pointer stops moving"
msgstr "Затрымліваць змяненне фокусу ў рэжыме мышы да спынення руху яе паказальніка"
#: ../js/extensionPrefs/main.js:125
#, c-format
msgid "There was an error loading the preferences dialog for %s:"
@@ -282,10 +273,10 @@ msgstr ""
"Абярыце пашырэнне, каб настроіць графу з выплыўным спісам, якая знаходзіцца "
"вышэй."
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:136
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:132
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/bluetooth.js:222 ../js/ui/status/network.js:686
#: ../js/ui/status/bluetooth.js:221 ../js/ui/status/network.js:686
msgid "Cancel"
msgstr "Скасаваць"
@@ -324,8 +315,8 @@ msgstr "(напр., карыстальнік ці %s)"
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:259
#: ../js/ui/components/networkAgent.js:277
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:255
#: ../js/ui/components/networkAgent.js:273
msgid "Username: "
msgstr "Імя карыстальніка: "
@@ -346,42 +337,42 @@ msgstr "Памылка ідэнтыфікацыі"
msgid "(or swipe finger)"
msgstr "(або правядзіце пальцам)"
#: ../js/misc/util.js:98
#: ../js/misc/util.js:97
msgid "Command not found"
msgstr "Загад не знойдзены"
#. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer
#: ../js/misc/util.js:131
#: ../js/misc/util.js:130
msgid "Could not parse command:"
msgstr "Не ўдалося разабраць загад:"
#: ../js/misc/util.js:139
#: ../js/misc/util.js:138
#, c-format
msgid "Execution of '%s' failed:"
msgstr "Не ўдалося выканаць \"%s\":"
#: ../js/ui/appDisplay.js:596
#: ../js/ui/appDisplay.js:578
msgid "Frequently used applications will appear here"
msgstr "Тут размешчаныя часта ўжываныя праграмы"
#: ../js/ui/appDisplay.js:712
#: ../js/ui/appDisplay.js:694
msgid "Frequent"
msgstr "Часта"
#: ../js/ui/appDisplay.js:719
#: ../js/ui/appDisplay.js:701
msgid "All"
msgstr "Усе"
#: ../js/ui/appDisplay.js:1514
#: ../js/ui/appDisplay.js:1488
msgid "New Window"
msgstr "Новае акно"
#: ../js/ui/appDisplay.js:1517 ../js/ui/dash.js:284
#: ../js/ui/appDisplay.js:1491 ../js/ui/dash.js:284
msgid "Remove from Favorites"
msgstr "Выдаліць са спіса ўпадабанага"
#: ../js/ui/appDisplay.js:1518
#: ../js/ui/appDisplay.js:1492
msgid "Add to Favorites"
msgstr "Дадаць у спіс упадабанага"
@@ -395,8 +386,7 @@ msgstr "%s дададзены ў ваш спіс упадабанага."
msgid "%s has been removed from your favorites."
msgstr "%s выдалены з вашага спіса ўпадабанага."
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:807
#: ../js/ui/status/system.js:325
#: ../js/ui/backgroundMenu.js:19 ../js/ui/status/system.js:325
msgid "Settings"
msgstr "Настройкі"
@@ -582,50 +572,50 @@ msgstr "Адкрыць у %s"
msgid "Eject"
msgstr "Выняць"
#: ../js/ui/components/keyring.js:91 ../js/ui/components/polkitAgent.js:280
#: ../js/ui/components/keyring.js:88 ../js/ui/components/polkitAgent.js:280
msgid "Password:"
msgstr "Пароль:"
#: ../js/ui/components/keyring.js:110
#: ../js/ui/components/keyring.js:107
msgid "Type again:"
msgstr "Паўтарыце пароль:"
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:112
#: ../js/ui/components/networkAgent.js:127 ../js/ui/status/network.js:112
#: ../js/ui/status/network.js:275 ../js/ui/status/network.js:689
msgid "Connect"
msgstr "Злучыць"
#. Cisco LEAP
#: ../js/ui/components/networkAgent.js:222
#: ../js/ui/components/networkAgent.js:234
#: ../js/ui/components/networkAgent.js:261
#: ../js/ui/components/networkAgent.js:281
#: ../js/ui/components/networkAgent.js:291
#: ../js/ui/components/networkAgent.js:218
#: ../js/ui/components/networkAgent.js:230
#: ../js/ui/components/networkAgent.js:257
#: ../js/ui/components/networkAgent.js:277
#: ../js/ui/components/networkAgent.js:287
msgid "Password: "
msgstr "Пароль: "
#. static WEP
#: ../js/ui/components/networkAgent.js:227
#: ../js/ui/components/networkAgent.js:223
msgid "Key: "
msgstr "Ключ: "
#: ../js/ui/components/networkAgent.js:265
#: ../js/ui/components/networkAgent.js:261
msgid "Identity: "
msgstr "Ідэнтычнасць: "
#: ../js/ui/components/networkAgent.js:267
#: ../js/ui/components/networkAgent.js:263
msgid "Private key password: "
msgstr "Пароль да прыватнага ключа: "
#: ../js/ui/components/networkAgent.js:279
#: ../js/ui/components/networkAgent.js:275
msgid "Service: "
msgstr "Паслуга: "
#: ../js/ui/components/networkAgent.js:308
#: ../js/ui/components/networkAgent.js:304
msgid "Authentication required by wireless network"
msgstr "Для бесправадной сеткі патрэбная ідэнтыфікацыя"
#: ../js/ui/components/networkAgent.js:309
#: ../js/ui/components/networkAgent.js:305
#, c-format
msgid ""
"Passwords or encryption keys are required to access the wireless network "
@@ -634,37 +624,37 @@ msgstr ""
"Для доступу да бесправадной сеткі \"%s\" патрэбны пароль або ключы "
"шыфравання."
#: ../js/ui/components/networkAgent.js:313
#: ../js/ui/components/networkAgent.js:309
msgid "Wired 802.1X authentication"
msgstr "Правадная ідэнтыфікацыя 802.1X"
#: ../js/ui/components/networkAgent.js:315
#: ../js/ui/components/networkAgent.js:311
msgid "Network name: "
msgstr "Назва сеткі: "
#: ../js/ui/components/networkAgent.js:320
#: ../js/ui/components/networkAgent.js:316
msgid "DSL authentication"
msgstr "DSL-ідэнтыфікацыя"
#: ../js/ui/components/networkAgent.js:327
#: ../js/ui/components/networkAgent.js:323
msgid "PIN code required"
msgstr "Патрэбны PIN-код"
#: ../js/ui/components/networkAgent.js:328
#: ../js/ui/components/networkAgent.js:324
msgid "PIN code is needed for the mobile broadband device"
msgstr ""
"Для прыстасавання для доступу да шырокапалоснай мабільнай сеткі патрэбны PIN-"
"код"
#: ../js/ui/components/networkAgent.js:329
#: ../js/ui/components/networkAgent.js:325
msgid "PIN: "
msgstr "PIN-код: "
#: ../js/ui/components/networkAgent.js:335
#: ../js/ui/components/networkAgent.js:331
msgid "Mobile broadband network password"
msgstr "Пароль да шырокапалоснай мабільнай сеткі"
#: ../js/ui/components/networkAgent.js:336
#: ../js/ui/components/networkAgent.js:332
#, c-format
msgid "A password is required to connect to '%s'."
msgstr "Каб злучыцца з \"%s\", патрэбны пароль."
@@ -926,7 +916,7 @@ msgstr "Праглядзець конт"
msgid "Unknown reason"
msgstr "Невядомая прычына"
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:100
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:96
msgid "Windows"
msgstr "Вокны"
@@ -1078,7 +1068,7 @@ msgstr "Усталяваць"
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "Сцягнуць і ўсталяваць \"%s\" з extensions.gnome.org?"
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:333
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:334
msgid "Keyboard"
msgstr "Клавіятура"
@@ -1154,11 +1144,11 @@ msgstr "Меню трэя"
msgid "No Messages"
msgstr "Апавяшчэнні адсутнічаюць"
#: ../js/ui/messageTray.js:1813
#: ../js/ui/messageTray.js:1812
msgid "Message Tray"
msgstr "Абшар апавяшчэнняў"
#: ../js/ui/messageTray.js:2788
#: ../js/ui/messageTray.js:2786
msgid "System Information"
msgstr "Сістэмная інфармацыя"
@@ -1191,17 +1181,21 @@ msgstr "Агляд"
msgid "Type to search…"
msgstr "Увядзіце тэкст для пошуку..."
#: ../js/ui/panel.js:518
#: ../js/ui/panel.js:516
msgid "Quit"
msgstr "Выйсці"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:570
#: ../js/ui/panel.js:568
msgid "Activities"
msgstr "Заняткі"
#: ../js/ui/panel.js:903
#: ../js/ui/panel.js:805
msgid "Settings Menu"
msgstr "Меню настроек"
#: ../js/ui/panel.js:892
msgid "Top Bar"
msgstr "Верхняя панэль"
@@ -1210,7 +1204,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:233
#: ../js/ui/popupMenu.js:226
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
@@ -1240,7 +1234,7 @@ msgstr[2] "%d новых апавяшчэнняў"
msgid "Lock"
msgstr "Заблакіраваць"
#: ../js/ui/screenShield.js:704
#: ../js/ui/screenShield.js:703
msgid "GNOME needs to lock the screen"
msgstr "GNOME патрабуе блакіравання экрана"
@@ -1251,11 +1245,11 @@ msgstr "GNOME патрабуе блакіравання экрана"
#.
#. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
#: ../js/ui/screenShield.js:830 ../js/ui/screenShield.js:1296
msgid "Unable to lock"
msgstr "Не ўдалося заблакіраваць"
#: ../js/ui/screenShield.js:832 ../js/ui/screenShield.js:1298
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
msgid "Lock was blocked by an application"
msgstr "Блакіраванне стрымана праграмай"
@@ -1337,9 +1331,9 @@ msgstr "Буйны тэкст"
#. The Bluetooth menu only appears when Bluetooth is in use,
#. so just statically build it with a "Turn Off" menu item.
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:63
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
#: ../js/ui/status/bluetooth.js:164 ../js/ui/status/bluetooth.js:195
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:62
#: ../js/ui/status/bluetooth.js:99 ../js/ui/status/bluetooth.js:127
#: ../js/ui/status/bluetooth.js:163 ../js/ui/status/bluetooth.js:194
msgid "Bluetooth"
msgstr "Bluetooth"
@@ -1352,7 +1346,7 @@ msgstr "Выключыць"
msgid "Bluetooth Settings"
msgstr "Настройкі Bluetooth"
#: ../js/ui/status/bluetooth.js:58
#: ../js/ui/status/bluetooth.js:57
#, c-format
msgid "%d Connected Device"
msgid_plural "%d Connected Devices"
@@ -1360,73 +1354,73 @@ msgstr[0] "%d злучанае прыстасаванне"
msgstr[1] "%d злучаныя прыстасаванні"
msgstr[2] "%d злучаных прыстасаванняў"
#: ../js/ui/status/bluetooth.js:101 ../js/ui/status/bluetooth.js:129
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
#, c-format
msgid "Authorization request from %s"
msgstr "Запыт на ўпаўнаважанне ад %s"
#: ../js/ui/status/bluetooth.js:107 ../js/ui/status/bluetooth.js:172
#: ../js/ui/status/bluetooth.js:203
#: ../js/ui/status/bluetooth.js:106 ../js/ui/status/bluetooth.js:171
#: ../js/ui/status/bluetooth.js:202
#, c-format
msgid "Device %s wants to pair with this computer"
msgstr "Прыстасаванне %s хоча спарыцца з гэтым камп'ютарам"
#: ../js/ui/status/bluetooth.js:109
#: ../js/ui/status/bluetooth.js:108
msgid "Allow"
msgstr "Дазволіць"
#: ../js/ui/status/bluetooth.js:110
#: ../js/ui/status/bluetooth.js:109
msgid "Deny"
msgstr "Адмовіць"
#: ../js/ui/status/bluetooth.js:135
#: ../js/ui/status/bluetooth.js:134
#, c-format
msgid "Device %s wants access to the service '%s'"
msgstr "Прыстасаванне %s хоча даступіцца да паслугі \"%s\""
#: ../js/ui/status/bluetooth.js:137
#: ../js/ui/status/bluetooth.js:136
msgid "Always grant access"
msgstr "Заўсёды даваць дазвол"
#: ../js/ui/status/bluetooth.js:138
#: ../js/ui/status/bluetooth.js:137
msgid "Grant this time only"
msgstr "Даць дазвол аднойчы"
#: ../js/ui/status/bluetooth.js:139
#: ../js/ui/status/bluetooth.js:138
msgid "Reject"
msgstr "Адмовіць"
#. Translators: argument is the device short name
#: ../js/ui/status/bluetooth.js:166
#: ../js/ui/status/bluetooth.js:165
#, c-format
msgid "Pairing confirmation for %s"
msgstr "Пацвярджэнне спарвання з %s"
#: ../js/ui/status/bluetooth.js:173
#: ../js/ui/status/bluetooth.js:172
#, c-format
msgid ""
"Please confirm whether the Passkey '%06d' matches the one on the device."
msgstr "Праверце, ці супадае пароль \"%06d\" з нумарам на прыстасаванні."
#. Translators: this is the verb, not the noun
#: ../js/ui/status/bluetooth.js:176
#: ../js/ui/status/bluetooth.js:175
msgid "Matches"
msgstr "Супадае"
#: ../js/ui/status/bluetooth.js:177
#: ../js/ui/status/bluetooth.js:176
msgid "Does not match"
msgstr "Не супадае"
#: ../js/ui/status/bluetooth.js:196
#: ../js/ui/status/bluetooth.js:195
#, c-format
msgid "Pairing request for %s"
msgstr "Запыт на спарванне з %s"
#: ../js/ui/status/bluetooth.js:204
#: ../js/ui/status/bluetooth.js:203
msgid "Please enter the PIN mentioned on the device."
msgstr "Увядзіце PIN, які паказвае прыстасаванне."
#: ../js/ui/status/bluetooth.js:221
#: ../js/ui/status/bluetooth.js:220
msgid "OK"
msgstr "Добра"
@@ -1434,7 +1428,7 @@ msgstr "Добра"
msgid "Brightness"
msgstr "Яркасць"
#: ../js/ui/status/keyboard.js:403
#: ../js/ui/status/keyboard.js:404
msgid "Show Keyboard Layout"
msgstr "Паказаць раскладку"
@@ -1510,15 +1504,15 @@ msgstr "Уключыць"
msgid "VPN"
msgstr "VPN"
#: ../js/ui/status/network.js:1307
#: ../js/ui/status/network.js:1306
msgid "Network Manager"
msgstr "Сеткавы кіраўнік"
#: ../js/ui/status/network.js:1346
#: ../js/ui/status/network.js:1345
msgid "Connection failed"
msgstr "Не ўдалося злучыцца"
#: ../js/ui/status/network.js:1347
#: ../js/ui/status/network.js:1346
msgid "Activation of network connection failed"
msgstr "Не ўдалося ўключыць сеткавае злучэнне"
@@ -1604,11 +1598,11 @@ msgstr "Увайсці іншым карыстальнікам"
msgid "Unlock Window"
msgstr "Акно блакіравання"
#: ../js/ui/viewSelector.js:104
#: ../js/ui/viewSelector.js:100
msgid "Applications"
msgstr "Праграмы"
#: ../js/ui/viewSelector.js:108
#: ../js/ui/viewSelector.js:104
msgid "Search"
msgstr "Пошук"

168
po/cs.po
View File

@@ -12,16 +12,16 @@ msgstr ""
"Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2013-09-23 13:35+0000\n"
"PO-Revision-Date: 2013-09-24 16:09+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"POT-Creation-Date: 2013-09-06 09:50+0000\n"
"PO-Revision-Date: 2013-08-31 11:54+0100\n"
"Last-Translator: Adam Matoušek <adamatousek@gmail.com>\n"
"Language-Team: Czech <gnome-cs-list@gnome.org>\n"
"Language: cs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Gtranslator 2.91.6\n"
"X-Generator: Poedit 1.5.4\n"
"X-Project-Style: gnome\n"
#: ../data/50-gnome-shell-system.xml.in.h:1
@@ -53,7 +53,6 @@ msgid "GNOME Shell"
msgstr "Prostředí GNOME Shell"
#: ../data/gnome-shell.desktop.in.in.h:2
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
msgid "Window management and application launching"
msgstr "Správa oken a spouštění aplikací"
@@ -66,10 +65,6 @@ msgstr "Předvolby rozšíření GNOME Shell"
msgid "Configure GNOME Shell Extensions"
msgstr "Nastavit rozšíření GNOME Shell"
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
msgid "GNOME Shell (wayland compositor)"
msgstr "GNOME Shell (kompozitor Waylandu)"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr "Povolit přes Alt-F2 vnitřní nástroje určené pro vývojáře a testery"
@@ -265,10 +260,6 @@ msgstr "Pracovní plochy jsou spravovány dynamicky"
msgid "Workspaces only on primary monitor"
msgstr "Pracovní plochy jen na hlavním monitoru"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
msgid "Delay focus changes in mouse mode until the pointer stops moving"
msgstr "Se změnou zaměření v režimu myši čekat na zastavení pohybu ukazatele"
#: ../js/extensionPrefs/main.js:125
#, c-format
msgid "There was an error loading the preferences dialog for %s:"
@@ -284,10 +275,10 @@ msgid "Select an extension to configure using the combobox above."
msgstr ""
"Pomocí rozbalovacího seznamu výše zvolte rozšíření, které chete nastavit."
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:136
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:132
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/bluetooth.js:222 ../js/ui/status/network.js:686
#: ../js/ui/status/bluetooth.js:221 ../js/ui/status/network.js:686
msgid "Cancel"
msgstr "Zrušit"
@@ -326,8 +317,8 @@ msgstr "(např. uživatel nebo %s)"
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:259
#: ../js/ui/components/networkAgent.js:277
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:255
#: ../js/ui/components/networkAgent.js:273
msgid "Username: "
msgstr "Uživatelské jméno: "
@@ -348,42 +339,42 @@ msgstr "Chyba ověření"
msgid "(or swipe finger)"
msgstr "(nebo otiskněte prst)"
#: ../js/misc/util.js:98
#: ../js/misc/util.js:97
msgid "Command not found"
msgstr "Příkaz nenalezen"
#. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer
#: ../js/misc/util.js:131
#: ../js/misc/util.js:130
msgid "Could not parse command:"
msgstr "Nelze analyzovat příkaz:"
#: ../js/misc/util.js:139
#: ../js/misc/util.js:138
#, c-format
msgid "Execution of '%s' failed:"
msgstr "Vykonání „%s“ selhalo:"
#: ../js/ui/appDisplay.js:596
#: ../js/ui/appDisplay.js:573
msgid "Frequently used applications will appear here"
msgstr "Zde se objeví často používané aplikace"
#: ../js/ui/appDisplay.js:712
#: ../js/ui/appDisplay.js:689
msgid "Frequent"
msgstr "Časté"
#: ../js/ui/appDisplay.js:719
#: ../js/ui/appDisplay.js:696
msgid "All"
msgstr "Všechny"
#: ../js/ui/appDisplay.js:1514
#: ../js/ui/appDisplay.js:1487
msgid "New Window"
msgstr "Nové okno"
#: ../js/ui/appDisplay.js:1517 ../js/ui/dash.js:284
#: ../js/ui/appDisplay.js:1490 ../js/ui/dash.js:284
msgid "Remove from Favorites"
msgstr "Odstranit z oblíbených"
#: ../js/ui/appDisplay.js:1518
#: ../js/ui/appDisplay.js:1491
msgid "Add to Favorites"
msgstr "Přidat mezi oblíbené"
@@ -397,8 +388,7 @@ msgstr "%s byl přidán mezi oblíbené."
msgid "%s has been removed from your favorites."
msgstr "%s byl odstraněn z oblíbených."
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:807
#: ../js/ui/status/system.js:325
#: ../js/ui/backgroundMenu.js:19 ../js/ui/status/system.js:325
msgid "Settings"
msgstr "Nastavení"
@@ -584,50 +574,50 @@ msgstr "Otevřít s %s"
msgid "Eject"
msgstr "Vysunout"
#: ../js/ui/components/keyring.js:91 ../js/ui/components/polkitAgent.js:280
#: ../js/ui/components/keyring.js:88 ../js/ui/components/polkitAgent.js:280
msgid "Password:"
msgstr "Heslo:"
#: ../js/ui/components/keyring.js:110
#: ../js/ui/components/keyring.js:107
msgid "Type again:"
msgstr "Napište znovu:"
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:112
#: ../js/ui/components/networkAgent.js:127 ../js/ui/status/network.js:112
#: ../js/ui/status/network.js:275 ../js/ui/status/network.js:689
msgid "Connect"
msgstr "Připojit"
#. Cisco LEAP
#: ../js/ui/components/networkAgent.js:222
#: ../js/ui/components/networkAgent.js:234
#: ../js/ui/components/networkAgent.js:261
#: ../js/ui/components/networkAgent.js:281
#: ../js/ui/components/networkAgent.js:291
#: ../js/ui/components/networkAgent.js:218
#: ../js/ui/components/networkAgent.js:230
#: ../js/ui/components/networkAgent.js:257
#: ../js/ui/components/networkAgent.js:277
#: ../js/ui/components/networkAgent.js:287
msgid "Password: "
msgstr "Heslo: "
#. static WEP
#: ../js/ui/components/networkAgent.js:227
#: ../js/ui/components/networkAgent.js:223
msgid "Key: "
msgstr "Klíč: "
#: ../js/ui/components/networkAgent.js:265
#: ../js/ui/components/networkAgent.js:261
msgid "Identity: "
msgstr "Indentita: "
#: ../js/ui/components/networkAgent.js:267
#: ../js/ui/components/networkAgent.js:263
msgid "Private key password: "
msgstr "Heslo soukromého klíče: "
#: ../js/ui/components/networkAgent.js:279
#: ../js/ui/components/networkAgent.js:275
msgid "Service: "
msgstr "Služba: "
#: ../js/ui/components/networkAgent.js:308
#: ../js/ui/components/networkAgent.js:304
msgid "Authentication required by wireless network"
msgstr "K bezdrátové síti je vyžadováno ověření"
#: ../js/ui/components/networkAgent.js:309
#: ../js/ui/components/networkAgent.js:305
#, c-format
msgid ""
"Passwords or encryption keys are required to access the wireless network "
@@ -636,35 +626,35 @@ msgstr ""
"Pro přístup k bezdrátové síti „%s“ jsou vyžadována hesla nebo šifrovací "
"klíče."
#: ../js/ui/components/networkAgent.js:313
#: ../js/ui/components/networkAgent.js:309
msgid "Wired 802.1X authentication"
msgstr "Ověření drátového připojení 802.1X"
#: ../js/ui/components/networkAgent.js:315
#: ../js/ui/components/networkAgent.js:311
msgid "Network name: "
msgstr "Název sítě: "
#: ../js/ui/components/networkAgent.js:320
#: ../js/ui/components/networkAgent.js:316
msgid "DSL authentication"
msgstr "Ověření DSL"
#: ../js/ui/components/networkAgent.js:327
#: ../js/ui/components/networkAgent.js:323
msgid "PIN code required"
msgstr "Požadován kód PIN"
#: ../js/ui/components/networkAgent.js:328
#: ../js/ui/components/networkAgent.js:324
msgid "PIN code is needed for the mobile broadband device"
msgstr "Pro mobilní širokopásmové zařízení je vyžadován kód PIN"
#: ../js/ui/components/networkAgent.js:329
#: ../js/ui/components/networkAgent.js:325
msgid "PIN: "
msgstr "PIN: "
#: ../js/ui/components/networkAgent.js:335
#: ../js/ui/components/networkAgent.js:331
msgid "Mobile broadband network password"
msgstr "Heslo k mobilní širokopásmové síti"
#: ../js/ui/components/networkAgent.js:336
#: ../js/ui/components/networkAgent.js:332
#, c-format
msgid "A password is required to connect to '%s'."
msgstr "Pro připojení k „%s“ je vyžadováno heslo."
@@ -928,7 +918,7 @@ msgstr "Zobrazit účet"
msgid "Unknown reason"
msgstr "Neznámý důvod"
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:100
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:96
msgid "Windows"
msgstr "Okna"
@@ -1084,7 +1074,7 @@ msgstr "Instalovat"
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "Stáhnout a nainstalovat „%s“ z extensions.gnome.org?"
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:333
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:334
msgid "Keyboard"
msgstr "Klávesnice"
@@ -1160,11 +1150,11 @@ msgstr "Nabídka lišty zpráv"
msgid "No Messages"
msgstr "Žádné zprávy"
#: ../js/ui/messageTray.js:1813
#: ../js/ui/messageTray.js:1812
msgid "Message Tray"
msgstr "Lišta zpráv"
#: ../js/ui/messageTray.js:2788
#: ../js/ui/messageTray.js:2787
msgid "System Information"
msgstr "Informace o systému"
@@ -1197,17 +1187,21 @@ msgstr "Přehled"
msgid "Type to search…"
msgstr "Vyhledávejte psaním…"
#: ../js/ui/panel.js:518
#: ../js/ui/panel.js:516
msgid "Quit"
msgstr "Ukončit"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:570
#: ../js/ui/panel.js:568
msgid "Activities"
msgstr "Činnosti"
#: ../js/ui/panel.js:903
#: ../js/ui/panel.js:805
msgid "Settings Menu"
msgstr "Nabídka Nastavení"
#: ../js/ui/panel.js:901
msgid "Top Bar"
msgstr "Horní lišta"
@@ -1216,7 +1210,7 @@ msgstr "Horní lišta"
#. "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:233
#: ../js/ui/popupMenu.js:226
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
@@ -1246,7 +1240,7 @@ msgstr[2] "%d nových upozornění"
msgid "Lock"
msgstr "Uzamknout"
#: ../js/ui/screenShield.js:704
#: ../js/ui/screenShield.js:703
msgid "GNOME needs to lock the screen"
msgstr "GNOME potřebuje uzamknout obrazovku"
@@ -1257,11 +1251,11 @@ msgstr "GNOME potřebuje uzamknout obrazovku"
#.
#. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
#: ../js/ui/screenShield.js:830 ../js/ui/screenShield.js:1296
msgid "Unable to lock"
msgstr "Nelze uzamknout obrazovku"
#: ../js/ui/screenShield.js:832 ../js/ui/screenShield.js:1298
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
msgid "Lock was blocked by an application"
msgstr "Zamknutí bylo zablokováno některou z aplikací"
@@ -1343,9 +1337,9 @@ msgstr "Styl velkého textu"
#. The Bluetooth menu only appears when Bluetooth is in use,
#. so just statically build it with a "Turn Off" menu item.
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:63
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
#: ../js/ui/status/bluetooth.js:164 ../js/ui/status/bluetooth.js:195
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:62
#: ../js/ui/status/bluetooth.js:99 ../js/ui/status/bluetooth.js:127
#: ../js/ui/status/bluetooth.js:163 ../js/ui/status/bluetooth.js:194
msgid "Bluetooth"
msgstr "Bluetooth"
@@ -1358,7 +1352,7 @@ msgstr "Vypnout"
msgid "Bluetooth Settings"
msgstr "Nastavení Bluetooth"
#: ../js/ui/status/bluetooth.js:58
#: ../js/ui/status/bluetooth.js:57
#, c-format
msgid "%d Connected Device"
msgid_plural "%d Connected Devices"
@@ -1366,73 +1360,73 @@ msgstr[0] "%d připojené zařízení"
msgstr[1] "%d připojená zařízení"
msgstr[2] "%d připojených zařízení"
#: ../js/ui/status/bluetooth.js:101 ../js/ui/status/bluetooth.js:129
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
#, c-format
msgid "Authorization request from %s"
msgstr "Požadavek na autorizaci od %s"
#: ../js/ui/status/bluetooth.js:107 ../js/ui/status/bluetooth.js:172
#: ../js/ui/status/bluetooth.js:203
#: ../js/ui/status/bluetooth.js:106 ../js/ui/status/bluetooth.js:171
#: ../js/ui/status/bluetooth.js:202
#, c-format
msgid "Device %s wants to pair with this computer"
msgstr "Zařízení %s se chce spárovat s tímto počítačem"
#: ../js/ui/status/bluetooth.js:109
#: ../js/ui/status/bluetooth.js:108
msgid "Allow"
msgstr "Povolit"
#: ../js/ui/status/bluetooth.js:110
#: ../js/ui/status/bluetooth.js:109
msgid "Deny"
msgstr "Zamítnout"
#: ../js/ui/status/bluetooth.js:135
#: ../js/ui/status/bluetooth.js:134
#, c-format
msgid "Device %s wants access to the service '%s'"
msgstr "Zařízení %s požaduje přístup ke službě „%s“"
#: ../js/ui/status/bluetooth.js:137
#: ../js/ui/status/bluetooth.js:136
msgid "Always grant access"
msgstr "Vždy udělovat přístup"
#: ../js/ui/status/bluetooth.js:138
#: ../js/ui/status/bluetooth.js:137
msgid "Grant this time only"
msgstr "Udělit pouze tentokrát"
#: ../js/ui/status/bluetooth.js:139
#: ../js/ui/status/bluetooth.js:138
msgid "Reject"
msgstr "Odmítnout"
#. Translators: argument is the device short name
#: ../js/ui/status/bluetooth.js:166
#: ../js/ui/status/bluetooth.js:165
#, c-format
msgid "Pairing confirmation for %s"
msgstr "Potvrzení spárování pro %s"
#: ../js/ui/status/bluetooth.js:173
#: ../js/ui/status/bluetooth.js:172
#, c-format
msgid ""
"Please confirm whether the Passkey '%06d' matches the one on the device."
msgstr "Ověřte prosím, zda klíč „%06d“ odpovídá tomu na zařízení."
#. Translators: this is the verb, not the noun
#: ../js/ui/status/bluetooth.js:176
#: ../js/ui/status/bluetooth.js:175
msgid "Matches"
msgstr "Souhlasí"
#: ../js/ui/status/bluetooth.js:177
#: ../js/ui/status/bluetooth.js:176
msgid "Does not match"
msgstr "Nesouhlasí"
#: ../js/ui/status/bluetooth.js:196
#: ../js/ui/status/bluetooth.js:195
#, c-format
msgid "Pairing request for %s"
msgstr "Požadavek na spárování pro %s"
#: ../js/ui/status/bluetooth.js:204
#: ../js/ui/status/bluetooth.js:203
msgid "Please enter the PIN mentioned on the device."
msgstr "Zadejte prosím PIN, který je uveden na zařízení."
#: ../js/ui/status/bluetooth.js:221
#: ../js/ui/status/bluetooth.js:220
msgid "OK"
msgstr "Budiž"
@@ -1440,7 +1434,7 @@ msgstr "Budiž"
msgid "Brightness"
msgstr "Jas"
#: ../js/ui/status/keyboard.js:403
#: ../js/ui/status/keyboard.js:404
msgid "Show Keyboard Layout"
msgstr "Zobrazit rozložení klávesnice"
@@ -1516,15 +1510,15 @@ msgstr "Zapnout"
msgid "VPN"
msgstr "VPN"
#: ../js/ui/status/network.js:1307
#: ../js/ui/status/network.js:1306
msgid "Network Manager"
msgstr "Network Manager"
#: ../js/ui/status/network.js:1346
#: ../js/ui/status/network.js:1345
msgid "Connection failed"
msgstr "Připojení selhalo"
#: ../js/ui/status/network.js:1347
#: ../js/ui/status/network.js:1346
msgid "Activation of network connection failed"
msgstr "Aktivace síťového připojení selhala"
@@ -1610,11 +1604,11 @@ msgstr "Přihlásit se jako jiný uživatel"
msgid "Unlock Window"
msgstr "Odemykací okno"
#: ../js/ui/viewSelector.js:104
#: ../js/ui/viewSelector.js:100
msgid "Applications"
msgstr "Aplikace"
#: ../js/ui/viewSelector.js:108
#: ../js/ui/viewSelector.js:104
msgid "Search"
msgstr "Hledat"

1473
po/da.po

File diff suppressed because it is too large Load Diff

View File

@@ -20,16 +20,16 @@ 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: 2013-09-12 17:36+0000\n"
"PO-Revision-Date: 2013-09-13 19:29+0100\n"
"Last-Translator: Benjamin Steinwender <b@stbe.at>\n"
"POT-Creation-Date: 2013-09-07 19:18+0000\n"
"PO-Revision-Date: 2013-09-08 00:01+0200\n"
"Last-Translator: Tobias Endrigkeit <tobiasendrigkeit@outlook.com>\n"
"Language-Team: Deutsch <gnome-de@gnome.org>\n"
"Language: de_DE\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 1.5.7\n"
"X-Generator: Gtranslator 2.91.6\n"
#: ../data/50-gnome-shell-system.xml.in.h:1
msgid "System"
@@ -60,7 +60,6 @@ msgid "GNOME Shell"
msgstr "GNOME-Shell"
#: ../data/gnome-shell.desktop.in.in.h:2
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
msgid "Window management and application launching"
msgstr "Fenster verwalten und Anwendungen starten"
@@ -73,10 +72,6 @@ msgstr "Einstellungen für Erweiterungen der GNOME-Shell"
msgid "Configure GNOME Shell Extensions"
msgstr "Erweiterungen der GNOME-Shell einrichten"
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
msgid "GNOME Shell (wayland compositor)"
msgstr "GNOME-Shell (Wayland Composition)"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr "Interne Werkzeuge für Entwickler und Tester mit Alt+F2 aktivieren"
@@ -359,17 +354,17 @@ msgstr "Legitimationsfehler"
msgid "(or swipe finger)"
msgstr "(oder benutzen Sie den Fingerabdruckleser)"
#: ../js/misc/util.js:98
#: ../js/misc/util.js:97
msgid "Command not found"
msgstr "Befehl nicht gefunden"
#. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer
#: ../js/misc/util.js:131
#: ../js/misc/util.js:130
msgid "Could not parse command:"
msgstr "Befehl konnte nicht verarbeitet werden:"
#: ../js/misc/util.js:139
#: ../js/misc/util.js:138
#, c-format
msgid "Execution of '%s' failed:"
msgstr "Ausführung von »%s« ist gescheitert:"
@@ -945,7 +940,7 @@ msgstr "Konto anzeigen"
msgid "Unknown reason"
msgstr "Unbekannter Grund"
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:100
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:96
msgid "Windows"
msgstr "Fenster"
@@ -1093,7 +1088,7 @@ msgstr "Installieren"
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "»%s« von extensions.gnome.org herunterladen und installieren?"
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:333
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:334
msgid "Keyboard"
msgstr "Tastatur"
@@ -1205,21 +1200,21 @@ msgstr "Übersicht"
msgid "Type to search…"
msgstr "Suchbegriff eingeben …"
#: ../js/ui/panel.js:518
#: ../js/ui/panel.js:516
msgid "Quit"
msgstr "Beenden"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:570
#: ../js/ui/panel.js:568
msgid "Activities"
msgstr "Aktivitäten"
#: ../js/ui/panel.js:807
#: ../js/ui/panel.js:805
msgid "Settings Menu"
msgstr "Einstellungsmenü"
#: ../js/ui/panel.js:903
#: ../js/ui/panel.js:901
msgid "Top Bar"
msgstr "Oberes Panel"
@@ -1228,7 +1223,7 @@ msgstr "Oberes Panel"
#. "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:233
#: ../js/ui/popupMenu.js:226
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
@@ -1260,7 +1255,7 @@ msgstr[1] "%d neue Benachrichtigungen"
msgid "Lock"
msgstr "Sperren"
#: ../js/ui/screenShield.js:704
#: ../js/ui/screenShield.js:703
msgid "GNOME needs to lock the screen"
msgstr "GNOME muss den Bildschirm sperren"
@@ -1271,11 +1266,11 @@ msgstr "GNOME muss den Bildschirm sperren"
#.
#. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
#: ../js/ui/screenShield.js:830 ../js/ui/screenShield.js:1296
msgid "Unable to lock"
msgstr "Sperrung fehlgeschlagen"
#: ../js/ui/screenShield.js:832 ../js/ui/screenShield.js:1298
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
msgid "Lock was blocked by an application"
msgstr "Sperrung wurde von einer Anwendung blockiert"
@@ -1454,7 +1449,7 @@ msgstr "OK"
msgid "Brightness"
msgstr "Helligkeit"
#: ../js/ui/status/keyboard.js:403
#: ../js/ui/status/keyboard.js:404
msgid "Show Keyboard Layout"
msgstr "Tastaturbelegung zeigen"
@@ -1624,11 +1619,11 @@ msgstr "Als anderer Benutzer anmelden"
msgid "Unlock Window"
msgstr "Fenster entsperren"
#: ../js/ui/viewSelector.js:104
#: ../js/ui/viewSelector.js:100
msgid "Applications"
msgstr "Anwendungen"
#: ../js/ui/viewSelector.js:108
#: ../js/ui/viewSelector.js:104
msgid "Search"
msgstr "Suchen"

1606
po/el.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

2503
po/eo.po

File diff suppressed because it is too large Load Diff

168
po/es.po
View File

@@ -10,8 +10,8 @@ msgstr ""
"Project-Id-Version: gnome-shell.master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2013-09-23 13:35+0000\n"
"PO-Revision-Date: 2013-09-24 12:34+0200\n"
"POT-Creation-Date: 2013-09-02 19:28+0000\n"
"PO-Revision-Date: 2013-09-03 16:07+0200\n"
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
"Language-Team: Español <gnome-es-list@gnome.org>\n"
"Language: es\n"
@@ -50,7 +50,6 @@ msgid "GNOME Shell"
msgstr "GNOME Shell"
#: ../data/gnome-shell.desktop.in.in.h:2
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
msgid "Window management and application launching"
msgstr "Gestión de ventanas e inicio de aplicaciones"
@@ -63,10 +62,6 @@ msgstr "Preferencias de las extensiones de GNOME Shell"
msgid "Configure GNOME Shell Extensions"
msgstr "Configurar las extensiones de GNOME Shell"
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
msgid "GNOME Shell (wayland compositor)"
msgstr "GNOME Shell (composición wayland)"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr ""
@@ -271,11 +266,6 @@ msgstr "Las áreas de trabajo se gestionan dinámicamente"
msgid "Workspaces only on primary monitor"
msgstr "Áreas de trabajo solo en la pantalla principal"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
msgid "Delay focus changes in mouse mode until the pointer stops moving"
msgstr ""
"Retardo al cambiar el foco del ratón hasta que el puntero deja de moverse"
#: ../js/extensionPrefs/main.js:125
#, c-format
msgid "There was an error loading the preferences dialog for %s:"
@@ -290,10 +280,10 @@ msgid "Select an extension to configure using the combobox above."
msgstr ""
"Seleccione una extensión que configurar usando la caja combinada de arriba."
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:136
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:132
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/bluetooth.js:222 ../js/ui/status/network.js:686
#: ../js/ui/status/bluetooth.js:221 ../js/ui/status/network.js:686
msgid "Cancel"
msgstr "Cancelar"
@@ -332,8 +322,8 @@ msgstr "(ej., usuario o %s)"
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:259
#: ../js/ui/components/networkAgent.js:277
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:255
#: ../js/ui/components/networkAgent.js:273
msgid "Username: "
msgstr "Nombre de usuario:"
@@ -354,42 +344,42 @@ msgstr "Error de autenticación"
msgid "(or swipe finger)"
msgstr "(o pase el dedo)"
#: ../js/misc/util.js:98
#: ../js/misc/util.js:97
msgid "Command not found"
msgstr "Comando no encontrado"
#. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer
#: ../js/misc/util.js:131
#: ../js/misc/util.js:130
msgid "Could not parse command:"
msgstr "No se pudo analizar el comando:"
#: ../js/misc/util.js:139
#: ../js/misc/util.js:138
#, c-format
msgid "Execution of '%s' failed:"
msgstr "Falló la ejecución de «%s»:"
#: ../js/ui/appDisplay.js:596
#: ../js/ui/appDisplay.js:578
msgid "Frequently used applications will appear here"
msgstr "Las aplicaciones usadas frecuentemente aparecerán aquí"
#: ../js/ui/appDisplay.js:712
#: ../js/ui/appDisplay.js:694
msgid "Frequent"
msgstr "Frecuentes"
#: ../js/ui/appDisplay.js:719
#: ../js/ui/appDisplay.js:701
msgid "All"
msgstr "Todas"
#: ../js/ui/appDisplay.js:1514
#: ../js/ui/appDisplay.js:1488
msgid "New Window"
msgstr "Ventana nueva"
#: ../js/ui/appDisplay.js:1517 ../js/ui/dash.js:284
#: ../js/ui/appDisplay.js:1491 ../js/ui/dash.js:284
msgid "Remove from Favorites"
msgstr "Quitar de los favoritos"
#: ../js/ui/appDisplay.js:1518
#: ../js/ui/appDisplay.js:1492
msgid "Add to Favorites"
msgstr "Añadir a los favoritos"
@@ -403,8 +393,7 @@ 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/backgroundMenu.js:19 ../js/ui/panel.js:807
#: ../js/ui/status/system.js:325
#: ../js/ui/backgroundMenu.js:19 ../js/ui/status/system.js:325
msgid "Settings"
msgstr "Configuración"
@@ -590,50 +579,50 @@ msgstr "Abrir con %s"
msgid "Eject"
msgstr "Expulsar"
#: ../js/ui/components/keyring.js:91 ../js/ui/components/polkitAgent.js:280
#: ../js/ui/components/keyring.js:88 ../js/ui/components/polkitAgent.js:280
msgid "Password:"
msgstr "Contraseña:"
#: ../js/ui/components/keyring.js:110
#: ../js/ui/components/keyring.js:107
msgid "Type again:"
msgstr "Escriba de nuevo:"
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:112
#: ../js/ui/components/networkAgent.js:127 ../js/ui/status/network.js:112
#: ../js/ui/status/network.js:275 ../js/ui/status/network.js:689
msgid "Connect"
msgstr "Conectar"
#. Cisco LEAP
#: ../js/ui/components/networkAgent.js:222
#: ../js/ui/components/networkAgent.js:234
#: ../js/ui/components/networkAgent.js:261
#: ../js/ui/components/networkAgent.js:281
#: ../js/ui/components/networkAgent.js:291
#: ../js/ui/components/networkAgent.js:218
#: ../js/ui/components/networkAgent.js:230
#: ../js/ui/components/networkAgent.js:257
#: ../js/ui/components/networkAgent.js:277
#: ../js/ui/components/networkAgent.js:287
msgid "Password: "
msgstr "Contraseña: "
#. static WEP
#: ../js/ui/components/networkAgent.js:227
#: ../js/ui/components/networkAgent.js:223
msgid "Key: "
msgstr "Clave:"
#: ../js/ui/components/networkAgent.js:265
#: ../js/ui/components/networkAgent.js:261
msgid "Identity: "
msgstr "Identidad:"
#: ../js/ui/components/networkAgent.js:267
#: ../js/ui/components/networkAgent.js:263
msgid "Private key password: "
msgstr "Contraseña de la clave privada:"
#: ../js/ui/components/networkAgent.js:279
#: ../js/ui/components/networkAgent.js:275
msgid "Service: "
msgstr "Servicio:"
#: ../js/ui/components/networkAgent.js:308
#: ../js/ui/components/networkAgent.js:304
msgid "Authentication required by wireless network"
msgstr "La red inalámbrica requiere autenticación"
#: ../js/ui/components/networkAgent.js:309
#: ../js/ui/components/networkAgent.js:305
#, c-format
msgid ""
"Passwords or encryption keys are required to access the wireless network '%"
@@ -642,35 +631,35 @@ msgstr ""
"Se necesitan contraseñas o claves de cifrado para acceder a la red "
"inalámbrica «%s»."
#: ../js/ui/components/networkAgent.js:313
#: ../js/ui/components/networkAgent.js:309
msgid "Wired 802.1X authentication"
msgstr "Autenticación 802.1X cableada"
#: ../js/ui/components/networkAgent.js:315
#: ../js/ui/components/networkAgent.js:311
msgid "Network name: "
msgstr "Nombre de la red"
#: ../js/ui/components/networkAgent.js:320
#: ../js/ui/components/networkAgent.js:316
msgid "DSL authentication"
msgstr "Autenticación DSL"
#: ../js/ui/components/networkAgent.js:327
#: ../js/ui/components/networkAgent.js:323
msgid "PIN code required"
msgstr "Código PIN requerido"
#: ../js/ui/components/networkAgent.js:328
#: ../js/ui/components/networkAgent.js:324
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/components/networkAgent.js:329
#: ../js/ui/components/networkAgent.js:325
msgid "PIN: "
msgstr "PIN: "
#: ../js/ui/components/networkAgent.js:335
#: ../js/ui/components/networkAgent.js:331
msgid "Mobile broadband network password"
msgstr "Contraseña de la red de banda ancha móvil"
#: ../js/ui/components/networkAgent.js:336
#: ../js/ui/components/networkAgent.js:332
#, c-format
msgid "A password is required to connect to '%s'."
msgstr "Se requiere una contraseña para conectar a «%s»."
@@ -937,7 +926,7 @@ msgstr "Ver cuenta"
msgid "Unknown reason"
msgstr "Razón desconocida"
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:100
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:96
msgid "Windows"
msgstr "Ventanas"
@@ -1085,7 +1074,7 @@ msgstr "Instalar"
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "¿Descargar e instalar «%s» desde extensions.gnome.org?"
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:333
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:334
msgid "Keyboard"
msgstr "Teclado"
@@ -1161,11 +1150,11 @@ msgstr "Bandeja de menú"
msgid "No Messages"
msgstr "No hay mensajes"
#: ../js/ui/messageTray.js:1813
#: ../js/ui/messageTray.js:1812
msgid "Message Tray"
msgstr "Bandeja de mensajes"
#: ../js/ui/messageTray.js:2788
#: ../js/ui/messageTray.js:2786
msgid "System Information"
msgstr "Información del sistema"
@@ -1197,17 +1186,21 @@ msgstr "Vista general"
msgid "Type to search…"
msgstr "Escribir para buscar…"
#: ../js/ui/panel.js:518
#: ../js/ui/panel.js:516
msgid "Quit"
msgstr "Salir"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:570
#: ../js/ui/panel.js:568
msgid "Activities"
msgstr "Actividades"
#: ../js/ui/panel.js:903
#: ../js/ui/panel.js:805
msgid "Settings Menu"
msgstr "Menú de configuración"
#: ../js/ui/panel.js:892
msgid "Top Bar"
msgstr "Barra superior"
@@ -1216,7 +1209,7 @@ msgstr "Barra superior"
#. "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:233
#: ../js/ui/popupMenu.js:226
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
@@ -1245,7 +1238,7 @@ msgstr[1] "%d notificaciones nuevas"
msgid "Lock"
msgstr "Bloquear"
#: ../js/ui/screenShield.js:704
#: ../js/ui/screenShield.js:703
msgid "GNOME needs to lock the screen"
msgstr "GNOME necesita bloquear la pantalla"
@@ -1256,11 +1249,11 @@ msgstr "GNOME necesita bloquear la pantalla"
#.
#. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
#: ../js/ui/screenShield.js:830 ../js/ui/screenShield.js:1296
msgid "Unable to lock"
msgstr "No se pudo bloquear"
#: ../js/ui/screenShield.js:832 ../js/ui/screenShield.js:1298
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
msgid "Lock was blocked by an application"
msgstr "Una aplicación impidió el bloqueo"
@@ -1342,9 +1335,9 @@ msgstr "Texto grande"
#. The Bluetooth menu only appears when Bluetooth is in use,
#. so just statically build it with a "Turn Off" menu item.
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:63
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
#: ../js/ui/status/bluetooth.js:164 ../js/ui/status/bluetooth.js:195
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:62
#: ../js/ui/status/bluetooth.js:99 ../js/ui/status/bluetooth.js:127
#: ../js/ui/status/bluetooth.js:163 ../js/ui/status/bluetooth.js:194
msgid "Bluetooth"
msgstr "Bluetooth"
@@ -1357,56 +1350,56 @@ msgstr "Apagar"
msgid "Bluetooth Settings"
msgstr "Configuración de Bluetooth"
#: ../js/ui/status/bluetooth.js:58
#: ../js/ui/status/bluetooth.js:57
#, c-format
msgid "%d Connected Device"
msgid_plural "%d Connected Devices"
msgstr[0] "%d dispositivo conectado"
msgstr[1] "%d dispositivos conectados"
#: ../js/ui/status/bluetooth.js:101 ../js/ui/status/bluetooth.js:129
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
#, c-format
msgid "Authorization request from %s"
msgstr "Solicitud de autorización de %s"
#: ../js/ui/status/bluetooth.js:107 ../js/ui/status/bluetooth.js:172
#: ../js/ui/status/bluetooth.js:203
#: ../js/ui/status/bluetooth.js:106 ../js/ui/status/bluetooth.js:171
#: ../js/ui/status/bluetooth.js:202
#, c-format
msgid "Device %s wants to pair with this computer"
msgstr "El dispositivo «%s» quiere emparejarse con este equipo"
#: ../js/ui/status/bluetooth.js:109
#: ../js/ui/status/bluetooth.js:108
msgid "Allow"
msgstr "Permitir"
#: ../js/ui/status/bluetooth.js:110
#: ../js/ui/status/bluetooth.js:109
msgid "Deny"
msgstr "Denegar"
#: ../js/ui/status/bluetooth.js:135
#: ../js/ui/status/bluetooth.js:134
#, c-format
msgid "Device %s wants access to the service '%s'"
msgstr "El dispositivo %s quiere acceder al servicio «%s»"
#: ../js/ui/status/bluetooth.js:137
#: ../js/ui/status/bluetooth.js:136
msgid "Always grant access"
msgstr "Conceder acceso siempre"
#: ../js/ui/status/bluetooth.js:138
#: ../js/ui/status/bluetooth.js:137
msgid "Grant this time only"
msgstr "Conceder sólo esta vez"
#: ../js/ui/status/bluetooth.js:139
#: ../js/ui/status/bluetooth.js:138
msgid "Reject"
msgstr "Rechazar"
#. Translators: argument is the device short name
#: ../js/ui/status/bluetooth.js:166
#: ../js/ui/status/bluetooth.js:165
#, c-format
msgid "Pairing confirmation for %s"
msgstr "Confirmación de emparejamiento para «%s»"
#: ../js/ui/status/bluetooth.js:173
#: ../js/ui/status/bluetooth.js:172
#, c-format
msgid ""
"Please confirm whether the Passkey '%06d' matches the one on the device."
@@ -1414,24 +1407,24 @@ msgstr ""
"Confirme que la clave mostrada en «%06d» coincide con la del dispositivo."
#. Translators: this is the verb, not the noun
#: ../js/ui/status/bluetooth.js:176
#: ../js/ui/status/bluetooth.js:175
msgid "Matches"
msgstr "Coincide"
#: ../js/ui/status/bluetooth.js:177
#: ../js/ui/status/bluetooth.js:176
msgid "Does not match"
msgstr "No coincide"
#: ../js/ui/status/bluetooth.js:196
#: ../js/ui/status/bluetooth.js:195
#, c-format
msgid "Pairing request for %s"
msgstr "Solicitud de emparejamiento para «%s»"
#: ../js/ui/status/bluetooth.js:204
#: ../js/ui/status/bluetooth.js:203
msgid "Please enter the PIN mentioned on the device."
msgstr "Introduzca el PIN mencionado en el dispositivo."
#: ../js/ui/status/bluetooth.js:221
#: ../js/ui/status/bluetooth.js:220
msgid "OK"
msgstr "Aceptar"
@@ -1439,7 +1432,7 @@ msgstr "Aceptar"
msgid "Brightness"
msgstr "Brillo"
#: ../js/ui/status/keyboard.js:403
#: ../js/ui/status/keyboard.js:404
msgid "Show Keyboard Layout"
msgstr "Mostrar la distribución del teclado"
@@ -1515,15 +1508,15 @@ msgstr "Enceder"
msgid "VPN"
msgstr "VPN"
#: ../js/ui/status/network.js:1307
#: ../js/ui/status/network.js:1306
msgid "Network Manager"
msgstr "Gestor de la red"
#: ../js/ui/status/network.js:1346
#: ../js/ui/status/network.js:1345
msgid "Connection failed"
msgstr "Falló la conexión"
#: ../js/ui/status/network.js:1347
#: ../js/ui/status/network.js:1346
msgid "Activation of network connection failed"
msgstr "Falló la activación de la conexión de red"
@@ -1609,11 +1602,11 @@ msgstr "Iniciar sesión como otro usuario"
msgid "Unlock Window"
msgstr "Desbloquear ventana"
#: ../js/ui/viewSelector.js:104
#: ../js/ui/viewSelector.js:100
msgid "Applications"
msgstr "Aplicaciones"
#: ../js/ui/viewSelector.js:108
#: ../js/ui/viewSelector.js:104
msgid "Search"
msgstr "Buscar"
@@ -1719,9 +1712,6 @@ msgstr "La contraseña no puede estar vacía"
msgid "Authentication dialog was dismissed by the user"
msgstr "El usuario rechazó el diálogo de autenticación"
#~ msgid "Settings Menu"
#~ msgstr "Menú de configuración"
#~ msgid ""
#~ "Internally used to store the last IM presence explicitly set by the user. "
#~ "The value here is from the TpConnectionPresenceType enumeration."

832
po/et.po

File diff suppressed because it is too large Load Diff

1493
po/eu.po

File diff suppressed because it is too large Load Diff

1504
po/fr.po

File diff suppressed because it is too large Load Diff

169
po/gl.po
View File

@@ -11,8 +11,8 @@ msgid ""
msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-09-23 22:24+0200\n"
"PO-Revision-Date: 2013-09-23 22:24+0200\n"
"POT-Creation-Date: 2013-09-03 12:56+0200\n"
"PO-Revision-Date: 2013-09-03 12:57+0200\n"
"Last-Translator: Fran Dieguez <frandieguez@gnome.org>\n"
"Language-Team: gnome-l10n-gl@gnome.org\n"
"Language: gl\n"
@@ -52,7 +52,6 @@ msgid "GNOME Shell"
msgstr "GNOME Shell"
#: ../data/gnome-shell.desktop.in.in.h:2
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
msgid "Window management and application launching"
msgstr "Xestor de xanelas e inicio de aplicativos"
@@ -65,10 +64,6 @@ msgstr "Preferencias das extensións de GNOME Shell"
msgid "Configure GNOME Shell Extensions"
msgstr "Configure as extensións de GNOME Shell"
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
msgid "GNOME Shell (wayland compositor)"
msgstr "GNOME Shell (compositor de wayland)"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr ""
@@ -270,10 +265,6 @@ msgstr "Os espazos de traballo xestiónanse dinamicamente"
msgid "Workspaces only on primary monitor"
msgstr "Espazos de traballo só no monitor primario"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
msgid "Delay focus changes in mouse mode until the pointer stops moving"
msgstr "Atrasar os cambios de foco no modo rato até que o punteiro se pare"
#: ../js/extensionPrefs/main.js:125
#, c-format
msgid "There was an error loading the preferences dialog for %s:"
@@ -288,10 +279,10 @@ msgid "Select an extension to configure using the combobox above."
msgstr ""
"Seleccione unha extensión que configurar usando a caixa combinada de arriba."
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:136
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:132
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/bluetooth.js:222 ../js/ui/status/network.js:686
#: ../js/ui/status/bluetooth.js:221 ../js/ui/status/network.js:686
msgid "Cancel"
msgstr "Cancelar"
@@ -330,8 +321,8 @@ msgstr "(p.ex., usuario ou %s)"
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:259
#: ../js/ui/components/networkAgent.js:277
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:255
#: ../js/ui/components/networkAgent.js:273
msgid "Username: "
msgstr "Nome de usuario: "
@@ -352,42 +343,42 @@ msgstr "Erro de autenticación"
msgid "(or swipe finger)"
msgstr "(ou pase o dedo)"
#: ../js/misc/util.js:98
#: ../js/misc/util.js:97
msgid "Command not found"
msgstr "Orde non atopada"
#. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer
#: ../js/misc/util.js:131
#: ../js/misc/util.js:130
msgid "Could not parse command:"
msgstr "Non foi posíbel analizar a orde:"
#: ../js/misc/util.js:139
#: ../js/misc/util.js:138
#, c-format
msgid "Execution of '%s' failed:"
msgstr "Produciuse un fallo na execución de «%s»:"
#: ../js/ui/appDisplay.js:596
#: ../js/ui/appDisplay.js:579
msgid "Frequently used applications will appear here"
msgstr "Os aplicativos usados recentemente aparecerán aquí"
#: ../js/ui/appDisplay.js:712
#: ../js/ui/appDisplay.js:695
msgid "Frequent"
msgstr "Frecuentes"
#: ../js/ui/appDisplay.js:719
#: ../js/ui/appDisplay.js:702
msgid "All"
msgstr "Todos"
#: ../js/ui/appDisplay.js:1514
#: ../js/ui/appDisplay.js:1489
msgid "New Window"
msgstr "Xanela nova"
#: ../js/ui/appDisplay.js:1517 ../js/ui/dash.js:284
#: ../js/ui/appDisplay.js:1492 ../js/ui/dash.js:284
msgid "Remove from Favorites"
msgstr "Retirar dos marcadores"
#: ../js/ui/appDisplay.js:1518
#: ../js/ui/appDisplay.js:1493
msgid "Add to Favorites"
msgstr "Engadir aos favoritos"
@@ -401,8 +392,7 @@ msgstr "%s foi engadido aos seus favoritos."
msgid "%s has been removed from your favorites."
msgstr "%s retirouse dos seus marcadores."
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:807
#: ../js/ui/status/system.js:325
#: ../js/ui/backgroundMenu.js:19 ../js/ui/status/system.js:325
msgid "Settings"
msgstr "Preferencias"
@@ -588,50 +578,50 @@ msgstr "Abrir con %s"
msgid "Eject"
msgstr "Expulsar"
#: ../js/ui/components/keyring.js:91 ../js/ui/components/polkitAgent.js:280
#: ../js/ui/components/keyring.js:88 ../js/ui/components/polkitAgent.js:280
msgid "Password:"
msgstr "Contrasinal:"
#: ../js/ui/components/keyring.js:110
#: ../js/ui/components/keyring.js:107
msgid "Type again:"
msgstr "Escriba de novo:"
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:112
#: ../js/ui/components/networkAgent.js:127 ../js/ui/status/network.js:112
#: ../js/ui/status/network.js:275 ../js/ui/status/network.js:689
msgid "Connect"
msgstr "Conectar"
#. Cisco LEAP
#: ../js/ui/components/networkAgent.js:222
#: ../js/ui/components/networkAgent.js:234
#: ../js/ui/components/networkAgent.js:261
#: ../js/ui/components/networkAgent.js:281
#: ../js/ui/components/networkAgent.js:291
#: ../js/ui/components/networkAgent.js:218
#: ../js/ui/components/networkAgent.js:230
#: ../js/ui/components/networkAgent.js:257
#: ../js/ui/components/networkAgent.js:277
#: ../js/ui/components/networkAgent.js:287
msgid "Password: "
msgstr "Contrasinal: "
#. static WEP
#: ../js/ui/components/networkAgent.js:227
#: ../js/ui/components/networkAgent.js:223
msgid "Key: "
msgstr "Chave: "
#: ../js/ui/components/networkAgent.js:265
#: ../js/ui/components/networkAgent.js:261
msgid "Identity: "
msgstr "Identidade: "
#: ../js/ui/components/networkAgent.js:267
#: ../js/ui/components/networkAgent.js:263
msgid "Private key password: "
msgstr "Contrasinal da chave privada: "
#: ../js/ui/components/networkAgent.js:279
#: ../js/ui/components/networkAgent.js:275
msgid "Service: "
msgstr "Servizo: "
#: ../js/ui/components/networkAgent.js:308
#: ../js/ui/components/networkAgent.js:304
msgid "Authentication required by wireless network"
msgstr "A rede sen fíos require autenticación"
#: ../js/ui/components/networkAgent.js:309
#: ../js/ui/components/networkAgent.js:305
#, c-format
msgid ""
"Passwords or encryption keys are required to access the wireless network "
@@ -640,35 +630,35 @@ msgstr ""
"Requírense contrasinais ou chaves de cifrado para acceder á rede sen fíos "
"'%s'."
#: ../js/ui/components/networkAgent.js:313
#: ../js/ui/components/networkAgent.js:309
msgid "Wired 802.1X authentication"
msgstr "Autenticación con fíos 802.1X"
#: ../js/ui/components/networkAgent.js:315
#: ../js/ui/components/networkAgent.js:311
msgid "Network name: "
msgstr "Nome da rede:"
#: ../js/ui/components/networkAgent.js:320
#: ../js/ui/components/networkAgent.js:316
msgid "DSL authentication"
msgstr "Autenticación DSL"
#: ../js/ui/components/networkAgent.js:327
#: ../js/ui/components/networkAgent.js:323
msgid "PIN code required"
msgstr "Requírese un código PIN"
#: ../js/ui/components/networkAgent.js:328
#: ../js/ui/components/networkAgent.js:324
msgid "PIN code is needed for the mobile broadband device"
msgstr "É necesario un código PIN para o dispositivo de banda larga móbil"
#: ../js/ui/components/networkAgent.js:329
#: ../js/ui/components/networkAgent.js:325
msgid "PIN: "
msgstr "PIN:"
#: ../js/ui/components/networkAgent.js:335
#: ../js/ui/components/networkAgent.js:331
msgid "Mobile broadband network password"
msgstr "Contrasinal da rede de banda larga móbil"
#: ../js/ui/components/networkAgent.js:336
#: ../js/ui/components/networkAgent.js:332
#, c-format
msgid "A password is required to connect to '%s'."
msgstr "Requírese un contrasinal para conectarse a «%s»."
@@ -935,7 +925,7 @@ msgstr "Ver conta"
msgid "Unknown reason"
msgstr "Razón descoñecida"
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:100
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:96
msgid "Windows"
msgstr "Xanelas"
@@ -1083,7 +1073,7 @@ msgstr "Instalar"
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "Desexa descargar e instalar «%s» desde extensions.gnome.org?"
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:333
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:334
msgid "Keyboard"
msgstr "Teclado"
@@ -1159,11 +1149,11 @@ msgstr "Menú da bandexa do sistema"
msgid "No Messages"
msgstr "Non hai mensaxes"
#: ../js/ui/messageTray.js:1813
#: ../js/ui/messageTray.js:1812
msgid "Message Tray"
msgstr "Bandexa de mensaxes"
#: ../js/ui/messageTray.js:2788
#: ../js/ui/messageTray.js:2786
msgid "System Information"
msgstr "Información do sistema"
@@ -1195,17 +1185,21 @@ msgstr "Vista xeral"
msgid "Type to search…"
msgstr "Escriba para buscar…"
#: ../js/ui/panel.js:518
#: ../js/ui/panel.js:516
msgid "Quit"
msgstr "Saír"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:570
#: ../js/ui/panel.js:568
msgid "Activities"
msgstr "Actividades"
#: ../js/ui/panel.js:903
#: ../js/ui/panel.js:805
msgid "Settings Menu"
msgstr "Menú de preferencias"
#: ../js/ui/panel.js:892
msgid "Top Bar"
msgstr "Barra superior"
@@ -1214,7 +1208,7 @@ msgstr "Barra superior"
#. "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:233
#: ../js/ui/popupMenu.js:226
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
@@ -1243,7 +1237,7 @@ msgstr[1] "%d notificacións novas"
msgid "Lock"
msgstr "Bloquear"
#: ../js/ui/screenShield.js:704
#: ../js/ui/screenShield.js:703
msgid "GNOME needs to lock the screen"
msgstr "GNOME precisa bloquear a pantalla"
@@ -1254,11 +1248,11 @@ msgstr "GNOME precisa bloquear a pantalla"
#.
#. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
#: ../js/ui/screenShield.js:830 ../js/ui/screenShield.js:1296
msgid "Unable to lock"
msgstr "Non foi posíbel bloquear"
#: ../js/ui/screenShield.js:832 ../js/ui/screenShield.js:1298
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
msgid "Lock was blocked by an application"
msgstr "Un aplicativo impediu o bloqueo"
@@ -1340,9 +1334,9 @@ msgstr "Texto grande"
#. The Bluetooth menu only appears when Bluetooth is in use,
#. so just statically build it with a "Turn Off" menu item.
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:63
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
#: ../js/ui/status/bluetooth.js:164 ../js/ui/status/bluetooth.js:195
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:62
#: ../js/ui/status/bluetooth.js:99 ../js/ui/status/bluetooth.js:127
#: ../js/ui/status/bluetooth.js:163 ../js/ui/status/bluetooth.js:194
msgid "Bluetooth"
msgstr "Bluetooth"
@@ -1355,56 +1349,56 @@ msgstr "Apagar"
msgid "Bluetooth Settings"
msgstr "Preferencias do Bluetooth"
#: ../js/ui/status/bluetooth.js:58
#: ../js/ui/status/bluetooth.js:57
#, c-format
msgid "%d Connected Device"
msgid_plural "%d Connected Devices"
msgstr[0] "%d dispositivo conectado"
msgstr[1] "%d dispositivos conectados"
#: ../js/ui/status/bluetooth.js:101 ../js/ui/status/bluetooth.js:129
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
#, c-format
msgid "Authorization request from %s"
msgstr "Solicitude de autorización de %s"
#: ../js/ui/status/bluetooth.js:107 ../js/ui/status/bluetooth.js:172
#: ../js/ui/status/bluetooth.js:203
#: ../js/ui/status/bluetooth.js:106 ../js/ui/status/bluetooth.js:171
#: ../js/ui/status/bluetooth.js:202
#, c-format
msgid "Device %s wants to pair with this computer"
msgstr "O dispositivo «%s» quere emparellarse con este equipo"
#: ../js/ui/status/bluetooth.js:109
#: ../js/ui/status/bluetooth.js:108
msgid "Allow"
msgstr "Permitir"
#: ../js/ui/status/bluetooth.js:110
#: ../js/ui/status/bluetooth.js:109
msgid "Deny"
msgstr "Denegar"
#: ../js/ui/status/bluetooth.js:135
#: ../js/ui/status/bluetooth.js:134
#, c-format
msgid "Device %s wants access to the service '%s'"
msgstr "O dispositivo %s quere acceder ao servizo «%s»"
#: ../js/ui/status/bluetooth.js:137
#: ../js/ui/status/bluetooth.js:136
msgid "Always grant access"
msgstr "Conceder acceso sempre"
#: ../js/ui/status/bluetooth.js:138
#: ../js/ui/status/bluetooth.js:137
msgid "Grant this time only"
msgstr "Conceder só esta vez"
#: ../js/ui/status/bluetooth.js:139
#: ../js/ui/status/bluetooth.js:138
msgid "Reject"
msgstr "Rexeitar"
#. Translators: argument is the device short name
#: ../js/ui/status/bluetooth.js:166
#: ../js/ui/status/bluetooth.js:165
#, c-format
msgid "Pairing confirmation for %s"
msgstr "Confirmación de emparellado para «%s»"
#: ../js/ui/status/bluetooth.js:173
#: ../js/ui/status/bluetooth.js:172
#, c-format
msgid ""
"Please confirm whether the Passkey '%06d' matches the one on the device."
@@ -1412,24 +1406,24 @@ msgstr ""
"Confirme que a frase de paso «%06d» coincide coa mostrada no dispositivo."
#. Translators: this is the verb, not the noun
#: ../js/ui/status/bluetooth.js:176
#: ../js/ui/status/bluetooth.js:175
msgid "Matches"
msgstr "Coincide"
#: ../js/ui/status/bluetooth.js:177
#: ../js/ui/status/bluetooth.js:176
msgid "Does not match"
msgstr "Non coincide"
#: ../js/ui/status/bluetooth.js:196
#: ../js/ui/status/bluetooth.js:195
#, c-format
msgid "Pairing request for %s"
msgstr "Solicitude de emparellamento para «%s»"
#: ../js/ui/status/bluetooth.js:204
#: ../js/ui/status/bluetooth.js:203
msgid "Please enter the PIN mentioned on the device."
msgstr "Escriba o PIN mencionado no dispositivo."
#: ../js/ui/status/bluetooth.js:221
#: ../js/ui/status/bluetooth.js:220
msgid "OK"
msgstr "Aceptar"
@@ -1437,7 +1431,7 @@ msgstr "Aceptar"
msgid "Brightness"
msgstr "Brillo"
#: ../js/ui/status/keyboard.js:403
#: ../js/ui/status/keyboard.js:404
msgid "Show Keyboard Layout"
msgstr "Mostrar a distribución do teclado"
@@ -1513,15 +1507,15 @@ msgstr "Activar"
msgid "VPN"
msgstr "VPN"
#: ../js/ui/status/network.js:1307
#: ../js/ui/status/network.js:1306
msgid "Network Manager"
msgstr "Xestor da rede"
#: ../js/ui/status/network.js:1346
#: ../js/ui/status/network.js:1345
msgid "Connection failed"
msgstr "Produciuse un fallo na conexión"
#: ../js/ui/status/network.js:1347
#: ../js/ui/status/network.js:1346
msgid "Activation of network connection failed"
msgstr "Produciuse un fallo na activación da conexión de rede"
@@ -1535,7 +1529,7 @@ msgstr "Preferencias de enerxía"
#: ../js/ui/status/power.js:63
msgid "Fully Charged"
msgstr "Carga completa"
msgstr "Cargado completamente"
#. 0 is reported when UPower does not have enough data
#. to estimate battery life
@@ -1607,11 +1601,11 @@ msgstr "Iniciar sesión como outro usuario"
msgid "Unlock Window"
msgstr "Desbloquear xanela"
#: ../js/ui/viewSelector.js:104
#: ../js/ui/viewSelector.js:100
msgid "Applications"
msgstr "Aplicativos"
#: ../js/ui/viewSelector.js:108
#: ../js/ui/viewSelector.js:104
msgid "Search"
msgstr "Buscar"
@@ -1717,9 +1711,6 @@ msgstr "O contrasinal non pode estar baleiro"
msgid "Authentication dialog was dismissed by the user"
msgstr "O usuario rexeitou o diálogo de autenticación"
#~ msgid "Settings Menu"
#~ msgstr "Menú de preferencias"
#~ msgid "Session"
#~ msgstr "Sesión"

936
po/he.po

File diff suppressed because it is too large Load Diff

879
po/hu.po

File diff suppressed because it is too large Load Diff

165
po/id.po
View File

@@ -10,8 +10,8 @@ msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2013-09-23 13:35+0000\n"
"PO-Revision-Date: 2013-09-23 21:24+0700\n"
"POT-Creation-Date: 2013-09-02 19:28+0000\n"
"PO-Revision-Date: 2013-09-10 13:06+0700\n"
"Last-Translator: Andika Triwidada <andika@gmail.com>\n"
"Language-Team: Indonesian <gnome@i15n.org>\n"
"Language: id\n"
@@ -51,7 +51,6 @@ msgid "GNOME Shell"
msgstr "GNOME Shell"
#: ../data/gnome-shell.desktop.in.in.h:2
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
msgid "Window management and application launching"
msgstr "Manajemen jendela dan peluncuran aplikasi"
@@ -64,10 +63,6 @@ msgstr "Preferensi Ekstensi GNOME Shell"
msgid "Configure GNOME Shell Extensions"
msgstr "Konfigurasi Ekstensi GNOME Shell"
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
msgid "GNOME Shell (wayland compositor)"
msgstr "GNOME Shell (kompositor wayland)"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr ""
@@ -270,11 +265,6 @@ msgstr "Ruang kerja dikelola secara dinamis"
msgid "Workspaces only on primary monitor"
msgstr "Ruang kerja hanya pada monitor primer"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
msgid "Delay focus changes in mouse mode until the pointer stops moving"
msgstr ""
"Tunda perubahan fokus dalam mode tetikus sampai penunjuk berhenti bergerak"
#: ../js/extensionPrefs/main.js:125
#, c-format
msgid "There was an error loading the preferences dialog for %s:"
@@ -288,10 +278,10 @@ msgstr "Ekstensi"
msgid "Select an extension to configure using the combobox above."
msgstr "Pilih ekstensi yang ingin dikonfigurasi pada kotak di atas."
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:136
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:132
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/bluetooth.js:222 ../js/ui/status/network.js:686
#: ../js/ui/status/bluetooth.js:221 ../js/ui/status/network.js:686
msgid "Cancel"
msgstr "Batal"
@@ -330,8 +320,8 @@ msgstr "(cth., pengguna dari %s)"
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:259
#: ../js/ui/components/networkAgent.js:277
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:255
#: ../js/ui/components/networkAgent.js:273
msgid "Username: "
msgstr "Nama pengguna: "
@@ -352,42 +342,42 @@ msgstr "Galat otentikasi"
msgid "(or swipe finger)"
msgstr "(atau gesekkan jari)"
#: ../js/misc/util.js:98
#: ../js/misc/util.js:97
msgid "Command not found"
msgstr "Perintah tidak ditemukan"
#. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer
#: ../js/misc/util.js:131
#: ../js/misc/util.js:130
msgid "Could not parse command:"
msgstr "Tidak dapat mengurai perintah:"
#: ../js/misc/util.js:139
#: ../js/misc/util.js:138
#, c-format
msgid "Execution of '%s' failed:"
msgstr "Eksekusi '%s' gagal:"
#: ../js/ui/appDisplay.js:596
#: ../js/ui/appDisplay.js:578
msgid "Frequently used applications will appear here"
msgstr "Aplikasi yang sering dipakai akan muncul di sini"
#: ../js/ui/appDisplay.js:712
#: ../js/ui/appDisplay.js:694
msgid "Frequent"
msgstr "Sering"
#: ../js/ui/appDisplay.js:719
#: ../js/ui/appDisplay.js:701
msgid "All"
msgstr "Semua"
#: ../js/ui/appDisplay.js:1514
#: ../js/ui/appDisplay.js:1488
msgid "New Window"
msgstr "Jendela Baru"
#: ../js/ui/appDisplay.js:1517 ../js/ui/dash.js:284
#: ../js/ui/appDisplay.js:1491 ../js/ui/dash.js:284
msgid "Remove from Favorites"
msgstr "Hapus dari Favorit"
#: ../js/ui/appDisplay.js:1518
#: ../js/ui/appDisplay.js:1492
msgid "Add to Favorites"
msgstr "Tambah ke Favorit"
@@ -401,8 +391,7 @@ msgstr "%s telah ditambahkan ke favorit Anda."
msgid "%s has been removed from your favorites."
msgstr "%s telah dihapus dari favorit Anda."
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:807
#: ../js/ui/status/system.js:325
#: ../js/ui/backgroundMenu.js:19 ../js/ui/status/system.js:325
msgid "Settings"
msgstr "Pengaturan"
@@ -588,50 +577,50 @@ msgstr "Buka dengan %s"
msgid "Eject"
msgstr "Keluarkan"
#: ../js/ui/components/keyring.js:91 ../js/ui/components/polkitAgent.js:280
#: ../js/ui/components/keyring.js:88 ../js/ui/components/polkitAgent.js:280
msgid "Password:"
msgstr "Sandi:"
#: ../js/ui/components/keyring.js:110
#: ../js/ui/components/keyring.js:107
msgid "Type again:"
msgstr "Ketik lagi:"
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:112
#: ../js/ui/components/networkAgent.js:127 ../js/ui/status/network.js:112
#: ../js/ui/status/network.js:275 ../js/ui/status/network.js:689
msgid "Connect"
msgstr "Sambung"
#. Cisco LEAP
#: ../js/ui/components/networkAgent.js:222
#: ../js/ui/components/networkAgent.js:234
#: ../js/ui/components/networkAgent.js:261
#: ../js/ui/components/networkAgent.js:281
#: ../js/ui/components/networkAgent.js:291
#: ../js/ui/components/networkAgent.js:218
#: ../js/ui/components/networkAgent.js:230
#: ../js/ui/components/networkAgent.js:257
#: ../js/ui/components/networkAgent.js:277
#: ../js/ui/components/networkAgent.js:287
msgid "Password: "
msgstr "Sandi: "
#. static WEP
#: ../js/ui/components/networkAgent.js:227
#: ../js/ui/components/networkAgent.js:223
msgid "Key: "
msgstr "Tombol: "
#: ../js/ui/components/networkAgent.js:265
#: ../js/ui/components/networkAgent.js:261
msgid "Identity: "
msgstr "Identitas: "
#: ../js/ui/components/networkAgent.js:267
#: ../js/ui/components/networkAgent.js:263
msgid "Private key password: "
msgstr "Sandi kunci privat: "
#: ../js/ui/components/networkAgent.js:279
#: ../js/ui/components/networkAgent.js:275
msgid "Service: "
msgstr "Layanan: "
#: ../js/ui/components/networkAgent.js:308
#: ../js/ui/components/networkAgent.js:304
msgid "Authentication required by wireless network"
msgstr "Otentikasi dibutuhkan oleh jaringan nirkabel"
#: ../js/ui/components/networkAgent.js:309
#: ../js/ui/components/networkAgent.js:305
#, c-format
msgid ""
"Passwords or encryption keys are required to access the wireless network "
@@ -640,35 +629,35 @@ msgstr ""
"Sandi atau kunci penyandian diperlukan untuk mengakses jaringan nirkabel "
"'%s'."
#: ../js/ui/components/networkAgent.js:313
#: ../js/ui/components/networkAgent.js:309
msgid "Wired 802.1X authentication"
msgstr "Otentikasi 802.1X kabel"
#: ../js/ui/components/networkAgent.js:315
#: ../js/ui/components/networkAgent.js:311
msgid "Network name: "
msgstr "Nama jaringan: "
#: ../js/ui/components/networkAgent.js:320
#: ../js/ui/components/networkAgent.js:316
msgid "DSL authentication"
msgstr "Otentikasi DSL"
#: ../js/ui/components/networkAgent.js:327
#: ../js/ui/components/networkAgent.js:323
msgid "PIN code required"
msgstr "Perlu kode PIN"
#: ../js/ui/components/networkAgent.js:328
#: ../js/ui/components/networkAgent.js:324
msgid "PIN code is needed for the mobile broadband device"
msgstr "Kode PIN dibutuhkan untuk perangkat data seluler"
#: ../js/ui/components/networkAgent.js:329
#: ../js/ui/components/networkAgent.js:325
msgid "PIN: "
msgstr "PIN: "
#: ../js/ui/components/networkAgent.js:335
#: ../js/ui/components/networkAgent.js:331
msgid "Mobile broadband network password"
msgstr "Sandi jaringan data seluler"
#: ../js/ui/components/networkAgent.js:336
#: ../js/ui/components/networkAgent.js:332
#, c-format
msgid "A password is required to connect to '%s'."
msgstr "Sebuah kata sandi dibutuhkan untuk menyambung ke '%s'."
@@ -933,7 +922,7 @@ msgstr "Tilik akun"
msgid "Unknown reason"
msgstr "Alasan yang tidak diketahui"
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:100
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:96
msgid "Windows"
msgstr "Jendela"
@@ -1074,7 +1063,7 @@ msgstr "Pasang"
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "Unduh dan pasang '%s' dari extensions.gnome.org?"
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:333
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:334
msgid "Keyboard"
msgstr "Papan Ketik"
@@ -1150,11 +1139,11 @@ msgstr "Menu Baki"
msgid "No Messages"
msgstr "Tiada Pesan"
#: ../js/ui/messageTray.js:1813
#: ../js/ui/messageTray.js:1812
msgid "Message Tray"
msgstr "Baki Pesan"
#: ../js/ui/messageTray.js:2788
#: ../js/ui/messageTray.js:2786
msgid "System Information"
msgstr "Informasi Sistem"
@@ -1185,17 +1174,21 @@ msgstr "Gambaran"
msgid "Type to search…"
msgstr "Ketik untuk mencari…"
#: ../js/ui/panel.js:518
#: ../js/ui/panel.js:516
msgid "Quit"
msgstr "Keluar"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:570
#: ../js/ui/panel.js:568
msgid "Activities"
msgstr "Aktivitas"
#: ../js/ui/panel.js:903
#: ../js/ui/panel.js:805
msgid "Settings Menu"
msgstr "Menu Pengaturan"
#: ../js/ui/panel.js:892
msgid "Top Bar"
msgstr "Bar Atas"
@@ -1205,7 +1198,7 @@ msgstr "Bar Atas"
#. "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:233
#: ../js/ui/popupMenu.js:226
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
@@ -1233,7 +1226,7 @@ msgstr[0] "%d pemberitahuan baru"
msgid "Lock"
msgstr "Kunci"
#: ../js/ui/screenShield.js:704
#: ../js/ui/screenShield.js:703
msgid "GNOME needs to lock the screen"
msgstr "GNOME perlu mengunci layar"
@@ -1244,11 +1237,11 @@ msgstr "GNOME perlu mengunci layar"
#.
#. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
#: ../js/ui/screenShield.js:830 ../js/ui/screenShield.js:1296
msgid "Unable to lock"
msgstr "Tak bisa mengunci"
#: ../js/ui/screenShield.js:832 ../js/ui/screenShield.js:1298
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
msgid "Lock was blocked by an application"
msgstr "Kunci diblokir oleh suatu aplikasi"
@@ -1330,9 +1323,9 @@ msgstr "Teks Besar"
#. The Bluetooth menu only appears when Bluetooth is in use,
#. so just statically build it with a "Turn Off" menu item.
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:63
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
#: ../js/ui/status/bluetooth.js:164 ../js/ui/status/bluetooth.js:195
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:62
#: ../js/ui/status/bluetooth.js:99 ../js/ui/status/bluetooth.js:127
#: ../js/ui/status/bluetooth.js:163 ../js/ui/status/bluetooth.js:194
msgid "Bluetooth"
msgstr "Bluetooth"
@@ -1345,55 +1338,55 @@ msgstr "Matikan"
msgid "Bluetooth Settings"
msgstr "Pengaturan Bluetooth"
#: ../js/ui/status/bluetooth.js:58
#: ../js/ui/status/bluetooth.js:57
#, c-format
msgid "%d Connected Device"
msgid_plural "%d Connected Devices"
msgstr[0] "%d Perangkat Tersambung"
#: ../js/ui/status/bluetooth.js:101 ../js/ui/status/bluetooth.js:129
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
#, c-format
msgid "Authorization request from %s"
msgstr "Permintaan otorisasi dari %s"
#: ../js/ui/status/bluetooth.js:107 ../js/ui/status/bluetooth.js:172
#: ../js/ui/status/bluetooth.js:203
#: ../js/ui/status/bluetooth.js:106 ../js/ui/status/bluetooth.js:171
#: ../js/ui/status/bluetooth.js:202
#, c-format
msgid "Device %s wants to pair with this computer"
msgstr "Perangkat %s ingin berpasangan dengan komputer ini"
#: ../js/ui/status/bluetooth.js:109
#: ../js/ui/status/bluetooth.js:108
msgid "Allow"
msgstr "Ijinkan"
#: ../js/ui/status/bluetooth.js:110
#: ../js/ui/status/bluetooth.js:109
msgid "Deny"
msgstr "Tolak"
#: ../js/ui/status/bluetooth.js:135
#: ../js/ui/status/bluetooth.js:134
#, c-format
msgid "Device %s wants access to the service '%s'"
msgstr "Perangkat %s ingin mengakses layanan '%s'"
#: ../js/ui/status/bluetooth.js:137
#: ../js/ui/status/bluetooth.js:136
msgid "Always grant access"
msgstr "Selalu berikan akses"
#: ../js/ui/status/bluetooth.js:138
#: ../js/ui/status/bluetooth.js:137
msgid "Grant this time only"
msgstr "Hanya untuk saat ini"
#: ../js/ui/status/bluetooth.js:139
#: ../js/ui/status/bluetooth.js:138
msgid "Reject"
msgstr "Tolak"
#. Translators: argument is the device short name
#: ../js/ui/status/bluetooth.js:166
#: ../js/ui/status/bluetooth.js:165
#, c-format
msgid "Pairing confirmation for %s"
msgstr "Konfirmasi berpasangan untuk %s"
#: ../js/ui/status/bluetooth.js:173
#: ../js/ui/status/bluetooth.js:172
#, c-format
msgid ""
"Please confirm whether the Passkey '%06d' matches the one on the device."
@@ -1401,24 +1394,24 @@ msgstr ""
"Harap konfirmasi apakah Passkey '%06d' sesuai dengan salah satu perangkat."
#. Translators: this is the verb, not the noun
#: ../js/ui/status/bluetooth.js:176
#: ../js/ui/status/bluetooth.js:175
msgid "Matches"
msgstr "Cocok"
#: ../js/ui/status/bluetooth.js:177
#: ../js/ui/status/bluetooth.js:176
msgid "Does not match"
msgstr "Tidak cocok"
#: ../js/ui/status/bluetooth.js:196
#: ../js/ui/status/bluetooth.js:195
#, c-format
msgid "Pairing request for %s"
msgstr "Permintaan berpasangan untuk %s"
#: ../js/ui/status/bluetooth.js:204
#: ../js/ui/status/bluetooth.js:203
msgid "Please enter the PIN mentioned on the device."
msgstr "Ketikkan PIN yang disebutkan oleh perangkat."
#: ../js/ui/status/bluetooth.js:221
#: ../js/ui/status/bluetooth.js:220
msgid "OK"
msgstr "Oke"
@@ -1426,7 +1419,7 @@ msgstr "Oke"
msgid "Brightness"
msgstr "Kecerahan"
#: ../js/ui/status/keyboard.js:403
#: ../js/ui/status/keyboard.js:404
msgid "Show Keyboard Layout"
msgstr "Tampilkan Tata Letak Papan Tik"
@@ -1502,15 +1495,15 @@ msgstr "Nyalakan"
msgid "VPN"
msgstr "VPN"
#: ../js/ui/status/network.js:1307
#: ../js/ui/status/network.js:1306
msgid "Network Manager"
msgstr "Manajer Jaringan"
#: ../js/ui/status/network.js:1346
#: ../js/ui/status/network.js:1345
msgid "Connection failed"
msgstr "Koneksi gagal"
#: ../js/ui/status/network.js:1347
#: ../js/ui/status/network.js:1346
msgid "Activation of network connection failed"
msgstr "Aktivasi koneksi jaringan gagal"
@@ -1596,11 +1589,11 @@ msgstr "Masuk sebagai pengguna lain"
msgid "Unlock Window"
msgstr "Buka Kunci Jendela"
#: ../js/ui/viewSelector.js:104
#: ../js/ui/viewSelector.js:100
msgid "Applications"
msgstr "Aplikasi"
#: ../js/ui/viewSelector.js:108
#: ../js/ui/viewSelector.js:104
msgid "Search"
msgstr "Cari"

460
po/it.po
View File

@@ -3,30 +3,28 @@
# Copyright (C) 2011, 2012, the Free Software Foundation
# This file is distributed under the same license as the gnome-shell package.
#
# Luca Ferretti <lferrett@gnome.org>, 2010, 2011, 2012, 2013.
# Milo Casagrande <milo@ubuntu.com>, 2009, 2010, 2012, 2013.
# Luca Ferretti <lferrett@gnome.org>, 2010, 2011, 2012, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-09-23 16:21+0200\n"
"PO-Revision-Date: 2013-09-23 16:21+0200\n"
"Last-Translator: Milo Casagrande <milo@ubuntu.com>\n"
"Project-Id-Version: gnome-shell 3.9.x\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2013-09-06 17:26+0000\n"
"PO-Revision-Date: 2013-09-06 22:14+0200\n"
"Last-Translator: Luca Ferretti <lferrett@gnome.org>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-DamnedLies-Scope: partial\n"
"X-Generator: Gtranslator 2.91.6\n"
#: ../data/50-gnome-shell-system.xml.in.h:1
msgid "System"
msgstr ""
"Ritarda il cambio del focus nella modalità mouse finché il puntantore non si "
"ferma"
msgstr "Sistema"
#: ../data/50-gnome-shell-system.xml.in.h:2
msgid "Show the message tray"
@@ -53,7 +51,6 @@ msgid "GNOME Shell"
msgstr "GNOME Shell"
#: ../data/gnome-shell.desktop.in.in.h:2
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
msgid "Window management and application launching"
msgstr "Gestisce finestre e avvia applicazioni"
@@ -66,10 +63,6 @@ msgstr "Preferenze estensioni di GNOME Shell"
msgid "Configure GNOME Shell Extensions"
msgstr "Configura le estensioni di GNOME Shell"
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
msgid "GNOME Shell (wayland compositor)"
msgstr "GNOME Shell (compositor wayland)"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr ""
@@ -275,12 +268,6 @@ msgstr "Spazi di lavoro sono gestiti dinamicamente"
msgid "Workspaces only on primary monitor"
msgstr "Spazi di lavoro solo sul monitor primario"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
msgid "Delay focus changes in mouse mode until the pointer stops moving"
msgstr ""
"Ritarda il cambio del focus nella modalità mouse finché il puntantore non si "
"ferma"
#: ../js/extensionPrefs/main.js:125
#, c-format
msgid "There was an error loading the preferences dialog for %s:"
@@ -297,10 +284,10 @@ msgstr ""
"Selezionare una estensione da configurare usando la casella combinata qui "
"sopra."
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:136
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:132
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/bluetooth.js:222 ../js/ui/status/network.js:686
#: ../js/ui/status/bluetooth.js:221 ../js/ui/status/network.js:686
msgid "Cancel"
msgstr "Annulla"
@@ -339,8 +326,8 @@ msgstr "(p.e. utente o %s)"
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:259
#: ../js/ui/components/networkAgent.js:277
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:255
#: ../js/ui/components/networkAgent.js:273
msgid "Username: "
msgstr "Nome utente: "
@@ -361,42 +348,42 @@ msgstr "Errore di autenticazione"
msgid "(or swipe finger)"
msgstr "(o passare il dito)"
#: ../js/misc/util.js:98
#: ../js/misc/util.js:97
msgid "Command not found"
msgstr "Comando non trovato"
#. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer
#: ../js/misc/util.js:131
#: ../js/misc/util.js:130
msgid "Could not parse command:"
msgstr "Impossibile analizzare il comando:"
#: ../js/misc/util.js:139
#: ../js/misc/util.js:138
#, c-format
msgid "Execution of '%s' failed:"
msgstr "Esecuzione di «%s» non riuscita:"
#: ../js/ui/appDisplay.js:596
#: ../js/ui/appDisplay.js:573
msgid "Frequently used applications will appear here"
msgstr "Qui saranno mostrate le applicazioni usate frequentemente"
#: ../js/ui/appDisplay.js:712
#: ../js/ui/appDisplay.js:689
msgid "Frequent"
msgstr "Frequenti"
#: ../js/ui/appDisplay.js:719
#: ../js/ui/appDisplay.js:696
msgid "All"
msgstr "Tutte"
#: ../js/ui/appDisplay.js:1514
#: ../js/ui/appDisplay.js:1487
msgid "New Window"
msgstr "Nuova finestra"
#: ../js/ui/appDisplay.js:1517 ../js/ui/dash.js:284
#: ../js/ui/appDisplay.js:1490 ../js/ui/dash.js:284
msgid "Remove from Favorites"
msgstr "Rimuovi dai preferiti"
#: ../js/ui/appDisplay.js:1518
#: ../js/ui/appDisplay.js:1491
msgid "Add to Favorites"
msgstr "Aggiungi ai preferiti"
@@ -412,8 +399,7 @@ msgstr "%s è stato aggiunto ai preferiti."
msgid "%s has been removed from your favorites."
msgstr "%s è stato rimosso dai preferiti."
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:807
#: ../js/ui/status/system.js:325
#: ../js/ui/backgroundMenu.js:19 ../js/ui/status/system.js:325
msgid "Settings"
msgstr "Impostazioni"
@@ -442,7 +428,7 @@ msgstr "%H.%M"
#: ../js/ui/calendar.js:77
msgctxt "event list time"
msgid "%l\\u2236%M\\u2009%p"
msgstr "%l.%M\\u2009%p"
msgstr "%l.%M\\u2009%p"
#. Translators: Calendar grid abbreviation for Sunday.
#. *
@@ -599,50 +585,50 @@ msgstr "Apri con %s"
msgid "Eject"
msgstr "Espelli"
#: ../js/ui/components/keyring.js:91 ../js/ui/components/polkitAgent.js:280
#: ../js/ui/components/keyring.js:88 ../js/ui/components/polkitAgent.js:280
msgid "Password:"
msgstr "Password:"
#: ../js/ui/components/keyring.js:110
#: ../js/ui/components/keyring.js:107
msgid "Type again:"
msgstr "Inserire di nuovo:"
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:112
#: ../js/ui/components/networkAgent.js:127 ../js/ui/status/network.js:112
#: ../js/ui/status/network.js:275 ../js/ui/status/network.js:689
msgid "Connect"
msgstr "Connetti"
#. Cisco LEAP
#: ../js/ui/components/networkAgent.js:222
#: ../js/ui/components/networkAgent.js:234
#: ../js/ui/components/networkAgent.js:261
#: ../js/ui/components/networkAgent.js:281
#: ../js/ui/components/networkAgent.js:291
#: ../js/ui/components/networkAgent.js:218
#: ../js/ui/components/networkAgent.js:230
#: ../js/ui/components/networkAgent.js:257
#: ../js/ui/components/networkAgent.js:277
#: ../js/ui/components/networkAgent.js:287
msgid "Password: "
msgstr "Password: "
#. static WEP
#: ../js/ui/components/networkAgent.js:227
#: ../js/ui/components/networkAgent.js:223
msgid "Key: "
msgstr "Chiave: "
#: ../js/ui/components/networkAgent.js:265
#: ../js/ui/components/networkAgent.js:261
msgid "Identity: "
msgstr "Identità: "
#: ../js/ui/components/networkAgent.js:267
#: ../js/ui/components/networkAgent.js:263
msgid "Private key password: "
msgstr "Password chiave privata: "
#: ../js/ui/components/networkAgent.js:279
#: ../js/ui/components/networkAgent.js:275
msgid "Service: "
msgstr "Servizio: "
#: ../js/ui/components/networkAgent.js:308
#: ../js/ui/components/networkAgent.js:304
msgid "Authentication required by wireless network"
msgstr "Richiesta autenticazione dalla rete wireless"
#: ../js/ui/components/networkAgent.js:309
#: ../js/ui/components/networkAgent.js:305
#, c-format
msgid ""
"Passwords or encryption keys are required to access the wireless network "
@@ -651,35 +637,35 @@ msgstr ""
"È richiesta una password o una chiave di cifratura per accedere alla rete "
"wireless «%s»."
#: ../js/ui/components/networkAgent.js:313
#: ../js/ui/components/networkAgent.js:309
msgid "Wired 802.1X authentication"
msgstr "Autenticazione via cavo 802.1X"
#: ../js/ui/components/networkAgent.js:315
#: ../js/ui/components/networkAgent.js:311
msgid "Network name: "
msgstr "Nome rete: "
#: ../js/ui/components/networkAgent.js:320
#: ../js/ui/components/networkAgent.js:316
msgid "DSL authentication"
msgstr "Autenticazione DSL"
#: ../js/ui/components/networkAgent.js:327
#: ../js/ui/components/networkAgent.js:323
msgid "PIN code required"
msgstr "Richiesto codice PIN"
#: ../js/ui/components/networkAgent.js:328
#: ../js/ui/components/networkAgent.js:324
msgid "PIN code is needed for the mobile broadband device"
msgstr "È necessario il codice PIN per il dispositivo mobile"
#: ../js/ui/components/networkAgent.js:329
#: ../js/ui/components/networkAgent.js:325
msgid "PIN: "
msgstr "PIN: "
#: ../js/ui/components/networkAgent.js:335
#: ../js/ui/components/networkAgent.js:331
msgid "Mobile broadband network password"
msgstr "Password rete mobile"
#: ../js/ui/components/networkAgent.js:336
#: ../js/ui/components/networkAgent.js:332
#, c-format
msgid "A password is required to connect to '%s'."
msgstr "È richiesta una password per connettersi a «%s»."
@@ -950,7 +936,7 @@ msgstr "Visualizza account"
msgid "Unknown reason"
msgstr "Motivo sconosciuto"
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:100
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:96
msgid "Windows"
msgstr "Finestre"
@@ -1072,7 +1058,7 @@ msgstr "Riavvia e installa"
#: ../js/ui/endSessionDialog.js:271
msgid "Some applications are busy or have unsaved work."
msgstr "Alcune applicazioni risultano occupate o con lavoro non salvato."
msgstr ""
#: ../js/ui/endSessionDialog.js:277
msgid "Other users are logged in."
@@ -1099,7 +1085,7 @@ msgstr "Installa"
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "Scaricare e installare «%s» da extensions.gnome.org?"
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:333
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:334
msgid "Keyboard"
msgstr "Tastiera"
@@ -1177,11 +1163,11 @@ msgstr "Menu tray"
msgid "No Messages"
msgstr "Nessun messaggio"
#: ../js/ui/messageTray.js:1813
#: ../js/ui/messageTray.js:1812
msgid "Message Tray"
msgstr "Cassetto messaggi"
#: ../js/ui/messageTray.js:2788
#: ../js/ui/messageTray.js:2787
msgid "System Information"
msgstr "Informazione di sistema"
@@ -1213,17 +1199,21 @@ msgstr "Panoramica"
msgid "Type to search…"
msgstr "Digita per cercare…"
#: ../js/ui/panel.js:518
#: ../js/ui/panel.js:516
msgid "Quit"
msgstr "Esci"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:570
#: ../js/ui/panel.js:568
msgid "Activities"
msgstr "Attività"
#: ../js/ui/panel.js:903
#: ../js/ui/panel.js:805
msgid "Settings Menu"
msgstr "Menu impostazioni"
#: ../js/ui/panel.js:901
msgid "Top Bar"
msgstr "Barra superiore"
@@ -1232,7 +1222,7 @@ msgstr "Barra superiore"
#. "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:233
#: ../js/ui/popupMenu.js:226
msgid "toggle-switch-us"
msgstr "toggle-switch-us"
@@ -1261,7 +1251,7 @@ msgstr[1] "%d nuove notifiche"
msgid "Lock"
msgstr "Blocca"
#: ../js/ui/screenShield.js:704
#: ../js/ui/screenShield.js:703
msgid "GNOME needs to lock the screen"
msgstr "GNOME deve bloccare lo schermo"
@@ -1272,11 +1262,11 @@ msgstr "GNOME deve bloccare lo schermo"
#.
#. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
#: ../js/ui/screenShield.js:830 ../js/ui/screenShield.js:1296
msgid "Unable to lock"
msgstr "Impossibile bloccare"
#: ../js/ui/screenShield.js:832 ../js/ui/screenShield.js:1298
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
msgid "Lock was blocked by an application"
msgstr "Il blocco è stato impedito da un'applicazione."
@@ -1359,9 +1349,9 @@ msgstr "Caratteri grandi"
#. The Bluetooth menu only appears when Bluetooth is in use,
#. so just statically build it with a "Turn Off" menu item.
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:63
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
#: ../js/ui/status/bluetooth.js:164 ../js/ui/status/bluetooth.js:195
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:62
#: ../js/ui/status/bluetooth.js:99 ../js/ui/status/bluetooth.js:127
#: ../js/ui/status/bluetooth.js:163 ../js/ui/status/bluetooth.js:194
msgid "Bluetooth"
msgstr "Bluetooth"
@@ -1374,56 +1364,56 @@ msgstr "Spegni"
msgid "Bluetooth Settings"
msgstr "Impostazioni Bluetooth"
#: ../js/ui/status/bluetooth.js:58
#: ../js/ui/status/bluetooth.js:57
#, c-format
msgid "%d Connected Device"
msgid_plural "%d Connected Devices"
msgstr[0] "%d dispositivo connesso"
msgstr[1] "%d dispositivi connessi"
#: ../js/ui/status/bluetooth.js:101 ../js/ui/status/bluetooth.js:129
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
#, c-format
msgid "Authorization request from %s"
msgstr "Richesta autorizzazione da %s"
#: ../js/ui/status/bluetooth.js:107 ../js/ui/status/bluetooth.js:172
#: ../js/ui/status/bluetooth.js:203
#: ../js/ui/status/bluetooth.js:106 ../js/ui/status/bluetooth.js:171
#: ../js/ui/status/bluetooth.js:202
#, c-format
msgid "Device %s wants to pair with this computer"
msgstr "Il dispositivo %s vuole associarsi con questo computer"
#: ../js/ui/status/bluetooth.js:109
#: ../js/ui/status/bluetooth.js:108
msgid "Allow"
msgstr "Consenti"
#: ../js/ui/status/bluetooth.js:110
#: ../js/ui/status/bluetooth.js:109
msgid "Deny"
msgstr "Nega"
#: ../js/ui/status/bluetooth.js:135
#: ../js/ui/status/bluetooth.js:134
#, c-format
msgid "Device %s wants access to the service '%s'"
msgstr "Il dispositivo %s vuole accedere al servizio «%s»"
#: ../js/ui/status/bluetooth.js:137
#: ../js/ui/status/bluetooth.js:136
msgid "Always grant access"
msgstr "Accorda sempre l'accesso"
#: ../js/ui/status/bluetooth.js:138
#: ../js/ui/status/bluetooth.js:137
msgid "Grant this time only"
msgstr "Accorda solo stavolta"
#: ../js/ui/status/bluetooth.js:139
#: ../js/ui/status/bluetooth.js:138
msgid "Reject"
msgstr "Rifiuta"
#. Translators: argument is the device short name
#: ../js/ui/status/bluetooth.js:166
#: ../js/ui/status/bluetooth.js:165
#, c-format
msgid "Pairing confirmation for %s"
msgstr "Conferma associazione per %s"
#: ../js/ui/status/bluetooth.js:173
#: ../js/ui/status/bluetooth.js:172
#, c-format
msgid ""
"Please confirm whether the Passkey '%06d' matches the one on the device."
@@ -1431,24 +1421,24 @@ msgstr ""
"Confermare la corrispondenza del PIN «%06d» con quello sul dispositivo."
#. Translators: this is the verb, not the noun
#: ../js/ui/status/bluetooth.js:176
#: ../js/ui/status/bluetooth.js:175
msgid "Matches"
msgstr "Corrisponde"
#: ../js/ui/status/bluetooth.js:177
#: ../js/ui/status/bluetooth.js:176
msgid "Does not match"
msgstr "Non corrisponde"
#: ../js/ui/status/bluetooth.js:196
#: ../js/ui/status/bluetooth.js:195
#, c-format
msgid "Pairing request for %s"
msgstr "Richiesta di associazione per %s"
#: ../js/ui/status/bluetooth.js:204
#: ../js/ui/status/bluetooth.js:203
msgid "Please enter the PIN mentioned on the device."
msgstr "Inserire il PIN indicato sul dispositivo."
#: ../js/ui/status/bluetooth.js:221
#: ../js/ui/status/bluetooth.js:220
msgid "OK"
msgstr "OK"
@@ -1456,7 +1446,7 @@ msgstr "OK"
msgid "Brightness"
msgstr "Luminosità"
#: ../js/ui/status/keyboard.js:403
#: ../js/ui/status/keyboard.js:404
msgid "Show Keyboard Layout"
msgstr "Mostra disposizione tastiera"
@@ -1533,15 +1523,15 @@ msgstr "Accendi"
msgid "VPN"
msgstr "VPN"
#: ../js/ui/status/network.js:1307
#: ../js/ui/status/network.js:1306
msgid "Network Manager"
msgstr "Gestore reti"
#: ../js/ui/status/network.js:1346
#: ../js/ui/status/network.js:1345
msgid "Connection failed"
msgstr "Connessione non riuscita"
#: ../js/ui/status/network.js:1347
#: ../js/ui/status/network.js:1346
msgid "Activation of network connection failed"
msgstr "Attivazione della connessione di rete non riuscita"
@@ -1568,9 +1558,8 @@ msgstr "In stima…"
#: ../js/ui/status/power.js:77
#, c-format
msgid "%d\\u2236%02d Remaining (%d%%)"
msgstr "%d.%02d rimanente (%d%%)"
msgstr "%d\\u2236%02d rimanente (%d%%)"
# in stile MacOS sarebbe "al pieno" :P
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
#: ../js/ui/status/power.js:82
#, c-format
@@ -1628,11 +1617,11 @@ msgstr "Accedi come altro utente"
msgid "Unlock Window"
msgstr "Sblocca finestra"
#: ../js/ui/viewSelector.js:104
#: ../js/ui/viewSelector.js:100
msgid "Applications"
msgstr "Applicazioni"
#: ../js/ui/viewSelector.js:108
#: ../js/ui/viewSelector.js:104
msgid "Search"
msgstr "Cerca"
@@ -1738,3 +1727,274 @@ msgstr "La password non può essere vuota"
#: ../src/shell-polkit-authentication-agent.c:343
msgid "Authentication dialog was dismissed by the user"
msgstr "Il dialogo di autenticazione è stato annullato dall'utente"
#~ msgid "Screenshots"
#~ msgstr "Schermate"
#~ msgid "Record a screencast"
#~ msgstr "Registra uno screencast"
#~ msgid ""
#~ "Internally used to store the last IM presence explicitly set by the user. "
#~ "The value here is from the TpConnectionPresenceType enumeration."
#~ msgstr ""
#~ "Usato internamente per memorizzare l'ultimo stato di presenza IM "
#~ "impostato esplicitamente dall'utente. Il valore corrisponde alla "
#~ "enumerazione TpConnectionPresenceType."
#~ msgid ""
#~ "Internally used to store the last session presence status for the user. "
#~ "The value here is from the GsmPresenceStatus enumeration."
#~ msgstr ""
#~ "Usato internamente per memorizzare lo stato di presenza dell'ultima "
#~ "sessione per l'utente. Il valore corrisponde alla enumerazione "
#~ "GsmPresenceStatus."
#~ msgid "Keybinding to toggle the screen recorder"
#~ msgstr "Associazione tasti per commutare registrazione schermo"
#~ msgid "Keybinding to start/stop the builtin screen recorder."
#~ msgstr ""
#~ "Associazione di tasti per avviare/fermare il registratore di schermo "
#~ "incorporato."
#~ msgid "Framerate used for recording screencasts."
#~ msgstr "Framerate per la registrazione di screencast."
#~ msgid ""
#~ "The framerate of the resulting screencast recordered by GNOME Shell's "
#~ "screencast recorder in frames-per-second."
#~ msgstr ""
#~ "Il framerate in fotogrammi al secondo dello screencast registrato "
#~ "attraverso il registratore della GNOME Shell."
#~ msgid "The gstreamer pipeline used to encode the screencast"
#~ msgstr "La pipeline di gstreamer utilizzata per codificare lo screencast"
#~ 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 'vp8enc min_quantizer=13 max_quantizer=13 "
#~ "cpu-used=5 deadline=1000000 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 ""
#~ "Imposta la pipeline di GStreamer utilizzata per codificare le "
#~ "registrazioni, seguendo la sintassi di gst-launch. La pipeline dovrebbe "
#~ "presentare un pad sink scollegato dove il video viene effettivamente "
#~ "registrato. Dispone normalmente di un pad sorgente scollegato: l'output "
#~ "da quel pad viene scritto nel file di uscita. La pipeline può comunque "
#~ "gestire autonomamente il proprio output: questo può essere utile per "
#~ "inviare l'output verso un server icecast attraverso shout2send o simili. "
#~ "Quando non impostata o senza alcun valore, viene usata la pipeline "
#~ "predefinita il cui valore è \"min_quantizer=13 max_quantizer=13 cpu-"
#~ "used=5 deadline=1000000 threads=%T ! queue ! webmmux\" e che registra nel "
#~ "formato WEBM usando il codec VP8. %T è usato come un segnaposto per una "
#~ "stima del valore di thread ottimale per il sistema in uso."
#~ msgid "File extension used for storing the screencast"
#~ msgstr "Estensione del file utilizzato per salvare lo screencast"
#~ 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 ""
#~ "Il nome del file degli screencast registrati è un nome unico basato sulla "
#~ "data corrente e utilizza questa estensione. Dovrebbe essere modificato "
#~ "quando si registra utilizzando un diverso formato contenitore."
#~ msgid "Session"
#~ msgstr "Sessione"
#~ msgid "Power"
#~ msgstr "Risparmio energetico"
#~ msgid "Restart"
#~ msgstr "Riavvia"
#~ msgid "Screencast from %d %t"
#~ msgstr "Screencast da %d %t"
# oddio... abbandonare il sistema sembra la nave che affonda... (LF)
#~ msgid "Click Log Out to quit these applications and log out of the system."
#~ msgstr ""
#~ "Fare clic su «Termina sessione» per chiudere queste applicazioni e "
#~ "abbandonare il sistema."
#~ msgid "Logging out of the system."
#~ msgstr "Chiusura della sessione."
#~ msgid "Click Power Off to quit these applications and power off the system."
#~ msgstr ""
#~ "Fare clic su «Spegni» per chiudere queste applicazioni e spegnere il "
#~ "sistema."
#~ msgid "Powering off the system."
#~ msgstr "Spegnimento del sistema."
#~ msgid "Click Restart to quit these applications and restart the system."
#~ msgstr ""
#~ "Fare clic su «Riavvia» per chiudere queste applicazioni e riavviare il "
#~ "sistema."
#~ msgid "Restarting the system."
#~ msgstr "Riavvio del sistema."
#~ msgid "Universal Access Settings"
#~ msgstr "Impostazioni accesso universale"
# su Android è Rilevabile :P
#~ msgid "Visibility"
#~ msgstr "Visibile"
#~ msgid "Send Files to Device…"
#~ msgstr "Invia file al dispositivo…"
#~ msgid "Set Up a New Device…"
#~ msgstr "Imposta un nuovo dispositivo…"
#~ msgid "hardware disabled"
#~ msgstr "hardware disabilitato"
# indica lo stato del device BT, per esempio gli auricolari
# credo sia meglio l'aggettivo che il sostantivo
#~ msgid "Connection"
#~ msgstr "Collegato"
#~ msgid "Send Files…"
#~ msgstr "Invia file…"
#~ msgid "Keyboard Settings"
#~ msgstr "Impostazioni tastiera"
#~ msgid "Mouse Settings"
#~ msgstr "Impostazioni mouse"
#~ msgid "Sound Settings"
#~ msgstr "Impostazioni audio"
#~ msgid "Region & Language Settings"
#~ msgstr "Impostazioni regione e lingua"
#~ msgid "Volume, network, battery"
#~ msgstr "Volume, rete, batteria"
#~ msgid "Wi-Fi"
#~ msgstr "Wi-Fi"
#~ msgid "disabled"
#~ msgstr "disabilitata"
#~ msgid "More…"
#~ msgstr "Altro…"
#~ msgid "Wired"
#~ msgstr "Via cavo"
#~ msgid "Mobile broadband"
#~ msgstr "Banda larga mobile"
#~ msgid "Networking is disabled"
#~ msgstr "Rete disabilitata"
#~ msgid "%d hour remaining"
#~ msgid_plural "%d hours remaining"
#~ msgstr[0] "%d ora rimanente"
#~ msgstr[1] "%d ore rimanenti"
#~ msgid "%d %s %d %s remaining"
#~ msgstr "%d %s e %d %s rimanenti"
#~ msgid "hour"
#~ msgid_plural "hours"
#~ msgstr[0] "ora"
#~ msgstr[1] "ore"
#~ msgid "minute"
#~ msgid_plural "minutes"
#~ msgstr[0] "minuto"
#~ msgstr[1] "minuti"
#~ msgid "%d minute remaining"
#~ msgid_plural "%d minutes remaining"
#~ msgstr[0] "%d minuto rimanente"
#~ msgstr[1] "%d minuti rimanenti"
#~ msgctxt "percent of battery remaining"
#~ msgid "%d%%"
#~ msgstr "%d%%"
#~ msgid "AC Adapter"
#~ msgstr "Alimentatore di corrente"
#~ msgid "Laptop Battery"
#~ msgstr "Batteria del portatile"
#~ msgid "UPS"
#~ msgstr "UPS"
#~ msgid "Monitor"
#~ msgstr "Monitor"
#~ msgid "Mouse"
#~ msgstr "Mouse"
#~ msgid "PDA"
#~ msgstr "PDS"
# c'era una discussione su tp...
#~ msgid "Cell Phone"
#~ msgstr "Cellulare"
#~ msgid "Media Player"
#~ msgstr "Lettore multimediale"
#~ msgid "Tablet"
#~ msgstr "Tablet"
#~ msgid "Computer"
#~ msgstr "Computer"
#~ msgctxt "device"
#~ msgid "Unknown"
#~ msgstr "Sconosciuto"
#~ msgid "Available"
#~ msgstr "Disponibile"
#~ msgid "Busy"
#~ msgstr "Non disponibile"
#~ msgid "Invisible"
#~ msgstr "Invisibile"
#~ msgid "Away"
#~ msgstr "Assente"
#~ msgid "Idle"
#~ msgstr "Inattivo"
#~ msgid "Notifications"
#~ msgstr "Notifiche"
# accorciato, altrimenti non si legge...
#~ msgid "Your chat status will be set to busy"
#~ msgstr "Stato per chat impostato a non disponibile"
#~ 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 ""
#~ "Le notifiche sono ora disabilitate, inclusi i messaggi di chat. Lo stato "
#~ "online è stato modificato in modo che gli altri sappiano che i loro "
#~ "messaggi potrebbero non essere notati."
#~ msgid "Shutting down might cause them to lose unsaved work."
#~ msgstr "L'arresto potrebbe causare la perdita del loro lavoro non salvato."

167
po/ja.po
View File

@@ -13,8 +13,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: 2013-09-23 13:35+0000\n"
"PO-Revision-Date: 2013-09-23 23:30+0900\n"
"POT-Creation-Date: 2013-09-06 21:55+0000\n"
"PO-Revision-Date: 2013-09-07 22:28+0900\n"
"Last-Translator: Jiro Matsuzawa <jmatsuzawa@gnome.org>\n"
"Language-Team: Japanese <gnome-translation@gnome.gr.jp>\n"
"Language: ja\n"
@@ -52,7 +52,6 @@ msgid "GNOME Shell"
msgstr "GNOME Shell"
#: ../data/gnome-shell.desktop.in.in.h:2
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
msgid "Window management and application launching"
msgstr "ウィンドウ管理とアプリケーションの起動"
@@ -65,10 +64,6 @@ msgstr "GNOME Shell 拡張機能設定"
msgid "Configure GNOME Shell Extensions"
msgstr "GNOME Shell 拡張機能の設定を行います"
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
msgid "GNOME Shell (wayland compositor)"
msgstr "GNOME Shell (Wayland コンポジター)"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr "Alt-F2 から開発・テスト用の内部ツールを利用可能にする"
@@ -217,10 +212,6 @@ msgstr "ワークスペースを動的に管理する"
msgid "Workspaces only on primary monitor"
msgstr "プライマリモニターのみワークスペースを切り替える"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
msgid "Delay focus changes in mouse mode until the pointer stops moving"
msgstr "マウスモードにおけるフォーカス遷移をポインターが停止するまで遅延させる"
#: ../js/extensionPrefs/main.js:125
#, c-format
msgid "There was an error loading the preferences dialog for %s:"
@@ -234,10 +225,10 @@ msgstr "拡張機能"
msgid "Select an extension to configure using the combobox above."
msgstr "設定する拡張機能を上部のコンボボックスから選択してください。"
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:136
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:132
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/bluetooth.js:222 ../js/ui/status/network.js:686
#: ../js/ui/status/bluetooth.js:221 ../js/ui/status/network.js:686
msgid "Cancel"
msgstr "キャンセル"
@@ -276,8 +267,8 @@ msgstr "(たとえば、user あるいは %s)"
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:259
#: ../js/ui/components/networkAgent.js:277
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:255
#: ../js/ui/components/networkAgent.js:273
msgid "Username: "
msgstr "ユーザー名: "
@@ -298,42 +289,42 @@ msgstr "認証エラー"
msgid "(or swipe finger)"
msgstr "(あるいは指でスワイプする)"
#: ../js/misc/util.js:98
#: ../js/misc/util.js:97
msgid "Command not found"
msgstr "コマンドが見つかりません"
#. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer
#: ../js/misc/util.js:131
#: ../js/misc/util.js:130
msgid "Could not parse command:"
msgstr "次のコマンドは解析できません:"
#: ../js/misc/util.js:139
#: ../js/misc/util.js:138
#, c-format
msgid "Execution of '%s' failed:"
msgstr "'%s'の実行に失敗しました:"
#: ../js/ui/appDisplay.js:596
#: ../js/ui/appDisplay.js:573
msgid "Frequently used applications will appear here"
msgstr "よく使うアプリケーションがここに表示されます"
#: ../js/ui/appDisplay.js:712
#: ../js/ui/appDisplay.js:689
msgid "Frequent"
msgstr "常用"
#: ../js/ui/appDisplay.js:719
#: ../js/ui/appDisplay.js:696
msgid "All"
msgstr "すべて"
#: ../js/ui/appDisplay.js:1514
#: ../js/ui/appDisplay.js:1491
msgid "New Window"
msgstr "新しいウィンドウで開く"
#: ../js/ui/appDisplay.js:1517 ../js/ui/dash.js:284
#: ../js/ui/appDisplay.js:1494 ../js/ui/dash.js:284
msgid "Remove from Favorites"
msgstr "お気に入りから削除"
#: ../js/ui/appDisplay.js:1518
#: ../js/ui/appDisplay.js:1495
msgid "Add to Favorites"
msgstr "お気に入りに追加"
@@ -347,8 +338,7 @@ msgstr "%s をお気に入りに追加しました。"
msgid "%s has been removed from your favorites."
msgstr "%s をお気に入りから削除しました。"
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:807
#: ../js/ui/status/system.js:325
#: ../js/ui/backgroundMenu.js:19 ../js/ui/status/system.js:325
msgid "Settings"
msgstr "設定"
@@ -534,83 +524,83 @@ msgstr "%s で開く"
msgid "Eject"
msgstr "取り出し"
#: ../js/ui/components/keyring.js:91 ../js/ui/components/polkitAgent.js:280
#: ../js/ui/components/keyring.js:88 ../js/ui/components/polkitAgent.js:280
msgid "Password:"
msgstr "パスワード:"
#: ../js/ui/components/keyring.js:110
#: ../js/ui/components/keyring.js:107
msgid "Type again:"
msgstr "再入力:"
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:112
#: ../js/ui/components/networkAgent.js:127 ../js/ui/status/network.js:112
#: ../js/ui/status/network.js:275 ../js/ui/status/network.js:689
msgid "Connect"
msgstr "接続"
#. Cisco LEAP
#: ../js/ui/components/networkAgent.js:222
#: ../js/ui/components/networkAgent.js:234
#: ../js/ui/components/networkAgent.js:261
#: ../js/ui/components/networkAgent.js:281
#: ../js/ui/components/networkAgent.js:291
#: ../js/ui/components/networkAgent.js:218
#: ../js/ui/components/networkAgent.js:230
#: ../js/ui/components/networkAgent.js:257
#: ../js/ui/components/networkAgent.js:277
#: ../js/ui/components/networkAgent.js:287
msgid "Password: "
msgstr "パスワード: "
#. static WEP
#: ../js/ui/components/networkAgent.js:227
#: ../js/ui/components/networkAgent.js:223
msgid "Key: "
msgstr "キー: "
#: ../js/ui/components/networkAgent.js:265
#: ../js/ui/components/networkAgent.js:261
msgid "Identity: "
msgstr "識別子: "
#: ../js/ui/components/networkAgent.js:267
#: ../js/ui/components/networkAgent.js:263
msgid "Private key password: "
msgstr "プライベートキーパスワード: "
#: ../js/ui/components/networkAgent.js:279
#: ../js/ui/components/networkAgent.js:275
msgid "Service: "
msgstr "サービス: "
#: ../js/ui/components/networkAgent.js:308
#: ../js/ui/components/networkAgent.js:304
msgid "Authentication required by wireless network"
msgstr "無線ネットワークでは認証が要求されます"
#: ../js/ui/components/networkAgent.js:309
#: ../js/ui/components/networkAgent.js:305
#, c-format
msgid "Passwords or encryption keys are required to access the wireless network '%s'."
msgstr "無線ネットワーク '%s' にアクセスするにはパスワードか、または暗号化キーが必要です。"
#: ../js/ui/components/networkAgent.js:313
#: ../js/ui/components/networkAgent.js:309
msgid "Wired 802.1X authentication"
msgstr "有線 802.1X の認証"
#: ../js/ui/components/networkAgent.js:315
#: ../js/ui/components/networkAgent.js:311
msgid "Network name: "
msgstr "ネットワーク名: "
#: ../js/ui/components/networkAgent.js:320
#: ../js/ui/components/networkAgent.js:316
msgid "DSL authentication"
msgstr "DSL 認証"
#: ../js/ui/components/networkAgent.js:327
#: ../js/ui/components/networkAgent.js:323
msgid "PIN code required"
msgstr "PIN コードが必要です"
#: ../js/ui/components/networkAgent.js:328
#: ../js/ui/components/networkAgent.js:324
msgid "PIN code is needed for the mobile broadband device"
msgstr "モバイルブロードバンドデバイスには PIN コードが必要です"
#: ../js/ui/components/networkAgent.js:329
#: ../js/ui/components/networkAgent.js:325
msgid "PIN: "
msgstr "PIN 番号: "
#: ../js/ui/components/networkAgent.js:335
#: ../js/ui/components/networkAgent.js:331
msgid "Mobile broadband network password"
msgstr "モバイルブロードバンドネットワークのパスワード"
#: ../js/ui/components/networkAgent.js:336
#: ../js/ui/components/networkAgent.js:332
#, c-format
msgid "A password is required to connect to '%s'."
msgstr "'%s' への接続にパスワードが必要です。"
@@ -866,7 +856,7 @@ msgstr "アカウントを表示"
msgid "Unknown reason"
msgstr "原因不明"
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:100
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:96
msgid "Windows"
msgstr "ウィンドウ"
@@ -1004,7 +994,7 @@ msgstr "インストール"
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "extensions.gnome.org から '%s' をダウンロードしてインストールしますか?"
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:333
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:334
msgid "Keyboard"
msgstr "キーボード"
@@ -1080,11 +1070,11 @@ msgstr "トレイメニュー"
msgid "No Messages"
msgstr "メッセージなし"
#: ../js/ui/messageTray.js:1813
#: ../js/ui/messageTray.js:1812
msgid "Message Tray"
msgstr "メッセージトレイ"
#: ../js/ui/messageTray.js:2788
#: ../js/ui/messageTray.js:2787
msgid "System Information"
msgstr "システム情報"
@@ -1115,17 +1105,21 @@ msgstr "アクティビティ画面"
msgid "Type to search…"
msgstr "検索ワードを入力…"
#: ../js/ui/panel.js:518
#: ../js/ui/panel.js:516
msgid "Quit"
msgstr "終了"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:570
#: ../js/ui/panel.js:568
msgid "Activities"
msgstr "アクティビティ"
#: ../js/ui/panel.js:903
#: ../js/ui/panel.js:805
msgid "Settings Menu"
msgstr "設定メニュー"
#: ../js/ui/panel.js:901
msgid "Top Bar"
msgstr "トップバー"
@@ -1134,7 +1128,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:233
#: ../js/ui/popupMenu.js:226
msgid "toggle-switch-us"
msgstr "toggle-switch-us"
@@ -1162,7 +1156,7 @@ msgstr[0] "%d 件の新しい通知"
msgid "Lock"
msgstr "ロック"
#: ../js/ui/screenShield.js:704
#: ../js/ui/screenShield.js:703
msgid "GNOME needs to lock the screen"
msgstr "画面をロックする必要があります"
@@ -1173,11 +1167,11 @@ msgstr "画面をロックする必要があります"
#.
#. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
#: ../js/ui/screenShield.js:830 ../js/ui/screenShield.js:1296
msgid "Unable to lock"
msgstr "ロックできません"
#: ../js/ui/screenShield.js:832 ../js/ui/screenShield.js:1298
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
msgid "Lock was blocked by an application"
msgstr "アプリケーションによってロックがブロックされました"
@@ -1259,9 +1253,9 @@ msgstr "大きな文字"
#. The Bluetooth menu only appears when Bluetooth is in use,
#. so just statically build it with a "Turn Off" menu item.
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:63
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
#: ../js/ui/status/bluetooth.js:164 ../js/ui/status/bluetooth.js:195
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:62
#: ../js/ui/status/bluetooth.js:99 ../js/ui/status/bluetooth.js:127
#: ../js/ui/status/bluetooth.js:163 ../js/ui/status/bluetooth.js:194
msgid "Bluetooth"
msgstr "Bluetooth"
@@ -1274,78 +1268,78 @@ msgstr "オフにする"
msgid "Bluetooth Settings"
msgstr "Bluetooth の設定"
#: ../js/ui/status/bluetooth.js:58
#: ../js/ui/status/bluetooth.js:57
#, c-format
msgid "%d Connected Device"
msgid_plural "%d Connected Devices"
msgstr[0] "接続デバイス: %d台"
#: ../js/ui/status/bluetooth.js:101 ../js/ui/status/bluetooth.js:129
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
#, c-format
msgid "Authorization request from %s"
msgstr "%s からアクセス許可の要求"
#: ../js/ui/status/bluetooth.js:107 ../js/ui/status/bluetooth.js:172
#: ../js/ui/status/bluetooth.js:203
#: ../js/ui/status/bluetooth.js:106 ../js/ui/status/bluetooth.js:171
#: ../js/ui/status/bluetooth.js:202
#, c-format
msgid "Device %s wants to pair with this computer"
msgstr "デバイス %s がこのコンピューターとのペアリングを要求しています"
#: ../js/ui/status/bluetooth.js:109
#: ../js/ui/status/bluetooth.js:108
msgid "Allow"
msgstr "許可"
#: ../js/ui/status/bluetooth.js:110
#: ../js/ui/status/bluetooth.js:109
msgid "Deny"
msgstr "拒否"
#: ../js/ui/status/bluetooth.js:135
#: ../js/ui/status/bluetooth.js:134
#, c-format
msgid "Device %s wants access to the service '%s'"
msgstr "デバイス '%s' が サービス '%s' へのアクセスを要求しています"
#: ../js/ui/status/bluetooth.js:137
#: ../js/ui/status/bluetooth.js:136
msgid "Always grant access"
msgstr "許可"
#: ../js/ui/status/bluetooth.js:138
#: ../js/ui/status/bluetooth.js:137
msgid "Grant this time only"
msgstr "今回のみ許可"
#: ../js/ui/status/bluetooth.js:139
#: ../js/ui/status/bluetooth.js:138
msgid "Reject"
msgstr "拒否"
#. Translators: argument is the device short name
#: ../js/ui/status/bluetooth.js:166
#: ../js/ui/status/bluetooth.js:165
#, c-format
msgid "Pairing confirmation for %s"
msgstr "%s からペアリングの確認"
#: ../js/ui/status/bluetooth.js:173
#: ../js/ui/status/bluetooth.js:172
#, c-format
msgid "Please confirm whether the Passkey '%06d' matches the one on the device."
msgstr "'%06d' がデバイスのパスキーと一致しているか確認してください。"
#. Translators: this is the verb, not the noun
#: ../js/ui/status/bluetooth.js:176
#: ../js/ui/status/bluetooth.js:175
msgid "Matches"
msgstr "一致"
#: ../js/ui/status/bluetooth.js:177
#: ../js/ui/status/bluetooth.js:176
msgid "Does not match"
msgstr "不一致"
#: ../js/ui/status/bluetooth.js:196
#: ../js/ui/status/bluetooth.js:195
#, c-format
msgid "Pairing request for %s"
msgstr "%s からペアリングの要求"
#: ../js/ui/status/bluetooth.js:204
#: ../js/ui/status/bluetooth.js:203
msgid "Please enter the PIN mentioned on the device."
msgstr "デバイスの PIN コードを入力してください。"
#: ../js/ui/status/bluetooth.js:221
#: ../js/ui/status/bluetooth.js:220
msgid "OK"
msgstr "OK"
@@ -1353,7 +1347,7 @@ msgstr "OK"
msgid "Brightness"
msgstr "明るさ"
#: ../js/ui/status/keyboard.js:403
#: ../js/ui/status/keyboard.js:404
msgid "Show Keyboard Layout"
msgstr "キーボードレイアウトの表示"
@@ -1429,15 +1423,15 @@ msgstr "オンにする"
msgid "VPN"
msgstr "VPN"
#: ../js/ui/status/network.js:1307
#: ../js/ui/status/network.js:1306
msgid "Network Manager"
msgstr "ネットワークマネージャー"
#: ../js/ui/status/network.js:1346
#: ../js/ui/status/network.js:1345
msgid "Connection failed"
msgstr "接続失敗"
#: ../js/ui/status/network.js:1347
#: ../js/ui/status/network.js:1346
msgid "Activation of network connection failed"
msgstr "ネットワーク接続を有効にできません"
@@ -1523,11 +1517,11 @@ msgstr "他のユーザーでログイン"
msgid "Unlock Window"
msgstr "ロック解除"
#: ../js/ui/viewSelector.js:104
#: ../js/ui/viewSelector.js:100
msgid "Applications"
msgstr "アプリケーション"
#: ../js/ui/viewSelector.js:108
#: ../js/ui/viewSelector.js:104
msgid "Search"
msgstr "検索"
@@ -1628,9 +1622,6 @@ msgstr "パスワードを空白にすることはできません。"
msgid "Authentication dialog was dismissed by the user"
msgstr "認証ダイアログはユーザーに拒否されました"
#~ msgid "Settings Menu"
#~ msgstr "設定メニュー"
#~ msgid "Internally used to store the last IM presence explicitly set by the user. The value here is from the TpConnectionPresenceType enumeration."
#~ msgstr "ユーザーにより明示的に設定された最新の IM プレゼンスを保存するのに内部的に使用されます。ここは TpConnectionPresenceType 列挙型の値になります。"

239
po/kk.po
View File

@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: 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: 2013-09-23 13:35+0000\n"
"PO-Revision-Date: 2013-09-24 06:33+0600\n"
"POT-Creation-Date: 2013-08-30 14:46+0000\n"
"PO-Revision-Date: 2013-08-31 19:43+0600\n"
"Last-Translator: Baurzhan Muftakhidinov <baurthefirst@gmail.com>\n"
"Language-Team: Kazakh <kk_KZ@googlegroups.com>\n"
"Language: kk\n"
@@ -48,7 +48,6 @@ msgid "GNOME Shell"
msgstr "GNOME Shell"
#: ../data/gnome-shell.desktop.in.in.h:2
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
msgid "Window management and application launching"
msgstr "Терезелерді басқару мен қолданбаларды жөнелту"
@@ -61,10 +60,6 @@ msgstr "GNOME Shell кеңейту баптаулары"
msgid "Configure GNOME Shell Extensions"
msgstr "GNOME Shell кеңейтулерін баптау"
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
msgid "GNOME Shell (wayland compositor)"
msgstr "GNOME Shell (wayland үйлестіргіші)"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr ""
@@ -90,10 +85,6 @@ msgid ""
"list. You can also manipulate this list with the EnableExtension and "
"DisableExtension DBus methods on org.gnome.Shell."
msgstr ""
"GNOME Shell кеңейтулерінде uuid қасиеті бар; бұл кілт жүктелетін кеңейтулер "
"тізімін сақтайды. Жүйеге кірген кезде жүктелем дейтін кеңейту осы тізімде "
"болуы тиіс. Бұл тізімді org.gnome.Shell ішіндегі EnableExtension және "
"DisableExtension DBus тәсілдерімен де өзгертуге болады."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:5
msgid "List of desktop file IDs for favorite applications"
@@ -104,8 +95,6 @@ msgid ""
"The applications corresponding to these identifiers will be displayed in the "
"favorites area."
msgstr ""
"Осы анықтағыштарға сәйкес келетін қолданбалар таңдамалылар аймағында "
"көрсетілетін болады."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:7
msgid "List of categories that should be displayed as folders"
@@ -116,8 +105,6 @@ msgid ""
"Each category name in this list will be represented as folder in the "
"application view, rather than being displayed inline in the main view."
msgstr ""
"Бұл тізімдегі әрбір санат аты басты көріністе қатарынан көрсетілудің орнына "
"қолданбалар көрінісінде бума ретінде көрсетіледі."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:9
msgid "History for command (Alt-F2) dialog"
@@ -136,8 +123,6 @@ msgid ""
"This key overrides the automatic hiding of the 'Log out' menuitem in single-"
"user, single-session situations."
msgstr ""
"Бұл кілт бір пайдаланушы, бір сессия бар кезінде 'Жүйеден шығу' "
"мүмкіндігінің автоматты түрде жасыруын алмастырады."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:13
msgid ""
@@ -153,10 +138,6 @@ msgid ""
"'Remember Password' checkbox will be present. This key sets the default "
"state of the checkbox."
msgstr ""
"Қоршам шифрленген құрылғы немесе қашықтағы файлдық жүйе тіркелген кезде "
"парольді сұрайды. Егер парольді болашақтағы қолданулар үшін сақтау керек "
"болса, 'Парольді еске сақтау' жалаушасые орнатыңыз. Бұл кілт жалаушаның "
"бастапқы күйін орнатады."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
msgid "Show the week date in the calendar"
@@ -226,13 +207,10 @@ msgid ""
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
"only' (shows only the application icon) or 'both'."
msgstr ""
"Терезелер ауыстырғышта қалай көрсетілетінін сипаттайды. Мүмкін мәндері "
"'thumbnail-only' (терезенің кіші көрінісі көрсетіледі), 'app-icon-only' (тек "
"қолданба таңбашасы көрсетіледі) немесе 'both' (екеуі де)."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
msgid "Attach modal dialog to the parent window"
msgstr "Модальды сұхбатты аталық терезесіне жалғау"
msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
msgid ""
@@ -256,8 +234,6 @@ msgstr ""
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
msgid "Enable edge tiling when dropping windows on screen edges"
msgstr ""
"Терезелерді экран шеттеріне апарған кезде олардың өлшемдерін өзгертуді іске "
"қосу"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
msgid "Workspaces are managed dynamically"
@@ -267,10 +243,6 @@ msgstr "Жұмыс орындары динамикалы түрде басқар
msgid "Workspaces only on primary monitor"
msgstr "Жұмыс орындар тек біріншілік мониторда"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
msgid "Delay focus changes in mouse mode until the pointer stops moving"
msgstr "Тышқан режиміндегі фокусты ауыстыру курсор тоқтағанша дейін кідірту"
#: ../js/extensionPrefs/main.js:125
#, c-format
msgid "There was an error loading the preferences dialog for %s:"
@@ -284,10 +256,10 @@ msgstr "Кеңейту"
msgid "Select an extension to configure using the combobox above."
msgstr "Жоғарыдағы ашылмалы тізімнен баптау үшін кеңейтуді таңдаңыз."
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:136
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:132
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/bluetooth.js:222 ../js/ui/status/network.js:686
#: ../js/ui/status/bluetooth.js:221 ../js/ui/status/network.js:679
msgid "Cancel"
msgstr "Бас тарту"
@@ -326,8 +298,8 @@ msgstr "(мыс., пайдаланушы не %s)"
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:259
#: ../js/ui/components/networkAgent.js:277
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:255
#: ../js/ui/components/networkAgent.js:273
msgid "Username: "
msgstr "Пайдаланушы аты:"
@@ -348,42 +320,38 @@ msgstr "Аутентификация қатесі"
msgid "(or swipe finger)"
msgstr "(немесе саусағыңызды өткізіңіз)"
#: ../js/misc/util.js:98
#: ../js/misc/util.js:97
msgid "Command not found"
msgstr "Команда табылмады"
#. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer
#: ../js/misc/util.js:131
#: ../js/misc/util.js:130
msgid "Could not parse command:"
msgstr "Команданы талдау мүмкін емес:"
#: ../js/misc/util.js:139
#: ../js/misc/util.js:138
#, c-format
msgid "Execution of '%s' failed:"
msgstr "'%s' жөнелту сәтсіз:"
#: ../js/ui/appDisplay.js:596
msgid "Frequently used applications will appear here"
msgstr "Жиі қолданылатын қолданбалар осында көрінеді"
#: ../js/ui/appDisplay.js:712
#: ../js/ui/appDisplay.js:386
msgid "Frequent"
msgstr "Жиі"
#: ../js/ui/appDisplay.js:719
#: ../js/ui/appDisplay.js:393
msgid "All"
msgstr "Барлық"
#: ../js/ui/appDisplay.js:1514
#: ../js/ui/appDisplay.js:991
msgid "New Window"
msgstr "Жаңа терезе"
#: ../js/ui/appDisplay.js:1517 ../js/ui/dash.js:284
#: ../js/ui/appDisplay.js:994 ../js/ui/dash.js:284
msgid "Remove from Favorites"
msgstr "Таңдамалылардан өшіру"
#: ../js/ui/appDisplay.js:1518
#: ../js/ui/appDisplay.js:995
msgid "Add to Favorites"
msgstr "Таңдамалыларға қосу"
@@ -397,8 +365,7 @@ msgstr "%s таңдамалыларыңызға қосылды."
msgid "%s has been removed from your favorites."
msgstr "%s таңдамалыларыңыздан өшірілді."
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:807
#: ../js/ui/status/system.js:325
#: ../js/ui/backgroundMenu.js:19 ../js/ui/status/system.js:325
msgid "Settings"
msgstr "Баптаулар"
@@ -553,7 +520,7 @@ msgstr "Бүгін"
#: ../js/ui/calendar.js:789
msgid "Tomorrow"
msgstr "Ертең"
msgstr "Ертен"
#: ../js/ui/calendar.js:800
msgid "This week"
@@ -584,85 +551,85 @@ msgstr "%s көмегімен ашу"
msgid "Eject"
msgstr "Шығару"
#: ../js/ui/components/keyring.js:91 ../js/ui/components/polkitAgent.js:280
#: ../js/ui/components/keyring.js:88 ../js/ui/components/polkitAgent.js:280
msgid "Password:"
msgstr "Пароль:"
#: ../js/ui/components/keyring.js:110
#: ../js/ui/components/keyring.js:107
msgid "Type again:"
msgstr "Қайтадан енгізіңіз:"
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:112
#: ../js/ui/status/network.js:275 ../js/ui/status/network.js:689
#: ../js/ui/components/networkAgent.js:127 ../js/ui/status/network.js:112
#: ../js/ui/status/network.js:268 ../js/ui/status/network.js:682
msgid "Connect"
msgstr "Байланысу"
#. Cisco LEAP
#: ../js/ui/components/networkAgent.js:222
#: ../js/ui/components/networkAgent.js:234
#: ../js/ui/components/networkAgent.js:261
#: ../js/ui/components/networkAgent.js:281
#: ../js/ui/components/networkAgent.js:291
#: ../js/ui/components/networkAgent.js:218
#: ../js/ui/components/networkAgent.js:230
#: ../js/ui/components/networkAgent.js:257
#: ../js/ui/components/networkAgent.js:277
#: ../js/ui/components/networkAgent.js:287
msgid "Password: "
msgstr "Пароль:"
#. static WEP
#: ../js/ui/components/networkAgent.js:227
#: ../js/ui/components/networkAgent.js:223
msgid "Key: "
msgstr "Кілт:"
#: ../js/ui/components/networkAgent.js:265
#: ../js/ui/components/networkAgent.js:261
msgid "Identity: "
msgstr "Анықтағыш:"
msgstr ""
#: ../js/ui/components/networkAgent.js:267
#: ../js/ui/components/networkAgent.js:263
msgid "Private key password: "
msgstr "Жеке кілт паролі:"
#: ../js/ui/components/networkAgent.js:279
#: ../js/ui/components/networkAgent.js:275
msgid "Service: "
msgstr "Қызмет:"
#: ../js/ui/components/networkAgent.js:308
#: ../js/ui/components/networkAgent.js:304
msgid "Authentication required by wireless network"
msgstr "Сымсыз желісі аутентификацияны талап етеді"
#: ../js/ui/components/networkAgent.js:309
#: ../js/ui/components/networkAgent.js:305
#, c-format
msgid ""
"Passwords or encryption keys are required to access the wireless network "
"'%s'."
msgstr "'%s' сымсыз желісіне қатынау үшін парольдер не шифрлеу кілттері керек."
#: ../js/ui/components/networkAgent.js:313
#: ../js/ui/components/networkAgent.js:309
msgid "Wired 802.1X authentication"
msgstr "Сымды 802.1X аутентификациясы"
#: ../js/ui/components/networkAgent.js:315
#: ../js/ui/components/networkAgent.js:311
msgid "Network name: "
msgstr "Желі аты:"
#: ../js/ui/components/networkAgent.js:320
#: ../js/ui/components/networkAgent.js:316
msgid "DSL authentication"
msgstr "DSL аутентификациясы"
#: ../js/ui/components/networkAgent.js:327
#: ../js/ui/components/networkAgent.js:323
msgid "PIN code required"
msgstr "PIN коды керек"
#: ../js/ui/components/networkAgent.js:328
#: ../js/ui/components/networkAgent.js:324
msgid "PIN code is needed for the mobile broadband device"
msgstr "Сымсыз кеңжолақты құрылғы үшін PIN коды керек"
#: ../js/ui/components/networkAgent.js:329
#: ../js/ui/components/networkAgent.js:325
msgid "PIN: "
msgstr "PIN: "
#: ../js/ui/components/networkAgent.js:335
#: ../js/ui/components/networkAgent.js:331
msgid "Mobile broadband network password"
msgstr "Сымсыз кеңжолақты желісінің паролі"
#: ../js/ui/components/networkAgent.js:336
#: ../js/ui/components/networkAgent.js:332
#, c-format
msgid "A password is required to connect to '%s'."
msgstr "'%s' үшін байланысты орнату үшін пароль керек."
@@ -926,7 +893,7 @@ msgstr "Тіркелгіні қарап шығу"
msgid "Unknown reason"
msgstr "Себебі белгісіз"
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:100
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:96
msgid "Windows"
msgstr "Терезелер"
@@ -936,7 +903,7 @@ msgstr "Қолданбаларды көрсету"
#. Translators: this is the name of the dock/favorites area on
#. the left of the overview
#: ../js/ui/dash.js:442
#: ../js/ui/dash.js:439
msgid "Dash"
msgstr "Dash"
@@ -1020,12 +987,15 @@ msgid_plural "The system will restart automatically in %d seconds."
msgstr[0] "Жүйе %d секундтан кейін автоматты түрде қайта қосылады."
#: ../js/ui/endSessionDialog.js:112
#| msgid "Install Updates & Restart"
msgctxt "title"
msgid "Restart & Install Updates"
msgstr "Қайта қосу және жаңартуларды орнату"
#: ../js/ui/endSessionDialog.js:114
#, c-format
#| msgid "The system will restart automatically in %d second."
#| msgid_plural "The system will restart automatically in %d seconds."
msgid "The system will automatically restart and install updates in %d second."
msgid_plural ""
"The system will automatically restart and install updates in %d seconds."
@@ -1067,7 +1037,7 @@ msgstr "Орнату"
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "extensions.gnome.org адресінен '%s' жүктеп алып, орнату керек пе?"
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:333
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:334
msgid "Keyboard"
msgstr "Пернетақта"
@@ -1143,11 +1113,11 @@ msgstr "Трей мәзірі"
msgid "No Messages"
msgstr "Хабарламалар жоқ"
#: ../js/ui/messageTray.js:1813
#: ../js/ui/messageTray.js:1812
msgid "Message Tray"
msgstr "Жүйелік трей"
#: ../js/ui/messageTray.js:2788
#: ../js/ui/messageTray.js:2786
msgid "System Information"
msgstr "Жүйелік ақпарат"
@@ -1178,17 +1148,21 @@ msgstr "Шолу"
msgid "Type to search…"
msgstr "Іздеу үшін теріңіз..."
#: ../js/ui/panel.js:518
#: ../js/ui/panel.js:516
msgid "Quit"
msgstr "Шығу"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:570
#: ../js/ui/panel.js:568
msgid "Activities"
msgstr "Көрініс"
#: ../js/ui/panel.js:903
#: ../js/ui/panel.js:805
msgid "Settings Menu"
msgstr "Баптаулар мәзірі"
#: ../js/ui/panel.js:892
msgid "Top Bar"
msgstr "Үстідегі панель"
@@ -1197,7 +1171,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:233
#: ../js/ui/popupMenu.js:226
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
@@ -1225,7 +1199,7 @@ msgstr[0] "%d жаңа ескерту"
msgid "Lock"
msgstr "Блоктау"
#: ../js/ui/screenShield.js:704
#: ../js/ui/screenShield.js:703
msgid "GNOME needs to lock the screen"
msgstr "GNOME экранды блоктау керек"
@@ -1236,19 +1210,19 @@ msgstr "GNOME экранды блоктау керек"
#.
#. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
#: ../js/ui/screenShield.js:830 ../js/ui/screenShield.js:1296
msgid "Unable to lock"
msgstr "Блоктау мүмкін емес"
#: ../js/ui/screenShield.js:832 ../js/ui/screenShield.js:1298
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
msgid "Lock was blocked by an application"
msgstr "Блоктауды басқа қолданба болдырмады"
#: ../js/ui/searchDisplay.js:447
#: ../js/ui/searchDisplay.js:445
msgid "Searching…"
msgstr "Іздеу..."
#: ../js/ui/searchDisplay.js:491
#: ../js/ui/searchDisplay.js:489
msgid "No results."
msgstr "Нәтижелер жоқ."
@@ -1322,14 +1296,14 @@ msgstr "Үлкен мәтін"
#. The Bluetooth menu only appears when Bluetooth is in use,
#. so just statically build it with a "Turn Off" menu item.
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:63
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
#: ../js/ui/status/bluetooth.js:164 ../js/ui/status/bluetooth.js:195
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:62
#: ../js/ui/status/bluetooth.js:99 ../js/ui/status/bluetooth.js:127
#: ../js/ui/status/bluetooth.js:163 ../js/ui/status/bluetooth.js:194
msgid "Bluetooth"
msgstr "Bluetooth"
#: ../js/ui/status/bluetooth.js:30 ../js/ui/status/network.js:112
#: ../js/ui/status/network.js:1034 ../js/ui/status/rfkill.js:46
#: ../js/ui/status/network.js:1027 ../js/ui/status/rfkill.js:46
msgid "Turn Off"
msgstr "Сөндіру"
@@ -1337,79 +1311,79 @@ msgstr "Сөндіру"
msgid "Bluetooth Settings"
msgstr "Bluetooth баптаулары"
#: ../js/ui/status/bluetooth.js:58
#: ../js/ui/status/bluetooth.js:57
#, c-format
msgid "%d Connected Device"
msgid_plural "%d Connected Devices"
msgstr[0] "%d байланысқан құрылғы"
#: ../js/ui/status/bluetooth.js:101 ../js/ui/status/bluetooth.js:129
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
#, c-format
msgid "Authorization request from %s"
msgstr "%s жіберген авторизация сұранымы"
#: ../js/ui/status/bluetooth.js:107 ../js/ui/status/bluetooth.js:172
#: ../js/ui/status/bluetooth.js:203
#: ../js/ui/status/bluetooth.js:106 ../js/ui/status/bluetooth.js:171
#: ../js/ui/status/bluetooth.js:202
#, c-format
msgid "Device %s wants to pair with this computer"
msgstr "%s құрылғысы бұл компьютермен пар болғысы кеп тұр"
#: ../js/ui/status/bluetooth.js:109
#: ../js/ui/status/bluetooth.js:108
msgid "Allow"
msgstr "Рұқсат ету"
#: ../js/ui/status/bluetooth.js:110
#: ../js/ui/status/bluetooth.js:109
msgid "Deny"
msgstr "Тайдыру"
#: ../js/ui/status/bluetooth.js:135
#: ../js/ui/status/bluetooth.js:134
#, c-format
msgid "Device %s wants access to the service '%s'"
msgstr "%s құрылғысы '%s' қызметін қатынағысы кеп тұр"
#: ../js/ui/status/bluetooth.js:137
#: ../js/ui/status/bluetooth.js:136
msgid "Always grant access"
msgstr "Әрқашан рұқсат ету"
#: ../js/ui/status/bluetooth.js:138
#: ../js/ui/status/bluetooth.js:137
msgid "Grant this time only"
msgstr "Тек осы ретке рұқсат ету"
#: ../js/ui/status/bluetooth.js:139
#: ../js/ui/status/bluetooth.js:138
msgid "Reject"
msgstr "Болдырмау"
#. Translators: argument is the device short name
#: ../js/ui/status/bluetooth.js:166
#: ../js/ui/status/bluetooth.js:165
#, c-format
msgid "Pairing confirmation for %s"
msgstr "%s жіберген парлау растауы"
#: ../js/ui/status/bluetooth.js:173
#: ../js/ui/status/bluetooth.js:172
#, c-format
msgid ""
"Please confirm whether the Passkey '%06d' matches the one on the device."
msgstr "'%06d' кілт коды құрылғыдағы кодымен сәйкес келетінін растаңыз."
#. Translators: this is the verb, not the noun
#: ../js/ui/status/bluetooth.js:176
#: ../js/ui/status/bluetooth.js:175
msgid "Matches"
msgstr "Сәйкес"
#: ../js/ui/status/bluetooth.js:177
#: ../js/ui/status/bluetooth.js:176
msgid "Does not match"
msgstr "Сәйкес емес"
#: ../js/ui/status/bluetooth.js:196
#: ../js/ui/status/bluetooth.js:195
#, c-format
msgid "Pairing request for %s"
msgstr "%s үшін парлау сұранымы"
#: ../js/ui/status/bluetooth.js:204
#: ../js/ui/status/bluetooth.js:203
msgid "Please enter the PIN mentioned on the device."
msgstr "Құрылғыда көрсетілген PIN кодын енгізіңіз."
#: ../js/ui/status/bluetooth.js:221
#: ../js/ui/status/bluetooth.js:220
msgid "OK"
msgstr "ОК"
@@ -1417,7 +1391,7 @@ msgstr "ОК"
msgid "Brightness"
msgstr "Жарықтылығы"
#: ../js/ui/status/keyboard.js:403
#: ../js/ui/status/keyboard.js:404
msgid "Show Keyboard Layout"
msgstr "Пернетақта жаймасын көрсету"
@@ -1425,83 +1399,83 @@ msgstr "Пернетақта жаймасын көрсету"
msgid "<unknown>"
msgstr "<белгісіз>"
#: ../js/ui/status/network.js:203 ../js/ui/status/network.js:1049
#: ../js/ui/status/network.js:196 ../js/ui/status/network.js:1042
msgid "Off"
msgstr "Сөнд."
#: ../js/ui/status/network.js:276 ../js/ui/status/network.js:955
#: ../js/ui/status/network.js:269 ../js/ui/status/network.js:948
#: ../js/ui/status/rfkill.js:49
msgid "Network Settings"
msgstr "Желі баптаулары"
#. Translators: this is for network devices that are physically present but are not
#. under NetworkManager's control (and thus cannot be used in the menu)
#: ../js/ui/status/network.js:364
#: ../js/ui/status/network.js:357
msgid "unmanaged"
msgstr "басқарылмайтын"
#: ../js/ui/status/network.js:366
#: ../js/ui/status/network.js:359
msgid "disconnecting..."
msgstr "байланысты үзу..."
#: ../js/ui/status/network.js:372 ../js/ui/status/network.js:1100
#: ../js/ui/status/network.js:365 ../js/ui/status/network.js:1093
msgid "connecting..."
msgstr "байланысты орнату..."
#. Translators: this is for network connections that require some kind of key or password
#: ../js/ui/status/network.js:375 ../js/ui/status/network.js:1103
#: ../js/ui/status/network.js:368 ../js/ui/status/network.js:1096
msgid "authentication required"
msgstr "аутентификация керек"
#. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing
#: ../js/ui/status/network.js:383
#: ../js/ui/status/network.js:376
msgid "firmware missing"
msgstr "бинарлы кодтары жоқ"
#. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage
#: ../js/ui/status/network.js:387
#: ../js/ui/status/network.js:380
msgid "unavailable"
msgstr "қолжетерсіз"
#: ../js/ui/status/network.js:389 ../js/ui/status/network.js:1105
#: ../js/ui/status/network.js:382 ../js/ui/status/network.js:1098
msgid "connection failed"
msgstr "байланысты орнату сәтсіз"
#: ../js/ui/status/network.js:654
#: ../js/ui/status/network.js:647
msgid "Wi-Fi Networks"
msgstr "Wi-Fi желілері"
#: ../js/ui/status/network.js:656
#: ../js/ui/status/network.js:649
msgid "Select a network"
msgstr "Желіні таңдаңыз"
#: ../js/ui/status/network.js:680
#: ../js/ui/status/network.js:673
msgid "No Networks"
msgstr "Желілер жоқ"
#: ../js/ui/status/network.js:949
#: ../js/ui/status/network.js:942
msgid "Select Network"
msgstr "Желіні таңдаңыз"
#: ../js/ui/status/network.js:1034
#: ../js/ui/status/network.js:1027
msgid "Turn On"
msgstr "Іске қосу"
#: ../js/ui/status/network.js:1167
#: ../js/ui/status/network.js:1160
msgid "VPN"
msgstr "VPN"
#: ../js/ui/status/network.js:1307
#: ../js/ui/status/network.js:1299
msgid "Network Manager"
msgstr "Желілер басқарушысы"
#: ../js/ui/status/network.js:1346
#: ../js/ui/status/network.js:1338
msgid "Connection failed"
msgstr "Байланыс орнату сәтсіз"
#: ../js/ui/status/network.js:1347
#: ../js/ui/status/network.js:1339
msgid "Activation of network connection failed"
msgstr "Желілік байланысты белсендіру сәтсіз"
@@ -1587,11 +1561,11 @@ msgstr "Басқа пайдаланушы ретінде жүйеге кіру"
msgid "Unlock Window"
msgstr "Блоктауды алу терезесі"
#: ../js/ui/viewSelector.js:104
#: ../js/ui/viewSelector.js:100
msgid "Applications"
msgstr "Қолданбалар"
#: ../js/ui/viewSelector.js:108
#: ../js/ui/viewSelector.js:104
msgid "Search"
msgstr "Іздеу"
@@ -1607,7 +1581,7 @@ msgstr ""
#: ../js/ui/wanda.js:81
#, c-format
msgid "%s the Oracle says"
msgstr "Болжаушы айтады: %s"
msgstr ""
#: ../js/ui/windowAttentionHandler.js:19
#, c-format
@@ -1691,6 +1665,3 @@ msgstr "Пароль бос болуы мүмкін емес"
#: ../src/shell-polkit-authentication-agent.c:343
msgid "Authentication dialog was dismissed by the user"
msgstr "Аутентификация терезесін пайдаланушы тайдырды"
#~ msgid "Settings Menu"
#~ msgstr "Баптаулар мәзірі"

1480
po/ko.po

File diff suppressed because it is too large Load Diff

View File

@@ -11,8 +11,8 @@ msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2013-09-12 17:36+0000\n"
"PO-Revision-Date: 2013-09-12 22:40+0300\n"
"POT-Creation-Date: 2013-09-02 19:28+0000\n"
"PO-Revision-Date: 2013-09-04 00:33+0300\n"
"Last-Translator: Aurimas Černius <aurisc4@gmail.com>\n"
"Language-Team: Lietuvių <gnome-lt@lists.akl.lt>\n"
"Language: lt\n"
@@ -53,7 +53,6 @@ msgid "GNOME Shell"
msgstr "GNOME Shell aplinka"
#: ../data/gnome-shell.desktop.in.in.h:2
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
msgid "Window management and application launching"
msgstr "Langų valdymas ir programų paleidimas"
@@ -66,10 +65,6 @@ msgstr "GNOME Shell plėtinių nustatymai"
msgid "Configure GNOME Shell Extensions"
msgstr "Konfigūruoti GNOME Shell plėtinius"
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
msgid "GNOME Shell (wayland compositor)"
msgstr "GNOME Shell (wayland kompozitorius)"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr ""
@@ -346,42 +341,42 @@ msgstr "Tapatybės patvirtinimo klaida"
msgid "(or swipe finger)"
msgstr "(arba perbraukite pirštu)"
#: ../js/misc/util.js:98
#: ../js/misc/util.js:97
msgid "Command not found"
msgstr "Komanda nerasta"
#. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer
#: ../js/misc/util.js:131
#: ../js/misc/util.js:130
msgid "Could not parse command:"
msgstr "Nepavyko perskaityti komandos:"
#: ../js/misc/util.js:139
#: ../js/misc/util.js:138
#, c-format
msgid "Execution of '%s' failed:"
msgstr "Nepavyko įvykdyti „%s“:"
#: ../js/ui/appDisplay.js:573
#: ../js/ui/appDisplay.js:578
msgid "Frequently used applications will appear here"
msgstr "Čia bus matomos dažnai naudojamos programos"
#: ../js/ui/appDisplay.js:689
#: ../js/ui/appDisplay.js:694
msgid "Frequent"
msgstr "Dažnai naudojamos"
#: ../js/ui/appDisplay.js:696
#: ../js/ui/appDisplay.js:701
msgid "All"
msgstr "Visos"
#: ../js/ui/appDisplay.js:1491
#: ../js/ui/appDisplay.js:1488
msgid "New Window"
msgstr "Naujas langas"
#: ../js/ui/appDisplay.js:1494 ../js/ui/dash.js:284
#: ../js/ui/appDisplay.js:1491 ../js/ui/dash.js:284
msgid "Remove from Favorites"
msgstr "Pašalinti iš mėgstamų"
#: ../js/ui/appDisplay.js:1495
#: ../js/ui/appDisplay.js:1492
msgid "Add to Favorites"
msgstr "Pridėti prie mėgstamų"
@@ -925,7 +920,7 @@ msgstr "Rodyti paskyrą"
msgid "Unknown reason"
msgstr "Nežinoma priežastis"
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:100
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:96
msgid "Windows"
msgstr "Langai"
@@ -1077,7 +1072,7 @@ msgstr "Įdiegti"
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "Atsiųsti ir įdiegti „%s“ iš extensions.gnome.org?"
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:333
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:334
msgid "Keyboard"
msgstr "Klaviatūra"
@@ -1157,7 +1152,7 @@ msgstr "Nėra pranešimų"
msgid "Message Tray"
msgstr "Pranešimų juosta"
#: ../js/ui/messageTray.js:2787
#: ../js/ui/messageTray.js:2786
msgid "System Information"
msgstr "Sistemos informacija"
@@ -1190,21 +1185,21 @@ msgstr "Apžvalga"
msgid "Type to search…"
msgstr "Rašykite, ko ieškote…"
#: ../js/ui/panel.js:518
#: ../js/ui/panel.js:516
msgid "Quit"
msgstr "Užverti"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:570
#: ../js/ui/panel.js:568
msgid "Activities"
msgstr "Apžvalga"
#: ../js/ui/panel.js:807
#: ../js/ui/panel.js:805
msgid "Settings Menu"
msgstr "Nustatymų meniu"
#: ../js/ui/panel.js:903
#: ../js/ui/panel.js:892
msgid "Top Bar"
msgstr "Viršutinė juosta"
@@ -1213,7 +1208,7 @@ msgstr "Viršutinė juosta"
#. "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:233
#: ../js/ui/popupMenu.js:226
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
@@ -1243,7 +1238,7 @@ msgstr[2] "%d naujų pranešimų"
msgid "Lock"
msgstr "Užrakinti"
#: ../js/ui/screenShield.js:704
#: ../js/ui/screenShield.js:703
msgid "GNOME needs to lock the screen"
msgstr "GNOME aplinkai reikia užrakinti ekraną"
@@ -1254,11 +1249,11 @@ msgstr "GNOME aplinkai reikia užrakinti ekraną"
#.
#. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
#: ../js/ui/screenShield.js:830 ../js/ui/screenShield.js:1296
msgid "Unable to lock"
msgstr "Nepavyksta užrakinti"
#: ../js/ui/screenShield.js:832 ../js/ui/screenShield.js:1298
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
msgid "Lock was blocked by an application"
msgstr "Programa užblokavo užrakinimą"
@@ -1437,7 +1432,7 @@ msgstr "Gerai"
msgid "Brightness"
msgstr "Ryškumas"
#: ../js/ui/status/keyboard.js:403
#: ../js/ui/status/keyboard.js:404
msgid "Show Keyboard Layout"
msgstr "Rodyti klaviatūros išdėstymą"
@@ -1607,11 +1602,11 @@ msgstr "Prisijungti kitu naudotoju"
msgid "Unlock Window"
msgstr "Atrakinimo langas"
#: ../js/ui/viewSelector.js:104
#: ../js/ui/viewSelector.js:100
msgid "Applications"
msgstr "Programos"
#: ../js/ui/viewSelector.js:108
#: ../js/ui/viewSelector.js:104
msgid "Search"
msgstr "Ieškoti"
@@ -1717,3 +1712,4 @@ msgstr "Slaptažodis negali būti tuščias"
#: ../src/shell-polkit-authentication-agent.c:343
msgid "Authentication dialog was dismissed by the user"
msgstr "Naudotojas užvėrė tapatybės patvirtinimo dialogą"

View File

@@ -9,8 +9,8 @@ msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2013-09-14 18:10+0000\n"
"PO-Revision-Date: 2013-09-21 21:52+0300\n"
"POT-Creation-Date: 2013-09-02 19:28+0000\n"
"PO-Revision-Date: 2013-09-10 21:28+0300\n"
"Last-Translator: Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>\n"
"Language-Team: Latvian <lata-l10n@googlegroups.com>\n"
"Language: lv\n"
@@ -50,7 +50,6 @@ msgid "GNOME Shell"
msgstr "GNOME čaula"
#: ../data/gnome-shell.desktop.in.in.h:2
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
msgid "Window management and application launching"
msgstr "Logu pārvaldība un lietotņu palaišana"
@@ -63,10 +62,6 @@ msgstr "GNOME Shell paplašinājumu iestatījumi"
msgid "Configure GNOME Shell Extensions"
msgstr "Konfigurēt GNOME Shell paplašinājumus"
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
msgid "GNOME Shell (wayland compositor)"
msgstr "GNOME čaula (wayland kompozitors)"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr ""
@@ -184,10 +179,12 @@ msgstr ""
"Taustiņu sasaiste, kas atver “Rādīt lietotnes” aktivitāšu pārskata skatu."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
#| msgid "Keybinding to open the \"Show Applications\" view"
msgid "Keybinding to open the overview"
msgstr "Taustiņu sasaiste, kas atver pārskatu"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
#| msgid "Keybinding to open the \"Show Applications\" view"
msgid "Keybinding to open the Activities Overview."
msgstr "Taustiņu sasaiste, kas atver aktivitāšu pārskatu."
@@ -297,6 +294,7 @@ msgid "Sign In"
msgstr "Ierakstīties"
#: ../js/gdm/loginDialog.js:294
#| msgid "Switch Session"
msgid "Choose Session"
msgstr "Izvēlieties sesiju"
@@ -339,42 +337,42 @@ msgstr "Autentifikācijas kļūda"
msgid "(or swipe finger)"
msgstr "(vai velciet pirkstu)"
#: ../js/misc/util.js:98
#: ../js/misc/util.js:97
msgid "Command not found"
msgstr "Komanda nav atrasta"
#. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer
#: ../js/misc/util.js:131
#: ../js/misc/util.js:130
msgid "Could not parse command:"
msgstr "Neizdevās apstrādāt komandu:"
#: ../js/misc/util.js:139
#: ../js/misc/util.js:138
#, c-format
msgid "Execution of '%s' failed:"
msgstr "“%s” izpilde neizdevās:"
#: ../js/ui/appDisplay.js:598
#: ../js/ui/appDisplay.js:578
msgid "Frequently used applications will appear here"
msgstr "Šeit parādīsies biežāk izmantotās lietotnes"
#: ../js/ui/appDisplay.js:714
#: ../js/ui/appDisplay.js:694
msgid "Frequent"
msgstr "Biežāk izmantotās"
#: ../js/ui/appDisplay.js:721
#: ../js/ui/appDisplay.js:701
msgid "All"
msgstr "Visas"
#: ../js/ui/appDisplay.js:1516
#: ../js/ui/appDisplay.js:1488
msgid "New Window"
msgstr "Jauns logs"
#: ../js/ui/appDisplay.js:1519 ../js/ui/dash.js:284
#: ../js/ui/appDisplay.js:1491 ../js/ui/dash.js:284
msgid "Remove from Favorites"
msgstr "Izņemt no izlases"
#: ../js/ui/appDisplay.js:1520
#: ../js/ui/appDisplay.js:1492
msgid "Add to Favorites"
msgstr "Pievienot izlasei"
@@ -388,8 +386,7 @@ msgstr "%s ir pievienots izlasei."
msgid "%s has been removed from your favorites."
msgstr "%s ir izņemts no izlases."
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:807
#: ../js/ui/status/system.js:325
#: ../js/ui/backgroundMenu.js:19 ../js/ui/status/system.js:325
msgid "Settings"
msgstr "Iestatījumi"
@@ -921,7 +918,7 @@ msgstr "Skatīt kontu"
msgid "Unknown reason"
msgstr "Nezināms iemesls"
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:100
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:96
msgid "Windows"
msgstr "Logi"
@@ -1023,12 +1020,15 @@ msgstr[1] "Sistēma tiks automātiski pārstartēta pēc %d sekundēm."
msgstr[2] "Sistēma tiks automātiski pārstartēta pēc %d sekundēm."
#: ../js/ui/endSessionDialog.js:112
#| msgid "Install Updates & Restart"
msgctxt "title"
msgid "Restart & Install Updates"
msgstr "Pārstartēt un instalēt atjauninājumus"
#: ../js/ui/endSessionDialog.js:114
#, c-format
#| msgid "The system will restart automatically in %d second."
#| msgid_plural "The system will restart automatically in %d seconds."
msgid "The system will automatically restart and install updates in %d second."
msgid_plural ""
"The system will automatically restart and install updates in %d seconds."
@@ -1076,7 +1076,7 @@ msgstr "Instalēt"
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "Lejupielādēt un instalēt “%s” no extensions.gnome.org?"
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:333
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:334
msgid "Keyboard"
msgstr "Tastatūra"
@@ -1156,7 +1156,7 @@ msgstr "Nav ziņojumu"
msgid "Message Tray"
msgstr "Ziņojumu paplāte"
#: ../js/ui/messageTray.js:2787
#: ../js/ui/messageTray.js:2786
msgid "System Information"
msgstr "Sistēmas informācija"
@@ -1189,17 +1189,22 @@ msgstr "Pārskats"
msgid "Type to search…"
msgstr "Rakstiet, lai meklētu…"
#: ../js/ui/panel.js:518
#: ../js/ui/panel.js:516
msgid "Quit"
msgstr "Iziet"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:570
#: ../js/ui/panel.js:568
msgid "Activities"
msgstr "Aktivitātes"
#: ../js/ui/panel.js:903
#: ../js/ui/panel.js:805
#| msgid "Settings"
msgid "Settings Menu"
msgstr "Iestatījumu izvēlne"
#: ../js/ui/panel.js:892
msgid "Top Bar"
msgstr "Augšējā josla"
@@ -1208,7 +1213,7 @@ msgstr "Augšējā josla"
#. "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:233
#: ../js/ui/popupMenu.js:226
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
@@ -1238,7 +1243,7 @@ msgstr[2] "%d jaunu paziņojumu"
msgid "Lock"
msgstr "Bloķēt"
#: ../js/ui/screenShield.js:704
#: ../js/ui/screenShield.js:703
msgid "GNOME needs to lock the screen"
msgstr "GNOME vajag bloķēt ekrānu"
@@ -1249,11 +1254,11 @@ msgstr "GNOME vajag bloķēt ekrānu"
#.
#. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
#: ../js/ui/screenShield.js:830 ../js/ui/screenShield.js:1296
msgid "Unable to lock"
msgstr "Nevar bloķēt"
#: ../js/ui/screenShield.js:832 ../js/ui/screenShield.js:1298
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
msgid "Lock was blocked by an application"
msgstr "Lietotne neļāva bloķēt"
@@ -1352,6 +1357,7 @@ msgstr "Bluetooth iestatījumi"
#: ../js/ui/status/bluetooth.js:57
#, c-format
#| msgid "Connected (private)"
msgid "%d Connected Device"
msgid_plural "%d Connected Devices"
msgstr[0] "%d savienota ierīce"
@@ -1402,6 +1408,7 @@ msgstr "%s pārošanas apstiprinājums"
#: ../js/ui/status/bluetooth.js:172
#, c-format
#| msgid "Please confirm whether the PIN '%06d' matches the one on the device."
msgid ""
"Please confirm whether the Passkey '%06d' matches the one on the device."
msgstr "Lūdzu, pārliecinieties, vai parole “%06d” sakrīt ar ierīces doto."
@@ -1432,7 +1439,7 @@ msgstr "Labi"
msgid "Brightness"
msgstr "Gaišums"
#: ../js/ui/status/keyboard.js:403
#: ../js/ui/status/keyboard.js:404
msgid "Show Keyboard Layout"
msgstr "Rādīt tastatūras izkārtojumu"
@@ -1441,6 +1448,7 @@ msgid "<unknown>"
msgstr "<nezināms>"
#: ../js/ui/status/network.js:203 ../js/ui/status/network.js:1049
#| msgid "Offline"
msgid "Off"
msgstr "Izslēgts"
@@ -1485,18 +1493,22 @@ msgid "connection failed"
msgstr "savienojums neizdevās"
#: ../js/ui/status/network.js:654
#| msgid "Network"
msgid "Wi-Fi Networks"
msgstr "Bezvadu tīkli"
#: ../js/ui/status/network.js:656
#| msgid "Enable networking"
msgid "Select a network"
msgstr "Izvēlieties tīklu"
#: ../js/ui/status/network.js:680
#| msgid "Network"
msgid "No Networks"
msgstr "Nav tīklu"
#: ../js/ui/status/network.js:949
#| msgid "Network"
msgid "Select Network"
msgstr "Izvēlieties tīklu"
@@ -1559,6 +1571,7 @@ msgid "Airplane Mode"
msgstr "Lidmašīnas režīms"
#: ../js/ui/status/rfkill.js:45
#| msgid "Open"
msgid "On"
msgstr "Ieslēgt"
@@ -1602,11 +1615,11 @@ msgstr "Ierakstīties kā citam lietotājam"
msgid "Unlock Window"
msgstr "Atbloķēšanas logs"
#: ../js/ui/viewSelector.js:104
#: ../js/ui/viewSelector.js:100
msgid "Applications"
msgstr "Lietotnes"
#: ../js/ui/viewSelector.js:108
#: ../js/ui/viewSelector.js:104
msgid "Search"
msgstr "Meklēt"
@@ -1637,6 +1650,7 @@ msgstr "Vai vēlaties paturēt šos displeja iestatījumus?"
#. to avoid ellipsizing the labels.
#.
#: ../js/ui/windowManager.js:75
#| msgid "Power Settings"
msgid "Revert Settings"
msgstr "Atgriezt iestatījumus"
@@ -1713,10 +1727,6 @@ msgstr "Parole nevar būt tukša"
msgid "Authentication dialog was dismissed by the user"
msgstr "Lietotājs noraidīja autentifikācijas dialoglodziņu"
#~| msgid "Settings"
#~ msgid "Settings Menu"
#~ msgstr "Iestatījumu izvēlne"
#~ msgid "Screenshots"
#~ msgstr "Ekrānattēli"

167
po/nb.po
View File

@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: gnome-shell 3.9.x\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-09-24 19:37+0200\n"
"PO-Revision-Date: 2013-09-24 19:38+0200\n"
"POT-Creation-Date: 2013-09-08 11:22+0200\n"
"PO-Revision-Date: 2013-09-08 11:23+0200\n"
"Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
"Language-Team: Norwegian bokmål <i18n-nb@lister.ping.uio.no>\n"
"Language: \n"
@@ -47,7 +47,6 @@ msgid "GNOME Shell"
msgstr "GNOME Shell"
#: ../data/gnome-shell.desktop.in.in.h:2
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
msgid "Window management and application launching"
msgstr "Vindushåndtering og oppstart av programmer"
@@ -60,10 +59,6 @@ msgstr "Brukervalg for GNOME Shell utvidelser"
msgid "Configure GNOME Shell Extensions"
msgstr "Konfigurer utvidelser for GNOME Shell"
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
msgid "GNOME Shell (wayland compositor)"
msgstr "GNOME Shell (wayland kompositør)"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr "Aktiver interne verktøy for utviklere og testere fra Alt-F2"
@@ -248,10 +243,6 @@ msgstr "Arbeidsområder håndteres dynamisk"
msgid "Workspaces only on primary monitor"
msgstr "Arbeidsområder vises kun på hovedskjerm"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
msgid "Delay focus changes in mouse mode until the pointer stops moving"
msgstr ""
#: ../js/extensionPrefs/main.js:125
#, c-format
msgid "There was an error loading the preferences dialog for %s:"
@@ -265,10 +256,10 @@ msgstr "Utvidelse"
msgid "Select an extension to configure using the combobox above."
msgstr "Velg en utvidelse som skal konfigureres med komboboksen over."
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:136
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:132
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/bluetooth.js:222 ../js/ui/status/network.js:686
#: ../js/ui/status/bluetooth.js:221 ../js/ui/status/network.js:686
msgid "Cancel"
msgstr "Avbryt"
@@ -307,8 +298,8 @@ msgstr "(f.eks. bruker eller %s)"
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:259
#: ../js/ui/components/networkAgent.js:277
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:255
#: ../js/ui/components/networkAgent.js:273
msgid "Username: "
msgstr "Brukernavn: "
@@ -329,42 +320,42 @@ msgstr "Autentiseringsfeil"
msgid "(or swipe finger)"
msgstr "(eller dra finger)"
#: ../js/misc/util.js:98
#: ../js/misc/util.js:97
msgid "Command not found"
msgstr "Kommando ikke funnet"
#. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer
#: ../js/misc/util.js:131
#: ../js/misc/util.js:130
msgid "Could not parse command:"
msgstr "Klarte ikke å lese kommando:"
#: ../js/misc/util.js:139
#: ../js/misc/util.js:138
#, c-format
msgid "Execution of '%s' failed:"
msgstr "Kjøring av «%s» feilet:"
#: ../js/ui/appDisplay.js:596
#: ../js/ui/appDisplay.js:573
msgid "Frequently used applications will appear here"
msgstr "Ofte brukte programmer vil vises her"
#: ../js/ui/appDisplay.js:712
#: ../js/ui/appDisplay.js:689
msgid "Frequent"
msgstr "Ofte"
#: ../js/ui/appDisplay.js:719
#: ../js/ui/appDisplay.js:696
msgid "All"
msgstr "Alle"
#: ../js/ui/appDisplay.js:1514
#: ../js/ui/appDisplay.js:1491
msgid "New Window"
msgstr "Nytt vindu"
#: ../js/ui/appDisplay.js:1517 ../js/ui/dash.js:284
#: ../js/ui/appDisplay.js:1494 ../js/ui/dash.js:284
msgid "Remove from Favorites"
msgstr "Fjern fra favoritter"
#: ../js/ui/appDisplay.js:1518
#: ../js/ui/appDisplay.js:1495
msgid "Add to Favorites"
msgstr "Legg til i favoritter"
@@ -378,8 +369,7 @@ msgstr "%s ble lagt til i dine favoritter."
msgid "%s has been removed from your favorites."
msgstr "%s ble fjernet fra dine favoritter."
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:808
#: ../js/ui/status/system.js:325
#: ../js/ui/backgroundMenu.js:19 ../js/ui/status/system.js:325
msgid "Settings"
msgstr "Innstillinger"
@@ -565,50 +555,50 @@ msgstr "Åpne med %s"
msgid "Eject"
msgstr "Løs ut"
#: ../js/ui/components/keyring.js:91 ../js/ui/components/polkitAgent.js:280
#: ../js/ui/components/keyring.js:88 ../js/ui/components/polkitAgent.js:280
msgid "Password:"
msgstr "Passord:"
#: ../js/ui/components/keyring.js:110
#: ../js/ui/components/keyring.js:107
msgid "Type again:"
msgstr "Skriv på nytt:"
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:112
#: ../js/ui/components/networkAgent.js:127 ../js/ui/status/network.js:112
#: ../js/ui/status/network.js:275 ../js/ui/status/network.js:689
msgid "Connect"
msgstr "Koble til"
#. Cisco LEAP
#: ../js/ui/components/networkAgent.js:222
#: ../js/ui/components/networkAgent.js:234
#: ../js/ui/components/networkAgent.js:261
#: ../js/ui/components/networkAgent.js:281
#: ../js/ui/components/networkAgent.js:291
#: ../js/ui/components/networkAgent.js:218
#: ../js/ui/components/networkAgent.js:230
#: ../js/ui/components/networkAgent.js:257
#: ../js/ui/components/networkAgent.js:277
#: ../js/ui/components/networkAgent.js:287
msgid "Password: "
msgstr "Passord: "
#. static WEP
#: ../js/ui/components/networkAgent.js:227
#: ../js/ui/components/networkAgent.js:223
msgid "Key: "
msgstr "Nøkkel: "
#: ../js/ui/components/networkAgent.js:265
#: ../js/ui/components/networkAgent.js:261
msgid "Identity: "
msgstr "Identitet: "
#: ../js/ui/components/networkAgent.js:267
#: ../js/ui/components/networkAgent.js:263
msgid "Private key password: "
msgstr "Passord for privat nøkkel: "
#: ../js/ui/components/networkAgent.js:279
#: ../js/ui/components/networkAgent.js:275
msgid "Service: "
msgstr "Tjeneste: "
#: ../js/ui/components/networkAgent.js:308
#: ../js/ui/components/networkAgent.js:304
msgid "Authentication required by wireless network"
msgstr "Autentisering kreves av trådløst nettverk"
#: ../js/ui/components/networkAgent.js:309
#: ../js/ui/components/networkAgent.js:305
#, c-format
msgid ""
"Passwords or encryption keys are required to access the wireless network "
@@ -617,35 +607,35 @@ msgstr ""
"Passord eller krypteringsnøkler kreves for å koble til trådløst nettverk "
"«%s»."
#: ../js/ui/components/networkAgent.js:313
#: ../js/ui/components/networkAgent.js:309
msgid "Wired 802.1X authentication"
msgstr "802.1X autentisering for trådbundet nettverk"
#: ../js/ui/components/networkAgent.js:315
#: ../js/ui/components/networkAgent.js:311
msgid "Network name: "
msgstr "Navn på nettverk: "
#: ../js/ui/components/networkAgent.js:320
#: ../js/ui/components/networkAgent.js:316
msgid "DSL authentication"
msgstr "DSL-autentisering"
#: ../js/ui/components/networkAgent.js:327
#: ../js/ui/components/networkAgent.js:323
msgid "PIN code required"
msgstr "PIN-kode kreves"
#: ../js/ui/components/networkAgent.js:328
#: ../js/ui/components/networkAgent.js:324
msgid "PIN code is needed for the mobile broadband device"
msgstr "PIN-kode kreves for mobil bredbåndsenhet"
#: ../js/ui/components/networkAgent.js:329
#: ../js/ui/components/networkAgent.js:325
msgid "PIN: "
msgstr "PIN: "
#: ../js/ui/components/networkAgent.js:335
#: ../js/ui/components/networkAgent.js:331
msgid "Mobile broadband network password"
msgstr "Nettverkspassord for mobilt bredbånd"
#: ../js/ui/components/networkAgent.js:336
#: ../js/ui/components/networkAgent.js:332
#, c-format
msgid "A password is required to connect to '%s'."
msgstr "Et passord kreves for å koble til «%s»."
@@ -909,7 +899,7 @@ msgstr "Vis konto"
msgid "Unknown reason"
msgstr "Ukjent årsak"
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:100
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:96
msgid "Windows"
msgstr "Vinduer"
@@ -1057,7 +1047,7 @@ msgstr "Installer"
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "Last ned og installer «%s» fra extensions.gnome.org?"
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:333
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:334
msgid "Keyboard"
msgstr "Tastatur"
@@ -1133,11 +1123,11 @@ msgstr "Meny for varslingsområde"
msgid "No Messages"
msgstr "Ingen meldinger"
#: ../js/ui/messageTray.js:1813
#: ../js/ui/messageTray.js:1812
msgid "Message Tray"
msgstr "Meldingstrau"
#: ../js/ui/messageTray.js:2788
#: ../js/ui/messageTray.js:2787
msgid "System Information"
msgstr "Systeminformasjon"
@@ -1169,17 +1159,21 @@ msgstr "Oversikt"
msgid "Type to search…"
msgstr "Skriv for å søke …"
#: ../js/ui/panel.js:518
#: ../js/ui/panel.js:516
msgid "Quit"
msgstr "Avslutt"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:570
#: ../js/ui/panel.js:568
msgid "Activities"
msgstr "Aktiviteter"
#: ../js/ui/panel.js:904
#: ../js/ui/panel.js:805
msgid "Settings Menu"
msgstr "Meny for innstillinger"
#: ../js/ui/panel.js:901
msgid "Top Bar"
msgstr "Topp-panel"
@@ -1188,7 +1182,7 @@ msgstr "Topp-panel"
#. "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:233
#: ../js/ui/popupMenu.js:226
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
@@ -1217,7 +1211,7 @@ msgstr[1] "%d nye varslinger"
msgid "Lock"
msgstr "Lås"
#: ../js/ui/screenShield.js:704
#: ../js/ui/screenShield.js:703
msgid "GNOME needs to lock the screen"
msgstr "GNOME må låse skjermen"
@@ -1228,11 +1222,11 @@ msgstr "GNOME må låse skjermen"
#.
#. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
#: ../js/ui/screenShield.js:830 ../js/ui/screenShield.js:1296
msgid "Unable to lock"
msgstr "Kan ikke låse"
#: ../js/ui/screenShield.js:832 ../js/ui/screenShield.js:1298
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
msgid "Lock was blocked by an application"
msgstr "Låsing ble stoppet av et program"
@@ -1314,9 +1308,9 @@ msgstr "Stor tekst"
#. The Bluetooth menu only appears when Bluetooth is in use,
#. so just statically build it with a "Turn Off" menu item.
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:63
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
#: ../js/ui/status/bluetooth.js:164 ../js/ui/status/bluetooth.js:195
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:62
#: ../js/ui/status/bluetooth.js:99 ../js/ui/status/bluetooth.js:127
#: ../js/ui/status/bluetooth.js:163 ../js/ui/status/bluetooth.js:194
msgid "Bluetooth"
msgstr "Bluetooth"
@@ -1329,80 +1323,80 @@ msgstr "Slå av"
msgid "Bluetooth Settings"
msgstr "Innstillinger for Bluetooth"
#: ../js/ui/status/bluetooth.js:58
#: ../js/ui/status/bluetooth.js:57
#, c-format
msgid "%d Connected Device"
msgid_plural "%d Connected Devices"
msgstr[0] "%d tilkoblet enhet"
msgstr[1] "%d tilkoblede enheter"
#: ../js/ui/status/bluetooth.js:101 ../js/ui/status/bluetooth.js:129
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
#, c-format
msgid "Authorization request from %s"
msgstr "Forespørsel om autorisering fra %s"
#: ../js/ui/status/bluetooth.js:107 ../js/ui/status/bluetooth.js:172
#: ../js/ui/status/bluetooth.js:203
#: ../js/ui/status/bluetooth.js:106 ../js/ui/status/bluetooth.js:171
#: ../js/ui/status/bluetooth.js:202
#, c-format
msgid "Device %s wants to pair with this computer"
msgstr "Enhet %s vil koble seg sammen med denne datamaskinen"
#: ../js/ui/status/bluetooth.js:109
#: ../js/ui/status/bluetooth.js:108
msgid "Allow"
msgstr "Tillat"
#: ../js/ui/status/bluetooth.js:110
#: ../js/ui/status/bluetooth.js:109
msgid "Deny"
msgstr "Nekt"
#: ../js/ui/status/bluetooth.js:135
#: ../js/ui/status/bluetooth.js:134
#, c-format
msgid "Device %s wants access to the service '%s'"
msgstr "Enhet %s vil ha tilgang til tjenesten «%s»"
#: ../js/ui/status/bluetooth.js:137
#: ../js/ui/status/bluetooth.js:136
msgid "Always grant access"
msgstr "Alltid gi tilgang"
#: ../js/ui/status/bluetooth.js:138
#: ../js/ui/status/bluetooth.js:137
msgid "Grant this time only"
msgstr "Gi tilgang kun denne ene gangen"
#: ../js/ui/status/bluetooth.js:139
#: ../js/ui/status/bluetooth.js:138
msgid "Reject"
msgstr "Avvis"
#. Translators: argument is the device short name
#: ../js/ui/status/bluetooth.js:166
#: ../js/ui/status/bluetooth.js:165
#, c-format
msgid "Pairing confirmation for %s"
msgstr "Bekreftelse for tilkobling for %s"
#: ../js/ui/status/bluetooth.js:173
#: ../js/ui/status/bluetooth.js:172
#, c-format
msgid ""
"Please confirm whether the Passkey '%06d' matches the one on the device."
msgstr "Vennligst bekreft om passord «%06d» er lik den som brukes på enheten."
#. Translators: this is the verb, not the noun
#: ../js/ui/status/bluetooth.js:176
#: ../js/ui/status/bluetooth.js:175
msgid "Matches"
msgstr "Stemmer overens"
#: ../js/ui/status/bluetooth.js:177
#: ../js/ui/status/bluetooth.js:176
msgid "Does not match"
msgstr "Stemmer ikke overens"
#: ../js/ui/status/bluetooth.js:196
#: ../js/ui/status/bluetooth.js:195
#, c-format
msgid "Pairing request for %s"
msgstr "Forespørsel om tilkobling for %s"
#: ../js/ui/status/bluetooth.js:204
#: ../js/ui/status/bluetooth.js:203
msgid "Please enter the PIN mentioned on the device."
msgstr "Vennligst oppgi PIN som oppgitt på enheten."
#: ../js/ui/status/bluetooth.js:221
#: ../js/ui/status/bluetooth.js:220
msgid "OK"
msgstr "OK"
@@ -1410,7 +1404,7 @@ msgstr "OK"
msgid "Brightness"
msgstr "Lysstyrke"
#: ../js/ui/status/keyboard.js:403
#: ../js/ui/status/keyboard.js:404
msgid "Show Keyboard Layout"
msgstr "Vis tastaturutforming"
@@ -1486,15 +1480,15 @@ msgstr "Slå på"
msgid "VPN"
msgstr "VPN"
#: ../js/ui/status/network.js:1307
#: ../js/ui/status/network.js:1306
msgid "Network Manager"
msgstr "Nettverkshåndtering"
#: ../js/ui/status/network.js:1346
#: ../js/ui/status/network.js:1345
msgid "Connection failed"
msgstr "Tilkobling feilet"
#: ../js/ui/status/network.js:1347
#: ../js/ui/status/network.js:1346
msgid "Activation of network connection failed"
msgstr "Aktivering av nettverkstilkobling feilet"
@@ -1580,11 +1574,11 @@ msgstr "Logg inn som en annen bruker"
msgid "Unlock Window"
msgstr "Lås opp vindu"
#: ../js/ui/viewSelector.js:104
#: ../js/ui/viewSelector.js:100
msgid "Applications"
msgstr "Programmer"
#: ../js/ui/viewSelector.js:108
#: ../js/ui/viewSelector.js:104
msgid "Search"
msgstr "Søk"
@@ -1687,6 +1681,3 @@ msgstr "Passordet kan ikke være tomt"
#: ../src/shell-polkit-authentication-agent.c:343
msgid "Authentication dialog was dismissed by the user"
msgstr "Autentiseringsdialogen ble lukket av brukeren"
#~ msgid "Settings Menu"
#~ msgstr "Meny for innstillinger"

1494
po/nl.po

File diff suppressed because it is too large Load Diff

171
po/pa.po
View File

@@ -7,8 +7,8 @@ msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2013-09-23 13:35+0000\n"
"PO-Revision-Date: 2013-09-24 07:52-0500\n"
"POT-Creation-Date: 2013-09-02 19:28+0000\n"
"PO-Revision-Date: 2013-09-09 14:07-0500\n"
"Last-Translator: A S Alam <aalam@users.sf.net>\n"
"Language-Team: Punjabi/Panjabi <punjabi-users@lists.sf.net>\n"
"Language: pa\n"
@@ -47,7 +47,6 @@ msgid "GNOME Shell"
msgstr "ਗਨੋਮ ਸ਼ੈਲ"
#: ../data/gnome-shell.desktop.in.in.h:2
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
msgid "Window management and application launching"
msgstr "ਵਿੰਡੋ ਪਰਬੰਧ ਅਤੇ ਐਪਲੀਕੇਸ਼ਨ ਚਲਾਓ"
@@ -60,10 +59,6 @@ msgstr "ਗਨੋਮ ਸ਼ੈੱਲ ਇਕਸਟੈਨਸ਼ਨ ਪਸੰਦ"
msgid "Configure GNOME Shell Extensions"
msgstr "ਗਨੋਮ ਸ਼ੈਲ ਇਕਸਟੈਸ਼ਨ ਸੰਰਚਨਾ"
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
msgid "GNOME Shell (wayland compositor)"
msgstr "ਗਨੋਮ ਸ਼ੈਲ (ਵੇਲੈਂਡ ਨਿਰਮਾਤਾ)"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr "Alt-F2 ਤੋਂ ਡਿਵੈਲਪਰਾਂ ਤੇ ਟੈਸਟਰਾਂ ਲਈ ਫਾਇਦੇਮੰਦ ਅੰਦਰੂਨੀ ਟੂਲ ਚਾਲੂ ਕਰਦਾ ਹੈ"
@@ -266,10 +261,6 @@ msgstr "ਵਰਕਸਪੇਸ ਚੱਲਦੇ ਰੂਪ ਵਿੱਚ ਰੱਖ
msgid "Workspaces only on primary monitor"
msgstr "ਪ੍ਰਾਈਮਰੀ ਮਾਨੀਟਰ ਉੱਤੇ ਕੇਵਲ ਵਰਕਸਪੇਸ"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
msgid "Delay focus changes in mouse mode until the pointer stops moving"
msgstr "ਪੁਆਇੰਟਰ ਦੇ ਹਿਲਣ ਤੋਂ ਰੁਕਣ ਤੱਕ ਮਾਊਸ ਮੋਡ ਵਿੱਚ ਫੋਕਸ ਬਦਲਾਅ ਵਿੱਚ ਦੇਰੀ"
#: ../js/extensionPrefs/main.js:125
#, c-format
msgid "There was an error loading the preferences dialog for %s:"
@@ -283,10 +274,10 @@ msgstr "ਇਕਸਟੈਸ਼ਨ"
msgid "Select an extension to configure using the combobox above."
msgstr "ਉੱਤੇ ਦਿੱਤੇ ਕੰਬੋਬਾਕਸ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇਕਸਟੈਸ਼ਨ ਦੀ ਸੰਰਚਨਾ ਕਰਨ ਲਈ ਚੋਣ ਕਰੋ।"
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:136
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:132
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/bluetooth.js:222 ../js/ui/status/network.js:686
#: ../js/ui/status/bluetooth.js:221 ../js/ui/status/network.js:686
msgid "Cancel"
msgstr "ਰੱਦ ਕਰੋ"
@@ -325,8 +316,8 @@ msgstr "(ਜਿਵੇਂ ਕਿ ਯੂਜ਼ਰ ਜਾਂ %s)"
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:259
#: ../js/ui/components/networkAgent.js:277
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:255
#: ../js/ui/components/networkAgent.js:273
msgid "Username: "
msgstr "ਯੂਜ਼ਰ ਨਾਂ: "
@@ -347,42 +338,42 @@ msgstr "ਪਰਮਾਣਕਿਤਾ ਗਲਤੀ"
msgid "(or swipe finger)"
msgstr "(ਜਾਂ ਉਂਗਲ ਰੱਖੋ)"
#: ../js/misc/util.js:98
#: ../js/misc/util.js:97
msgid "Command not found"
msgstr "ਕਮਾਂਡ ਨਹੀਂ ਲੱਭੀ"
#. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer
#: ../js/misc/util.js:131
#: ../js/misc/util.js:130
msgid "Could not parse command:"
msgstr "ਕਮਾਂਡ ਪਾਰਸ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ:"
#: ../js/misc/util.js:139
#: ../js/misc/util.js:138
#, c-format
msgid "Execution of '%s' failed:"
msgstr "'%s' ਚਲਾਉਣ ਲਈ ਫੇਲ੍ਹ:"
#: ../js/ui/appDisplay.js:596
#: ../js/ui/appDisplay.js:578
msgid "Frequently used applications will appear here"
msgstr "ਆਮ ਵਰਤੀਆਂ ਐਪਲੀਕੇਸ਼ਨ ਇੱਥੇ ਵਿਖਾਈ ਦੇਣਗੀਆਂ"
#: ../js/ui/appDisplay.js:712
#: ../js/ui/appDisplay.js:694
msgid "Frequent"
msgstr "ਅਕਸਰ"
#: ../js/ui/appDisplay.js:719
#: ../js/ui/appDisplay.js:701
msgid "All"
msgstr "ਸਭ"
#: ../js/ui/appDisplay.js:1514
#: ../js/ui/appDisplay.js:1488
msgid "New Window"
msgstr "ਨਵੀਂ ਵਿੰਡੋ"
#: ../js/ui/appDisplay.js:1517 ../js/ui/dash.js:284
#: ../js/ui/appDisplay.js:1491 ../js/ui/dash.js:284
msgid "Remove from Favorites"
msgstr "ਪਸੰਦ ਵਿੱਚੋਂ ਹਟਾਓ"
#: ../js/ui/appDisplay.js:1518
#: ../js/ui/appDisplay.js:1492
msgid "Add to Favorites"
msgstr "ਪਸੰਦ 'ਚ ਸ਼ਾਮਲ ਕਰੋ"
@@ -396,8 +387,7 @@ msgstr "%s ਨੂੰ ਤੁਹਾਡੀ ਪਸੰਦ ਵਿੱਚ ਸ਼ਾਮ
msgid "%s has been removed from your favorites."
msgstr "%s ਨੂੰ ਤੁਹਾਡੀ ਪਸੰਦ ਤੋਂ ਹਟਾਇਆ ਜਾ ਚੁੱਕਿਆ ਹੈ।"
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:807
#: ../js/ui/status/system.js:325
#: ../js/ui/backgroundMenu.js:19 ../js/ui/status/system.js:325
msgid "Settings"
msgstr "ਸੈਟਿੰਗ"
@@ -583,85 +573,85 @@ msgstr "%s ਨਾਲ ਖੋਲ੍ਹੋ"
msgid "Eject"
msgstr "ਬਾਹਰ ਕੱਢੋ"
#: ../js/ui/components/keyring.js:91 ../js/ui/components/polkitAgent.js:280
#: ../js/ui/components/keyring.js:88 ../js/ui/components/polkitAgent.js:280
msgid "Password:"
msgstr "ਪਾਸਵਰਡ:"
#: ../js/ui/components/keyring.js:110
#: ../js/ui/components/keyring.js:107
msgid "Type again:"
msgstr "ਮੁੜ-ਕੋਸ਼ਿਸ਼:"
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:112
#: ../js/ui/components/networkAgent.js:127 ../js/ui/status/network.js:112
#: ../js/ui/status/network.js:275 ../js/ui/status/network.js:689
msgid "Connect"
msgstr "ਕੁਨੈਕਟ ਕਰੋ"
#. Cisco LEAP
#: ../js/ui/components/networkAgent.js:222
#: ../js/ui/components/networkAgent.js:234
#: ../js/ui/components/networkAgent.js:261
#: ../js/ui/components/networkAgent.js:281
#: ../js/ui/components/networkAgent.js:291
#: ../js/ui/components/networkAgent.js:218
#: ../js/ui/components/networkAgent.js:230
#: ../js/ui/components/networkAgent.js:257
#: ../js/ui/components/networkAgent.js:277
#: ../js/ui/components/networkAgent.js:287
msgid "Password: "
msgstr "ਪਾਸਵਰਡ: "
#. static WEP
#: ../js/ui/components/networkAgent.js:227
#: ../js/ui/components/networkAgent.js:223
msgid "Key: "
msgstr "ਸਵਿੱਚ: "
#: ../js/ui/components/networkAgent.js:265
#: ../js/ui/components/networkAgent.js:261
msgid "Identity: "
msgstr "ਪਛਾਣ: "
#: ../js/ui/components/networkAgent.js:267
#: ../js/ui/components/networkAgent.js:263
msgid "Private key password: "
msgstr "ਪ੍ਰਾਈਵੇਟ ਕੁੰਜੀ ਪਾਸਵਰਡ: "
#: ../js/ui/components/networkAgent.js:279
#: ../js/ui/components/networkAgent.js:275
msgid "Service: "
msgstr "ਸਰਵਿਸ: "
#: ../js/ui/components/networkAgent.js:308
#: ../js/ui/components/networkAgent.js:304
msgid "Authentication required by wireless network"
msgstr "ਬੇਤਾਰ ਨੈੱਟਵਰਕ ਲਈ ਪਰਮਾਣਕਿਤਾ ਚਾਹੀਦੀ ਹੈ"
#: ../js/ui/components/networkAgent.js:309
#: ../js/ui/components/networkAgent.js:305
#, c-format
msgid ""
"Passwords or encryption keys are required to access the wireless network "
"'%s'."
msgstr "ਬੇਤਾਰ ਨੈੱਟਵਰਕ '%s' ਵਰਤਣ ਲਈ ਪਾਸਵਰਡ ਜਾਂ ਇੰਕ੍ਰਿਪਸ਼ਨ ਕੁੰਜੀਆਂ ਦੀ ਲੋੜ ਹੈ।"
#: ../js/ui/components/networkAgent.js:313
#: ../js/ui/components/networkAgent.js:309
msgid "Wired 802.1X authentication"
msgstr "ਤਾਰ 802.1X ਪਰਮਾਣਕਿਤਾ"
#: ../js/ui/components/networkAgent.js:315
#: ../js/ui/components/networkAgent.js:311
msgid "Network name: "
msgstr "ਨੈੱਟਵਰਕ ਨਾਂ: "
#: ../js/ui/components/networkAgent.js:320
#: ../js/ui/components/networkAgent.js:316
msgid "DSL authentication"
msgstr "DSL ਪਰਮਾਣਕਿਤਾ"
#: ../js/ui/components/networkAgent.js:327
#: ../js/ui/components/networkAgent.js:323
msgid "PIN code required"
msgstr "PIN ਕੋਡ ਲੋੜੀਦਾ ਹੈ"
#: ../js/ui/components/networkAgent.js:328
#: ../js/ui/components/networkAgent.js:324
msgid "PIN code is needed for the mobile broadband device"
msgstr "ਮੋਬਾਇਲ ਬਰਾਡਬੈਂਡ ਜੰਤਰ ਲਈ PIN ਕੋਡ ਚਾਹੀਦਾ ਹੈ"
#: ../js/ui/components/networkAgent.js:329
#: ../js/ui/components/networkAgent.js:325
msgid "PIN: "
msgstr "PIN: "
#: ../js/ui/components/networkAgent.js:335
#: ../js/ui/components/networkAgent.js:331
msgid "Mobile broadband network password"
msgstr "ਮੋਬਾਇਲ ਬਰਾਡਬੈਂਡ ਨੈੱਟਵਰਕ ਪਾਸਵਰਡ"
#: ../js/ui/components/networkAgent.js:336
#: ../js/ui/components/networkAgent.js:332
#, c-format
msgid "A password is required to connect to '%s'."
msgstr "'%s' ਨਾਲ ਕੁਨੈਕਟ ਹੋਣ ਲਈ ਪਾਸਵਰਡ ਦੀ ਲੋੜ ਹੈ। "
@@ -926,7 +916,7 @@ msgstr "ਅਕਾਊਂਟ ਵੇਖੋ"
msgid "Unknown reason"
msgstr "ਅਣਜਾਣ ਕਾਰਨ"
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:100
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:96
msgid "Windows"
msgstr "ਵਿੰਡੋ"
@@ -1024,12 +1014,15 @@ msgstr[0] "ਸਿਸਟਮ ਨੂੰ ਆਟੋਮੈਟਿਕ ਹੀ %d ਸਕ
msgstr[1] "ਸਿਸਟਮ ਨੂੰ ਆਟੋਮੈਟਿਕ ਹੀ %d ਸਕਿੰਟਾਂ ਵਿੱਚ ਮੁੜ-ਚਾਲੂ ਕੀਤਾ ਜਾਵੇਗਾ।"
#: ../js/ui/endSessionDialog.js:112
#| msgid "Install Updates & Restart"
msgctxt "title"
msgid "Restart & Install Updates"
msgstr "ਮੁੜ-ਚਾਲੂ ਕਰੋ ਤੇ ਅੱਪਡੇਟ ਇੰਸਟਾਲ ਕਰੋ"
#: ../js/ui/endSessionDialog.js:114
#, c-format
#| msgid "The system will restart automatically in %d second."
#| msgid_plural "The system will restart automatically in %d seconds."
msgid "The system will automatically restart and install updates in %d second."
msgid_plural ""
"The system will automatically restart and install updates in %d seconds."
@@ -1072,7 +1065,7 @@ msgstr "ਇੰਸਟਾਲ ਕਰੋ"
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "ਕੀ extensions.gnome.org ਤੋਂ '%s' ਡਾਊਨਲੋਡ ਅਤੇ ਇੰਸਟਾਲ ਕਰਨੀ ਹੈ?"
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:333
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:334
msgid "Keyboard"
msgstr "ਕੀਬੋਰਡ"
@@ -1148,11 +1141,11 @@ msgstr "ਟਰੇ ਮੇਨੂ"
msgid "No Messages"
msgstr "ਕੋਈ ਸੁਨੇਹਾ ਨਹੀਂ"
#: ../js/ui/messageTray.js:1813
#: ../js/ui/messageTray.js:1812
msgid "Message Tray"
msgstr "ਸੁਨੇਹਾ ਟਰੇ"
#: ../js/ui/messageTray.js:2788
#: ../js/ui/messageTray.js:2786
msgid "System Information"
msgstr "ਸਿਸਟਮ ਜਾਣਕਾਰੀ"
@@ -1184,17 +1177,21 @@ msgstr "ਸੰਖੇਪ"
msgid "Type to search…"
msgstr "…ਲੱਭਣ ਲਈ ਲਿਖੋ"
#: ../js/ui/panel.js:518
#: ../js/ui/panel.js:516
msgid "Quit"
msgstr "ਬਾਹਰ"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:570
#: ../js/ui/panel.js:568
msgid "Activities"
msgstr "ਸਰਗਰਮੀਆਂ"
#: ../js/ui/panel.js:903
#: ../js/ui/panel.js:805
msgid "Settings Menu"
msgstr "ਸੈਟਿੰਗ ਮੇਨੂ"
#: ../js/ui/panel.js:892
msgid "Top Bar"
msgstr "ਉੱਤਲੀ ਪੱਟੀ"
@@ -1203,7 +1200,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:233
#: ../js/ui/popupMenu.js:226
msgid "toggle-switch-us"
msgstr "toggle-switch-us"
@@ -1232,7 +1229,7 @@ msgstr[1] "%d ਨਵੀਆਂ ਸੂਚਨਾਵਾਂ"
msgid "Lock"
msgstr "ਲਾਕ"
#: ../js/ui/screenShield.js:704
#: ../js/ui/screenShield.js:703
msgid "GNOME needs to lock the screen"
msgstr "ਗਨੋਮ ਨੂੰ ਸਕਰੀਨ ਲਾਕ ਕਰਨ ਦੀ ਲੋੜ ਹੈ"
@@ -1243,11 +1240,11 @@ msgstr "ਗਨੋਮ ਨੂੰ ਸਕਰੀਨ ਲਾਕ ਕਰਨ ਦੀ ਲੋ
#.
#. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
#: ../js/ui/screenShield.js:830 ../js/ui/screenShield.js:1296
msgid "Unable to lock"
msgstr "ਅਣਲਾਕ ਕਰਨ ਲਈ ਅਸਮਰੱਥ"
#: ../js/ui/screenShield.js:832 ../js/ui/screenShield.js:1298
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
msgid "Lock was blocked by an application"
msgstr "ਲਾਕ ਨੂੰ ਐਪਲੀਕੇਸ਼ਨ ਵਲੋਂ ਪਾਬੰਦੀ ਲਗਾਈ"
@@ -1329,9 +1326,9 @@ msgstr "ਵੱਡੇ ਅੱਖਰ"
#. The Bluetooth menu only appears when Bluetooth is in use,
#. so just statically build it with a "Turn Off" menu item.
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:63
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
#: ../js/ui/status/bluetooth.js:164 ../js/ui/status/bluetooth.js:195
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:62
#: ../js/ui/status/bluetooth.js:99 ../js/ui/status/bluetooth.js:127
#: ../js/ui/status/bluetooth.js:163 ../js/ui/status/bluetooth.js:194
msgid "Bluetooth"
msgstr "ਬਲਿਊਟੁੱਥ"
@@ -1344,80 +1341,80 @@ msgstr "ਬੰਦ ਕਰੋ"
msgid "Bluetooth Settings"
msgstr "ਬਲਿਊਟੁੱਥ ਸੈਟਿੰਗ"
#: ../js/ui/status/bluetooth.js:58
#: ../js/ui/status/bluetooth.js:57
#, c-format
msgid "%d Connected Device"
msgid_plural "%d Connected Devices"
msgstr[0] "%d ਕੁਨੈਕਟ ਹੋਇਆ ਜੰਤਰ"
msgstr[1] "%d ਕੁਨੈਕਟ ਹੋਏ ਜੰਤਰ"
#: ../js/ui/status/bluetooth.js:101 ../js/ui/status/bluetooth.js:129
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
#, c-format
msgid "Authorization request from %s"
msgstr "'%s' ਤੋਂ ਪਰਮਾਣਕਿਤਾ ਮੰਗ"
#: ../js/ui/status/bluetooth.js:107 ../js/ui/status/bluetooth.js:172
#: ../js/ui/status/bluetooth.js:203
#: ../js/ui/status/bluetooth.js:106 ../js/ui/status/bluetooth.js:171
#: ../js/ui/status/bluetooth.js:202
#, c-format
msgid "Device %s wants to pair with this computer"
msgstr "ਜੰਤਰ %s ਇਸ ਕੰਪਿਊਟਰ ਨਾਲ ਪੇਅਰ ਹੋਣਾ ਚਾਹੁੰਦਾ ਹੈ"
#: ../js/ui/status/bluetooth.js:109
#: ../js/ui/status/bluetooth.js:108
msgid "Allow"
msgstr "ਮਨਜ਼ੂਰ"
#: ../js/ui/status/bluetooth.js:110
#: ../js/ui/status/bluetooth.js:109
msgid "Deny"
msgstr "ਇਨਕਾਰ"
#: ../js/ui/status/bluetooth.js:135
#: ../js/ui/status/bluetooth.js:134
#, c-format
msgid "Device %s wants access to the service '%s'"
msgstr "ਜੰਤਰ %s ਸਰਵਿਸ '%s' ਨੂੰ ਵਰਤਣੀ ਚਾਹੁੰਦਾ ਹੈ।"
#: ../js/ui/status/bluetooth.js:137
#: ../js/ui/status/bluetooth.js:136
msgid "Always grant access"
msgstr "ਹਮੇਸ਼ਾ ਪਹੁੰਚ ਮਨਜ਼ੂਰ"
#: ../js/ui/status/bluetooth.js:138
#: ../js/ui/status/bluetooth.js:137
msgid "Grant this time only"
msgstr "ਕੇਵਲ ਇਸ ਸਮੇਂ ਹੀ ਮਨਜ਼ੂਰ"
#: ../js/ui/status/bluetooth.js:139
#: ../js/ui/status/bluetooth.js:138
msgid "Reject"
msgstr "ਨਾ-ਮਨਜ਼ੂਰ"
#. Translators: argument is the device short name
#: ../js/ui/status/bluetooth.js:166
#: ../js/ui/status/bluetooth.js:165
#, c-format
msgid "Pairing confirmation for %s"
msgstr "%s ਲਈ ਪੇਅਰ ਕਰਨ ਦੀ ਪੁਸ਼ਟੀ"
#: ../js/ui/status/bluetooth.js:173
#: ../js/ui/status/bluetooth.js:172
#, c-format
msgid ""
"Please confirm whether the Passkey '%06d' matches the one on the device."
msgstr "ਪੁਸ਼ਟੀ ਕਰੋ ਜੀ ਕਿ ਪਾਸ-ਕੀ '%06d' ਜੰਤਰ ਉੱਤੇ ਮੌਜੂਦ ਪਿੰਨ ਨਾਲ ਮਿਲਦਾ ਹੈ।"
#. Translators: this is the verb, not the noun
#: ../js/ui/status/bluetooth.js:176
#: ../js/ui/status/bluetooth.js:175
msgid "Matches"
msgstr "ਮਿਲਦਾ ਹੈ"
#: ../js/ui/status/bluetooth.js:177
#: ../js/ui/status/bluetooth.js:176
msgid "Does not match"
msgstr "ਮਿਲਦਾ ਨਹੀਂ ਹੈ"
#: ../js/ui/status/bluetooth.js:196
#: ../js/ui/status/bluetooth.js:195
#, c-format
msgid "Pairing request for %s"
msgstr "%s ਲਈ ਪੇਅਰ ਕਰਨ ਦੀ ਮੰਗ"
#: ../js/ui/status/bluetooth.js:204
#: ../js/ui/status/bluetooth.js:203
msgid "Please enter the PIN mentioned on the device."
msgstr "ਜੰਤਰ ਉੱਤੇ ਦਿੱਤਾ ਗਿਆ ਪਿੰਨ ਦਿਉ ਜੀ।"
#: ../js/ui/status/bluetooth.js:221
#: ../js/ui/status/bluetooth.js:220
msgid "OK"
msgstr "ਠੀਕ ਹੈ"
@@ -1425,7 +1422,7 @@ msgstr "ਠੀਕ ਹੈ"
msgid "Brightness"
msgstr "ਚਮਕ"
#: ../js/ui/status/keyboard.js:403
#: ../js/ui/status/keyboard.js:404
msgid "Show Keyboard Layout"
msgstr "ਕੀਬੋਰਡ ਲੇਆਉਟ ਵੇਖਾਓ"
@@ -1501,15 +1498,15 @@ msgstr "ਚਾਲੂ ਕਰੋ"
msgid "VPN"
msgstr "VPN"
#: ../js/ui/status/network.js:1307
#: ../js/ui/status/network.js:1306
msgid "Network Manager"
msgstr "ਨੈੱਟਵਰਕ ਮੈਨੇਜਰ"
#: ../js/ui/status/network.js:1346
#: ../js/ui/status/network.js:1345
msgid "Connection failed"
msgstr "ਕੁਨੈਕਸ਼ਨ ਫੇਲ੍ਹ ਹੈ"
#: ../js/ui/status/network.js:1347
#: ../js/ui/status/network.js:1346
msgid "Activation of network connection failed"
msgstr "ਨੈੱਟਵਰਕ ਕੁਨੈਕਸ਼ਨ ਦੀ ਐਕਟੀਵੇਸ਼ਨ ਫੇਲ੍ਹ ਹੋਈ"
@@ -1595,11 +1592,11 @@ msgstr "ਹੋਰ ਯੂਜ਼ਰ ਵਜੋਂ ਲਾਗਇਨ"
msgid "Unlock Window"
msgstr "ਵਿੰਡੋ ਅਣਲਾਕ"
#: ../js/ui/viewSelector.js:104
#: ../js/ui/viewSelector.js:100
msgid "Applications"
msgstr "ਐਪਲੀਕੇਸ਼ਨ"
#: ../js/ui/viewSelector.js:108
#: ../js/ui/viewSelector.js:104
msgid "Search"
msgstr "ਖੋਜ"
@@ -1630,6 +1627,7 @@ msgstr "ਕੀ ਤੁਸੀਂ ਇਹ ਡਿਸਪਲੇਅ ਸੈਟਿੰਗ
#. to avoid ellipsizing the labels.
#.
#: ../js/ui/windowManager.js:75
#| msgid "Power Settings"
msgid "Revert Settings"
msgstr "ਸੈਟਿੰਗ ਵਾਪਿਸ ਲਵੋ"
@@ -1703,9 +1701,6 @@ msgstr "ਪਾਸਵਰਡ ਖਾਲੀ ਨਹੀਂ ਹੋ ਸਕਦਾ ਹੈ"
msgid "Authentication dialog was dismissed by the user"
msgstr "ਪਰਮਾਣਕਿਤਾ ਡਾਈਲਾਗ ਯੂਜ਼ਰ ਵਲੋਂ ਰੱਦ ਕੀਤਾ"
#~ msgid "Settings Menu"
#~ msgstr "ਸੈਟਿੰਗ ਮੇਨੂ"
#~ msgid ""
#~ "Internally used to store the last IM presence explicitly set by the user. "
#~ "The value here is from the TpConnectionPresenceType enumeration."

454
po/pl.po

File diff suppressed because it is too large Load Diff

1629
po/pt.po

File diff suppressed because it is too large Load Diff

View File

@@ -19,8 +19,8 @@ msgstr ""
"Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2013-09-23 13:35+0000\n"
"PO-Revision-Date: 2013-09-23 10:56-0300\n"
"POT-Creation-Date: 2013-09-02 19:28+0000\n"
"PO-Revision-Date: 2013-09-02 20:50-0300\n"
"Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n"
"Language-Team: Brazilian Portuguese <gnome-pt_br-list@gnome.org>\n"
"Language: pt_BR\n"
@@ -60,7 +60,6 @@ msgid "GNOME Shell"
msgstr "GNOME Shell"
#: ../data/gnome-shell.desktop.in.in.h:2
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
msgid "Window management and application launching"
msgstr "Gerenciamento de janelas e lançador de aplicativos"
@@ -73,11 +72,6 @@ msgstr "Preferências de extensões do GNOME Shell"
msgid "Configure GNOME Shell Extensions"
msgstr "Configurar extensões do GNOME Shell"
# Traduções do Xfce e da Microsoft usam compositor --Enrico
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
msgid "GNOME Shell (wayland compositor)"
msgstr "GNOME Shell (compositor wayland)"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr ""
@@ -283,10 +277,6 @@ msgstr "Espaços de trabalho são gerenciados dinamicamente"
msgid "Workspaces only on primary monitor"
msgstr "Espaços de trabalho apenas no monitor primário"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
msgid "Delay focus changes in mouse mode until the pointer stops moving"
msgstr "Atrasar foco altera o modo do mouse até o ponteiro parar de mover"
#: ../js/extensionPrefs/main.js:125
#, c-format
msgid "There was an error loading the preferences dialog for %s:"
@@ -301,10 +291,10 @@ msgid "Select an extension to configure using the combobox above."
msgstr ""
"Selecione uma extensão para configurar usando a caixa de seleção abaixo."
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:136
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:132
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/bluetooth.js:222 ../js/ui/status/network.js:686
#: ../js/ui/status/bluetooth.js:221 ../js/ui/status/network.js:686
msgid "Cancel"
msgstr "Cancelar"
@@ -343,8 +333,8 @@ msgstr "(ex.: usuário ou %s)"
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:259
#: ../js/ui/components/networkAgent.js:277
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:255
#: ../js/ui/components/networkAgent.js:273
msgid "Username: "
msgstr "Nome de usuário: "
@@ -365,42 +355,42 @@ msgstr "Erro de autenticação"
msgid "(or swipe finger)"
msgstr "(ou deslize o dedo)"
#: ../js/misc/util.js:98
#: ../js/misc/util.js:97
msgid "Command not found"
msgstr "Comando não encontrado"
#. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer
#: ../js/misc/util.js:131
#: ../js/misc/util.js:130
msgid "Could not parse command:"
msgstr "Não foi possível analisar comando:"
#: ../js/misc/util.js:139
#: ../js/misc/util.js:138
#, c-format
msgid "Execution of '%s' failed:"
msgstr "A execução de \"%s\" falhou:"
#: ../js/ui/appDisplay.js:596
#: ../js/ui/appDisplay.js:578
msgid "Frequently used applications will appear here"
msgstr "Aplicativos usados frequentemente vão aparecer aqui"
#: ../js/ui/appDisplay.js:712
#: ../js/ui/appDisplay.js:694
msgid "Frequent"
msgstr "Frequente"
#: ../js/ui/appDisplay.js:719
#: ../js/ui/appDisplay.js:701
msgid "All"
msgstr "Todos"
#: ../js/ui/appDisplay.js:1514
#: ../js/ui/appDisplay.js:1488
msgid "New Window"
msgstr "Nova janela"
#: ../js/ui/appDisplay.js:1517 ../js/ui/dash.js:284
#: ../js/ui/appDisplay.js:1491 ../js/ui/dash.js:284
msgid "Remove from Favorites"
msgstr "Remover dos favoritos"
#: ../js/ui/appDisplay.js:1518
#: ../js/ui/appDisplay.js:1492
msgid "Add to Favorites"
msgstr "Adicionar aos favoritos"
@@ -414,8 +404,7 @@ msgstr "%s foi adicionado aos seus favoritos."
msgid "%s has been removed from your favorites."
msgstr "%s foi removido dos seus favoritos."
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:807
#: ../js/ui/status/system.js:325
#: ../js/ui/backgroundMenu.js:19 ../js/ui/status/system.js:325
msgid "Settings"
msgstr "Configurações"
@@ -601,50 +590,50 @@ msgstr "Abrir com %s"
msgid "Eject"
msgstr "Ejetar"
#: ../js/ui/components/keyring.js:91 ../js/ui/components/polkitAgent.js:280
#: ../js/ui/components/keyring.js:88 ../js/ui/components/polkitAgent.js:280
msgid "Password:"
msgstr "Senha:"
#: ../js/ui/components/keyring.js:110
#: ../js/ui/components/keyring.js:107
msgid "Type again:"
msgstr "Digite novamente:"
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:112
#: ../js/ui/components/networkAgent.js:127 ../js/ui/status/network.js:112
#: ../js/ui/status/network.js:275 ../js/ui/status/network.js:689
msgid "Connect"
msgstr "Conectar"
#. Cisco LEAP
#: ../js/ui/components/networkAgent.js:222
#: ../js/ui/components/networkAgent.js:234
#: ../js/ui/components/networkAgent.js:261
#: ../js/ui/components/networkAgent.js:281
#: ../js/ui/components/networkAgent.js:291
#: ../js/ui/components/networkAgent.js:218
#: ../js/ui/components/networkAgent.js:230
#: ../js/ui/components/networkAgent.js:257
#: ../js/ui/components/networkAgent.js:277
#: ../js/ui/components/networkAgent.js:287
msgid "Password: "
msgstr "Senha: "
#. static WEP
#: ../js/ui/components/networkAgent.js:227
#: ../js/ui/components/networkAgent.js:223
msgid "Key: "
msgstr "Chave: "
#: ../js/ui/components/networkAgent.js:265
#: ../js/ui/components/networkAgent.js:261
msgid "Identity: "
msgstr "Identidade: "
#: ../js/ui/components/networkAgent.js:267
#: ../js/ui/components/networkAgent.js:263
msgid "Private key password: "
msgstr "Senha da chave privada: "
#: ../js/ui/components/networkAgent.js:279
#: ../js/ui/components/networkAgent.js:275
msgid "Service: "
msgstr "Serviço: "
#: ../js/ui/components/networkAgent.js:308
#: ../js/ui/components/networkAgent.js:304
msgid "Authentication required by wireless network"
msgstr "Autenticação requisitada pela rede sem fio"
#: ../js/ui/components/networkAgent.js:309
#: ../js/ui/components/networkAgent.js:305
#, c-format
msgid ""
"Passwords or encryption keys are required to access the wireless network "
@@ -653,35 +642,35 @@ msgstr ""
"Senhas ou chaves criptografadas são necessárias para acessar a rede sem fio "
"\"%s\"."
#: ../js/ui/components/networkAgent.js:313
#: ../js/ui/components/networkAgent.js:309
msgid "Wired 802.1X authentication"
msgstr "Autenticação 802.1X cabeada"
#: ../js/ui/components/networkAgent.js:315
#: ../js/ui/components/networkAgent.js:311
msgid "Network name: "
msgstr "Nome da rede: "
#: ../js/ui/components/networkAgent.js:320
#: ../js/ui/components/networkAgent.js:316
msgid "DSL authentication"
msgstr "Autenticação DSL"
#: ../js/ui/components/networkAgent.js:327
#: ../js/ui/components/networkAgent.js:323
msgid "PIN code required"
msgstr "Código PIN requisitado"
#: ../js/ui/components/networkAgent.js:328
#: ../js/ui/components/networkAgent.js:324
msgid "PIN code is needed for the mobile broadband device"
msgstr "O código PIN é necessário para o dispositivo móvel de banda larga"
#: ../js/ui/components/networkAgent.js:329
#: ../js/ui/components/networkAgent.js:325
msgid "PIN: "
msgstr "PIN: "
#: ../js/ui/components/networkAgent.js:335
#: ../js/ui/components/networkAgent.js:331
msgid "Mobile broadband network password"
msgstr "Senha da rede de banda larga móvel"
#: ../js/ui/components/networkAgent.js:336
#: ../js/ui/components/networkAgent.js:332
#, c-format
msgid "A password is required to connect to '%s'."
msgstr "Uma senha é necessária para se conectar a \"%s\""
@@ -945,7 +934,7 @@ msgstr "Visualizar conta"
msgid "Unknown reason"
msgstr "Razão desconhecida"
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:100
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:96
msgid "Windows"
msgstr "Janelas"
@@ -1094,7 +1083,7 @@ msgstr "Instalar"
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "Baixar e instalar \"%s\" de extensions.gnome.org?"
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:333
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:334
msgid "Keyboard"
msgstr "Teclado"
@@ -1170,11 +1159,11 @@ msgstr "Menu de notificação"
msgid "No Messages"
msgstr "Sem mensagens"
#: ../js/ui/messageTray.js:1813
#: ../js/ui/messageTray.js:1812
msgid "Message Tray"
msgstr "Área de notificação"
#: ../js/ui/messageTray.js:2788
#: ../js/ui/messageTray.js:2786
msgid "System Information"
msgstr "Informações do sistema"
@@ -1206,17 +1195,21 @@ msgstr "Panorama"
msgid "Type to search…"
msgstr "Digite para pesquisar…"
#: ../js/ui/panel.js:518
#: ../js/ui/panel.js:516
msgid "Quit"
msgstr "Sair"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:570
#: ../js/ui/panel.js:568
msgid "Activities"
msgstr "Atividades"
#: ../js/ui/panel.js:903
#: ../js/ui/panel.js:805
msgid "Settings Menu"
msgstr "Menu de configurações"
#: ../js/ui/panel.js:892
msgid "Top Bar"
msgstr "Barra superior"
@@ -1225,7 +1218,7 @@ msgstr "Barra superior"
#. "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:233
#: ../js/ui/popupMenu.js:226
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
@@ -1254,7 +1247,7 @@ msgstr[1] "%d novas notificações"
msgid "Lock"
msgstr "Bloquear"
#: ../js/ui/screenShield.js:704
#: ../js/ui/screenShield.js:703
msgid "GNOME needs to lock the screen"
msgstr "GNOME precisa bloquear a tela"
@@ -1265,11 +1258,11 @@ msgstr "GNOME precisa bloquear a tela"
#.
#. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
#: ../js/ui/screenShield.js:830 ../js/ui/screenShield.js:1296
msgid "Unable to lock"
msgstr "Não foi possível bloquear"
#: ../js/ui/screenShield.js:832 ../js/ui/screenShield.js:1298
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
msgid "Lock was blocked by an application"
msgstr "O bloqueio foi impedido por um aplicativo"
@@ -1351,9 +1344,9 @@ msgstr "Texto grande"
#. The Bluetooth menu only appears when Bluetooth is in use,
#. so just statically build it with a "Turn Off" menu item.
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:63
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
#: ../js/ui/status/bluetooth.js:164 ../js/ui/status/bluetooth.js:195
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:62
#: ../js/ui/status/bluetooth.js:99 ../js/ui/status/bluetooth.js:127
#: ../js/ui/status/bluetooth.js:163 ../js/ui/status/bluetooth.js:194
msgid "Bluetooth"
msgstr "Bluetooth"
@@ -1366,56 +1359,56 @@ msgstr "Desligar"
msgid "Bluetooth Settings"
msgstr "Configurações de Bluetooth"
#: ../js/ui/status/bluetooth.js:58
#: ../js/ui/status/bluetooth.js:57
#, c-format
msgid "%d Connected Device"
msgid_plural "%d Connected Devices"
msgstr[0] "%d dispositivo conectado"
msgstr[1] "%d dispositivos conectados"
#: ../js/ui/status/bluetooth.js:101 ../js/ui/status/bluetooth.js:129
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
#, c-format
msgid "Authorization request from %s"
msgstr "Autorização requisitada de %s"
#: ../js/ui/status/bluetooth.js:107 ../js/ui/status/bluetooth.js:172
#: ../js/ui/status/bluetooth.js:203
#: ../js/ui/status/bluetooth.js:106 ../js/ui/status/bluetooth.js:171
#: ../js/ui/status/bluetooth.js:202
#, c-format
msgid "Device %s wants to pair with this computer"
msgstr "O dispositivo %s deseja parear com este computador"
#: ../js/ui/status/bluetooth.js:109
#: ../js/ui/status/bluetooth.js:108
msgid "Allow"
msgstr "Permitir"
#: ../js/ui/status/bluetooth.js:110
#: ../js/ui/status/bluetooth.js:109
msgid "Deny"
msgstr "Negar"
#: ../js/ui/status/bluetooth.js:135
#: ../js/ui/status/bluetooth.js:134
#, c-format
msgid "Device %s wants access to the service '%s'"
msgstr "O dispositivo %s deseja acessar o serviço \"%s\""
#: ../js/ui/status/bluetooth.js:137
#: ../js/ui/status/bluetooth.js:136
msgid "Always grant access"
msgstr "Sempre permitir acesso"
#: ../js/ui/status/bluetooth.js:138
#: ../js/ui/status/bluetooth.js:137
msgid "Grant this time only"
msgstr "Permitir apenas desta vez"
#: ../js/ui/status/bluetooth.js:139
#: ../js/ui/status/bluetooth.js:138
msgid "Reject"
msgstr "Rejeitar"
#. Translators: argument is the device short name
#: ../js/ui/status/bluetooth.js:166
#: ../js/ui/status/bluetooth.js:165
#, c-format
msgid "Pairing confirmation for %s"
msgstr "Confirmação de pareamento para %s"
#: ../js/ui/status/bluetooth.js:173
#: ../js/ui/status/bluetooth.js:172
#, c-format
msgid ""
"Please confirm whether the Passkey '%06d' matches the one on the device."
@@ -1424,24 +1417,24 @@ msgstr ""
"dispositivo."
#. Translators: this is the verb, not the noun
#: ../js/ui/status/bluetooth.js:176
#: ../js/ui/status/bluetooth.js:175
msgid "Matches"
msgstr "Corresponde"
#: ../js/ui/status/bluetooth.js:177
#: ../js/ui/status/bluetooth.js:176
msgid "Does not match"
msgstr "Não corresponde"
#: ../js/ui/status/bluetooth.js:196
#: ../js/ui/status/bluetooth.js:195
#, c-format
msgid "Pairing request for %s"
msgstr "Requisição de pareamento para %s"
#: ../js/ui/status/bluetooth.js:204
#: ../js/ui/status/bluetooth.js:203
msgid "Please enter the PIN mentioned on the device."
msgstr "Por favor, informe o PIN mencionado no dispositivo."
#: ../js/ui/status/bluetooth.js:221
#: ../js/ui/status/bluetooth.js:220
msgid "OK"
msgstr "OK"
@@ -1449,7 +1442,7 @@ msgstr "OK"
msgid "Brightness"
msgstr "Brilho"
#: ../js/ui/status/keyboard.js:403
#: ../js/ui/status/keyboard.js:404
msgid "Show Keyboard Layout"
msgstr "Exibir disposição de teclado"
@@ -1525,15 +1518,15 @@ msgstr "Ligar"
msgid "VPN"
msgstr "VPN"
#: ../js/ui/status/network.js:1307
#: ../js/ui/status/network.js:1306
msgid "Network Manager"
msgstr "Gerenciador de rede"
#: ../js/ui/status/network.js:1346
#: ../js/ui/status/network.js:1345
msgid "Connection failed"
msgstr "Falha de conexão"
#: ../js/ui/status/network.js:1347
#: ../js/ui/status/network.js:1346
msgid "Activation of network connection failed"
msgstr "Falha ao ativar a conexão da rede"
@@ -1619,11 +1612,11 @@ msgstr "Iniciar sessão como outro usuário"
msgid "Unlock Window"
msgstr "Desbloquear janela"
#: ../js/ui/viewSelector.js:104
#: ../js/ui/viewSelector.js:100
msgid "Applications"
msgstr "Aplicativos"
#: ../js/ui/viewSelector.js:108
#: ../js/ui/viewSelector.js:104
msgid "Search"
msgstr "Pesquisar"
@@ -1727,9 +1720,6 @@ msgstr "A senha não pode estar em branco"
msgid "Authentication dialog was dismissed by the user"
msgstr "O diálogo de autenticação foi descartado pelo usuário"
#~ msgid "Settings Menu"
#~ msgstr "Menu de configurações"
#~ msgid "Session"
#~ msgstr "Sessão"

2626
po/ro.po

File diff suppressed because it is too large Load Diff

190
po/ru.po
View File

@@ -14,16 +14,16 @@ 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: 2013-09-23 15:02+0000\n"
"PO-Revision-Date: 2013-09-24 12:18+0300\n"
"POT-Creation-Date: 2013-09-02 19:28+0000\n"
"PO-Revision-Date: 2013-09-07 23:11+0300\n"
"Last-Translator: Yuri Myasoedov <omerta13@yandex.ru>\n"
"Language-Team: русский <gnome-cyr@gnome.org>\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Poedit 1.5.7\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
"X-Generator: Gtranslator 2.91.6\n"
#: ../data/50-gnome-shell-system.xml.in.h:1
msgid "System"
@@ -54,7 +54,6 @@ msgid "GNOME Shell"
msgstr "GNOME Shell"
#: ../data/gnome-shell.desktop.in.in.h:2
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
msgid "Window management and application launching"
msgstr "Управление окнами и запуск приложений"
@@ -67,10 +66,6 @@ msgstr "Параметры расширений GNOME Shell"
msgid "Configure GNOME Shell Extensions"
msgstr "Настроить расширения GNOME Shell"
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
msgid "GNOME Shell (wayland compositor)"
msgstr "GNOME Shell (компоновщик wayland)"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr "Включить внутренние инструменты из Alt-F2 для разработчиков и тестеров"
@@ -220,10 +215,6 @@ msgstr "Рабочие места управляются динамически"
msgid "Workspaces only on primary monitor"
msgstr "Рабочие места только на основном мониторе"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
msgid "Delay focus changes in mouse mode until the pointer stops moving"
msgstr "Задержка изменения фокуса в режиме мыши после остановки указателя"
#: ../js/extensionPrefs/main.js:125
#, c-format
msgid "There was an error loading the preferences dialog for %s:"
@@ -238,12 +229,12 @@ msgid "Select an extension to configure using the combobox above."
msgstr "Выберите расширение из выпадающего списка."
#: ../js/gdm/authPrompt.js:145
#: ../js/ui/components/networkAgent.js:136
#: ../js/ui/components/networkAgent.js:132
#: ../js/ui/components/polkitAgent.js:161
#: ../js/ui/endSessionDialog.js:351
#: ../js/ui/extensionDownloader.js:195
#: ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/bluetooth.js:222
#: ../js/ui/status/bluetooth.js:221
#: ../js/ui/status/network.js:686
msgid "Cancel"
msgstr "Отмена"
@@ -286,8 +277,8 @@ msgstr "(например, пользователь или %s)"
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:627
#: ../js/ui/components/networkAgent.js:259
#: ../js/ui/components/networkAgent.js:277
#: ../js/ui/components/networkAgent.js:255
#: ../js/ui/components/networkAgent.js:273
msgid "Username: "
msgstr "Имя пользователя: "
@@ -308,43 +299,43 @@ msgstr "Ошибка проверки подлинности"
msgid "(or swipe finger)"
msgstr "(или проведите пальцем по считывающему устройству)"
#: ../js/misc/util.js:98
#: ../js/misc/util.js:97
msgid "Command not found"
msgstr "Команда не найдена"
#. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer
#: ../js/misc/util.js:131
#: ../js/misc/util.js:130
msgid "Could not parse command:"
msgstr "Не удалось разобрать команду:"
#: ../js/misc/util.js:139
#: ../js/misc/util.js:138
#, c-format
msgid "Execution of '%s' failed:"
msgstr "Не удалось выполнить «%s»:"
#: ../js/ui/appDisplay.js:596
#: ../js/ui/appDisplay.js:578
msgid "Frequently used applications will appear here"
msgstr "Здесь появляются часто используемые приложения"
#: ../js/ui/appDisplay.js:712
#: ../js/ui/appDisplay.js:694
msgid "Frequent"
msgstr "Популярные"
#: ../js/ui/appDisplay.js:719
#: ../js/ui/appDisplay.js:701
msgid "All"
msgstr "Все"
#: ../js/ui/appDisplay.js:1514
#: ../js/ui/appDisplay.js:1488
msgid "New Window"
msgstr "Новое окно"
#: ../js/ui/appDisplay.js:1517
#: ../js/ui/appDisplay.js:1491
#: ../js/ui/dash.js:284
msgid "Remove from Favorites"
msgstr "Удалить из избранного"
#: ../js/ui/appDisplay.js:1518
#: ../js/ui/appDisplay.js:1492
msgid "Add to Favorites"
msgstr "Добавить в избранное"
@@ -359,7 +350,6 @@ msgid "%s has been removed from your favorites."
msgstr "Приложение %s удалено из избранного."
#: ../js/ui/backgroundMenu.js:19
#: ../js/ui/panel.js:807
#: ../js/ui/status/system.js:325
msgid "Settings"
msgstr "Параметры"
@@ -546,16 +536,16 @@ msgstr "Открыть с помощью %s"
msgid "Eject"
msgstr "Извлечь"
#: ../js/ui/components/keyring.js:91
#: ../js/ui/components/keyring.js:88
#: ../js/ui/components/polkitAgent.js:280
msgid "Password:"
msgstr "Пароль:"
#: ../js/ui/components/keyring.js:110
#: ../js/ui/components/keyring.js:107
msgid "Type again:"
msgstr "Введите ещё раз:"
#: ../js/ui/components/networkAgent.js:131
#: ../js/ui/components/networkAgent.js:127
#: ../js/ui/status/network.js:112
#: ../js/ui/status/network.js:275
#: ../js/ui/status/network.js:689
@@ -563,69 +553,69 @@ msgid "Connect"
msgstr "Соединиться"
#. Cisco LEAP
#: ../js/ui/components/networkAgent.js:222
#: ../js/ui/components/networkAgent.js:234
#: ../js/ui/components/networkAgent.js:261
#: ../js/ui/components/networkAgent.js:281
#: ../js/ui/components/networkAgent.js:291
#: ../js/ui/components/networkAgent.js:218
#: ../js/ui/components/networkAgent.js:230
#: ../js/ui/components/networkAgent.js:257
#: ../js/ui/components/networkAgent.js:277
#: ../js/ui/components/networkAgent.js:287
msgid "Password: "
msgstr "Пароль: "
#. static WEP
#: ../js/ui/components/networkAgent.js:227
#: ../js/ui/components/networkAgent.js:223
msgid "Key: "
msgstr "Ключ: "
#: ../js/ui/components/networkAgent.js:265
#: ../js/ui/components/networkAgent.js:261
msgid "Identity: "
msgstr "Идентичность: "
#: ../js/ui/components/networkAgent.js:267
#: ../js/ui/components/networkAgent.js:263
msgid "Private key password: "
msgstr "Пароль личного ключа: "
#: ../js/ui/components/networkAgent.js:279
#: ../js/ui/components/networkAgent.js:275
msgid "Service: "
msgstr "Служба: "
#: ../js/ui/components/networkAgent.js:308
#: ../js/ui/components/networkAgent.js:304
msgid "Authentication required by wireless network"
msgstr "Беспроводная сеть требует подтверждения подлинности"
#: ../js/ui/components/networkAgent.js:309
#: ../js/ui/components/networkAgent.js:305
#, c-format
msgid "Passwords or encryption keys are required to access the wireless network '%s'."
msgstr "Для доступа к беспроводной сети «%s» требуются пароли или ключи шифрования."
#: ../js/ui/components/networkAgent.js:313
#: ../js/ui/components/networkAgent.js:309
msgid "Wired 802.1X authentication"
msgstr "Аутентификация Wired 802.1X"
#: ../js/ui/components/networkAgent.js:315
#: ../js/ui/components/networkAgent.js:311
msgid "Network name: "
msgstr "Название сети: "
#: ../js/ui/components/networkAgent.js:320
#: ../js/ui/components/networkAgent.js:316
msgid "DSL authentication"
msgstr "Аутентификация DSL"
#: ../js/ui/components/networkAgent.js:327
#: ../js/ui/components/networkAgent.js:323
msgid "PIN code required"
msgstr "Требуется PIN-код"
#: ../js/ui/components/networkAgent.js:328
#: ../js/ui/components/networkAgent.js:324
msgid "PIN code is needed for the mobile broadband device"
msgstr "Для широкополосного мобильного устройства требуется PIN-код "
#: ../js/ui/components/networkAgent.js:329
#: ../js/ui/components/networkAgent.js:325
msgid "PIN: "
msgstr "PIN-код: "
#: ../js/ui/components/networkAgent.js:335
#: ../js/ui/components/networkAgent.js:331
msgid "Mobile broadband network password"
msgstr "Пароль для мобильной широкополосной сети"
#: ../js/ui/components/networkAgent.js:336
#: ../js/ui/components/networkAgent.js:332
#, c-format
msgid "A password is required to connect to '%s'."
msgstr "Для подключения к «%s» требуется пароль."
@@ -883,7 +873,7 @@ msgid "Unknown reason"
msgstr "Неизвестная причина"
#: ../js/ui/ctrlAltTab.js:29
#: ../js/ui/viewSelector.js:100
#: ../js/ui/viewSelector.js:96
msgid "Windows"
msgstr "Окна"
@@ -987,12 +977,15 @@ msgstr[1] "Система будет автоматически перезапу
msgstr[2] "Система будет автоматически перезапущена через %d секунд."
#: ../js/ui/endSessionDialog.js:112
#| msgid "Install Updates & Restart"
msgctxt "title"
msgid "Restart & Install Updates"
msgstr "Перезапустить и установить обновления"
#: ../js/ui/endSessionDialog.js:114
#, c-format
#| msgid "The system will restart automatically in %d second."
#| msgid_plural "The system will restart automatically in %d seconds."
msgid "The system will automatically restart and install updates in %d second."
msgid_plural "The system will automatically restart and install updates in %d seconds."
msgstr[0] "Система автоматически перезапустится и установит обновления через %d секунду."
@@ -1034,7 +1027,7 @@ msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "Загрузить и установить расширение «%s» с extensions.gnome.org?"
#: ../js/ui/keyboard.js:619
#: ../js/ui/status/keyboard.js:333
#: ../js/ui/status/keyboard.js:334
msgid "Keyboard"
msgstr "Клавиатура"
@@ -1112,11 +1105,11 @@ msgstr "Меню панели"
msgid "No Messages"
msgstr "Нет сообщений"
#: ../js/ui/messageTray.js:1813
#: ../js/ui/messageTray.js:1812
msgid "Message Tray"
msgstr "Панель сообщений"
#: ../js/ui/messageTray.js:2788
#: ../js/ui/messageTray.js:2786
msgid "System Information"
msgstr "Системная информация"
@@ -1151,17 +1144,22 @@ msgstr "Обзор"
msgid "Type to search…"
msgstr "Найти…"
#: ../js/ui/panel.js:518
#: ../js/ui/panel.js:516
msgid "Quit"
msgstr "Закрыть"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:570
#: ../js/ui/panel.js:568
msgid "Activities"
msgstr "Обзор"
#: ../js/ui/panel.js:903
#: ../js/ui/panel.js:805
#| msgid "Settings"
msgid "Settings Menu"
msgstr "Меню параметров"
#: ../js/ui/panel.js:892
msgid "Top Bar"
msgstr "Верхняя панель"
@@ -1170,7 +1168,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:233
#: ../js/ui/popupMenu.js:226
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
@@ -1201,7 +1199,7 @@ msgstr[2] "%d новых уведомлений"
msgid "Lock"
msgstr "Заблокировать"
#: ../js/ui/screenShield.js:704
#: ../js/ui/screenShield.js:703
msgid "GNOME needs to lock the screen"
msgstr "GNOME необходимо заблокировать экран"
@@ -1212,13 +1210,13 @@ msgstr "GNOME необходимо заблокировать экран"
#.
#. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs
#: ../js/ui/screenShield.js:831
#: ../js/ui/screenShield.js:1297
#: ../js/ui/screenShield.js:830
#: ../js/ui/screenShield.js:1296
msgid "Unable to lock"
msgstr "Не удалось заблокировать"
#: ../js/ui/screenShield.js:832
#: ../js/ui/screenShield.js:1298
#: ../js/ui/screenShield.js:831
#: ../js/ui/screenShield.js:1297
msgid "Lock was blocked by an application"
msgstr "Блокировке помешало приложение"
@@ -1301,11 +1299,11 @@ msgstr "Крупный текст"
#. The Bluetooth menu only appears when Bluetooth is in use,
#. so just statically build it with a "Turn Off" menu item.
#: ../js/ui/status/bluetooth.js:28
#: ../js/ui/status/bluetooth.js:63
#: ../js/ui/status/bluetooth.js:100
#: ../js/ui/status/bluetooth.js:128
#: ../js/ui/status/bluetooth.js:164
#: ../js/ui/status/bluetooth.js:195
#: ../js/ui/status/bluetooth.js:62
#: ../js/ui/status/bluetooth.js:99
#: ../js/ui/status/bluetooth.js:127
#: ../js/ui/status/bluetooth.js:163
#: ../js/ui/status/bluetooth.js:194
msgid "Bluetooth"
msgstr "Bluetooth"
@@ -1320,7 +1318,7 @@ msgstr "Выключить"
msgid "Bluetooth Settings"
msgstr "Настроить Bluetooth"
#: ../js/ui/status/bluetooth.js:58
#: ../js/ui/status/bluetooth.js:57
#, c-format
msgid "%d Connected Device"
msgid_plural "%d Connected Devices"
@@ -1328,74 +1326,74 @@ msgstr[0] "Подключено %d устройство"
msgstr[1] "Подключено %d устройства"
msgstr[2] "Подключено %d устройств"
#: ../js/ui/status/bluetooth.js:101
#: ../js/ui/status/bluetooth.js:129
#: ../js/ui/status/bluetooth.js:100
#: ../js/ui/status/bluetooth.js:128
#, c-format
msgid "Authorization request from %s"
msgstr "Запрос авторизации от %s"
#: ../js/ui/status/bluetooth.js:107
#: ../js/ui/status/bluetooth.js:172
#: ../js/ui/status/bluetooth.js:203
#: ../js/ui/status/bluetooth.js:106
#: ../js/ui/status/bluetooth.js:171
#: ../js/ui/status/bluetooth.js:202
#, c-format
msgid "Device %s wants to pair with this computer"
msgstr "Устройство %s пытается выполнить сопряжение с этим компьютером"
#: ../js/ui/status/bluetooth.js:109
#: ../js/ui/status/bluetooth.js:108
msgid "Allow"
msgstr "Разрешить"
#: ../js/ui/status/bluetooth.js:110
#: ../js/ui/status/bluetooth.js:109
msgid "Deny"
msgstr "Отклонить"
#: ../js/ui/status/bluetooth.js:135
#: ../js/ui/status/bluetooth.js:134
#, c-format
msgid "Device %s wants access to the service '%s'"
msgstr "Устройство %s пытается получить доступ к службе «%s»"
#: ../js/ui/status/bluetooth.js:137
#: ../js/ui/status/bluetooth.js:136
msgid "Always grant access"
msgstr "Всегда предоставлять доступ"
#: ../js/ui/status/bluetooth.js:138
#: ../js/ui/status/bluetooth.js:137
msgid "Grant this time only"
msgstr "Предоставить единовременно"
#: ../js/ui/status/bluetooth.js:139
#: ../js/ui/status/bluetooth.js:138
msgid "Reject"
msgstr "Отклонить"
#. Translators: argument is the device short name
#: ../js/ui/status/bluetooth.js:166
#: ../js/ui/status/bluetooth.js:165
#, c-format
msgid "Pairing confirmation for %s"
msgstr "Подтверждение на сопряжение с %s"
#: ../js/ui/status/bluetooth.js:173
#: ../js/ui/status/bluetooth.js:172
#, c-format
msgid "Please confirm whether the Passkey '%06d' matches the one on the device."
msgstr "Подтвердите, совпадает ли ключ доступа «%06d» с кодом на устройстве."
#. Translators: this is the verb, not the noun
#: ../js/ui/status/bluetooth.js:176
#: ../js/ui/status/bluetooth.js:175
msgid "Matches"
msgstr "Совпадает"
#: ../js/ui/status/bluetooth.js:177
#: ../js/ui/status/bluetooth.js:176
msgid "Does not match"
msgstr "Не совпадает"
#: ../js/ui/status/bluetooth.js:196
#: ../js/ui/status/bluetooth.js:195
#, c-format
msgid "Pairing request for %s"
msgstr "Запрос на сопряжение c %s"
#: ../js/ui/status/bluetooth.js:204
#: ../js/ui/status/bluetooth.js:203
msgid "Please enter the PIN mentioned on the device."
msgstr "Введите PIN-код указанный на устройстве."
#: ../js/ui/status/bluetooth.js:221
#: ../js/ui/status/bluetooth.js:220
msgid "OK"
msgstr "OK"
@@ -1403,7 +1401,7 @@ msgstr "OK"
msgid "Brightness"
msgstr "Яркость"
#: ../js/ui/status/keyboard.js:403
#: ../js/ui/status/keyboard.js:404
msgid "Show Keyboard Layout"
msgstr "Показать раскладку клавиатуры"
@@ -1469,6 +1467,7 @@ msgid "Select a network"
msgstr "Выберите сеть"
#: ../js/ui/status/network.js:680
#| msgid "Wi-Fi Networks"
msgid "No Networks"
msgstr "Сети отсутствуют"
@@ -1484,15 +1483,15 @@ msgstr "Включить"
msgid "VPN"
msgstr "VPN"
#: ../js/ui/status/network.js:1307
#: ../js/ui/status/network.js:1306
msgid "Network Manager"
msgstr "Диспетчер сети"
#: ../js/ui/status/network.js:1346
#: ../js/ui/status/network.js:1345
msgid "Connection failed"
msgstr "Сбой подключения"
#: ../js/ui/status/network.js:1347
#: ../js/ui/status/network.js:1346
msgid "Activation of network connection failed"
msgstr "Не удалось активировать сетевое подключение"
@@ -1519,12 +1518,14 @@ msgstr "Выполняется подсчёт…"
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
#: ../js/ui/status/power.js:77
#, c-format
#| msgid "%d\\u2236%d Remaining (%d%%)"
msgid "%d\\u2236%02d Remaining (%d%%)"
msgstr "Осталось %d\\u2236%02d (%d%%)"
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
#: ../js/ui/status/power.js:82
#, c-format
#| msgid "%d\\u2236%d Until Full (%d%%)"
msgid "%d\\u2236%02d Until Full (%d%%)"
msgstr "До полного заряда %d\\u2236%02d (%d%%)"
@@ -1536,6 +1537,7 @@ msgid "Airplane Mode"
msgstr "Режим перелёта"
#: ../js/ui/status/rfkill.js:45
#| msgid "Open"
msgid "On"
msgstr "Включено"
@@ -1579,11 +1581,11 @@ msgstr "Войти от имени другого пользователя"
msgid "Unlock Window"
msgstr "Разблокировать окно"
#: ../js/ui/viewSelector.js:104
#: ../js/ui/viewSelector.js:100
msgid "Applications"
msgstr "Приложения"
#: ../js/ui/viewSelector.js:108
#: ../js/ui/viewSelector.js:104
msgid "Search"
msgstr "Поиск"
@@ -1614,6 +1616,7 @@ msgstr "Хотите сохранить эти параметры дисплея
#. to avoid ellipsizing the labels.
#.
#: ../js/ui/windowManager.js:75
#| msgid "Power Settings"
msgid "Revert Settings"
msgstr "Вернуть параметры"
@@ -1690,9 +1693,6 @@ msgstr "Пароль не может быть пустым"
msgid "Authentication dialog was dismissed by the user"
msgstr "Аутентификация отклонена пользователем"
#~ msgid "Settings Menu"
#~ msgstr "Меню параметров"
#~ msgid "Screenshots"
#~ msgstr "Снимки экрана"

View File

@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2013-09-15 08:19+0000\n"
"POT-Creation-Date: 2013-09-04 09:34+0000\n"
"PO-Revision-Date: 2013-08-29 20:44+0100\n"
"Last-Translator: Dušan Kazik <prescott66@gmail.com>\n"
"Language-Team: Slovak <gnome-sk-list@gnome.org>\n"
@@ -56,7 +56,6 @@ msgid "GNOME Shell"
msgstr "Shell prostredia GNOME"
#: ../data/gnome-shell.desktop.in.in.h:2
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
msgid "Window management and application launching"
msgstr "Správa okien a spúšťanie aplikácií"
@@ -69,10 +68,6 @@ msgstr "Nastavenia rozšírení pre Shell prostredia GNOME"
msgid "Configure GNOME Shell Extensions"
msgstr "Nastavenie rozšírení pre Shell prostredia GNOME"
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
msgid "GNOME Shell (wayland compositor)"
msgstr "Shell prostredia GNOME (kompozitor pre wayland)"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr ""
@@ -360,42 +355,42 @@ msgstr "Chyba pri overovaní totožnosti"
msgid "(or swipe finger)"
msgstr "(alebo prejdite prstom)"
#: ../js/misc/util.js:98
#: ../js/misc/util.js:97
msgid "Command not found"
msgstr "Príkaz nebol nájdený"
#. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer
#: ../js/misc/util.js:131
#: ../js/misc/util.js:130
msgid "Could not parse command:"
msgstr "Nepodarilo sa analyzovať príkaz:"
#: ../js/misc/util.js:139
#: ../js/misc/util.js:138
#, c-format
msgid "Execution of '%s' failed:"
msgstr "Spustenie „%s“ zlyhalo:"
#: ../js/ui/appDisplay.js:598
#: ../js/ui/appDisplay.js:580
msgid "Frequently used applications will appear here"
msgstr "Tu sa objavia často používané aplikácie"
#: ../js/ui/appDisplay.js:714
#: ../js/ui/appDisplay.js:696
msgid "Frequent"
msgstr "Často používané"
#: ../js/ui/appDisplay.js:721
#: ../js/ui/appDisplay.js:703
msgid "All"
msgstr "Všetky"
#: ../js/ui/appDisplay.js:1516
#: ../js/ui/appDisplay.js:1490
msgid "New Window"
msgstr "Nové okno"
#: ../js/ui/appDisplay.js:1519 ../js/ui/dash.js:284
#: ../js/ui/appDisplay.js:1493 ../js/ui/dash.js:284
msgid "Remove from Favorites"
msgstr "Odstrániť z obľúbených"
#: ../js/ui/appDisplay.js:1520
#: ../js/ui/appDisplay.js:1494
msgid "Add to Favorites"
msgstr "Pridať do obľúbených"
@@ -409,8 +404,7 @@ msgstr "Program %s bol pridaný medzi obľúbené."
msgid "%s has been removed from your favorites."
msgstr "Program %s bol odstránený z obľúbených."
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:807
#: ../js/ui/status/system.js:325
#: ../js/ui/backgroundMenu.js:19 ../js/ui/status/system.js:325
msgid "Settings"
msgstr "Nastavenia"
@@ -942,7 +936,7 @@ msgstr "Zobraziť účet"
msgid "Unknown reason"
msgstr "Neznámy dôvod"
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:100
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:96
msgid "Windows"
msgstr "Okná"
@@ -1095,7 +1089,7 @@ msgstr "Inštalovať"
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "Stiahnuť a nainštalovať „%s“ z extensions.gnome.org?"
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:333
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:334
msgid "Keyboard"
msgstr "Klávesnica"
@@ -1179,7 +1173,7 @@ msgstr "Žiadne správy"
msgid "Message Tray"
msgstr "Lišta správ"
#: ../js/ui/messageTray.js:2787
#: ../js/ui/messageTray.js:2786
msgid "System Information"
msgstr "Informácie o systéme"
@@ -1213,17 +1207,21 @@ msgstr "Prehľad"
msgid "Type to search…"
msgstr "Zadajte text na vyhľadanie…"
#: ../js/ui/panel.js:518
#: ../js/ui/panel.js:516
msgid "Quit"
msgstr "Ukončiť"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:570
#: ../js/ui/panel.js:568
msgid "Activities"
msgstr "Aktivity"
#: ../js/ui/panel.js:903
#: ../js/ui/panel.js:805
msgid "Settings Menu"
msgstr "Ponuka nastavení"
#: ../js/ui/panel.js:901
msgid "Top Bar"
msgstr "Horná lišta"
@@ -1232,7 +1230,7 @@ msgstr "Horná lišta"
#. "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:233
#: ../js/ui/popupMenu.js:226
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
@@ -1265,7 +1263,7 @@ msgstr[2] "%d nové oznámenia"
msgid "Lock"
msgstr "Uzamknúť"
#: ../js/ui/screenShield.js:704
#: ../js/ui/screenShield.js:703
msgid "GNOME needs to lock the screen"
msgstr "Prostredie GNOME vyžaduje uzamknutie obrazovky"
@@ -1276,11 +1274,11 @@ msgstr "Prostredie GNOME vyžaduje uzamknutie obrazovky"
#.
#. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
#: ../js/ui/screenShield.js:830 ../js/ui/screenShield.js:1296
msgid "Unable to lock"
msgstr "Nepodarilo sa uzamknúť obrazovku"
#: ../js/ui/screenShield.js:832 ../js/ui/screenShield.js:1298
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
msgid "Lock was blocked by an application"
msgstr "Uzamknutie bolo zablokované aplikáciou"
@@ -1464,7 +1462,7 @@ msgstr "Ok"
msgid "Brightness"
msgstr "Jas"
#: ../js/ui/status/keyboard.js:403
#: ../js/ui/status/keyboard.js:404
msgid "Show Keyboard Layout"
msgstr "Zobraziť rozloženie klávesnice"
@@ -1639,11 +1637,11 @@ msgstr "Prihlásiť ako iný používateľ"
msgid "Unlock Window"
msgstr "Odomykacie okno"
#: ../js/ui/viewSelector.js:104
#: ../js/ui/viewSelector.js:100
msgid "Applications"
msgstr "Aplikácie"
#: ../js/ui/viewSelector.js:108
#: ../js/ui/viewSelector.js:104
msgid "Search"
msgstr "Hľadať"
@@ -1753,9 +1751,6 @@ msgstr "Heslo nemôže byť prázdne"
msgid "Authentication dialog was dismissed by the user"
msgstr "Dialógové okno overenia totožnosti bolo zatvorené používateľom"
#~ msgid "Settings Menu"
#~ msgstr "Ponuka nastavení"
#~ msgid "Session"
#~ msgstr "Relácia"

169
po/sl.po
View File

@@ -9,8 +9,8 @@ msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2013-09-23 18:38+0000\n"
"PO-Revision-Date: 2013-09-23 21:09+0100\n"
"POT-Creation-Date: 2013-09-02 19:28+0000\n"
"PO-Revision-Date: 2013-09-02 22:41+0100\n"
"Last-Translator: Matej Urbančič <mateju@svn.gnome.org>\n"
"Language-Team: Slovenian GNOME Translation Team <gnome-si@googlegroups.com>\n"
"Language: Slovenian\n"
@@ -51,7 +51,6 @@ msgid "GNOME Shell"
msgstr "Gnome lupina"
#: ../data/gnome-shell.desktop.in.in.h:2
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
msgid "Window management and application launching"
msgstr "Upravljanje oken in zaganjanje programov"
@@ -64,10 +63,6 @@ msgstr "Možnosti razširitev lupine GNOME"
msgid "Configure GNOME Shell Extensions"
msgstr "Nastavitve razširitev lupine Gnome"
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
msgid "GNOME Shell (wayland compositor)"
msgstr "Lupina GNOME (wayland)"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr ""
@@ -266,12 +261,6 @@ msgstr "Delovne površine se obravnavajo dinamično"
msgid "Workspaces only on primary monitor"
msgstr "Delovne površine so le na osnovnem zaslonu"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
msgid "Delay focus changes in mouse mode until the pointer stops moving"
msgstr ""
"Zamik žarišča se v načinu miške spreminja, dokler se kazalnik ne neha "
"premikati"
#: ../js/extensionPrefs/main.js:125
#, c-format
msgid "There was an error loading the preferences dialog for %s:"
@@ -286,10 +275,10 @@ msgid "Select an extension to configure using the combobox above."
msgstr ""
"Razširitev za nastavljanje je mogoče izbrati iz spustnega seznama zgoraj."
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:136
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:132
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/bluetooth.js:222 ../js/ui/status/network.js:686
#: ../js/ui/status/bluetooth.js:221 ../js/ui/status/network.js:686
msgid "Cancel"
msgstr "Prekliči"
@@ -328,8 +317,8 @@ msgstr "(na primer, uporabnika ali %s)"
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:259
#: ../js/ui/components/networkAgent.js:277
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:255
#: ../js/ui/components/networkAgent.js:273
msgid "Username: "
msgstr "Uporabniško ime: "
@@ -350,42 +339,42 @@ msgstr "Napaka overitve"
msgid "(or swipe finger)"
msgstr "(ali pa povlecite prst)"
#: ../js/misc/util.js:98
#: ../js/misc/util.js:97
msgid "Command not found"
msgstr "Ukaz ni mogoče najti"
#. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer
#: ../js/misc/util.js:131
#: ../js/misc/util.js:130
msgid "Could not parse command:"
msgstr "Ukaza ni mogoče razčleniti:"
#: ../js/misc/util.js:139
#: ../js/misc/util.js:138
#, c-format
msgid "Execution of '%s' failed:"
msgstr "Izvedba '%s' je spodletela:"
#: ../js/ui/appDisplay.js:596
#: ../js/ui/appDisplay.js:578
msgid "Frequently used applications will appear here"
msgstr "Pogosto uporabljeni programi bodo prikazani tu"
#: ../js/ui/appDisplay.js:712
#: ../js/ui/appDisplay.js:694
msgid "Frequent"
msgstr "Pogosto"
#: ../js/ui/appDisplay.js:719
#: ../js/ui/appDisplay.js:701
msgid "All"
msgstr "Vse"
#: ../js/ui/appDisplay.js:1514
#: ../js/ui/appDisplay.js:1488
msgid "New Window"
msgstr "Novo okno"
#: ../js/ui/appDisplay.js:1517 ../js/ui/dash.js:284
#: ../js/ui/appDisplay.js:1491 ../js/ui/dash.js:284
msgid "Remove from Favorites"
msgstr "Odstrani iz priljubljenih"
#: ../js/ui/appDisplay.js:1518
#: ../js/ui/appDisplay.js:1492
msgid "Add to Favorites"
msgstr "Dodaj med priljubljene"
@@ -399,8 +388,7 @@ msgstr "Program \"%s\" je dodan med priljubljeno."
msgid "%s has been removed from your favorites."
msgstr "Program \"%s\" je odstranjen iz priljubljenih."
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:807
#: ../js/ui/status/system.js:325
#: ../js/ui/backgroundMenu.js:19 ../js/ui/status/system.js:325
msgid "Settings"
msgstr "Nastavitve"
@@ -586,50 +574,50 @@ msgstr "Odpri s programom %s"
msgid "Eject"
msgstr "Izvrzi"
#: ../js/ui/components/keyring.js:91 ../js/ui/components/polkitAgent.js:280
#: ../js/ui/components/keyring.js:88 ../js/ui/components/polkitAgent.js:280
msgid "Password:"
msgstr "Geslo:"
#: ../js/ui/components/keyring.js:110
#: ../js/ui/components/keyring.js:107
msgid "Type again:"
msgstr "Vpišite znova:"
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:112
#: ../js/ui/components/networkAgent.js:127 ../js/ui/status/network.js:112
#: ../js/ui/status/network.js:275 ../js/ui/status/network.js:689
msgid "Connect"
msgstr "Poveži"
#. Cisco LEAP
#: ../js/ui/components/networkAgent.js:222
#: ../js/ui/components/networkAgent.js:234
#: ../js/ui/components/networkAgent.js:261
#: ../js/ui/components/networkAgent.js:281
#: ../js/ui/components/networkAgent.js:291
#: ../js/ui/components/networkAgent.js:218
#: ../js/ui/components/networkAgent.js:230
#: ../js/ui/components/networkAgent.js:257
#: ../js/ui/components/networkAgent.js:277
#: ../js/ui/components/networkAgent.js:287
msgid "Password: "
msgstr "Geslo:"
#. static WEP
#: ../js/ui/components/networkAgent.js:227
#: ../js/ui/components/networkAgent.js:223
msgid "Key: "
msgstr "Ključ:"
#: ../js/ui/components/networkAgent.js:265
#: ../js/ui/components/networkAgent.js:261
msgid "Identity: "
msgstr "_Istovetnost:"
#: ../js/ui/components/networkAgent.js:267
#: ../js/ui/components/networkAgent.js:263
msgid "Private key password: "
msgstr "Geslo zasebnega ključa:"
#: ../js/ui/components/networkAgent.js:279
#: ../js/ui/components/networkAgent.js:275
msgid "Service: "
msgstr "Storitev:"
#: ../js/ui/components/networkAgent.js:308
#: ../js/ui/components/networkAgent.js:304
msgid "Authentication required by wireless network"
msgstr "Zahtevana overitev za brezžično omrežje"
#: ../js/ui/components/networkAgent.js:309
#: ../js/ui/components/networkAgent.js:305
#, c-format
msgid ""
"Passwords or encryption keys are required to access the wireless network "
@@ -638,35 +626,35 @@ msgstr ""
"Za povezavo v brezžično omrežje '%s' je zahtevana overitev ali nastavitev "
"šifrirnega ključa."
#: ../js/ui/components/networkAgent.js:313
#: ../js/ui/components/networkAgent.js:309
msgid "Wired 802.1X authentication"
msgstr "Žična overitev 802.1X"
#: ../js/ui/components/networkAgent.js:315
#: ../js/ui/components/networkAgent.js:311
msgid "Network name: "
msgstr "Ime omrežja:"
#: ../js/ui/components/networkAgent.js:320
#: ../js/ui/components/networkAgent.js:316
msgid "DSL authentication"
msgstr "DSL overitev"
#: ../js/ui/components/networkAgent.js:327
#: ../js/ui/components/networkAgent.js:323
msgid "PIN code required"
msgstr "Zahtevana koda PIN"
#: ../js/ui/components/networkAgent.js:328
#: ../js/ui/components/networkAgent.js:324
msgid "PIN code is needed for the mobile broadband device"
msgstr "Za napravo mobilnega širokopasovnega dostopa je zahtevana koda PIN."
#: ../js/ui/components/networkAgent.js:329
#: ../js/ui/components/networkAgent.js:325
msgid "PIN: "
msgstr "PIN: "
#: ../js/ui/components/networkAgent.js:335
#: ../js/ui/components/networkAgent.js:331
msgid "Mobile broadband network password"
msgstr "Geslo mobilnega širokopasovnega dostopa"
#: ../js/ui/components/networkAgent.js:336
#: ../js/ui/components/networkAgent.js:332
#, c-format
msgid "A password is required to connect to '%s'."
msgstr "Za povezavo z omrežjem '%s' je zahtevano geslo."
@@ -929,7 +917,7 @@ msgstr "Poglej račun"
msgid "Unknown reason"
msgstr "Neznan vzrok"
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:100
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:96
msgid "Windows"
msgstr "Okna"
@@ -1089,7 +1077,7 @@ msgid "Download and install '%s' from extensions.gnome.org?"
msgstr ""
"Ali naj se razširitev '%s' namesti preko povezave z extensions.gnome.org?"
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:333
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:334
msgid "Keyboard"
msgstr "Tipkovnica"
@@ -1165,11 +1153,11 @@ msgstr "Meni sistemske vrstice"
msgid "No Messages"
msgstr "Ni sporočil"
#: ../js/ui/messageTray.js:1813
#: ../js/ui/messageTray.js:1812
msgid "Message Tray"
msgstr "Sporočilna vrstica"
#: ../js/ui/messageTray.js:2788
#: ../js/ui/messageTray.js:2786
msgid "System Information"
msgstr "Podrobnosti sistema"
@@ -1203,17 +1191,21 @@ msgstr "Pregled"
msgid "Type to search…"
msgstr "Vnos niza za iskanje ..."
#: ../js/ui/panel.js:518
#: ../js/ui/panel.js:516
msgid "Quit"
msgstr "Končaj"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:570
#: ../js/ui/panel.js:568
msgid "Activities"
msgstr "Dejavnosti"
#: ../js/ui/panel.js:903
#: ../js/ui/panel.js:805
msgid "Settings Menu"
msgstr "Meni nastavitev"
#: ../js/ui/panel.js:892
msgid "Top Bar"
msgstr "Vrhnja vrstica"
@@ -1222,7 +1214,7 @@ msgstr "Vrhnja vrstica"
#. "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:233
#: ../js/ui/popupMenu.js:226
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
@@ -1253,7 +1245,7 @@ msgstr[3] "%d nova obvestila"
msgid "Lock"
msgstr "Zakleni"
#: ../js/ui/screenShield.js:704
#: ../js/ui/screenShield.js:703
msgid "GNOME needs to lock the screen"
msgstr "Zakleniti je treba zaslon"
@@ -1264,11 +1256,11 @@ msgstr "Zakleniti je treba zaslon"
#.
#. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
#: ../js/ui/screenShield.js:830 ../js/ui/screenShield.js:1296
msgid "Unable to lock"
msgstr "Zaklep ni mogoč"
#: ../js/ui/screenShield.js:832 ../js/ui/screenShield.js:1298
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
msgid "Lock was blocked by an application"
msgstr "Zaklep je preprečil program"
@@ -1350,9 +1342,9 @@ msgstr "Veliko besedilo"
#. The Bluetooth menu only appears when Bluetooth is in use,
#. so just statically build it with a "Turn Off" menu item.
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:63
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
#: ../js/ui/status/bluetooth.js:164 ../js/ui/status/bluetooth.js:195
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:62
#: ../js/ui/status/bluetooth.js:99 ../js/ui/status/bluetooth.js:127
#: ../js/ui/status/bluetooth.js:163 ../js/ui/status/bluetooth.js:194
msgid "Bluetooth"
msgstr "Bluetooth"
@@ -1365,7 +1357,7 @@ msgstr "Onemogoči"
msgid "Bluetooth Settings"
msgstr "Nastavitve za Bluetooth"
#: ../js/ui/status/bluetooth.js:58
#: ../js/ui/status/bluetooth.js:57
#, c-format
msgid "%d Connected Device"
msgid_plural "%d Connected Devices"
@@ -1374,73 +1366,73 @@ msgstr[1] "%d povezana naprava"
msgstr[2] "%d povezani napravi"
msgstr[3] "%d povezane naprave"
#: ../js/ui/status/bluetooth.js:101 ../js/ui/status/bluetooth.js:129
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
#, c-format
msgid "Authorization request from %s"
msgstr "Zahteva za pooblastitev od %s"
#: ../js/ui/status/bluetooth.js:107 ../js/ui/status/bluetooth.js:172
#: ../js/ui/status/bluetooth.js:203
#: ../js/ui/status/bluetooth.js:106 ../js/ui/status/bluetooth.js:171
#: ../js/ui/status/bluetooth.js:202
#, c-format
msgid "Device %s wants to pair with this computer"
msgstr "Naprava %s se poskuša seznaniti s tem računalnikom"
#: ../js/ui/status/bluetooth.js:109
#: ../js/ui/status/bluetooth.js:108
msgid "Allow"
msgstr "Dovoli"
#: ../js/ui/status/bluetooth.js:110
#: ../js/ui/status/bluetooth.js:109
msgid "Deny"
msgstr "Zavrni"
#: ../js/ui/status/bluetooth.js:135
#: ../js/ui/status/bluetooth.js:134
#, c-format
msgid "Device %s wants access to the service '%s'"
msgstr "Naprava %s želi dostop do storitve '%s'."
#: ../js/ui/status/bluetooth.js:137
#: ../js/ui/status/bluetooth.js:136
msgid "Always grant access"
msgstr "Vedno odobri dostop"
#: ../js/ui/status/bluetooth.js:138
#: ../js/ui/status/bluetooth.js:137
msgid "Grant this time only"
msgstr "Odobri le tokrat"
#: ../js/ui/status/bluetooth.js:139
#: ../js/ui/status/bluetooth.js:138
msgid "Reject"
msgstr "Zavrni"
#. Translators: argument is the device short name
#: ../js/ui/status/bluetooth.js:166
#: ../js/ui/status/bluetooth.js:165
#, c-format
msgid "Pairing confirmation for %s"
msgstr "Potrditev razčlenjevanja za %s"
#: ../js/ui/status/bluetooth.js:173
#: ../js/ui/status/bluetooth.js:172
#, c-format
msgid ""
"Please confirm whether the Passkey '%06d' matches the one on the device."
msgstr "Potrdite, ali se PIN '%06d' ujema s tistim na napravi."
#. Translators: this is the verb, not the noun
#: ../js/ui/status/bluetooth.js:176
#: ../js/ui/status/bluetooth.js:175
msgid "Matches"
msgstr "Ujemanja"
#: ../js/ui/status/bluetooth.js:177
#: ../js/ui/status/bluetooth.js:176
msgid "Does not match"
msgstr "Se ne ujema"
#: ../js/ui/status/bluetooth.js:196
#: ../js/ui/status/bluetooth.js:195
#, c-format
msgid "Pairing request for %s"
msgstr "Zahteva razčlenjevanja za %s"
#: ../js/ui/status/bluetooth.js:204
#: ../js/ui/status/bluetooth.js:203
msgid "Please enter the PIN mentioned on the device."
msgstr "Vnesite PIN, ki je naveden na napravi."
#: ../js/ui/status/bluetooth.js:221
#: ../js/ui/status/bluetooth.js:220
msgid "OK"
msgstr "V redu"
@@ -1448,7 +1440,7 @@ msgstr "V redu"
msgid "Brightness"
msgstr "Svetlost"
#: ../js/ui/status/keyboard.js:403
#: ../js/ui/status/keyboard.js:404
msgid "Show Keyboard Layout"
msgstr "Pokaži razporeditev tipkovnice"
@@ -1524,15 +1516,15 @@ msgstr "Omogoči"
msgid "VPN"
msgstr "VPN"
#: ../js/ui/status/network.js:1307
#: ../js/ui/status/network.js:1306
msgid "Network Manager"
msgstr "Upravljalnik omrežij"
#: ../js/ui/status/network.js:1346
#: ../js/ui/status/network.js:1345
msgid "Connection failed"
msgstr "Povezava je spodletela"
#: ../js/ui/status/network.js:1347
#: ../js/ui/status/network.js:1346
msgid "Activation of network connection failed"
msgstr "Omogočanje omrežne povezave je spodletelo."
@@ -1618,11 +1610,11 @@ msgstr "Prijava kot drug uporabnik"
msgid "Unlock Window"
msgstr "Odkleni okno"
#: ../js/ui/viewSelector.js:104
#: ../js/ui/viewSelector.js:100
msgid "Applications"
msgstr "Programi"
#: ../js/ui/viewSelector.js:108
#: ../js/ui/viewSelector.js:104
msgid "Search"
msgstr "Poišči"
@@ -1732,9 +1724,6 @@ msgstr "Geslo ne more biti prazno"
msgid "Authentication dialog was dismissed by the user"
msgstr "Uporabnik je zavrnil pogovorno okno overitve"
#~ msgid "Settings Menu"
#~ msgstr "Meni nastavitev"
#~ msgid "Session"
#~ msgstr "Seja"

View File

@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: Tajik Gnome\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2013-09-12 17:36+0000\n"
"PO-Revision-Date: 2013-09-13 13:13+0500\n"
"POT-Creation-Date: 2013-09-08 10:42+0000\n"
"PO-Revision-Date: 2013-09-08 15:44+0500\n"
"Last-Translator: Victor Ibragimov <victor.ibragimov@gmail.com>\n"
"Language-Team: \n"
"Language: Tajik\n"
@@ -48,7 +48,6 @@ msgid "GNOME Shell"
msgstr "Восити GNOME"
#: ../data/gnome-shell.desktop.in.in.h:2
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
msgid "Window management and application launching"
msgstr "Идоракунии равзанаҳо ва оғозидани барномаҳо"
@@ -61,10 +60,6 @@ msgstr "Хусусиятҳои пасвандҳои восити GNOME"
msgid "Configure GNOME Shell Extensions"
msgstr "Танзимоти пасвандҳои восити GNOME"
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
msgid "GNOME Shell (wayland compositor)"
msgstr "Восити GNOME (созандаи wayland)"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr ""
@@ -350,17 +345,17 @@ msgstr "Хатои санҷиши ҳаққоният"
msgid "(or swipe finger)"
msgstr "(ё бо ангут ламс кунед)"
#: ../js/misc/util.js:98
#: ../js/misc/util.js:97
msgid "Command not found"
msgstr "Фармон ёфт нашудааст"
#. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer
#: ../js/misc/util.js:131
#: ../js/misc/util.js:130
msgid "Could not parse command:"
msgstr "Фармон иҷро нашудааст:"
#: ../js/misc/util.js:139
#: ../js/misc/util.js:138
#, c-format
msgid "Execution of '%s' failed:"
msgstr "Иҷрокунии '%s' қатъ шудааст:"
@@ -929,7 +924,7 @@ msgstr "Намоиш додани ҳисоб"
msgid "Unknown reason"
msgstr "Сабаби номаълум"
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:100
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:96
msgid "Windows"
msgstr "Равзанаҳо"
@@ -1077,7 +1072,7 @@ msgstr "Насб кардан"
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "\"%s\"-ро аз extensions.gnome.org боргирӣ ва насб мекунед?"
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:333
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:334
msgid "Keyboard"
msgstr "Клавиатура"
@@ -1189,21 +1184,21 @@ msgstr "Хулоса"
msgid "Type to search…"
msgstr "Ҷустуҷӯ кардан..."
#: ../js/ui/panel.js:518
#: ../js/ui/panel.js:516
msgid "Quit"
msgstr "Баромад"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:570
#: ../js/ui/panel.js:568
msgid "Activities"
msgstr "Фаъолиятҳо"
#: ../js/ui/panel.js:807
#: ../js/ui/panel.js:805
msgid "Settings Menu"
msgstr "Менюи танзимот"
#: ../js/ui/panel.js:903
#: ../js/ui/panel.js:901
msgid "Top Bar"
msgstr "Панели боло"
@@ -1212,7 +1207,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:233
#: ../js/ui/popupMenu.js:226
msgid "toggle-switch-us"
msgstr "toggle-switch-us"
@@ -1241,7 +1236,7 @@ msgstr[1] "%d огоҳии нав"
msgid "Lock"
msgstr "Қулф кардан"
#: ../js/ui/screenShield.js:704
#: ../js/ui/screenShield.js:703
msgid "GNOME needs to lock the screen"
msgstr "GNOME бояд экранро қулф кунад"
@@ -1252,11 +1247,11 @@ msgstr "GNOME бояд экранро қулф кунад"
#.
#. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
#: ../js/ui/screenShield.js:830 ../js/ui/screenShield.js:1296
msgid "Unable to lock"
msgstr "Қулф карда намешавад"
#: ../js/ui/screenShield.js:832 ../js/ui/screenShield.js:1298
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
msgid "Lock was blocked by an application"
msgstr "Қулф аз тарави барнома баста шудааст"
@@ -1436,7 +1431,7 @@ msgstr "OK"
msgid "Brightness"
msgstr "Дурахшонӣ"
#: ../js/ui/status/keyboard.js:403
#: ../js/ui/status/keyboard.js:404
msgid "Show Keyboard Layout"
msgstr "Намоиш додани тарҳбандии клавиатура"
@@ -1606,11 +1601,11 @@ msgstr "Ворид шудан бо корбари дигар"
msgid "Unlock Window"
msgstr "Кушодани равзана"
#: ../js/ui/viewSelector.js:104
#: ../js/ui/viewSelector.js:100
msgid "Applications"
msgstr "Барномаҳо"
#: ../js/ui/viewSelector.js:108
#: ../js/ui/viewSelector.js:104
msgid "Search"
msgstr "Ҷустуҷӯ"

415
po/uk.po

File diff suppressed because it is too large Load Diff

View File

@@ -9,16 +9,15 @@ msgstr ""
"Project-Id-Version: gnome-shell 3.3.90\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2013-09-20 05:44+0000\n"
"PO-Revision-Date: 2013-09-24 19:13+0800\n"
"POT-Creation-Date: 2013-09-02 19:28+0000\n"
"PO-Revision-Date: 2013-09-04 15:06+0800\n"
"Last-Translator: Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>\n"
"Language-Team: Chinese (Hong Kong) <community@linuxhall.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Poedit 1.5.5\n"
"X-Generator: Poedit 1.5.7\n"
#: ../data/50-gnome-shell-system.xml.in.h:1
msgid "System"
@@ -49,7 +48,6 @@ msgid "GNOME Shell"
msgstr "GNOME Shell"
#: ../data/gnome-shell.desktop.in.in.h:2
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
msgid "Window management and application launching"
msgstr "視窗管理與應用程式的執行"
@@ -62,10 +60,6 @@ msgstr "GNOME Shell 擴充功能偏好設定"
msgid "Configure GNOME Shell Extensions"
msgstr "設定 GNOME Shell 擴充功能"
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
msgid "GNOME Shell (wayland compositor)"
msgstr "GNOME Shell (wayland 組合器)"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr "啟用讓開發者與測試者能以 Alt-F2 使用好用的內部工具"
@@ -165,10 +159,12 @@ msgid ""
msgstr "開啟活動概覽「顯示應用程式」檢視的組合鍵"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
#| msgid "Keybinding to open the \"Show Applications\" view"
msgid "Keybinding to open the overview"
msgstr "開啟概覽的組合鍵"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
#| msgid "Keybinding to open the \"Show Applications\" view"
msgid "Keybinding to open the Activities Overview."
msgstr "開啟「活動概覽」的組合鍵。"
@@ -251,7 +247,7 @@ msgstr "擴充功能"
msgid "Select an extension to configure using the combobox above."
msgstr "使用上面的組合方塊選擇要設定的擴充功能。"
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:136
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:132
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/bluetooth.js:221 ../js/ui/status/network.js:686
@@ -273,6 +269,7 @@ msgid "Sign In"
msgstr "登入"
#: ../js/gdm/loginDialog.js:294
#| msgid "Switch Session"
msgid "Choose Session"
msgstr "選擇作業階段"
@@ -293,8 +290,8 @@ msgstr "(例如: user 或 %s)"
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:259
#: ../js/ui/components/networkAgent.js:277
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:255
#: ../js/ui/components/networkAgent.js:273
msgid "Username: "
msgstr "使用者名稱:"
@@ -304,7 +301,7 @@ msgstr "登入視窗"
#: ../js/gdm/util.js:306
msgid "Authentication error"
msgstr "核對錯誤"
msgstr "驗證錯誤"
#. We don't show fingerprint messages directly since it's
#. not the main auth service. Instead we use the messages
@@ -315,42 +312,42 @@ msgstr "核對錯誤"
msgid "(or swipe finger)"
msgstr "(或是滑過手指)"
#: ../js/misc/util.js:98
#: ../js/misc/util.js:97
msgid "Command not found"
msgstr "找不到指令"
#. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer
#: ../js/misc/util.js:131
#: ../js/misc/util.js:130
msgid "Could not parse command:"
msgstr "無法分析指令:"
#: ../js/misc/util.js:139
#: ../js/misc/util.js:138
#, c-format
msgid "Execution of '%s' failed:"
msgstr "執行「%s」失敗"
#: ../js/ui/appDisplay.js:596
#: ../js/ui/appDisplay.js:578
msgid "Frequently used applications will appear here"
msgstr "經常使用的應用程式會出現在這裏"
#: ../js/ui/appDisplay.js:712
#: ../js/ui/appDisplay.js:694
msgid "Frequent"
msgstr "常用"
#: ../js/ui/appDisplay.js:719
#: ../js/ui/appDisplay.js:701
msgid "All"
msgstr "全部"
#: ../js/ui/appDisplay.js:1514
#: ../js/ui/appDisplay.js:1488
msgid "New Window"
msgstr "新視窗"
#: ../js/ui/appDisplay.js:1517 ../js/ui/dash.js:284
#: ../js/ui/appDisplay.js:1491 ../js/ui/dash.js:284
msgid "Remove from Favorites"
msgstr "自喜好中移除"
#: ../js/ui/appDisplay.js:1518
#: ../js/ui/appDisplay.js:1492
msgid "Add to Favorites"
msgstr "加入喜好"
@@ -364,8 +361,7 @@ msgstr "%s 已加入你的喜好中。"
msgid "%s has been removed from your favorites."
msgstr "%s 已經從你的喜好中移除。"
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:807
#: ../js/ui/status/system.js:325
#: ../js/ui/backgroundMenu.js:19 ../js/ui/status/system.js:325
msgid "Settings"
msgstr "設定值"
@@ -551,92 +547,92 @@ msgstr "用 %s 開啟"
msgid "Eject"
msgstr "退出"
#: ../js/ui/components/keyring.js:91 ../js/ui/components/polkitAgent.js:280
#: ../js/ui/components/keyring.js:88 ../js/ui/components/polkitAgent.js:280
msgid "Password:"
msgstr "密碼: "
#: ../js/ui/components/keyring.js:110
#: ../js/ui/components/keyring.js:107
msgid "Type again:"
msgstr "再輸入一次:"
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:112
#: ../js/ui/components/networkAgent.js:127 ../js/ui/status/network.js:112
#: ../js/ui/status/network.js:275 ../js/ui/status/network.js:689
msgid "Connect"
msgstr "連線"
#. Cisco LEAP
#: ../js/ui/components/networkAgent.js:222
#: ../js/ui/components/networkAgent.js:234
#: ../js/ui/components/networkAgent.js:261
#: ../js/ui/components/networkAgent.js:281
#: ../js/ui/components/networkAgent.js:291
#: ../js/ui/components/networkAgent.js:218
#: ../js/ui/components/networkAgent.js:230
#: ../js/ui/components/networkAgent.js:257
#: ../js/ui/components/networkAgent.js:277
#: ../js/ui/components/networkAgent.js:287
msgid "Password: "
msgstr "密碼: "
#. static WEP
#: ../js/ui/components/networkAgent.js:227
#: ../js/ui/components/networkAgent.js:223
msgid "Key: "
msgstr "密碼匙:"
#: ../js/ui/components/networkAgent.js:265
#: ../js/ui/components/networkAgent.js:261
msgid "Identity: "
msgstr "識別:"
#: ../js/ui/components/networkAgent.js:267
#: ../js/ui/components/networkAgent.js:263
msgid "Private key password: "
msgstr "私密密碼匙密碼:"
#: ../js/ui/components/networkAgent.js:279
#: ../js/ui/components/networkAgent.js:275
msgid "Service: "
msgstr "服務:"
#: ../js/ui/components/networkAgent.js:308
#: ../js/ui/components/networkAgent.js:304
msgid "Authentication required by wireless network"
msgstr "無線網絡所需要的核對"
msgstr "無線網絡所需要的驗證"
#: ../js/ui/components/networkAgent.js:309
#: ../js/ui/components/networkAgent.js:305
#, c-format
msgid ""
"Passwords or encryption keys are required to access the wireless network "
"'%s'."
msgstr "需要密碼或是加密密碼匙來存取無線網絡「%s」。"
#: ../js/ui/components/networkAgent.js:313
#: ../js/ui/components/networkAgent.js:309
msgid "Wired 802.1X authentication"
msgstr "有線網絡 802.1X 核對"
msgstr "有線網絡 802.1X 驗證"
#: ../js/ui/components/networkAgent.js:315
#: ../js/ui/components/networkAgent.js:311
msgid "Network name: "
msgstr "網絡名稱:"
#: ../js/ui/components/networkAgent.js:320
#: ../js/ui/components/networkAgent.js:316
msgid "DSL authentication"
msgstr "DSL 核對"
msgstr "DSL 驗證"
#: ../js/ui/components/networkAgent.js:327
#: ../js/ui/components/networkAgent.js:323
msgid "PIN code required"
msgstr "需要 PIN 碼"
#: ../js/ui/components/networkAgent.js:328
#: ../js/ui/components/networkAgent.js:324
msgid "PIN code is needed for the mobile broadband device"
msgstr "這個流動寬頻裝置需要 PIN 碼"
#: ../js/ui/components/networkAgent.js:329
#: ../js/ui/components/networkAgent.js:325
msgid "PIN: "
msgstr "PIN "
#: ../js/ui/components/networkAgent.js:335
#: ../js/ui/components/networkAgent.js:331
msgid "Mobile broadband network password"
msgstr "流動寬頻網絡密碼"
#: ../js/ui/components/networkAgent.js:336
#: ../js/ui/components/networkAgent.js:332
#, c-format
msgid "A password is required to connect to '%s'."
msgstr "連線至「%s」需要密碼。"
#: ../js/ui/components/polkitAgent.js:54
msgid "Authentication Required"
msgstr "要求核對"
msgstr "要求驗證"
#: ../js/ui/components/polkitAgent.js:92
msgid "Administrator"
@@ -644,7 +640,7 @@ msgstr "系統管理員"
#: ../js/ui/components/polkitAgent.js:170
msgid "Authenticate"
msgstr "核對"
msgstr "驗證"
#. Translators: "that didn't work" refers to the fact that the
#. * requested authentication was not gained; this can happen
@@ -780,7 +776,7 @@ msgstr "網絡錯誤"
#: ../js/ui/components/telepathyClient.js:1303
msgid "Authentication failed"
msgstr "核對失敗"
msgstr "驗證失敗"
#: ../js/ui/components/telepathyClient.js:1305
msgid "Encryption error"
@@ -889,7 +885,7 @@ msgstr "檢視帳號"
msgid "Unknown reason"
msgstr "不明原因"
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:100
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:96
msgid "Windows"
msgstr "視窗"
@@ -983,12 +979,15 @@ msgid_plural "The system will restart automatically in %d seconds."
msgstr[0] "系統會在 %d 秒後自動重新啟動。"
#: ../js/ui/endSessionDialog.js:112
#| msgid "Install Updates & Restart"
msgctxt "title"
msgid "Restart & Install Updates"
msgstr "重新啟動並安裝更新"
#: ../js/ui/endSessionDialog.js:114
#, c-format
#| msgid "The system will restart automatically in %d second."
#| msgid_plural "The system will restart automatically in %d seconds."
msgid "The system will automatically restart and install updates in %d second."
msgid_plural ""
"The system will automatically restart and install updates in %d seconds."
@@ -1028,7 +1027,7 @@ msgstr "安裝"
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "是否從 extensions.gnome.org 下載並安裝「%s」"
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:333
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:334
msgid "Keyboard"
msgstr "鍵盤"
@@ -1108,7 +1107,7 @@ msgstr "沒有訊息"
msgid "Message Tray"
msgstr "訊息匣"
#: ../js/ui/messageTray.js:2787
#: ../js/ui/messageTray.js:2786
msgid "System Information"
msgstr "系統資訊"
@@ -1139,17 +1138,22 @@ msgstr "概覽"
msgid "Type to search…"
msgstr "輸入以搜尋…"
#: ../js/ui/panel.js:518
#: ../js/ui/panel.js:516
msgid "Quit"
msgstr "結束"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:570
#: ../js/ui/panel.js:568
msgid "Activities"
msgstr "概覽 "
#: ../js/ui/panel.js:903
#: ../js/ui/panel.js:805
#| msgid "Settings"
msgid "Settings Menu"
msgstr "設定值選單"
#: ../js/ui/panel.js:892
msgid "Top Bar"
msgstr "頂端列"
@@ -1158,7 +1162,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:233
#: ../js/ui/popupMenu.js:226
msgid "toggle-switch-us"
msgstr "toggle-switch-us"
@@ -1186,7 +1190,7 @@ msgstr[0] "%d 個新通知"
msgid "Lock"
msgstr "鎖定"
#: ../js/ui/screenShield.js:704
#: ../js/ui/screenShield.js:703
msgid "GNOME needs to lock the screen"
msgstr "GNOME 需要鎖定螢幕"
@@ -1197,11 +1201,11 @@ msgstr "GNOME 需要鎖定螢幕"
#.
#. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
#: ../js/ui/screenShield.js:830 ../js/ui/screenShield.js:1296
msgid "Unable to lock"
msgstr "無法鎖定"
#: ../js/ui/screenShield.js:832 ../js/ui/screenShield.js:1298
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
msgid "Lock was blocked by an application"
msgstr "鎖定被應用程式阻擋"
@@ -1300,6 +1304,7 @@ msgstr "藍牙設定值"
#: ../js/ui/status/bluetooth.js:57
#, c-format
#| msgid "Connected (private)"
msgid "%d Connected Device"
msgid_plural "%d Connected Devices"
msgstr[0] "%d 已連線的裝置"
@@ -1307,7 +1312,7 @@ msgstr[0] "%d 已連線的裝置"
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
#, c-format
msgid "Authorization request from %s"
msgstr "來自「%s」的核對要求"
msgstr "來自「%s」的驗證要求"
#: ../js/ui/status/bluetooth.js:106 ../js/ui/status/bluetooth.js:171
#: ../js/ui/status/bluetooth.js:202
@@ -1348,6 +1353,7 @@ msgstr "%s 的配對確認"
#: ../js/ui/status/bluetooth.js:172
#, c-format
#| msgid "Please confirm whether the PIN '%06d' matches the one on the device."
msgid ""
"Please confirm whether the Passkey '%06d' matches the one on the device."
msgstr "請確認通行碼「%06d」是否和裝置上的相符。"
@@ -1378,7 +1384,7 @@ msgstr "確定"
msgid "Brightness"
msgstr "亮度"
#: ../js/ui/status/keyboard.js:403
#: ../js/ui/status/keyboard.js:404
msgid "Show Keyboard Layout"
msgstr "顯示鍵盤配置"
@@ -1387,6 +1393,7 @@ msgid "<unknown>"
msgstr "<不明>"
#: ../js/ui/status/network.js:203 ../js/ui/status/network.js:1049
#| msgid "Offline"
msgid "Off"
msgstr "關閉"
@@ -1412,7 +1419,7 @@ msgstr "連線中…"
#. Translators: this is for network connections that require some kind of key or password
#: ../js/ui/status/network.js:375 ../js/ui/status/network.js:1103
msgid "authentication required"
msgstr "要求核對"
msgstr "要求驗證"
#. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing
@@ -1431,18 +1438,22 @@ msgid "connection failed"
msgstr "連線失敗"
#: ../js/ui/status/network.js:654
#| msgid "Network"
msgid "Wi-Fi Networks"
msgstr "Wi-Fi 網絡"
#: ../js/ui/status/network.js:656
#| msgid "Enable networking"
msgid "Select a network"
msgstr "選擇一個網絡"
#: ../js/ui/status/network.js:680
#| msgid "Network"
msgid "No Networks"
msgstr "沒有網絡"
#: ../js/ui/status/network.js:949
#| msgid "Network"
msgid "Select Network"
msgstr "選擇網絡"
@@ -1454,15 +1465,15 @@ msgstr "開啟"
msgid "VPN"
msgstr "VPN"
#: ../js/ui/status/network.js:1307
#: ../js/ui/status/network.js:1306
msgid "Network Manager"
msgstr "網絡管理員"
#: ../js/ui/status/network.js:1346
#: ../js/ui/status/network.js:1345
msgid "Connection failed"
msgstr "連線失敗"
#: ../js/ui/status/network.js:1347
#: ../js/ui/status/network.js:1346
msgid "Activation of network connection failed"
msgstr "啟動網絡連線失敗"
@@ -1505,6 +1516,7 @@ msgid "Airplane Mode"
msgstr "飛安模式"
#: ../js/ui/status/rfkill.js:45
#| msgid "Open"
msgid "On"
msgstr "開啟"
@@ -1548,11 +1560,11 @@ msgstr "以另一個使用者身分登入"
msgid "Unlock Window"
msgstr "解鎖視窗"
#: ../js/ui/viewSelector.js:104
#: ../js/ui/viewSelector.js:100
msgid "Applications"
msgstr "應用程式"
#: ../js/ui/viewSelector.js:108
#: ../js/ui/viewSelector.js:104
msgid "Search"
msgstr "搜尋"
@@ -1583,6 +1595,7 @@ msgstr "你想要保留這些顯示器設定值嗎?"
#. to avoid ellipsizing the labels.
#.
#: ../js/ui/windowManager.js:75
#| msgid "Power Settings"
msgid "Revert Settings"
msgstr "還原設定值"
@@ -1651,4 +1664,460 @@ msgstr "密碼不能為空白"
#: ../src/shell-polkit-authentication-agent.c:343
msgid "Authentication dialog was dismissed by the user"
msgstr "核對對話盒被使用者取消了"
msgstr "驗證對話盒被使用者取消了"
#~ msgid "Screenshots"
#~ msgstr "螢幕擷圖"
#~ msgid "Record a screencast"
#~ msgstr "錄製螢幕廣播"
#~ msgid ""
#~ "Internally used to store the last IM presence explicitly set by the user. "
#~ "The value here is from the TpConnectionPresenceType enumeration."
#~ msgstr ""
#~ "內部由使用者明確設定用來儲存最新 IM 上線狀況。這裡的數值是來自 "
#~ "TpConnectionPresenceType 列舉。"
#~ msgid ""
#~ "Internally used to store the last session presence status for the user. "
#~ "The value here is from the GsmPresenceStatus enumeration."
#~ msgstr ""
#~ "內部用來儲存使用者最新作業階段上線狀況。這裡的數值是來自 "
#~ "GsmPresenceStatus 列舉。"
#~ msgid "Keybinding to toggle the screen recorder"
#~ msgstr "切換螢幕錄影機的組合鍵"
#~ msgid "Keybinding to start/stop the builtin screen recorder."
#~ msgstr "啟動/停止內建螢幕錄影機的組合鍵。"
#~ msgid "Framerate used for recording screencasts."
#~ msgstr "錄製畫面廣播的框架率。"
#~ msgid ""
#~ "The framerate of the resulting screencast recordered by GNOME Shell's "
#~ "screencast recorder in frames-per-second."
#~ msgstr ""
#~ "由 GNOME Shell 的畫面廣播錄製程式所錄製成果的框架率,以 frames-per-second "
#~ "計。"
#~ msgid "The gstreamer pipeline used to encode the screencast"
#~ msgstr "用來編碼畫面廣播的 gstreamer 管線"
#~ 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 'vp8enc min_quantizer=13 max_quantizer=13 "
#~ "cpu-used=5 deadline=1000000 threads=%T ! queue ! webmmux' and records to "
#~ "WEBM using the VP8 codec. %T is used as a placeholder for a guess at the "
#~ "optimal thread count on the system."
#~ msgstr ""
#~ "設定用來錄製的 GStreamer 管線。它依據 gst-launch 使用的語法。管線應該要有"
#~ "未連接的出口(sink pad),提供錄製視訊之用。它通常會有未連接的入口(source "
#~ "pad);從出口輸出的資訊就寫入輸出檔案。然而管線本身也會處理它本身的輸出 - "
#~ "習慣上是透過 shout2send 之類將輸出傳送到 icecast 伺服器。當取消設定或設定"
#~ "為空值時,就會使用預設的管線。這個值目前為 'vp8enc min_quantizer=13 "
#~ "max_quantizer=13 cpu-used=5 deadline=1000000 threads=%T ! queue ! "
#~ "webmmux' 即使用 VP8 codec 錄製 WEBM。%T 是在系統的最佳化執行緒計數猜測時使"
#~ "用的佔位符。"
#~ msgid "File extension used for storing the screencast"
#~ msgstr "用來儲存畫面廣播的延伸檔名"
#~ msgid ""
#~ "The filename for recorded screencasts will be a unique filename based on "
#~ "the current date, and use this extension. It should be changed when "
#~ "recording to a different container format."
#~ msgstr ""
#~ "錄製好的畫面廣播檔案名稱會以目前的時刻作為獨特的檔名,並使用這個延伸檔名。"
#~ "當錄製為不同的容器格式時應該做適當變更。"
#~ msgid "Session…"
#~ msgstr "作業階段…"
#~ msgid "Power"
#~ msgstr "電源"
#~ msgid "Restart"
#~ msgstr "重新啟動"
#~ msgid "Screencast from %d %t"
#~ msgstr "Screencast from %d %t"
#~ msgid "Click Log Out to quit these applications and log out of the system."
#~ msgstr "點選登出以結束這些應用程式並登出系統。"
#~ msgid "Logging out of the system."
#~ msgstr "登出系統。"
#~ msgid "Click Power Off to quit these applications and power off the system."
#~ msgstr "點選關閉電源以結束這些應用程式並關閉系統電源。"
#~ msgid "Powering off the system."
#~ msgstr "關閉系統的電源。"
#~ msgid "Click Restart to quit these applications and restart the system."
#~ msgstr "點選重新啟動以結束這些應用程式並將系統重新啟動。"
#~ msgid "Restarting the system."
#~ msgstr "重新啟動系統。"
#~ msgid "Universal Access Settings"
#~ msgstr "無障礙功能設定值"
#~ msgid "Visibility"
#~ msgstr "顯示狀態"
#~ msgid "Send Files to Device…"
#~ msgstr "傳送檔案到裝置…"
#~ msgid "Set Up a New Device…"
#~ msgstr "設定新的裝置…"
#~ msgid "hardware disabled"
#~ msgstr "硬體已停用"
#~ msgid "Connection"
#~ msgstr "連線"
#~ msgid "Send Files…"
#~ msgstr "傳送檔案…"
#~ msgid "Keyboard Settings"
#~ msgstr "鍵盤設定值"
#~ msgid "Mouse Settings"
#~ msgstr "滑鼠設定值"
#~ msgid "Sound Settings"
#~ msgstr "音效設定值"
#~ msgid "Region & Language Settings"
#~ msgstr "地區和語言設定值"
#~ msgid "Volume, network, battery"
#~ msgstr "儲存區、網路、電池"
#~ msgid "Wi-Fi"
#~ msgstr "Wi-Fi"
#~ msgid "disabled"
#~ msgstr "已停用"
#~ msgid "cable unplugged"
#~ msgstr "纜線已拔除"
#~ msgid "More…"
#~ msgstr "更多…"
#~ msgid "Wired"
#~ msgstr "有線"
#~ msgid "Mobile broadband"
#~ msgstr "行動寬頻"
#~ msgid "Networking is disabled"
#~ msgstr "網路已停用"
#~ msgid "%d hour remaining"
#~ msgid_plural "%d hours remaining"
#~ msgstr[0] "可使用 %d 小時"
#~ msgid "%d %s %d %s remaining"
#~ msgstr "剩下 %d %s %d %s"
#~ msgid "hour"
#~ msgid_plural "hours"
#~ msgstr[0] "小時"
#~ msgid "minute"
#~ msgid_plural "minutes"
#~ msgstr[0] "分鐘"
#~ msgid "%d minute remaining"
#~ msgid_plural "%d minutes remaining"
#~ msgstr[0] "剩下 %d 分鐘"
#~ msgctxt "percent of battery remaining"
#~ msgid "%d%%"
#~ msgstr "%d%%"
#~ msgid "AC Adapter"
#~ msgstr "AC 電源"
#~ msgid "Laptop Battery"
#~ msgstr "筆記型電腦電池"
#~ msgid "UPS"
#~ msgstr "不斷電系統"
#~ msgid "Monitor"
#~ msgstr "監視器"
#~ msgid "Mouse"
#~ msgstr "滑鼠"
#~ msgid "PDA"
#~ msgstr "PDA"
#~ msgid "Cell Phone"
#~ msgstr "行動電話"
#~ msgid "Media Player"
#~ msgstr "媒體播放器"
#~ msgid "Tablet"
#~ msgstr "手寫板"
#~ msgid "Computer"
#~ msgstr "電腦"
#~ msgctxt "device"
#~ msgid "Unknown"
#~ msgstr "不明"
#~ msgid "Available"
#~ msgstr "有空"
#~ msgid "Busy"
#~ msgstr "忙碌"
#~ msgid "Invisible"
#~ msgstr "隱藏"
#~ msgid "Away"
#~ msgstr "離開"
#~ msgid "Idle"
#~ msgstr "閒置"
#~ msgid "Notifications"
#~ msgstr "通知"
#~ msgid "Your chat status will be set to busy"
#~ msgstr "您的聊天狀態會設為忙碌"
#~ 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 ""
#~ "通知現在已被停用,包含聊天訊息。您的上線狀態也調整為讓其他人知道您沒時間看"
#~ "他們的訊息。"
#~ msgid "Shutting down might cause them to lose unsaved work."
#~ msgstr "關機可能使它們失去未儲存的工作。"
#~ msgid "Whether to collect stats about applications usage"
#~ msgstr "是否收集關於應用程式使用率的狀態"
#~ msgid ""
#~ "The shell normally monitors active applications in order to present the "
#~ "most used ones (e.g. in launchers). While this data will be kept private, "
#~ "you may want to disable this for privacy reasons. Please note that doing "
#~ "so won't remove already saved data."
#~ msgstr ""
#~ "這個 shell 通常會監控使用中的應用程式以便能顯示出最常使用的(例如,在程式"
#~ "執行器中)。雖然這個資料會保持隱密,但是您可能會基於隱私的理由想要停用這個"
#~ "功能。請注意這麼做並不會移除已儲存的資料。"
#~ msgid "Auto Ethernet"
#~ msgstr "自動使用乙太網路"
#~ msgid "Auto broadband"
#~ msgstr "自動使用行動寬頻"
#~ msgid "Auto dial-up"
#~ msgstr "自動使用撥接"
#~ msgid "Auto %s"
#~ msgstr "自動使用 %s"
#~ msgid "Auto bluetooth"
#~ msgstr "自動使用藍牙"
#~ msgid "Auto wireless"
#~ msgstr "自動使用無線網路"
#~ msgctxt "title"
#~ msgid "Sign In"
#~ msgstr "登入"
#~ msgid "tray"
#~ msgstr "系統匣"
#~ msgid "Clear"
#~ msgstr "清除"
#~ msgid "More..."
#~ msgstr "更多…"
#~ msgctxt "event list time"
#~ msgid "%H:%M"
#~ msgstr "%H:%M"
#~ msgctxt "event list time"
#~ msgid "%l:%M %p"
#~ msgstr "%p %l:%M"
#~ msgid "United Kingdom"
#~ msgstr "英國"
#~ msgid "Default"
#~ msgstr "預設值"
#~ msgid "APPLICATIONS"
#~ msgstr "程式集"
#~ msgid "SETTINGS"
#~ msgstr "設定值"
#~ msgid "Subscription request"
#~ msgstr "訂閱要求"
#~ msgid "Connection error"
#~ msgstr "連線錯誤"
#~ msgid "Sent at <b>%X</b> on <b>%A</b>"
#~ msgstr "傳送於 <b>%X</b> <b>%A</b>"
#~ msgid "Sent on <b>%A</b>, <b>%B %d</b>, %Y"
#~ msgstr "傳送於 %Y年<b>%m月%d日</b><b>%A</b>"
#~ msgid "Connection to %s failed"
#~ msgstr "連線到 %s 失敗"
#~ msgid "Reconnect"
#~ msgstr "重新連接"
#~ msgid "Browse Files..."
#~ msgstr "瀏覽檔案…"
#~ msgid "Error browsing device"
#~ msgstr "瀏覽裝置時發生錯誤"
#~ msgid "The requested device cannot be browsed, error is '%s'"
#~ msgstr "要求的裝置是不能瀏覽的,錯誤為「%s」"
#~ msgid "Wireless"
#~ msgstr "無線"
#~ msgid "VPN Connections"
#~ msgstr "VPN 連線"
#~ msgid "Unavailable"
#~ msgstr "沒空"
#~ msgid "System Settings"
#~ msgstr "系統設定值"
#~ msgid "Your favorite Easter Egg"
#~ msgstr "您喜好的復活節彩蛋"
#~ msgid "Configuration problem: Could not connect to GDM"
#~ msgstr "組態問題:無法連線到 GDM"
#~ msgid "Could not connect to GDM. Screen locking was automatically disabled."
#~ msgstr "無法連線到 GDM。螢幕鎖定已經自動停用。"
#~ msgid "disabled OpenSearch providers"
#~ msgstr "已停用 OpenSearch 提供者"
#~ msgid "Failed to unmount '%s'"
#~ msgstr "無法卸載「%s」"
#~ msgid "Retry"
#~ msgstr "重試"
#~ msgid "PLACES & DEVICES"
#~ msgstr "位置 & 裝置"
#~ msgid "Home"
#~ msgstr "家目錄"
#~ msgid "%1$s: %2$s"
#~ msgstr "%1$s%2$s"
#~ msgid "Connect to..."
#~ msgstr "連接到…"
#~ msgid "Passphrase"
#~ msgstr "密語"
#~ msgid "If true, display date in the clock, in addition to time."
#~ msgstr "如設定為「true」除了在時鐘內顯示日期外還顯示時刻。"
#~ msgid "If true, display seconds in time."
#~ msgstr "如設定為「true」在時刻中顯示秒數。"
#~ msgid "Show date in clock"
#~ msgstr "在時鐘內顯示日期"
#~ msgid "Show time with seconds"
#~ msgstr "在時刻中顯示秒數"
#~ msgid "CONTACTS"
#~ msgstr "連絡人"
#~ msgid "%a %b %e, %R:%S"
#~ msgstr "%m月%e日(%a), %R:%S"
#~ msgid "%a %b %e, %R"
#~ msgstr "%m月%e日(%a), %R"
#~ msgid "%a %R:%S"
#~ msgstr "(%a) %R:%S"
#~ msgid "%a %R"
#~ msgstr "(%a) %R"
#~ msgid "%a %b %e, %l:%M:%S %p"
#~ msgstr "%m月%e日(%a), %p %l:%M:%S"
#~ msgid "%a %b %e, %l:%M %p"
#~ msgstr "%m月%e日(%a), %p %l:%M"
#~ msgid "%a %l:%M:%S %p"
#~ msgstr "(%a) %p %l:%M:%S"
#~ msgid "%a %l:%M %p"
#~ msgstr "(%a) %p %l:%M"
#~ msgid "Wrong password, please try again"
#~ msgstr "密碼錯誤,請再試一次"
#~ msgid "%s is online."
#~ msgstr "%s 現在上線。"
#~ msgid "%s is offline."
#~ msgstr "%s 現在離線。"
#~ msgid "%s is away."
#~ msgstr "%s 已離開。"
#~ msgid "%s is busy."
#~ msgstr "%s 正忙碌。"
#~ msgid "Hidden"
#~ msgstr "隱藏"
#~ msgid "Power Off..."
#~ msgstr "關閉電源…"
#~ msgid "Online Accounts"
#~ msgstr "線上帳號"
#~ msgid "Lock Screen"
#~ msgstr "鎖定畫面"
#~ msgid "Log Out..."
#~ msgstr "登出…"
#~ msgid "RECENT ITEMS"
#~ msgstr "最近使用項目"

View File

@@ -9,16 +9,15 @@ msgstr ""
"Project-Id-Version: gnome-shell 3.3.90\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2013-09-20 05:44+0000\n"
"PO-Revision-Date: 2013-09-20 10:14+0800\n"
"POT-Creation-Date: 2013-09-02 19:28+0000\n"
"PO-Revision-Date: 2013-09-04 13:50+0800\n"
"Last-Translator: Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>\n"
"Language-Team: Chinese (Taiwan) <zh-l10n@lists.linux.org.tw>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Poedit 1.5.5\n"
"X-Generator: Poedit 1.5.7\n"
#: ../data/50-gnome-shell-system.xml.in.h:1
msgid "System"
@@ -49,7 +48,6 @@ msgid "GNOME Shell"
msgstr "GNOME Shell"
#: ../data/gnome-shell.desktop.in.in.h:2
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
msgid "Window management and application launching"
msgstr "視窗管理與應用程式的執行"
@@ -62,10 +60,6 @@ msgstr "GNOME Shell 擴充功能偏好設定"
msgid "Configure GNOME Shell Extensions"
msgstr "設定 GNOME Shell 擴充功能"
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
msgid "GNOME Shell (wayland compositor)"
msgstr "GNOME Shell (wayland 組合器)"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr "啟用讓開發者與測試者能以 Alt-F2 使用好用的內部工具"
@@ -173,10 +167,12 @@ msgid ""
msgstr "開啟活動概覽「顯示應用程式」檢視的組合鍵"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
#| msgid "Keybinding to open the \"Show Applications\" view"
msgid "Keybinding to open the overview"
msgstr "開啟概覽的組合鍵"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
#| msgid "Keybinding to open the \"Show Applications\" view"
msgid "Keybinding to open the Activities Overview."
msgstr "開啟「活動概覽」的組合鍵。"
@@ -263,7 +259,7 @@ msgstr "擴充功能"
msgid "Select an extension to configure using the combobox above."
msgstr "使用上面的組合方塊選擇要設定的擴充功能。"
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:136
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:132
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/bluetooth.js:221 ../js/ui/status/network.js:686
@@ -285,6 +281,7 @@ msgid "Sign In"
msgstr "登入"
#: ../js/gdm/loginDialog.js:294
#| msgid "Switch Session"
msgid "Choose Session"
msgstr "選擇作業階段"
@@ -305,8 +302,8 @@ msgstr "(例如: user 或 %s)"
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:259
#: ../js/ui/components/networkAgent.js:277
#: ../js/gdm/loginDialog.js:627 ../js/ui/components/networkAgent.js:255
#: ../js/ui/components/networkAgent.js:273
msgid "Username: "
msgstr "使用者名稱:"
@@ -316,7 +313,7 @@ msgstr "登入視窗"
#: ../js/gdm/util.js:306
msgid "Authentication error"
msgstr "核對錯誤"
msgstr "驗證錯誤"
#. We don't show fingerprint messages directly since it's
#. not the main auth service. Instead we use the messages
@@ -327,42 +324,42 @@ msgstr "核對錯誤"
msgid "(or swipe finger)"
msgstr "(或是滑過手指)"
#: ../js/misc/util.js:98
#: ../js/misc/util.js:97
msgid "Command not found"
msgstr "找不到指令"
#. Replace "Error invoking GLib.shell_parse_argv: " with
#. something nicer
#: ../js/misc/util.js:131
#: ../js/misc/util.js:130
msgid "Could not parse command:"
msgstr "無法分析指令:"
#: ../js/misc/util.js:139
#: ../js/misc/util.js:138
#, c-format
msgid "Execution of '%s' failed:"
msgstr "執行「%s」失敗"
#: ../js/ui/appDisplay.js:596
#: ../js/ui/appDisplay.js:578
msgid "Frequently used applications will appear here"
msgstr "經常使用的應用程式會出現在這裡"
#: ../js/ui/appDisplay.js:712
#: ../js/ui/appDisplay.js:694
msgid "Frequent"
msgstr "常用"
#: ../js/ui/appDisplay.js:719
#: ../js/ui/appDisplay.js:701
msgid "All"
msgstr "全部"
#: ../js/ui/appDisplay.js:1514
#: ../js/ui/appDisplay.js:1488
msgid "New Window"
msgstr "新視窗"
#: ../js/ui/appDisplay.js:1517 ../js/ui/dash.js:284
#: ../js/ui/appDisplay.js:1491 ../js/ui/dash.js:284
msgid "Remove from Favorites"
msgstr "自喜好中移除"
#: ../js/ui/appDisplay.js:1518
#: ../js/ui/appDisplay.js:1492
msgid "Add to Favorites"
msgstr "加入喜好"
@@ -376,8 +373,7 @@ msgstr "%s 已加入您的喜好中。"
msgid "%s has been removed from your favorites."
msgstr "%s 已經從您的喜好中移除。"
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:807
#: ../js/ui/status/system.js:325
#: ../js/ui/backgroundMenu.js:19 ../js/ui/status/system.js:325
msgid "Settings"
msgstr "設定值"
@@ -563,92 +559,92 @@ msgstr "用 %s 開啟"
msgid "Eject"
msgstr "退出"
#: ../js/ui/components/keyring.js:91 ../js/ui/components/polkitAgent.js:280
#: ../js/ui/components/keyring.js:88 ../js/ui/components/polkitAgent.js:280
msgid "Password:"
msgstr "密碼: "
#: ../js/ui/components/keyring.js:110
#: ../js/ui/components/keyring.js:107
msgid "Type again:"
msgstr "再輸入一次:"
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:112
#: ../js/ui/components/networkAgent.js:127 ../js/ui/status/network.js:112
#: ../js/ui/status/network.js:275 ../js/ui/status/network.js:689
msgid "Connect"
msgstr "連線"
#. Cisco LEAP
#: ../js/ui/components/networkAgent.js:222
#: ../js/ui/components/networkAgent.js:234
#: ../js/ui/components/networkAgent.js:261
#: ../js/ui/components/networkAgent.js:281
#: ../js/ui/components/networkAgent.js:291
#: ../js/ui/components/networkAgent.js:218
#: ../js/ui/components/networkAgent.js:230
#: ../js/ui/components/networkAgent.js:257
#: ../js/ui/components/networkAgent.js:277
#: ../js/ui/components/networkAgent.js:287
msgid "Password: "
msgstr "密碼: "
#. static WEP
#: ../js/ui/components/networkAgent.js:227
#: ../js/ui/components/networkAgent.js:223
msgid "Key: "
msgstr "金鑰:"
#: ../js/ui/components/networkAgent.js:265
#: ../js/ui/components/networkAgent.js:261
msgid "Identity: "
msgstr "識別:"
#: ../js/ui/components/networkAgent.js:267
#: ../js/ui/components/networkAgent.js:263
msgid "Private key password: "
msgstr "私密金鑰密碼:"
#: ../js/ui/components/networkAgent.js:279
#: ../js/ui/components/networkAgent.js:275
msgid "Service: "
msgstr "服務:"
#: ../js/ui/components/networkAgent.js:308
#: ../js/ui/components/networkAgent.js:304
msgid "Authentication required by wireless network"
msgstr "無線網路所需要的核對"
msgstr "無線網路所需要的驗證"
#: ../js/ui/components/networkAgent.js:309
#: ../js/ui/components/networkAgent.js:305
#, c-format
msgid ""
"Passwords or encryption keys are required to access the wireless network "
"'%s'."
msgstr "需要密碼或是加密金鑰來存取無線網路「%s」。"
#: ../js/ui/components/networkAgent.js:313
#: ../js/ui/components/networkAgent.js:309
msgid "Wired 802.1X authentication"
msgstr "有線網路 802.1X 核對"
msgstr "有線網路 802.1X 驗證"
#: ../js/ui/components/networkAgent.js:315
#: ../js/ui/components/networkAgent.js:311
msgid "Network name: "
msgstr "網路名稱:"
#: ../js/ui/components/networkAgent.js:320
#: ../js/ui/components/networkAgent.js:316
msgid "DSL authentication"
msgstr "DSL 核對"
msgstr "DSL 驗證"
#: ../js/ui/components/networkAgent.js:327
#: ../js/ui/components/networkAgent.js:323
msgid "PIN code required"
msgstr "需要 PIN 碼"
#: ../js/ui/components/networkAgent.js:328
#: ../js/ui/components/networkAgent.js:324
msgid "PIN code is needed for the mobile broadband device"
msgstr "這個行動寬頻裝置需要 PIN 碼"
#: ../js/ui/components/networkAgent.js:329
#: ../js/ui/components/networkAgent.js:325
msgid "PIN: "
msgstr "PIN "
#: ../js/ui/components/networkAgent.js:335
#: ../js/ui/components/networkAgent.js:331
msgid "Mobile broadband network password"
msgstr "行動寬頻網路密碼"
#: ../js/ui/components/networkAgent.js:336
#: ../js/ui/components/networkAgent.js:332
#, c-format
msgid "A password is required to connect to '%s'."
msgstr "連線至「%s」需要密碼。"
#: ../js/ui/components/polkitAgent.js:54
msgid "Authentication Required"
msgstr "要求核對"
msgstr "要求驗證"
#: ../js/ui/components/polkitAgent.js:92
msgid "Administrator"
@@ -656,7 +652,7 @@ msgstr "系統管理員"
#: ../js/ui/components/polkitAgent.js:170
msgid "Authenticate"
msgstr "核對"
msgstr "驗證"
#. Translators: "that didn't work" refers to the fact that the
#. * requested authentication was not gained; this can happen
@@ -792,7 +788,7 @@ msgstr "網路錯誤"
#: ../js/ui/components/telepathyClient.js:1303
msgid "Authentication failed"
msgstr "核對失敗"
msgstr "驗證失敗"
#: ../js/ui/components/telepathyClient.js:1305
msgid "Encryption error"
@@ -901,7 +897,7 @@ msgstr "檢視帳號"
msgid "Unknown reason"
msgstr "不明原因"
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:100
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:96
msgid "Windows"
msgstr "視窗"
@@ -995,12 +991,15 @@ msgid_plural "The system will restart automatically in %d seconds."
msgstr[0] "系統會在 %d 秒後自動重新啟動。"
#: ../js/ui/endSessionDialog.js:112
#| msgid "Install Updates & Restart"
msgctxt "title"
msgid "Restart & Install Updates"
msgstr "重新啟動並安裝更新"
#: ../js/ui/endSessionDialog.js:114
#, c-format
#| msgid "The system will restart automatically in %d second."
#| msgid_plural "The system will restart automatically in %d seconds."
msgid "The system will automatically restart and install updates in %d second."
msgid_plural ""
"The system will automatically restart and install updates in %d seconds."
@@ -1040,7 +1039,7 @@ msgstr "安裝"
msgid "Download and install '%s' from extensions.gnome.org?"
msgstr "是否從 extensions.gnome.org 下載並安裝「%s」"
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:333
#: ../js/ui/keyboard.js:619 ../js/ui/status/keyboard.js:334
msgid "Keyboard"
msgstr "鍵盤"
@@ -1120,7 +1119,7 @@ msgstr "沒有訊息"
msgid "Message Tray"
msgstr "訊息匣"
#: ../js/ui/messageTray.js:2787
#: ../js/ui/messageTray.js:2786
msgid "System Information"
msgstr "系統資訊"
@@ -1151,17 +1150,22 @@ msgstr "概覽"
msgid "Type to search…"
msgstr "輸入以搜尋…"
#: ../js/ui/panel.js:518
#: ../js/ui/panel.js:516
msgid "Quit"
msgstr "結束"
#. Translators: If there is no suitable word for "Activities"
#. in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:570
#: ../js/ui/panel.js:568
msgid "Activities"
msgstr "概覽 "
#: ../js/ui/panel.js:903
#: ../js/ui/panel.js:805
#| msgid "Settings"
msgid "Settings Menu"
msgstr "設定值選單"
#: ../js/ui/panel.js:892
msgid "Top Bar"
msgstr "頂端列"
@@ -1170,7 +1174,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:233
#: ../js/ui/popupMenu.js:226
msgid "toggle-switch-us"
msgstr "toggle-switch-us"
@@ -1198,7 +1202,7 @@ msgstr[0] "%d 個新通知"
msgid "Lock"
msgstr "鎖定"
#: ../js/ui/screenShield.js:704
#: ../js/ui/screenShield.js:703
msgid "GNOME needs to lock the screen"
msgstr "GNOME 需要鎖定螢幕"
@@ -1209,11 +1213,11 @@ msgstr "GNOME 需要鎖定螢幕"
#.
#. XXX: another option is to kick the user into the gdm login
#. screen, where we're not affected by grabs
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
#: ../js/ui/screenShield.js:830 ../js/ui/screenShield.js:1296
msgid "Unable to lock"
msgstr "無法鎖定"
#: ../js/ui/screenShield.js:832 ../js/ui/screenShield.js:1298
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
msgid "Lock was blocked by an application"
msgstr "鎖定被應用程式阻擋"
@@ -1312,6 +1316,7 @@ msgstr "藍牙設定值"
#: ../js/ui/status/bluetooth.js:57
#, c-format
#| msgid "Connected (private)"
msgid "%d Connected Device"
msgid_plural "%d Connected Devices"
msgstr[0] "%d 已連線的裝置"
@@ -1319,7 +1324,7 @@ msgstr[0] "%d 已連線的裝置"
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
#, c-format
msgid "Authorization request from %s"
msgstr "來自「%s」的核對要求"
msgstr "來自「%s」的驗證要求"
#: ../js/ui/status/bluetooth.js:106 ../js/ui/status/bluetooth.js:171
#: ../js/ui/status/bluetooth.js:202
@@ -1360,6 +1365,7 @@ msgstr "%s 的配對確認"
#: ../js/ui/status/bluetooth.js:172
#, c-format
#| msgid "Please confirm whether the PIN '%06d' matches the one on the device."
msgid ""
"Please confirm whether the Passkey '%06d' matches the one on the device."
msgstr "請確認通行碼「%06d」是否和裝置上的相符。"
@@ -1390,7 +1396,7 @@ msgstr "確定"
msgid "Brightness"
msgstr "亮度"
#: ../js/ui/status/keyboard.js:403
#: ../js/ui/status/keyboard.js:404
msgid "Show Keyboard Layout"
msgstr "顯示鍵盤配置"
@@ -1399,6 +1405,7 @@ msgid "<unknown>"
msgstr "<不明>"
#: ../js/ui/status/network.js:203 ../js/ui/status/network.js:1049
#| msgid "Offline"
msgid "Off"
msgstr "關閉"
@@ -1424,7 +1431,7 @@ msgstr "連線中…"
#. Translators: this is for network connections that require some kind of key or password
#: ../js/ui/status/network.js:375 ../js/ui/status/network.js:1103
msgid "authentication required"
msgstr "要求核對"
msgstr "要求驗證"
#. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing
@@ -1443,18 +1450,22 @@ msgid "connection failed"
msgstr "連線失敗"
#: ../js/ui/status/network.js:654
#| msgid "Network"
msgid "Wi-Fi Networks"
msgstr "Wi-Fi 網路"
#: ../js/ui/status/network.js:656
#| msgid "Enable networking"
msgid "Select a network"
msgstr "選擇一個網路"
#: ../js/ui/status/network.js:680
#| msgid "Network"
msgid "No Networks"
msgstr "沒有網路"
#: ../js/ui/status/network.js:949
#| msgid "Network"
msgid "Select Network"
msgstr "選擇網路"
@@ -1466,15 +1477,15 @@ msgstr "開啟"
msgid "VPN"
msgstr "VPN"
#: ../js/ui/status/network.js:1307
#: ../js/ui/status/network.js:1306
msgid "Network Manager"
msgstr "網路管理員"
#: ../js/ui/status/network.js:1346
#: ../js/ui/status/network.js:1345
msgid "Connection failed"
msgstr "連線失敗"
#: ../js/ui/status/network.js:1347
#: ../js/ui/status/network.js:1346
msgid "Activation of network connection failed"
msgstr "啟動網路連線失敗"
@@ -1517,6 +1528,7 @@ msgid "Airplane Mode"
msgstr "飛安模式"
#: ../js/ui/status/rfkill.js:45
#| msgid "Open"
msgid "On"
msgstr "開啟"
@@ -1560,11 +1572,11 @@ msgstr "以另一個使用者身分登入"
msgid "Unlock Window"
msgstr "解鎖視窗"
#: ../js/ui/viewSelector.js:104
#: ../js/ui/viewSelector.js:100
msgid "Applications"
msgstr "應用程式"
#: ../js/ui/viewSelector.js:108
#: ../js/ui/viewSelector.js:104
msgid "Search"
msgstr "搜尋"
@@ -1595,6 +1607,7 @@ msgstr "您想要保留這些顯示器設定值嗎?"
#. to avoid ellipsizing the labels.
#.
#: ../js/ui/windowManager.js:75
#| msgid "Power Settings"
msgid "Revert Settings"
msgstr "還原設定值"
@@ -1663,4 +1676,460 @@ msgstr "密碼不能為空白"
#: ../src/shell-polkit-authentication-agent.c:343
msgid "Authentication dialog was dismissed by the user"
msgstr "核對對話盒被使用者取消了"
msgstr "驗證對話盒被使用者取消了"
#~ msgid "Screenshots"
#~ msgstr "螢幕擷圖"
#~ msgid "Record a screencast"
#~ msgstr "錄製螢幕廣播"
#~ msgid ""
#~ "Internally used to store the last IM presence explicitly set by the user. "
#~ "The value here is from the TpConnectionPresenceType enumeration."
#~ msgstr ""
#~ "內部由使用者明確設定用來儲存最新 IM 上線狀況。這裡的數值是來自 "
#~ "TpConnectionPresenceType 列舉。"
#~ msgid ""
#~ "Internally used to store the last session presence status for the user. "
#~ "The value here is from the GsmPresenceStatus enumeration."
#~ msgstr ""
#~ "內部用來儲存使用者最新作業階段上線狀況。這裡的數值是來自 "
#~ "GsmPresenceStatus 列舉。"
#~ msgid "Keybinding to toggle the screen recorder"
#~ msgstr "切換螢幕錄影機的組合鍵"
#~ msgid "Keybinding to start/stop the builtin screen recorder."
#~ msgstr "啟動/停止內建螢幕錄影機的組合鍵。"
#~ msgid "Framerate used for recording screencasts."
#~ msgstr "錄製畫面廣播的框架率。"
#~ msgid ""
#~ "The framerate of the resulting screencast recordered by GNOME Shell's "
#~ "screencast recorder in frames-per-second."
#~ msgstr ""
#~ "由 GNOME Shell 的畫面廣播錄製程式所錄製成果的框架率,以 frames-per-second "
#~ "計。"
#~ msgid "The gstreamer pipeline used to encode the screencast"
#~ msgstr "用來編碼畫面廣播的 gstreamer 管線"
#~ 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 'vp8enc min_quantizer=13 max_quantizer=13 "
#~ "cpu-used=5 deadline=1000000 threads=%T ! queue ! webmmux' and records to "
#~ "WEBM using the VP8 codec. %T is used as a placeholder for a guess at the "
#~ "optimal thread count on the system."
#~ msgstr ""
#~ "設定用來錄製的 GStreamer 管線。它依據 gst-launch 使用的語法。管線應該要有"
#~ "未連接的出口(sink pad),提供錄製視訊之用。它通常會有未連接的入口(source "
#~ "pad);從出口輸出的資訊就寫入輸出檔案。然而管線本身也會處理它本身的輸出 - "
#~ "習慣上是透過 shout2send 之類將輸出傳送到 icecast 伺服器。當取消設定或設定"
#~ "為空值時,就會使用預設的管線。這個值目前為 'vp8enc min_quantizer=13 "
#~ "max_quantizer=13 cpu-used=5 deadline=1000000 threads=%T ! queue ! "
#~ "webmmux' 即使用 VP8 codec 錄製 WEBM。%T 是在系統的最佳化執行緒計數猜測時使"
#~ "用的佔位符。"
#~ msgid "File extension used for storing the screencast"
#~ msgstr "用來儲存畫面廣播的延伸檔名"
#~ msgid ""
#~ "The filename for recorded screencasts will be a unique filename based on "
#~ "the current date, and use this extension. It should be changed when "
#~ "recording to a different container format."
#~ msgstr ""
#~ "錄製好的畫面廣播檔案名稱會以目前的時刻作為獨特的檔名,並使用這個延伸檔名。"
#~ "當錄製為不同的容器格式時應該做適當變更。"
#~ msgid "Session…"
#~ msgstr "作業階段…"
#~ msgid "Power"
#~ msgstr "電源"
#~ msgid "Restart"
#~ msgstr "重新啟動"
#~ msgid "Screencast from %d %t"
#~ msgstr "Screencast from %d %t"
#~ msgid "Click Log Out to quit these applications and log out of the system."
#~ msgstr "點選登出以結束這些應用程式並登出系統。"
#~ msgid "Logging out of the system."
#~ msgstr "登出系統。"
#~ msgid "Click Power Off to quit these applications and power off the system."
#~ msgstr "點選關閉電源以結束這些應用程式並關閉系統電源。"
#~ msgid "Powering off the system."
#~ msgstr "關閉系統的電源。"
#~ msgid "Click Restart to quit these applications and restart the system."
#~ msgstr "點選重新啟動以結束這些應用程式並將系統重新啟動。"
#~ msgid "Restarting the system."
#~ msgstr "重新啟動系統。"
#~ msgid "Universal Access Settings"
#~ msgstr "無障礙功能設定值"
#~ msgid "Visibility"
#~ msgstr "顯示狀態"
#~ msgid "Send Files to Device…"
#~ msgstr "傳送檔案到裝置…"
#~ msgid "Set Up a New Device…"
#~ msgstr "設定新的裝置…"
#~ msgid "hardware disabled"
#~ msgstr "硬體已停用"
#~ msgid "Connection"
#~ msgstr "連線"
#~ msgid "Send Files…"
#~ msgstr "傳送檔案…"
#~ msgid "Keyboard Settings"
#~ msgstr "鍵盤設定值"
#~ msgid "Mouse Settings"
#~ msgstr "滑鼠設定值"
#~ msgid "Sound Settings"
#~ msgstr "音效設定值"
#~ msgid "Region & Language Settings"
#~ msgstr "地區和語言設定值"
#~ msgid "Volume, network, battery"
#~ msgstr "儲存區、網路、電池"
#~ msgid "Wi-Fi"
#~ msgstr "Wi-Fi"
#~ msgid "disabled"
#~ msgstr "已停用"
#~ msgid "cable unplugged"
#~ msgstr "纜線已拔除"
#~ msgid "More…"
#~ msgstr "更多…"
#~ msgid "Wired"
#~ msgstr "有線"
#~ msgid "Mobile broadband"
#~ msgstr "行動寬頻"
#~ msgid "Networking is disabled"
#~ msgstr "網路已停用"
#~ msgid "%d hour remaining"
#~ msgid_plural "%d hours remaining"
#~ msgstr[0] "可使用 %d 小時"
#~ msgid "%d %s %d %s remaining"
#~ msgstr "剩下 %d %s %d %s"
#~ msgid "hour"
#~ msgid_plural "hours"
#~ msgstr[0] "小時"
#~ msgid "minute"
#~ msgid_plural "minutes"
#~ msgstr[0] "分鐘"
#~ msgid "%d minute remaining"
#~ msgid_plural "%d minutes remaining"
#~ msgstr[0] "剩下 %d 分鐘"
#~ msgctxt "percent of battery remaining"
#~ msgid "%d%%"
#~ msgstr "%d%%"
#~ msgid "AC Adapter"
#~ msgstr "AC 電源"
#~ msgid "Laptop Battery"
#~ msgstr "筆記型電腦電池"
#~ msgid "UPS"
#~ msgstr "不斷電系統"
#~ msgid "Monitor"
#~ msgstr "監視器"
#~ msgid "Mouse"
#~ msgstr "滑鼠"
#~ msgid "PDA"
#~ msgstr "PDA"
#~ msgid "Cell Phone"
#~ msgstr "行動電話"
#~ msgid "Media Player"
#~ msgstr "媒體播放器"
#~ msgid "Tablet"
#~ msgstr "手寫板"
#~ msgid "Computer"
#~ msgstr "電腦"
#~ msgctxt "device"
#~ msgid "Unknown"
#~ msgstr "不明"
#~ msgid "Available"
#~ msgstr "有空"
#~ msgid "Busy"
#~ msgstr "忙碌"
#~ msgid "Invisible"
#~ msgstr "隱藏"
#~ msgid "Away"
#~ msgstr "離開"
#~ msgid "Idle"
#~ msgstr "閒置"
#~ msgid "Notifications"
#~ msgstr "通知"
#~ msgid "Your chat status will be set to busy"
#~ msgstr "您的聊天狀態會設為忙碌"
#~ 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 ""
#~ "通知現在已被停用,包含聊天訊息。您的上線狀態也調整為讓其他人知道您沒時間看"
#~ "他們的訊息。"
#~ msgid "Shutting down might cause them to lose unsaved work."
#~ msgstr "關機可能使它們失去未儲存的工作。"
#~ msgid "Whether to collect stats about applications usage"
#~ msgstr "是否收集關於應用程式使用率的狀態"
#~ msgid ""
#~ "The shell normally monitors active applications in order to present the "
#~ "most used ones (e.g. in launchers). While this data will be kept private, "
#~ "you may want to disable this for privacy reasons. Please note that doing "
#~ "so won't remove already saved data."
#~ msgstr ""
#~ "這個 shell 通常會監控使用中的應用程式以便能顯示出最常使用的(例如,在程式"
#~ "執行器中)。雖然這個資料會保持隱密,但是您可能會基於隱私的理由想要停用這個"
#~ "功能。請注意這麼做並不會移除已儲存的資料。"
#~ msgid "Auto Ethernet"
#~ msgstr "自動使用乙太網路"
#~ msgid "Auto broadband"
#~ msgstr "自動使用行動寬頻"
#~ msgid "Auto dial-up"
#~ msgstr "自動使用撥接"
#~ msgid "Auto %s"
#~ msgstr "自動使用 %s"
#~ msgid "Auto bluetooth"
#~ msgstr "自動使用藍牙"
#~ msgid "Auto wireless"
#~ msgstr "自動使用無線網路"
#~ msgctxt "title"
#~ msgid "Sign In"
#~ msgstr "登入"
#~ msgid "tray"
#~ msgstr "系統匣"
#~ msgid "Clear"
#~ msgstr "清除"
#~ msgid "More..."
#~ msgstr "更多…"
#~ msgctxt "event list time"
#~ msgid "%H:%M"
#~ msgstr "%H:%M"
#~ msgctxt "event list time"
#~ msgid "%l:%M %p"
#~ msgstr "%p %l:%M"
#~ msgid "United Kingdom"
#~ msgstr "英國"
#~ msgid "Default"
#~ msgstr "預設值"
#~ msgid "APPLICATIONS"
#~ msgstr "程式集"
#~ msgid "SETTINGS"
#~ msgstr "設定值"
#~ msgid "Subscription request"
#~ msgstr "訂閱要求"
#~ msgid "Connection error"
#~ msgstr "連線錯誤"
#~ msgid "Sent at <b>%X</b> on <b>%A</b>"
#~ msgstr "傳送於 <b>%X</b> <b>%A</b>"
#~ msgid "Sent on <b>%A</b>, <b>%B %d</b>, %Y"
#~ msgstr "傳送於 %Y年<b>%m月%d日</b><b>%A</b>"
#~ msgid "Connection to %s failed"
#~ msgstr "連線到 %s 失敗"
#~ msgid "Reconnect"
#~ msgstr "重新連接"
#~ msgid "Browse Files..."
#~ msgstr "瀏覽檔案…"
#~ msgid "Error browsing device"
#~ msgstr "瀏覽裝置時發生錯誤"
#~ msgid "The requested device cannot be browsed, error is '%s'"
#~ msgstr "要求的裝置是不能瀏覽的,錯誤為「%s」"
#~ msgid "Wireless"
#~ msgstr "無線"
#~ msgid "VPN Connections"
#~ msgstr "VPN 連線"
#~ msgid "Unavailable"
#~ msgstr "沒空"
#~ msgid "System Settings"
#~ msgstr "系統設定值"
#~ msgid "Your favorite Easter Egg"
#~ msgstr "您喜好的復活節彩蛋"
#~ msgid "Configuration problem: Could not connect to GDM"
#~ msgstr "組態問題:無法連線到 GDM"
#~ msgid "Could not connect to GDM. Screen locking was automatically disabled."
#~ msgstr "無法連線到 GDM。螢幕鎖定已經自動停用。"
#~ msgid "disabled OpenSearch providers"
#~ msgstr "已停用 OpenSearch 提供者"
#~ msgid "Failed to unmount '%s'"
#~ msgstr "無法卸載「%s」"
#~ msgid "Retry"
#~ msgstr "重試"
#~ msgid "PLACES & DEVICES"
#~ msgstr "位置 & 裝置"
#~ msgid "Home"
#~ msgstr "家目錄"
#~ msgid "%1$s: %2$s"
#~ msgstr "%1$s%2$s"
#~ msgid "Connect to..."
#~ msgstr "連接到…"
#~ msgid "Passphrase"
#~ msgstr "密語"
#~ msgid "If true, display date in the clock, in addition to time."
#~ msgstr "如設定為「true」除了在時鐘內顯示日期外還顯示時刻。"
#~ msgid "If true, display seconds in time."
#~ msgstr "如設定為「true」在時刻中顯示秒數。"
#~ msgid "Show date in clock"
#~ msgstr "在時鐘內顯示日期"
#~ msgid "Show time with seconds"
#~ msgstr "在時刻中顯示秒數"
#~ msgid "CONTACTS"
#~ msgstr "連絡人"
#~ msgid "%a %b %e, %R:%S"
#~ msgstr "%m月%e日(%a), %R:%S"
#~ msgid "%a %b %e, %R"
#~ msgstr "%m月%e日(%a), %R"
#~ msgid "%a %R:%S"
#~ msgstr "(%a) %R:%S"
#~ msgid "%a %R"
#~ msgstr "(%a) %R"
#~ msgid "%a %b %e, %l:%M:%S %p"
#~ msgstr "%m月%e日(%a), %p %l:%M:%S"
#~ msgid "%a %b %e, %l:%M %p"
#~ msgstr "%m月%e日(%a), %p %l:%M"
#~ msgid "%a %l:%M:%S %p"
#~ msgstr "(%a) %p %l:%M:%S"
#~ msgid "%a %l:%M %p"
#~ msgstr "(%a) %p %l:%M"
#~ msgid "Wrong password, please try again"
#~ msgstr "密碼錯誤,請再試一次"
#~ msgid "%s is online."
#~ msgstr "%s 現在上線。"
#~ msgid "%s is offline."
#~ msgstr "%s 現在離線。"
#~ msgid "%s is away."
#~ msgstr "%s 已離開。"
#~ msgid "%s is busy."
#~ msgstr "%s 正忙碌。"
#~ msgid "Hidden"
#~ msgstr "隱藏"
#~ msgid "Power Off..."
#~ msgstr "關閉電源…"
#~ msgid "Online Accounts"
#~ msgstr "線上帳號"
#~ msgid "Lock Screen"
#~ msgstr "鎖定畫面"
#~ msgid "Log Out..."
#~ msgstr "登出…"
#~ msgid "RECENT ITEMS"
#~ msgstr "最近使用項目"

View File

@@ -1,4 +1,7 @@
st_cflags = \
-DCLUTTER_ENABLE_EXPERIMENTAL_API \
-DCOGL_ENABLE_EXPERIMENTAL_API \
-DCOGL_ENABLE_EXPERIMENTAL_2_0_API \
-I$(top_srcdir)/src \
-DPREFIX=\""$(prefix)"\" \
-DLIBDIR=\""$(libdir)"\" \

View File

@@ -68,6 +68,9 @@ include Makefile-calendar-server.am
include Makefile-hotplug-sniffer.am
gnome_shell_cflags = \
-DCLUTTER_ENABLE_EXPERIMENTAL_API \
-DCOGL_ENABLE_EXPERIMENTAL_API \
-DCOGL_ENABLE_EXPERIMENTAL_2_0_API \
$(GNOME_SHELL_CFLAGS) \
-I$(srcdir)/tray \
-DVERSION=\"$(VERSION)\" \

View File

@@ -28,14 +28,11 @@
#include <stdlib.h>
#include <string.h>
#define CLUTTER_ENABLE_EXPERIMENTAL_API
#define COGL_ENABLE_EXPERIMENTAL_API
#include <clutter/clutter.h>
#include <clutter/x11/clutter-x11.h>
#include <gjs/gjs.h>
#include <meta/display.h>
#include <meta/meta-plugin.h>
#include <meta/util.h>
#include "shell-global-private.h"
#include "shell-perf-log.h"
@@ -344,13 +341,8 @@ gnome_shell_plugin_xevent_filter (MetaPlugin *plugin,
}
#endif
#ifdef HAVE_WAYLAND
if (meta_is_wayland_compositor ())
return FALSE;
#endif
/*
* Pass the event to shell-global for XDND
* Pass the event to shell-global
*/
if (_shell_global_check_xdnd_event (shell_plugin->global, xev))
return TRUE;

View File

@@ -217,7 +217,7 @@ typedef struct {
ClutterTextDirection direction;
} CreateFadedIconData;
static CoglHandle
static CoglTexture *
shell_app_create_faded_icon_cpu (StTextureCache *cache,
const char *key,
void *datap,
@@ -227,7 +227,7 @@ shell_app_create_faded_icon_cpu (StTextureCache *cache,
ShellApp *app;
GdkPixbuf *pixbuf;
int size;
CoglHandle texture;
CoglTexture *texture;
gint width, height, rowstride;
guint8 n_channels;
gboolean have_alpha;
@@ -263,13 +263,13 @@ shell_app_create_faded_icon_cpu (StTextureCache *cache,
}
if (info == NULL)
return COGL_INVALID_HANDLE;
return NULL;
pixbuf = gtk_icon_info_load_icon (info, NULL);
g_object_unref (info);
if (pixbuf == NULL)
return COGL_INVALID_HANDLE;
return NULL;
width = gdk_pixbuf_get_width (pixbuf);
height = gdk_pixbuf_get_height (pixbuf);
@@ -338,7 +338,7 @@ shell_app_create_faded_icon_cpu (StTextureCache *cache,
ClutterActor *
shell_app_get_faded_icon (ShellApp *app, int size, ClutterTextDirection direction)
{
CoglHandle texture;
CoglTexture *texture;
ClutterActor *result;
char *cache_key;
CreateFadedIconData data;
@@ -367,7 +367,7 @@ shell_app_get_faded_icon (ShellApp *app, int size, ClutterTextDirection directio
NULL);
g_free (cache_key);
if (texture != COGL_INVALID_HANDLE)
if (texture != NULL)
{
result = clutter_texture_new ();
clutter_texture_set_cogl_texture (CLUTTER_TEXTURE (result), texture);

View File

@@ -27,7 +27,6 @@
#include <meta/display.h>
#include <meta/util.h>
#include <meta/meta-shaped-texture.h>
#include <meta/meta-cursor-tracker.h>
/* Memory report bits */
#ifdef HAVE_MALLINFO
@@ -52,7 +51,7 @@ struct _ShellGlobal {
ClutterStage *stage;
Window stage_xwindow;
GdkWindow *ibus_window;
GdkWindow *stage_gdk_window;
MetaDisplay *meta_display;
GdkDisplay *gdk_display;
@@ -600,6 +599,91 @@ sync_input_region (ShellGlobal *global)
meta_set_stage_input_region (screen, global->input_region);
}
/**
* shell_global_set_cursor:
* @global: A #ShellGlobal
* @type: the type of the cursor
*
* Set the cursor on the stage window.
*/
void
shell_global_set_cursor (ShellGlobal *global,
ShellCursor type)
{
const char *name;
GdkCursor *cursor;
switch (type)
{
case SHELL_CURSOR_DND_IN_DRAG:
name = "dnd-none";
break;
case SHELL_CURSOR_DND_MOVE:
name = "dnd-move";
break;
case SHELL_CURSOR_DND_COPY:
name = "dnd-copy";
break;
case SHELL_CURSOR_DND_UNSUPPORTED_TARGET:
name = "dnd-none";
break;
case SHELL_CURSOR_POINTING_HAND:
name = "hand";
break;
case SHELL_CURSOR_CROSSHAIR:
name = "crosshair";
break;
default:
g_return_if_reached ();
}
cursor = gdk_cursor_new_from_name (global->gdk_display, name);
if (!cursor)
{
GdkCursorType cursor_type;
switch (type)
{
case SHELL_CURSOR_DND_IN_DRAG:
cursor_type = GDK_FLEUR;
break;
case SHELL_CURSOR_DND_MOVE:
cursor_type = GDK_TARGET;
break;
case SHELL_CURSOR_DND_COPY:
cursor_type = GDK_PLUS;
break;
case SHELL_CURSOR_POINTING_HAND:
cursor_type = GDK_HAND2;
break;
case SHELL_CURSOR_CROSSHAIR:
cursor_type = GDK_CROSSHAIR;
break;
case SHELL_CURSOR_DND_UNSUPPORTED_TARGET:
cursor_type = GDK_X_CURSOR;
break;
default:
g_return_if_reached ();
}
cursor = gdk_cursor_new (cursor_type);
}
gdk_window_set_cursor (global->stage_gdk_window, cursor);
g_object_unref (cursor);
}
/**
* shell_global_unset_cursor:
* @global: A #ShellGlobal
*
* Unset the cursor on the stage window.
*/
void
shell_global_unset_cursor (ShellGlobal *global)
{
gdk_window_set_cursor (global->stage_gdk_window, NULL);
}
/**
* shell_global_set_stage_input_region:
* @global: the #ShellGlobal
@@ -793,9 +877,13 @@ gnome_shell_gdk_event_handler (GdkEvent *event_gdk,
{
if (event_gdk->type == GDK_KEY_PRESS || event_gdk->type == GDK_KEY_RELEASE)
{
ShellGlobal *global = data;
ClutterActor *stage;
Window stage_xwindow;
if (event_gdk->key.window == global->ibus_window)
stage = CLUTTER_ACTOR (data);
stage_xwindow = clutter_x11_get_stage_window (CLUTTER_STAGE (stage));
if (GDK_WINDOW_XID (event_gdk->key.window) == stage_xwindow)
{
ClutterDeviceManager *device_manager = clutter_device_manager_get_default ();
ClutterInputDevice *keyboard = clutter_device_manager_get_core_device (device_manager,
@@ -805,7 +893,7 @@ gnome_shell_gdk_event_handler (GdkEvent *event_gdk,
CLUTTER_KEY_PRESS : CLUTTER_KEY_RELEASE);
event_clutter->key.time = event_gdk->key.time;
event_clutter->key.flags = CLUTTER_EVENT_NONE;
event_clutter->key.stage = CLUTTER_STAGE (global->stage);
event_clutter->key.stage = CLUTTER_STAGE (stage);
event_clutter->key.source = NULL;
/* This depends on ClutterModifierType and GdkModifierType being
@@ -828,16 +916,6 @@ gnome_shell_gdk_event_handler (GdkEvent *event_gdk,
gtk_main_do_event (event_gdk);
}
static void
entry_cursor_func (StEntry *entry,
gboolean use_ibeam,
gpointer user_data)
{
ShellGlobal *global = user_data;
meta_screen_set_cursor (global->meta_screen, use_ibeam ? META_CURSOR_IBEAM : META_CURSOR_DEFAULT);
}
void
_shell_global_set_plugin (ShellGlobal *global,
MetaPlugin *plugin)
@@ -857,38 +935,9 @@ _shell_global_set_plugin (ShellGlobal *global,
meta_screen_get_screen_number (global->meta_screen));
global->stage = CLUTTER_STAGE (meta_get_stage_for_screen (global->meta_screen));
#ifdef HAVE_WAYLAND
if (meta_is_wayland_compositor ())
{
/* When Mutter is acting as its own display server then the
stage does not have a window, so create a different window
which we use to communicate with IBus, and leave stage_xwindow
as None.
*/
GdkWindowAttr attributes;
attributes.wclass = GDK_INPUT_OUTPUT;
attributes.width = 100;
attributes.height = 100;
attributes.window_type = GDK_WINDOW_TOPLEVEL;
global->ibus_window = gdk_window_new (NULL,
&attributes,
0 /* attributes_mask */);
global->stage_xwindow = None;
}
else
#endif
{
global->stage_xwindow = clutter_x11_get_stage_window (global->stage);
global->ibus_window = gdk_x11_window_foreign_new_for_display (global->gdk_display,
global->stage_xwindow);
}
st_im_text_set_event_window (global->ibus_window);
st_entry_set_cursor_func (entry_cursor_func, global);
global->stage_xwindow = clutter_x11_get_stage_window (global->stage);
global->stage_gdk_window = gdk_x11_window_foreign_new_for_display (global->gdk_display,
global->stage_xwindow);
g_signal_connect (global->stage, "notify::width",
G_CALLBACK (global_stage_notify_width), global);
@@ -917,7 +966,7 @@ _shell_global_set_plugin (ShellGlobal *global,
g_signal_connect (global->meta_display, "notify::focus-window",
G_CALLBACK (focus_window_changed), global);
gdk_event_handler_set (gnome_shell_gdk_event_handler, global, NULL);
gdk_event_handler_set (gnome_shell_gdk_event_handler, global->stage, NULL);
global->focus_manager = st_focus_manager_get_for_stage (global->stage);
}
@@ -992,8 +1041,7 @@ void
shell_global_freeze_keyboard (ShellGlobal *global,
guint32 timestamp)
{
if (global->stage_xwindow != None)
meta_display_freeze_keyboard (global->meta_display, global->stage_xwindow, timestamp);
meta_display_freeze_keyboard (global->meta_display, global->stage_xwindow, timestamp);
}
/* Code to close all file descriptors before we exec; copied from gspawn.c in GLib.
@@ -1243,6 +1291,9 @@ void shell_global_init_xdnd (ShellGlobal *global)
* @mods: (out): the current set of modifier keys that are pressed down
*
* Gets the pointer coordinates and current modifier key state.
* This is a wrapper around gdk_display_get_pointer() that strips
* out any un-declared modifier flags, to make gjs happy; see
* https://bugzilla.gnome.org/show_bug.cgi?id=597292.
*/
void
shell_global_get_pointer (ShellGlobal *global,
@@ -1250,13 +1301,18 @@ shell_global_get_pointer (ShellGlobal *global,
int *y,
ClutterModifierType *mods)
{
ClutterModifierType raw_mods;
MetaCursorTracker *tracker;
GdkDeviceManager *gmanager;
GdkDevice *gdevice;
GdkScreen *gscreen;
GdkModifierType raw_mods;
tracker = meta_cursor_tracker_get_for_screen (global->meta_screen);
meta_cursor_tracker_get_pointer (tracker, x, y, &raw_mods);
*mods = raw_mods & CLUTTER_MODIFIER_MASK;
gmanager = gdk_display_get_device_manager (global->gdk_display);
gdevice = gdk_device_manager_get_client_pointer (gmanager);
gdk_device_get_position (gdevice, &gscreen, x, y);
gdk_device_get_state (gdevice,
gdk_screen_get_root_window (gscreen),
NULL, &raw_mods);
*mods = raw_mods & GDK_MODIFIER_MASK;
}
/**
@@ -1271,10 +1327,19 @@ void
shell_global_sync_pointer (ShellGlobal *global)
{
int x, y;
ClutterModifierType mods;
GdkModifierType mods;
GdkDeviceManager *gmanager;
GdkDevice *gdevice;
GdkScreen *gscreen;
ClutterMotionEvent event;
shell_global_get_pointer (global, &x, &y, &mods);
gmanager = gdk_display_get_device_manager (global->gdk_display);
gdevice = gdk_device_manager_get_client_pointer (gmanager);
gdk_device_get_position (gdevice, &gscreen, &x, &y);
gdk_device_get_state (gdevice,
gdk_screen_get_root_window (gscreen),
NULL, &mods);
event.type = CLUTTER_MOTION;
event.time = shell_global_get_current_time (global);

View File

@@ -50,6 +50,20 @@ void shell_global_freeze_keyboard (ShellGlobal *global,
void shell_global_set_stage_input_region (ShellGlobal *global,
GSList *rectangles);
/* X utilities */
typedef enum {
SHELL_CURSOR_DND_IN_DRAG,
SHELL_CURSOR_DND_UNSUPPORTED_TARGET,
SHELL_CURSOR_DND_MOVE,
SHELL_CURSOR_DND_COPY,
SHELL_CURSOR_POINTING_HAND,
SHELL_CURSOR_CROSSHAIR
} ShellCursor;
void shell_global_set_cursor (ShellGlobal *global,
ShellCursor type);
void shell_global_unset_cursor (ShellGlobal *global);
void shell_global_get_pointer (ShellGlobal *global,
int *x,
int *y,

View File

@@ -35,8 +35,6 @@
#define SHELL_IS_INVERT_EFFECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SHELL_TYPE_INVERT_LIGHTNESS_EFFECT))
#define SHELL_INVERT_LIGHTNESS_EFFECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SHELL_TYPE_INVERT_LIGHTNESS_EFFEC, ShellInvertLightnessEffectClass))
#define CLUTTER_ENABLE_EXPERIMENTAL_API
#include "shell-invert-lightness-effect.h"
#include <cogl/cogl.h>
@@ -124,6 +122,7 @@ shell_invert_lightness_effect_paint_target (ClutterOffscreenEffect *effect)
ShellInvertLightnessEffect *self = SHELL_INVERT_LIGHTNESS_EFFECT (effect);
ClutterActor *actor;
guint8 paint_opacity;
CoglFramebuffer *fb = cogl_get_draw_framebuffer ();
actor = clutter_actor_meta_get_actor (CLUTTER_ACTOR_META (effect));
paint_opacity = clutter_actor_get_paint_opacity (actor);
@@ -133,11 +132,8 @@ shell_invert_lightness_effect_paint_target (ClutterOffscreenEffect *effect)
paint_opacity,
paint_opacity,
paint_opacity);
cogl_push_source (self->pipeline);
cogl_rectangle (0, 0, self->tex_width, self->tex_height);
cogl_pop_source ();
cogl_framebuffer_draw_rectangle (fb, self->pipeline,
0, 0, self->tex_width, self->tex_height);
}
static void

View File

@@ -21,7 +21,6 @@
#ifndef __SHELL_INVERT_LIGHTNESS_EFFECT_H__
#define __SHELL_INVERT_LIGHTNESS_EFFECT_H__
#define COGL_ENABLE_EXPERIMENTAL_API
#include <clutter/clutter.h>
G_BEGIN_DECLS

View File

@@ -771,6 +771,6 @@ shell_keyring_prompt_cancel (ShellKeyringPrompt *self)
self->async_result = NULL;
self->mode = PROMPTING_NONE;
g_simple_async_result_complete_in_idle (res);
g_simple_async_result_complete (res);
g_object_unref (res);
}

View File

@@ -441,15 +441,19 @@ recorder_record_frame (ShellRecorder *recorder)
recorder->last_frame_time = now;
size = recorder->area.width * recorder->area.height * 4;
data = g_malloc (recorder->area.width * 4 * recorder->area.height);
cogl_read_pixels (recorder->area.x,
recorder->area.y,
recorder->area.width,
recorder->area.height,
COGL_READ_PIXELS_COLOR_BUFFER,
CLUTTER_CAIRO_FORMAT_ARGB32,
data);
data = g_malloc (size);
if (!cogl_framebuffer_read_pixels (cogl_get_draw_framebuffer (),
recorder->area.x,
recorder->area.y,
recorder->area.width,
recorder->area.height,
CLUTTER_CAIRO_FORMAT_ARGB32,
data))
{
g_warning ("Could not retrieve pixel data");
g_free (data);
return;
}
buffer = gst_buffer_new();
gst_buffer_insert_memory (buffer, -1,

View File

@@ -1,8 +1,5 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
#define COGL_ENABLE_EXPERIMENTAL_API
#define CLUTTER_ENABLE_EXPERIMENTAL_API
#include <clutter/clutter.h>
#include <cogl/cogl.h>
#include <meta/display.h>

View File

@@ -97,6 +97,7 @@ shell_slicer_paint_child (ShellSlicer *self)
float width, height, child_width, child_height;
StAlign x_align, y_align;
double x_align_factor, y_align_factor;
CoglFramebuffer *fb = cogl_get_draw_framebuffer ();
child = st_bin_get_child (ST_BIN (self));
@@ -115,18 +116,17 @@ shell_slicer_paint_child (ShellSlicer *self)
child_width = child_box.x2 - child_box.x1;
child_height = child_box.y2 - child_box.y1;
cogl_push_matrix ();
cogl_clip_push_rectangle (0, 0, width, height);
cogl_translate ((int)(0.5 + x_align_factor * (width - child_width)),
(int)(0.5 + y_align_factor * (height - child_height)),
0);
cogl_framebuffer_push_matrix (fb);
cogl_framebuffer_push_rectangle_clip (fb, 0, 0, width, height);
cogl_framebuffer_translate (fb,
(int)(0.5 + x_align_factor * (width - child_width)),
(int)(0.5 + y_align_factor * (height - child_height)),
0);
clutter_actor_paint (child);
cogl_clip_pop ();
cogl_pop_matrix ();
cogl_framebuffer_pop_clip (fb);
cogl_framebuffer_pop_matrix (fb);
}
static void

View File

@@ -387,19 +387,20 @@ st_box_layout_paint (ClutterActor *actor)
ClutterActorBox allocation_box;
ClutterActorBox content_box;
ClutterActor *child;
CoglFramebuffer *fb = cogl_get_draw_framebuffer ();
get_border_paint_offsets (self, &x, &y);
if (x != 0 || y != 0)
{
cogl_push_matrix ();
cogl_translate ((int)x, (int)y, 0);
cogl_framebuffer_push_matrix (fb);
cogl_framebuffer_translate (fb, (int)x, (int)y, 0);
}
st_widget_paint_background (ST_WIDGET (actor));
if (x != 0 || y != 0)
{
cogl_pop_matrix ();
cogl_framebuffer_pop_matrix (fb);
}
if (clutter_actor_get_n_children (actor) == 0)
@@ -417,10 +418,11 @@ st_box_layout_paint (ClutterActor *actor)
* the borders and background stay in place; after drawing the borders and
* background, we clip to the content area */
if (priv->hadjustment || priv->vadjustment)
cogl_clip_push_rectangle ((int)content_box.x1,
(int)content_box.y1,
(int)content_box.x2,
(int)content_box.y2);
cogl_framebuffer_push_rectangle_clip (fb,
(int)content_box.x1,
(int)content_box.y1,
(int)content_box.x2,
(int)content_box.y2);
for (child = clutter_actor_get_first_child (actor);
child != NULL;
@@ -428,7 +430,7 @@ st_box_layout_paint (ClutterActor *actor)
clutter_actor_paint (child);
if (priv->hadjustment || priv->vadjustment)
cogl_clip_pop ();
cogl_framebuffer_pop_clip (fb);
}
static void
@@ -442,19 +444,20 @@ st_box_layout_pick (ClutterActor *actor,
ClutterActorBox allocation_box;
ClutterActorBox content_box;
ClutterActor *child;
CoglFramebuffer *fb = cogl_get_draw_framebuffer ();
get_border_paint_offsets (self, &x, &y);
if (x != 0 || y != 0)
{
cogl_push_matrix ();
cogl_translate ((int)x, (int)y, 0);
cogl_framebuffer_push_matrix (fb);
cogl_framebuffer_translate (fb, (int)x, (int)y, 0);
}
CLUTTER_ACTOR_CLASS (st_box_layout_parent_class)->pick (actor, color);
if (x != 0 || y != 0)
{
cogl_pop_matrix ();
cogl_framebuffer_pop_matrix (fb);
}
if (clutter_actor_get_n_children (actor) == 0)
@@ -469,10 +472,11 @@ st_box_layout_pick (ClutterActor *actor,
content_box.y2 += y;
if (priv->hadjustment || priv->vadjustment)
cogl_clip_push_rectangle ((int)content_box.x1,
(int)content_box.y1,
(int)content_box.x2,
(int)content_box.y2);
cogl_framebuffer_push_rectangle_clip (fb,
(int)content_box.x1,
(int)content_box.y1,
(int)content_box.x2,
(int)content_box.y2);
for (child = clutter_actor_get_first_child (actor);
child != NULL;
@@ -480,7 +484,7 @@ st_box_layout_pick (ClutterActor *actor,
clutter_actor_paint (child);
if (priv->hadjustment || priv->vadjustment)
cogl_clip_pop ();
cogl_framebuffer_pop_clip (fb);
}
static gboolean

View File

@@ -39,8 +39,8 @@
G_DEFINE_TYPE(StDrawingArea, st_drawing_area, ST_TYPE_WIDGET);
struct _StDrawingAreaPrivate {
CoglHandle texture;
CoglHandle material;
CoglTexture *texture;
CoglPipeline *pipeline;
cairo_t *context;
guint needs_repaint : 1;
guint in_repaint : 1;
@@ -61,17 +61,8 @@ st_drawing_area_dispose (GObject *object)
StDrawingArea *area = ST_DRAWING_AREA (object);
StDrawingAreaPrivate *priv = area->priv;
if (priv->material != COGL_INVALID_HANDLE)
{
cogl_handle_unref (priv->material);
priv->material = COGL_INVALID_HANDLE;
}
if (priv->texture != COGL_INVALID_HANDLE)
{
cogl_handle_unref (priv->texture);
priv->texture = COGL_INVALID_HANDLE;
}
g_clear_pointer (&priv->pipeline, cogl_object_unref);
g_clear_pointer (&priv->texture, cogl_object_unref);
G_OBJECT_CLASS (st_drawing_area_parent_class)->dispose (object);
}
@@ -85,8 +76,6 @@ st_drawing_area_paint (ClutterActor *self)
ClutterActorBox allocation_box;
ClutterActorBox content_box;
int width, height;
CoglColor color;
guint8 paint_opacity;
(CLUTTER_ACTOR_CLASS (st_drawing_area_parent_class))->paint (self);
@@ -96,20 +85,25 @@ st_drawing_area_paint (ClutterActor *self)
width = (int)(0.5 + content_box.x2 - content_box.x1);
height = (int)(0.5 + content_box.y2 - content_box.y1);
if (priv->material == COGL_INVALID_HANDLE)
priv->material = cogl_material_new ();
if (priv->pipeline == NULL)
{
CoglContext *ctx =
clutter_backend_get_cogl_context (clutter_get_default_backend ());
if (priv->texture != COGL_INVALID_HANDLE &&
priv->pipeline = cogl_pipeline_new (ctx);
}
if (priv->texture != NULL &&
(width != cogl_texture_get_width (priv->texture) ||
height != cogl_texture_get_height (priv->texture)))
{
cogl_handle_unref (priv->texture);
priv->texture = COGL_INVALID_HANDLE;
cogl_object_unref (priv->texture);
priv->texture = NULL;
}
if (width > 0 && height > 0)
{
if (priv->texture == COGL_INVALID_HANDLE)
if (priv->texture == NULL)
{
priv->texture = cogl_texture_new_with_size (width, height,
COGL_TEXTURE_NONE,
@@ -141,19 +135,21 @@ st_drawing_area_paint (ClutterActor *self)
}
}
cogl_material_set_layer (priv->material, 0, priv->texture);
cogl_pipeline_set_layer_texture (priv->pipeline, 0, priv->texture);
if (priv->texture)
{
paint_opacity = clutter_actor_get_paint_opacity (self);
cogl_color_set_from_4ub (&color,
paint_opacity, paint_opacity, paint_opacity, paint_opacity);
cogl_material_set_color (priv->material, &color);
CoglColor color;
guint8 paint_opacity;
CoglFramebuffer *fb = cogl_get_draw_framebuffer ();
cogl_set_source (priv->material);
cogl_rectangle_with_texture_coords (content_box.x1, content_box.y1,
content_box.x2, content_box.y2,
0.0f, 0.0f, 1.0f, 1.0f);
paint_opacity = clutter_actor_get_paint_opacity (self);
cogl_color_init_from_4ub (&color, paint_opacity, paint_opacity, paint_opacity, paint_opacity);
cogl_pipeline_set_color (priv->pipeline, &color);
cogl_framebuffer_draw_rectangle (fb, priv->pipeline,
content_box.x1, content_box.y1,
content_box.x2, content_box.y2);
}
}
@@ -195,7 +191,7 @@ st_drawing_area_init (StDrawingArea *area)
{
area->priv = G_TYPE_INSTANCE_GET_PRIVATE (area, ST_TYPE_DRAWING_AREA,
StDrawingAreaPrivate);
area->priv->texture = COGL_INVALID_HANDLE;
area->priv->texture = NULL;
}
/**

View File

@@ -65,6 +65,10 @@
#include "st-clipboard.h"
#include "st-private.h"
#include <clutter/x11/clutter-x11.h>
#include <X11/Xlib.h>
#include <X11/cursorfont.h>
#include "st-widget-accessible.h"
#define HAS_FOCUS(actor) (clutter_actor_get_stage (actor) && clutter_stage_get_key_focus ((ClutterStage *) clutter_actor_get_stage (actor)) == actor)
@@ -677,28 +681,33 @@ st_entry_key_focus_in (ClutterActor *actor)
clutter_actor_grab_key_focus (priv->entry);
}
static StEntryCursorFunc cursor_func;
static gpointer cursor_func_data;
/**
* st_entry_set_cursor_func: (skip)
*
* This function is for private use by libgnome-shell.
* Do not ever use.
*/
void
st_entry_set_cursor_func (StEntryCursorFunc func,
gpointer data)
{
cursor_func = func;
cursor_func_data = data;
}
static void
st_entry_set_cursor (StEntry *entry,
gboolean use_ibeam)
{
cursor_func (entry, use_ibeam, cursor_func_data);
Display *dpy;
ClutterActor *stage, *actor = CLUTTER_ACTOR (entry);
Window wid;
static Cursor ibeam = None;
dpy = clutter_x11_get_default_display ();
stage = clutter_actor_get_stage (actor);
if (stage == NULL)
{
g_warn_if_fail (!entry->priv->has_ibeam);
return;
}
wid = clutter_x11_get_stage_window (CLUTTER_STAGE (stage));
if (ibeam == None)
ibeam = XCreateFontCursor (dpy, XC_xterm);
if (use_ibeam)
XDefineCursor (dpy, wid, ibeam);
else
XUndefineCursor (dpy, wid);
entry->priv->has_ibeam = use_ibeam;
}

View File

@@ -86,10 +86,6 @@ void st_entry_set_primary_icon (StEntry *entry,
void st_entry_set_secondary_icon (StEntry *entry,
ClutterActor *icon);
typedef void (*StEntryCursorFunc) (StEntry *entry, gboolean use_ibeam, gpointer data);
void st_entry_set_cursor_func (StEntryCursorFunc func,
gpointer user_data);
G_END_DECLS
#endif /* __ST_ENTRY_H__ */

View File

@@ -56,7 +56,7 @@ struct _StIconPrivate
gint theme_icon_size; /* icon size from theme node */
gint icon_size; /* icon size we are using */
CoglHandle shadow_material;
CoglPipeline *shadow_pipeline;
float shadow_width;
float shadow_height;
StShadow *shadow_spec;
@@ -141,23 +141,9 @@ st_icon_dispose (GObject *gobject)
priv->pending_texture = NULL;
}
if (priv->gicon)
{
g_object_unref (priv->gicon);
priv->gicon = NULL;
}
if (priv->shadow_material)
{
cogl_handle_unref (priv->shadow_material);
priv->shadow_material = COGL_INVALID_HANDLE;
}
if (priv->shadow_spec)
{
st_shadow_unref (priv->shadow_spec);
priv->shadow_spec = NULL;
}
g_clear_object (&priv->gicon);
g_clear_pointer (&priv->shadow_pipeline, cogl_object_unref);
g_clear_pointer (&priv->shadow_spec, st_shadow_unref);
G_OBJECT_CLASS (st_icon_parent_class)->dispose (gobject);
}
@@ -241,7 +227,7 @@ st_icon_paint (ClutterActor *actor)
if (priv->icon_texture)
{
if (priv->shadow_material)
if (priv->shadow_pipeline)
{
ClutterActorBox allocation;
float width, height;
@@ -250,7 +236,8 @@ st_icon_paint (ClutterActor *actor)
clutter_actor_box_get_size (&allocation, &width, &height);
_st_paint_shadow_with_opacity (priv->shadow_spec,
priv->shadow_material,
priv->shadow_pipeline,
cogl_get_draw_framebuffer (),
&allocation,
clutter_actor_get_paint_opacity (priv->icon_texture));
}
@@ -266,17 +253,8 @@ st_icon_style_changed (StWidget *widget)
StThemeNode *theme_node = st_widget_get_theme_node (widget);
StIconPrivate *priv = self->priv;
if (priv->shadow_spec)
{
st_shadow_unref (priv->shadow_spec);
priv->shadow_spec = NULL;
}
if (priv->shadow_material)
{
cogl_handle_unref (priv->shadow_material);
priv->shadow_material = COGL_INVALID_HANDLE;
}
g_clear_pointer (&priv->shadow_pipeline, cogl_object_unref);
g_clear_pointer (&priv->shadow_spec, st_shadow_unref);
priv->shadow_spec = st_theme_node_get_shadow (theme_node, "icon-shadow");
@@ -343,33 +321,26 @@ st_icon_init (StIcon *self)
self->priv->icon_size = DEFAULT_ICON_SIZE;
self->priv->prop_icon_size = -1;
self->priv->shadow_material = COGL_INVALID_HANDLE;
self->priv->shadow_pipeline = NULL;
self->priv->shadow_width = -1;
self->priv->shadow_height = -1;
}
static void
st_icon_update_shadow_material (StIcon *icon)
st_icon_update_shadow_pipeline (StIcon *icon)
{
StIconPrivate *priv = icon->priv;
if (priv->shadow_material)
{
cogl_handle_unref (priv->shadow_material);
priv->shadow_material = COGL_INVALID_HANDLE;
}
g_clear_pointer (&priv->shadow_pipeline, cogl_object_unref);
if (priv->shadow_spec)
{
CoglHandle material;
gint width, height;
clutter_texture_get_base_size (CLUTTER_TEXTURE (priv->icon_texture),
&width, &height);
material = _st_create_shadow_material_from_actor (priv->shadow_spec,
priv->icon_texture);
priv->shadow_material = material;
priv->shadow_pipeline = _st_create_shadow_pipeline_from_actor (priv->shadow_spec, priv->icon_texture);
priv->shadow_width = width;
priv->shadow_height = height;
}
@@ -379,7 +350,7 @@ static void
on_pixbuf_changed (ClutterTexture *texture,
StIcon *icon)
{
st_icon_update_shadow_material (icon);
st_icon_update_shadow_pipeline (icon);
}
static void
@@ -402,7 +373,7 @@ st_icon_finish_update (StIcon *icon)
/* Remove the temporary ref we added */
g_object_unref (priv->icon_texture);
st_icon_update_shadow_material (icon);
st_icon_update_shadow_pipeline (icon);
/* "pixbuf-change" is actually a misnomer for "texture-changed" */
g_signal_connect_object (priv->icon_texture, "pixbuf-change",

View File

@@ -41,6 +41,7 @@
#endif
#include <clutter/clutter.h>
#include <clutter/x11/clutter-x11.h>
#include <glib.h>
#include <gtk/gtk.h>
#include <gdk/gdkkeysyms.h>
@@ -202,14 +203,25 @@ st_im_text_get_paint_volume (ClutterActor *self,
return clutter_paint_volume_set_from_allocation (volume, self);
}
static GdkWindow *event_window;
void
st_im_text_set_event_window (GdkWindow *window)
/* Returns a new reference to window */
static GdkWindow *
window_for_actor (ClutterActor *actor)
{
g_assert (event_window == NULL);
GdkDisplay *display = gdk_display_get_default ();
ClutterActor *stage;
Window xwindow;
GdkWindow *window;
event_window = window;
stage = clutter_actor_get_stage (actor);
xwindow = clutter_x11_get_stage_window ((ClutterStage *)stage);
window = gdk_x11_window_lookup_for_display (display, xwindow);
if (window)
g_object_ref (window);
else
window = gdk_x11_window_foreign_new_for_display (display, xwindow);
return window;
}
static void
@@ -217,8 +229,7 @@ st_im_text_realize (ClutterActor *actor)
{
StIMTextPrivate *priv = ST_IM_TEXT (actor)->priv;
g_assert (event_window != NULL);
priv->window = g_object_ref (event_window);
priv->window = window_for_actor (actor);
gtk_im_context_set_client_window (priv->im_context, priv->window);
}
@@ -280,8 +291,7 @@ key_event_to_gdk (ClutterKeyEvent *event_clutter)
event_gdk = (GdkEventKey *)gdk_event_new ((event_clutter->type == CLUTTER_KEY_PRESS) ?
GDK_KEY_PRESS : GDK_KEY_RELEASE);
g_assert (event_window != NULL);
event_gdk->window = g_object_ref (event_window);
event_gdk->window = window_for_actor ((ClutterActor *)event_clutter->stage);
event_gdk->send_event = FALSE;
event_gdk->time = event_clutter->time;
/* This depends on ClutterModifierType and GdkModifierType being

View File

@@ -68,8 +68,6 @@ void st_im_text_set_input_hints (StIMText *imtext,
GtkInputHints hints);
GtkInputHints st_im_text_get_input_hints (StIMText *imtext);
void st_im_text_set_event_window (GdkWindow *window);
G_END_DECLS
#endif /* __ST_IM_TEXT_H__ */

View File

@@ -60,7 +60,7 @@ struct _StLabelPrivate
{
ClutterActor *label;
CoglHandle text_shadow_material;
CoglPipeline *text_shadow_pipeline;
float shadow_width;
float shadow_height;
};
@@ -118,11 +118,7 @@ st_label_style_changed (StWidget *self)
{
StLabelPrivate *priv = ST_LABEL(self)->priv;
if (priv->text_shadow_material != COGL_INVALID_HANDLE)
{
cogl_handle_unref (priv->text_shadow_material);
priv->text_shadow_material = COGL_INVALID_HANDLE;
}
g_clear_pointer (&priv->text_shadow_pipeline, cogl_object_unref);
_st_set_text_from_style ((ClutterText *)priv->label, st_widget_get_theme_node (self));
@@ -192,11 +188,7 @@ st_label_dispose (GObject *object)
priv->label = NULL;
}
if (priv->text_shadow_material != COGL_INVALID_HANDLE)
{
cogl_handle_unref (priv->text_shadow_material);
priv->text_shadow_material = COGL_INVALID_HANDLE;
}
g_clear_pointer (&priv->text_shadow_pipeline, cogl_object_unref);
G_OBJECT_CLASS (st_label_parent_class)->dispose (object);
}
@@ -218,26 +210,21 @@ st_label_paint (ClutterActor *actor)
clutter_actor_get_allocation_box (priv->label, &allocation);
clutter_actor_box_get_size (&allocation, &width, &height);
if (priv->text_shadow_material == COGL_INVALID_HANDLE ||
if (priv->text_shadow_pipeline == NULL ||
width != priv->shadow_width ||
height != priv->shadow_height)
{
CoglHandle material;
if (priv->text_shadow_material != COGL_INVALID_HANDLE)
cogl_handle_unref (priv->text_shadow_material);
material = _st_create_shadow_material_from_actor (shadow_spec,
priv->label);
g_clear_pointer (&priv->text_shadow_pipeline, cogl_object_unref);
priv->shadow_width = width;
priv->shadow_height = height;
priv->text_shadow_material = material;
priv->text_shadow_pipeline = _st_create_shadow_pipeline_from_actor (shadow_spec, priv->label);
}
if (priv->text_shadow_material != COGL_INVALID_HANDLE)
if (priv->text_shadow_pipeline != NULL)
_st_paint_shadow_with_opacity (shadow_spec,
priv->text_shadow_material,
priv->text_shadow_pipeline,
cogl_get_draw_framebuffer (),
&allocation,
clutter_actor_get_paint_opacity (priv->label));
}
@@ -292,7 +279,7 @@ st_label_init (StLabel *label)
label->priv->label = g_object_new (CLUTTER_TYPE_TEXT,
"ellipsize", PANGO_ELLIPSIZE_END,
NULL);
label->priv->text_shadow_material = COGL_INVALID_HANDLE;
label->priv->text_shadow_pipeline = NULL;
label->priv->shadow_width = -1.;
label->priv->shadow_height = -1.;
@@ -357,11 +344,7 @@ st_label_set_text (StLabel *label,
if (clutter_text_get_editable (ctext) ||
g_strcmp0 (clutter_text_get_text (ctext), text) != 0)
{
if (priv->text_shadow_material != COGL_INVALID_HANDLE)
{
cogl_handle_unref (priv->text_shadow_material);
priv->text_shadow_material = COGL_INVALID_HANDLE;
}
g_clear_pointer (&priv->text_shadow_pipeline, cogl_object_unref);
clutter_text_set_text (ctext, text);

View File

@@ -162,47 +162,41 @@ _st_set_text_from_style (ClutterText *text,
}
/**
* _st_create_texture_material:
* @src_texture: The CoglTexture for the material
* _st_create_texture_pipeline:
* @src_texture: The CoglTexture for the pipeline
*
* Creates a simple material which contains the given texture as a
* Creates a simple pipeline which contains the given texture as a
* single layer.
*/
CoglHandle
_st_create_texture_material (CoglHandle src_texture)
CoglPipeline *
_st_create_texture_pipeline (CoglTexture *src_texture)
{
static CoglHandle texture_material_template = COGL_INVALID_HANDLE;
CoglHandle material;
static CoglPipeline *texture_pipeline_template = NULL;
CoglPipeline *pipeline;
g_return_val_if_fail (src_texture != COGL_INVALID_HANDLE,
COGL_INVALID_HANDLE);
g_return_val_if_fail (src_texture != NULL, NULL);
/* We use a material that has a dummy texture as a base for all
texture materials. The idea is that only the Cogl texture object
would be different in the children so it is likely that Cogl will
be able to share GL programs between all the textures. */
if (G_UNLIKELY (texture_material_template == COGL_INVALID_HANDLE))
/* The only state used in the pipeline that would affect the shader
generation is the texture type on the layer. Therefore we create
a template pipeline which sets this state and all texture
pipelines are created as a copy of this. That way Cogl can find
the shader state for the pipeline more quickly by looking at the
pipeline ancestry instead of resorting to the shader cache. */
if (G_UNLIKELY (texture_pipeline_template == NULL))
{
static const guint8 white_pixel[] = { 0xff, 0xff, 0xff, 0xff };
CoglHandle dummy_texture;
CoglContext *ctx =
clutter_backend_get_cogl_context (clutter_get_default_backend ());
dummy_texture =
cogl_texture_new_from_data (1, 1,
COGL_TEXTURE_NONE,
COGL_PIXEL_FORMAT_RGBA_8888_PRE,
COGL_PIXEL_FORMAT_ANY,
4, white_pixel);
texture_material_template = cogl_material_new ();
cogl_material_set_layer (texture_material_template, 0, dummy_texture);
cogl_handle_unref (dummy_texture);
texture_pipeline_template = cogl_pipeline_new (ctx);
cogl_pipeline_set_layer_null_texture (texture_pipeline_template,
0, /* layer */
COGL_TEXTURE_TYPE_2D);
}
material = cogl_material_copy (texture_material_template);
pipeline = cogl_pipeline_copy (texture_pipeline_template);
cogl_pipeline_set_layer_texture (pipeline, 0, src_texture);
cogl_material_set_layer (material, 0, src_texture);
return material;
return pipeline;
}
/*****
@@ -345,21 +339,20 @@ blur_pixels (guchar *pixels_in,
return pixels_out;
}
CoglHandle
_st_create_shadow_material (StShadow *shadow_spec,
CoglHandle src_texture)
CoglPipeline *
_st_create_shadow_pipeline (StShadow *shadow_spec,
CoglTexture *src_texture)
{
static CoglHandle shadow_material_template = COGL_INVALID_HANDLE;
static CoglPipeline *shadow_pipeline_template = NULL;
CoglHandle material;
CoglHandle texture;
guchar *pixels_in, *pixels_out;
gint width_in, height_in, rowstride_in;
gint width_out, height_out, rowstride_out;
CoglPipeline *pipeline;
CoglTexture *texture;
guchar *pixels_in, *pixels_out;
gint width_in, height_in, rowstride_in;
gint width_out, height_out, rowstride_out;
g_return_val_if_fail (shadow_spec != NULL, COGL_INVALID_HANDLE);
g_return_val_if_fail (src_texture != COGL_INVALID_HANDLE,
COGL_INVALID_HANDLE);
g_return_val_if_fail (shadow_spec != NULL, NULL);
g_return_val_if_fail (src_texture != NULL, NULL);
width_in = cogl_texture_get_width (src_texture);
height_in = cogl_texture_get_height (src_texture);
@@ -385,84 +378,99 @@ _st_create_shadow_material (StShadow *shadow_spec,
g_free (pixels_out);
if (G_UNLIKELY (shadow_material_template == COGL_INVALID_HANDLE))
if (G_UNLIKELY (shadow_pipeline_template == NULL))
{
shadow_material_template = cogl_material_new ();
CoglContext *ctx =
clutter_backend_get_cogl_context (clutter_get_default_backend ());
/* We set up the material to blend the shadow texture with the combine
shadow_pipeline_template = cogl_pipeline_new (ctx);
/* We set up the pipeline to blend the shadow texture with the combine
* constant, but defer setting the latter until painting, so that we can
* take the actor's overall opacity into account. */
cogl_material_set_layer_combine (shadow_material_template, 0,
cogl_pipeline_set_layer_combine (shadow_pipeline_template, 0,
"RGBA = MODULATE (CONSTANT, TEXTURE[A])",
NULL);
}
material = cogl_material_copy (shadow_material_template);
cogl_material_set_layer (material, 0, texture);
cogl_handle_unref (texture);
return material;
pipeline = cogl_pipeline_copy (shadow_pipeline_template);
cogl_pipeline_set_layer_texture (pipeline, 0, texture);
cogl_object_unref (texture);
return pipeline;
}
CoglHandle
_st_create_shadow_material_from_actor (StShadow *shadow_spec,
CoglPipeline *
_st_create_shadow_pipeline_from_actor (StShadow *shadow_spec,
ClutterActor *actor)
{
CoglHandle shadow_material = COGL_INVALID_HANDLE;
CoglPipeline *shadow_pipeline = NULL;
if (CLUTTER_IS_TEXTURE (actor))
{
CoglHandle texture;
CoglTexture *texture;
texture = clutter_texture_get_cogl_texture (CLUTTER_TEXTURE (actor));
shadow_material = _st_create_shadow_material (shadow_spec, texture);
shadow_pipeline = _st_create_shadow_pipeline (shadow_spec, texture);
}
else
{
CoglHandle buffer, offscreen;
CoglTexture *buffer;
CoglOffscreen *offscreen;
CoglFramebuffer *fb;
ClutterActorBox box;
CoglColor clear_color;
float width, height;
CoglError *catch_error = NULL;
clutter_actor_get_allocation_box (actor, &box);
clutter_actor_box_get_size (&box, &width, &height);
if (width == 0 || height == 0)
return COGL_INVALID_HANDLE;
return NULL;
buffer = cogl_texture_new_with_size (width,
height,
COGL_TEXTURE_NO_SLICING,
COGL_PIXEL_FORMAT_ANY);
if (buffer == COGL_INVALID_HANDLE)
return COGL_INVALID_HANDLE;
if (buffer == NULL)
return NULL;
offscreen = cogl_offscreen_new_to_texture (buffer);
offscreen = cogl_offscreen_new_with_texture (buffer);
fb = COGL_FRAMEBUFFER (offscreen);
if (offscreen == COGL_INVALID_HANDLE)
if (!cogl_framebuffer_allocate (fb, &catch_error))
{
cogl_handle_unref (buffer);
return COGL_INVALID_HANDLE;
cogl_error_free (catch_error);
cogl_object_unref (buffer);
return NULL;
}
cogl_color_set_from_4ub (&clear_color, 0, 0, 0, 0);
cogl_push_framebuffer (offscreen);
cogl_clear (&clear_color, COGL_BUFFER_BIT_COLOR);
cogl_translate (-box.x1, -box.y1, 0);
cogl_ortho (0, width, height, 0, 0, 1.0);
cogl_color_init_from_4ub (&clear_color, 0, 0, 0, 0);
/* XXX: There's no way to render a ClutterActor to an offscreen
* as it uses the implicit API. */
G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
cogl_push_framebuffer (fb);
G_GNUC_END_IGNORE_DEPRECATIONS;
cogl_framebuffer_clear (fb, COGL_BUFFER_BIT_COLOR, &clear_color);
cogl_framebuffer_translate (fb, -box.x1, -box.y1, 0);
cogl_framebuffer_orthographic (fb, 0, width, height, 0, 0, 1.0);
clutter_actor_paint (actor);
G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
cogl_pop_framebuffer ();
cogl_handle_unref (offscreen);
G_GNUC_END_IGNORE_DEPRECATIONS;
shadow_material = _st_create_shadow_material (shadow_spec, buffer);
cogl_object_unref (fb);
cogl_handle_unref (buffer);
shadow_pipeline = _st_create_shadow_pipeline (shadow_spec, buffer);
cogl_object_unref (buffer);
}
return shadow_material;
return shadow_pipeline;
}
/**
@@ -610,29 +618,27 @@ _st_create_shadow_cairo_pattern (StShadow *shadow_spec,
void
_st_paint_shadow_with_opacity (StShadow *shadow_spec,
CoglHandle shadow_material,
CoglPipeline *shadow_pipeline,
CoglFramebuffer *fb,
ClutterActorBox *box,
guint8 paint_opacity)
{
ClutterActorBox shadow_box;
CoglColor color;
CoglColor color;
g_return_if_fail (shadow_spec != NULL);
g_return_if_fail (shadow_material != COGL_INVALID_HANDLE);
g_return_if_fail (shadow_pipeline != NULL);
st_shadow_get_box (shadow_spec, box, &shadow_box);
cogl_color_set_from_4ub (&color,
shadow_spec->color.red * paint_opacity / 255,
shadow_spec->color.green * paint_opacity / 255,
shadow_spec->color.blue * paint_opacity / 255,
shadow_spec->color.alpha * paint_opacity / 255);
cogl_color_init_from_4ub (&color,
shadow_spec->color.red * paint_opacity / 255,
shadow_spec->color.green * paint_opacity / 255,
shadow_spec->color.blue * paint_opacity / 255,
shadow_spec->color.alpha * paint_opacity / 255);
cogl_color_premultiply (&color);
cogl_material_set_layer_combine_constant (shadow_material, 0, &color);
cogl_set_source (shadow_material);
cogl_rectangle_with_texture_coords (shadow_box.x1, shadow_box.y1,
shadow_box.x2, shadow_box.y2,
0, 0, 1, 1);
cogl_pipeline_set_layer_combine_constant (shadow_pipeline, 0, &color);
cogl_framebuffer_draw_rectangle (fb, shadow_pipeline,
shadow_box.x1, shadow_box.y1,
shadow_box.x2, shadow_box.y2);
}

View File

@@ -59,18 +59,19 @@ void _st_actor_get_preferred_height (ClutterActor *actor,
void _st_set_text_from_style (ClutterText *text,
StThemeNode *theme_node);
CoglHandle _st_create_texture_material (CoglHandle src_texture);
CoglPipeline * _st_create_texture_pipeline (CoglTexture *src_texture);
/* Helper for widgets which need to draw additional shadows */
CoglHandle _st_create_shadow_material (StShadow *shadow_spec,
CoglHandle src_texture);
CoglHandle _st_create_shadow_material_from_actor (StShadow *shadow_spec,
ClutterActor *actor);
CoglPipeline * _st_create_shadow_pipeline (StShadow *shadow_spec,
CoglTexture *src_texture);
CoglPipeline * _st_create_shadow_pipeline_from_actor (StShadow *shadow_spec,
ClutterActor *actor);
cairo_pattern_t *_st_create_shadow_cairo_pattern (StShadow *shadow_spec,
cairo_pattern_t *src_pattern);
void _st_paint_shadow_with_opacity (StShadow *shadow_spec,
CoglHandle shadow_material,
CoglPipeline *shadow_pipeline,
CoglFramebuffer *fb,
ClutterActorBox *box,
guint8 paint_opacity);

View File

@@ -142,19 +142,18 @@ st_scroll_view_fade_paint_target (ClutterOffscreenEffect *effect)
st_adjustment_get_values (self->vadjustment, &value, &lower, &upper, NULL, NULL, &page_size);
value = (value - lower) / (upper - page_size - lower);
clutter_shader_effect_set_uniform (shader, "fade_edges_top", G_TYPE_INT, 1, self->fade_edges ? value >= 0.0 : value > 0.0);
clutter_shader_effect_set_uniform (shader, "fade_edges_bottom", G_TYPE_INT, 1, self->fade_edges ? value <= 1.0 : value < 1.0);
clutter_shader_effect_set_uniform (shader, "vvalue", G_TYPE_FLOAT, 1, value);
st_adjustment_get_values (self->hadjustment, &value, &lower, &upper, NULL, NULL, &page_size);
value = (value - lower) / (upper - page_size - lower);
clutter_shader_effect_set_uniform (shader, "fade_edges_left", G_TYPE_INT, 1, self->fade_edges ? value >= 0.0 : value > 0.0);
clutter_shader_effect_set_uniform (shader, "fade_edges_right", G_TYPE_INT, 1, self->fade_edges ? value <= 1.0 : value < 1.0);
clutter_shader_effect_set_uniform (shader, "hvalue", G_TYPE_FLOAT, 1, value);
clutter_shader_effect_set_uniform (shader, "vfade_offset", G_TYPE_FLOAT, 1, self->vfade_offset);
clutter_shader_effect_set_uniform (shader, "hfade_offset", G_TYPE_FLOAT, 1, self->hfade_offset);
clutter_shader_effect_set_uniform (shader, "tex", G_TYPE_INT, 1, 0);
clutter_shader_effect_set_uniform (shader, "height", G_TYPE_FLOAT, 1, clutter_actor_get_height (self->actor));
clutter_shader_effect_set_uniform (shader, "width", G_TYPE_FLOAT, 1, clutter_actor_get_width (self->actor));
clutter_shader_effect_set_uniform (shader, "fade_edges", G_TYPE_INT, 1, self->fade_edges);
clutter_shader_effect_set_uniform (shader, "fade_area_topleft", CLUTTER_TYPE_SHADER_FLOAT, 2, fade_area_topleft);
clutter_shader_effect_set_uniform (shader, "fade_area_bottomright", CLUTTER_TYPE_SHADER_FLOAT, 2, fade_area_bottomright);

View File

@@ -22,10 +22,9 @@ uniform float height;
uniform float width;
uniform float vfade_offset;
uniform float hfade_offset;
uniform bool fade_edges_top;
uniform bool fade_edges_right;
uniform bool fade_edges_bottom;
uniform bool fade_edges_left;
uniform float vvalue;
uniform float hvalue;
uniform bool fade_edges;
uniform vec2 fade_area_topleft;
uniform vec2 fade_area_bottomright;
@@ -46,10 +45,14 @@ void main ()
float ratio = 1.0;
float fade_bottom_start = fade_area_bottomright[1] - vfade_offset;
float fade_right_start = fade_area_bottomright[0] - hfade_offset;
bool fade_top = y < vfade_offset && fade_edges_top;
bool fade_bottom = y > fade_bottom_start && fade_edges_bottom;
bool fade_left = x < hfade_offset && fade_edges_left;
bool fade_right = x > fade_right_start && fade_edges_right;
bool fade_top = y < vfade_offset && (fade_edges ? vvalue >= 0.0
: vvalue > 0.0);
bool fade_bottom = y > fade_bottom_start && (fade_edges ? vvalue <= 1.0
: vvalue < 1.0);
bool fade_left = x < hfade_offset && (fade_edges ? hvalue >= 0.0
: hvalue > 0.0);
bool fade_right = x > fade_right_start && (fade_edges ? hvalue <= 1.0
: hvalue < 1.0);
float vfade_scale = height / vfade_offset;
if (fade_top) {

View File

@@ -190,7 +190,7 @@ st_shadow_get_box (StShadow *shadow,
struct _StShadowHelper {
StShadow *shadow;
CoglMaterial *material;
CoglPipeline *pipeline;
gfloat width;
gfloat height;
@@ -224,14 +224,14 @@ st_shadow_helper_update (StShadowHelper *helper,
clutter_actor_get_size (source, &width, &height);
if (helper->material == NULL ||
if (helper->pipeline == NULL ||
helper->width != width ||
helper->height != height)
{
if (helper->material)
cogl_object_unref (helper->material);
if (helper->pipeline)
cogl_object_unref (helper->pipeline);
helper->material = _st_create_shadow_material_from_actor (helper->shadow, source);
helper->pipeline = _st_create_shadow_pipeline_from_actor (helper->shadow, source);
helper->width = width;
helper->height = height;
}
@@ -250,8 +250,8 @@ st_shadow_helper_copy (StShadowHelper *helper)
copy = g_slice_new (StShadowHelper);
*copy = *helper;
if (copy->material)
cogl_object_ref (copy->material);
if (copy->pipeline)
cogl_object_ref (copy->pipeline);
st_shadow_ref (copy->shadow);
return copy;
@@ -266,8 +266,8 @@ st_shadow_helper_copy (StShadowHelper *helper)
void
st_shadow_helper_free (StShadowHelper *helper)
{
if (helper->material)
cogl_object_unref (helper->material);
if (helper->pipeline)
cogl_object_unref (helper->pipeline);
st_shadow_unref (helper->shadow);
g_slice_free (StShadowHelper, helper);
@@ -293,7 +293,8 @@ st_shadow_helper_paint (StShadowHelper *helper,
clutter_actor_box_get_size (actor_box, &width, &height);
_st_paint_shadow_with_opacity (helper->shadow,
helper->material,
helper->pipeline,
cogl_get_draw_framebuffer (),
&allocation,
paint_opacity);
}

View File

@@ -60,7 +60,7 @@ static guint signals[LAST_SIGNAL] = { 0, };
G_DEFINE_TYPE(StTextureCache, st_texture_cache, G_TYPE_OBJECT);
/* We want to preserve the aspect ratio by default, also the default
* material for an empty texture is full opacity white, which we
* pipeline for an empty texture is full opacity white, which we
* definitely don't want. Skip that by setting 0 opacity.
*/
static ClutterTexture *
@@ -73,7 +73,7 @@ create_default_texture (void)
/* Reverse the opacity we added while loading */
static void
set_texture_cogl_texture (ClutterTexture *clutter_texture, CoglHandle cogl_texture)
set_texture_cogl_texture (ClutterTexture *clutter_texture, CoglTexture *cogl_texture)
{
clutter_texture_set_cogl_texture (clutter_texture, cogl_texture);
g_object_set (clutter_texture, "opacity", 255, NULL);
@@ -144,7 +144,7 @@ st_texture_cache_init (StTextureCache *self)
G_CALLBACK (on_icon_theme_changed), self);
self->priv->keyed_cache = g_hash_table_new_full (g_str_hash, g_str_equal,
g_free, cogl_handle_unref);
g_free, cogl_object_unref);
self->priv->outstanding_requests = g_hash_table_new_full (g_str_hash, g_str_equal,
g_free, NULL);
self->priv->file_monitors = g_hash_table_new_full (g_str_hash, g_str_equal,
@@ -516,16 +516,15 @@ load_pixbuf_async_finish (StTextureCache *cache, GAsyncResult *result, GError **
return g_simple_async_result_get_op_res_gpointer (simple);
}
static CoglHandle
data_to_cogl_handle (const guchar *data,
gboolean has_alpha,
int width,
int height,
int rowstride,
gboolean add_padding)
static CoglTexture *
data_to_cogl_texture (const guchar *data,
gboolean has_alpha,
int width,
int height,
int rowstride,
gboolean add_padding)
{
CoglHandle texture, offscreen;
CoglColor clear_color;
CoglTexture *texture;
guint size;
size = MAX (width, height);
@@ -543,13 +542,6 @@ data_to_cogl_handle (const guchar *data,
COGL_TEXTURE_NO_SLICING,
COGL_PIXEL_FORMAT_ANY);
offscreen = cogl_offscreen_new_to_texture (texture);
cogl_color_set_from_4ub (&clear_color, 0, 0, 0, 0);
cogl_push_framebuffer (offscreen);
cogl_clear (&clear_color, COGL_BUFFER_BIT_COLOR);
cogl_pop_framebuffer ();
cogl_handle_unref (offscreen);
cogl_texture_set_region (texture,
0, 0,
(size - width) / 2, (size - height) / 2,
@@ -561,16 +553,16 @@ data_to_cogl_handle (const guchar *data,
return texture;
}
static CoglHandle
pixbuf_to_cogl_handle (GdkPixbuf *pixbuf,
static CoglTexture *
pixbuf_to_cogl_texture (GdkPixbuf *pixbuf,
gboolean add_padding)
{
return data_to_cogl_handle (gdk_pixbuf_get_pixels (pixbuf),
gdk_pixbuf_get_has_alpha (pixbuf),
gdk_pixbuf_get_width (pixbuf),
gdk_pixbuf_get_height (pixbuf),
gdk_pixbuf_get_rowstride (pixbuf),
add_padding);
return data_to_cogl_texture (gdk_pixbuf_get_pixels (pixbuf),
gdk_pixbuf_get_has_alpha (pixbuf),
gdk_pixbuf_get_width (pixbuf),
gdk_pixbuf_get_height (pixbuf),
gdk_pixbuf_get_rowstride (pixbuf),
add_padding);
}
static cairo_surface_t *
@@ -600,7 +592,7 @@ finish_texture_load (AsyncTextureLoadData *data,
{
GSList *iter;
StTextureCache *cache;
CoglHandle texdata = NULL;
CoglTexture *texdata = NULL;
cache = data->cache;
@@ -609,7 +601,7 @@ finish_texture_load (AsyncTextureLoadData *data,
if (pixbuf == NULL)
goto out;
texdata = pixbuf_to_cogl_handle (pixbuf, data->enforced_square);
texdata = pixbuf_to_cogl_texture (pixbuf, data->enforced_square);
if (data->policy != ST_TEXTURE_CACHE_POLICY_NONE)
{
@@ -618,7 +610,7 @@ finish_texture_load (AsyncTextureLoadData *data,
if (!g_hash_table_lookup_extended (cache->priv->keyed_cache, data->key,
&orig_key, &value))
{
cogl_handle_ref (texdata);
cogl_object_ref (texdata);
g_hash_table_insert (cache->priv->keyed_cache, g_strdup (data->key),
texdata);
}
@@ -632,7 +624,7 @@ finish_texture_load (AsyncTextureLoadData *data,
out:
if (texdata)
cogl_handle_unref (texdata);
cogl_object_unref (texdata);
texture_load_data_free (data);
}
@@ -723,7 +715,7 @@ st_texture_cache_reset_texture (StTextureCachePropertyBind *bind,
const char *propname)
{
GdkPixbuf *pixbuf;
CoglHandle texdata;
CoglTexture *texdata;
g_object_get (bind->source, propname, &pixbuf, NULL);
@@ -731,11 +723,11 @@ st_texture_cache_reset_texture (StTextureCachePropertyBind *bind,
if (pixbuf != NULL)
{
texdata = pixbuf_to_cogl_handle (pixbuf, FALSE);
texdata = pixbuf_to_cogl_texture (pixbuf, FALSE);
g_object_unref (pixbuf);
clutter_texture_set_cogl_texture (bind->texture, texdata);
cogl_handle_unref (texdata);
cogl_object_unref (texdata);
clutter_actor_set_opacity (CLUTTER_ACTOR (bind->texture), 255);
}
@@ -778,7 +770,7 @@ st_texture_cache_free_bind (gpointer data)
*
* Create a #ClutterTexture which tracks the #GdkPixbuf value of a GObject property
* named by @property_name. Unlike other methods in StTextureCache, the underlying
* CoglHandle is not shared by default with other invocations to this method.
* #CoglTexture is not shared by default with other invocations to this method.
*
* If the source object is destroyed, the texture will continue to show the last
* value of the property.
@@ -829,7 +821,7 @@ st_texture_cache_bind_pixbuf_property (StTextureCache *cache,
*
* Returns: (transfer full): A newly-referenced handle to the texture
*/
CoglHandle
CoglTexture *
st_texture_cache_load (StTextureCache *cache,
const char *key,
StTextureCachePolicy policy,
@@ -837,7 +829,7 @@ st_texture_cache_load (StTextureCache *cache,
void *data,
GError **error)
{
CoglHandle texture;
CoglTexture *texture;
texture = g_hash_table_lookup (cache->priv->keyed_cache, key);
if (!texture)
@@ -846,9 +838,10 @@ st_texture_cache_load (StTextureCache *cache,
if (texture)
g_hash_table_insert (cache->priv->keyed_cache, g_strdup (key), texture);
else
return COGL_INVALID_HANDLE;
return NULL;
}
cogl_handle_ref (texture);
cogl_object_ref (texture);
return texture;
}
@@ -873,7 +866,7 @@ ensure_request (StTextureCache *cache,
AsyncTextureLoadData **request,
ClutterActor *texture)
{
CoglHandle texdata;
CoglTexture *texdata;
AsyncTextureLoadData *pending;
gboolean had_pending;
@@ -1005,7 +998,7 @@ static ClutterActor *
load_from_pixbuf (GdkPixbuf *pixbuf)
{
ClutterTexture *texture;
CoglHandle texdata;
CoglTexture *texdata;
int width = gdk_pixbuf_get_width (pixbuf);
int height = gdk_pixbuf_get_height (pixbuf);
@@ -1013,11 +1006,11 @@ load_from_pixbuf (GdkPixbuf *pixbuf)
clutter_actor_set_size (CLUTTER_ACTOR (texture), width, height);
texdata = pixbuf_to_cogl_handle (pixbuf, FALSE);
texdata = pixbuf_to_cogl_texture (pixbuf, FALSE);
set_texture_cogl_texture (texture, texdata);
cogl_handle_unref (texdata);
cogl_object_unref (texdata);
return CLUTTER_ACTOR (texture);
}
@@ -1256,7 +1249,7 @@ st_texture_cache_load_uri_async (StTextureCache *cache,
return CLUTTER_ACTOR (texture);
}
static CoglHandle
static CoglTexture *
st_texture_cache_load_uri_sync_to_cogl_texture (StTextureCache *cache,
StTextureCachePolicy policy,
const gchar *uri,
@@ -1264,7 +1257,7 @@ st_texture_cache_load_uri_sync_to_cogl_texture (StTextureCache *cache,
int available_height,
GError **error)
{
CoglHandle texdata;
CoglTexture *texdata;
GdkPixbuf *pixbuf;
char *key;
@@ -1278,17 +1271,17 @@ st_texture_cache_load_uri_sync_to_cogl_texture (StTextureCache *cache,
if (!pixbuf)
goto out;
texdata = pixbuf_to_cogl_handle (pixbuf, FALSE);
texdata = pixbuf_to_cogl_texture (pixbuf, FALSE);
g_object_unref (pixbuf);
if (policy == ST_TEXTURE_CACHE_POLICY_FOREVER)
{
cogl_handle_ref (texdata);
cogl_object_ref (texdata);
g_hash_table_insert (cache->priv->keyed_cache, g_strdup (key), texdata);
}
}
else
cogl_handle_ref (texdata);
cogl_object_ref (texdata);
ensure_monitor_for_uri (cache, uri);
@@ -1339,21 +1332,21 @@ out:
}
/**
* st_texture_cache_load_file_to_cogl_texture:
* st_texture_cache_load_file_to_cogl_texture: (skip)
* @cache: A #StTextureCache
* @file_path: Path to a file in supported image format
*
* This function synchronously loads the given file path
* into a COGL texture. On error, a warning is emitted
* and %COGL_INVALID_HANDLE is returned.
* and %NULL is returned.
*
* Returns: (transfer full): a new #CoglHandle
* Returns: (transfer full): a new #CoglTexture
*/
CoglHandle
CoglTexture *
st_texture_cache_load_file_to_cogl_texture (StTextureCache *cache,
const gchar *file_path)
{
CoglHandle texture;
CoglTexture *texture;
GFile *file;
char *uri;
GError *error = NULL;
@@ -1370,7 +1363,7 @@ st_texture_cache_load_file_to_cogl_texture (StTextureCache *cache,
{
g_warning ("Failed to load %s: %s", file_path, error->message);
g_clear_error (&error);
return COGL_INVALID_HANDLE;
return NULL;
}
return texture;
}

View File

@@ -90,8 +90,8 @@ ClutterActor *st_texture_cache_load_uri_async (StTextureCache *cache,
int available_width,
int available_height);
CoglHandle st_texture_cache_load_file_to_cogl_texture (StTextureCache *cache,
const gchar *file_path);
CoglTexture *st_texture_cache_load_file_to_cogl_texture (StTextureCache *cache,
const gchar *file_path);
cairo_surface_t *st_texture_cache_load_file_to_cairo_surface (StTextureCache *cache,
const gchar *file_path);
@@ -107,13 +107,13 @@ cairo_surface_t *st_texture_cache_load_file_to_cairo_surface (StTextureCache *ca
* texture handle for the given key, or set @error.
*
*/
typedef CoglHandle (*StTextureCacheLoader) (StTextureCache *cache, const char *key, void *data, GError **error);
typedef CoglTexture * (*StTextureCacheLoader) (StTextureCache *cache, const char *key, void *data, GError **error);
CoglHandle st_texture_cache_load (StTextureCache *cache,
const char *key,
StTextureCachePolicy policy,
StTextureCacheLoader load,
void *data,
GError **error);
CoglTexture * st_texture_cache_load (StTextureCache *cache,
const char *key,
StTextureCachePolicy policy,
StTextureCacheLoader load,
void *data,
GError **error);
#endif /* __ST_TEXTURE_CACHE_H__ */

View File

@@ -66,10 +66,10 @@ elliptical_arc (cairo_t *cr,
cairo_restore (cr);
}
static CoglHandle
create_corner_material (StCornerSpec *corner)
static CoglTexture *
create_corner_texture (StCornerSpec *corner)
{
CoglHandle texture;
CoglTexture *texture;
cairo_t *cr;
cairo_surface_t *surface;
guint rowstride;
@@ -173,7 +173,7 @@ create_corner_material (StCornerSpec *corner)
rowstride,
data);
g_free (data);
g_assert (texture != COGL_INVALID_HANDLE);
g_assert (texture != NULL);
return texture;
}
@@ -190,13 +190,13 @@ corner_to_string (StCornerSpec *corner)
corner->border_width_2);
}
static CoglHandle
static CoglTexture *
load_corner (StTextureCache *cache,
const char *key,
void *datap,
GError **error)
{
return create_corner_material ((StCornerSpec *) datap);
return create_corner_texture ((StCornerSpec *) datap);
}
/* To match the CSS specification, we want the border to look like it was
@@ -337,13 +337,14 @@ st_theme_node_get_corner_border_widths (StThemeNode *node,
}
}
static CoglHandle
static CoglPipeline *
st_theme_node_lookup_corner (StThemeNode *node,
float width,
float height,
StCorner corner_id)
{
CoglHandle texture, material;
CoglTexture *texture;
CoglPipeline *pipeline;
char *key;
StTextureCache *cache;
StCornerSpec corner;
@@ -354,7 +355,7 @@ st_theme_node_lookup_corner (StThemeNode *node,
st_theme_node_reduce_border_radius (node, width, height, radius);
if (radius[corner_id] == 0)
return COGL_INVALID_HANDLE;
return NULL;
corner.radius = radius[corner_id];
corner.color = node->background_color;
@@ -385,16 +386,16 @@ st_theme_node_lookup_corner (StThemeNode *node,
if (corner.color.alpha == 0 &&
corner.border_color_1.alpha == 0 &&
corner.border_color_2.alpha == 0)
return COGL_INVALID_HANDLE;
return NULL;
key = corner_to_string (&corner);
texture = st_texture_cache_load (cache, key, ST_TEXTURE_CACHE_POLICY_NONE, load_corner, &corner, NULL);
material = _st_create_texture_material (texture);
cogl_handle_unref (texture);
pipeline = _st_create_texture_pipeline (texture);
cogl_object_unref (texture);
g_free (key);
return material;
return pipeline;
}
static void
@@ -934,13 +935,13 @@ paint_inset_box_shadow_to_cairo_context (StThemeNode *node,
* we need to use cairo. This function is a slow fallback path for those
* cases (gradients, background images, etc).
*/
static CoglHandle
static CoglTexture *
st_theme_node_prerender_background (StThemeNode *node,
float actor_width,
float actor_height)
{
StBorderImage *border_image;
CoglHandle texture;
CoglTexture *texture;
guint radius[4];
int i;
cairo_t *cr;
@@ -1268,30 +1269,17 @@ st_theme_node_prerender_background (StThemeNode *node,
return texture;
}
static void st_theme_node_paint_borders (StThemeNodePaintState *state,
const ClutterActorBox *box,
guint8 paint_opacity);
void
st_theme_node_invalidate_border_image (StThemeNode *node)
{
if (node->border_slices_texture != COGL_INVALID_HANDLE)
{
cogl_handle_unref (node->border_slices_texture);
node->border_slices_texture = COGL_INVALID_HANDLE;
}
if (node->border_slices_material != COGL_INVALID_HANDLE)
{
cogl_handle_unref (node->border_slices_material);
node->border_slices_material = COGL_INVALID_HANDLE;
}
g_clear_pointer (&node->border_slices_texture, cogl_object_unref);
g_clear_pointer (&node->border_slices_pipeline, cogl_object_unref);
}
static gboolean
st_theme_node_load_border_image (StThemeNode *node)
{
if (node->border_slices_texture == COGL_INVALID_HANDLE)
if (node->border_slices_texture == NULL)
{
StBorderImage *border_image;
@@ -1303,42 +1291,28 @@ st_theme_node_load_border_image (StThemeNode *node)
filename = st_border_image_get_filename (border_image);
node->border_slices_texture = st_texture_cache_load_file_to_cogl_texture (st_texture_cache_get_default (),
filename);
if (node->border_slices_texture == COGL_INVALID_HANDLE)
if (node->border_slices_texture == NULL)
goto out;
node->border_slices_material = _st_create_texture_material (node->border_slices_texture);
node->border_slices_pipeline = _st_create_texture_pipeline (node->border_slices_texture);
}
out:
return node->border_slices_texture != COGL_INVALID_HANDLE;
return node->border_slices_pipeline != NULL;
}
void
st_theme_node_invalidate_background_image (StThemeNode *node)
{
if (node->background_texture != COGL_INVALID_HANDLE)
{
cogl_handle_unref (node->background_texture);
node->background_texture = COGL_INVALID_HANDLE;
}
if (node->background_material != COGL_INVALID_HANDLE)
{
cogl_handle_unref (node->background_material);
node->background_material = COGL_INVALID_HANDLE;
}
if (node->background_shadow_material != COGL_INVALID_HANDLE)
{
cogl_handle_unref (node->background_shadow_material);
node->background_shadow_material = COGL_INVALID_HANDLE;
}
g_clear_pointer (&node->background_texture, cogl_object_unref);
g_clear_pointer (&node->background_pipeline, cogl_object_unref);
g_clear_pointer (&node->background_shadow_pipeline, cogl_object_unref);
}
static gboolean
st_theme_node_load_background_image (StThemeNode *node)
{
if (node->background_texture == COGL_INVALID_HANDLE)
if (node->background_texture == NULL)
{
const char *background_image;
StShadow *background_image_shadow_spec;
@@ -1350,27 +1324,38 @@ st_theme_node_load_background_image (StThemeNode *node)
background_image_shadow_spec = st_theme_node_get_background_image_shadow (node);
node->background_texture = st_texture_cache_load_file_to_cogl_texture (st_texture_cache_get_default (),
background_image);
if (node->background_texture == COGL_INVALID_HANDLE)
if (node->background_texture == NULL)
goto out;
node->background_material = _st_create_texture_material (node->background_texture);
node->background_pipeline = _st_create_texture_pipeline (node->background_texture);
if (node->background_repeat)
cogl_material_set_layer_wrap_mode (node->background_material, 0, COGL_MATERIAL_WRAP_MODE_REPEAT);
cogl_pipeline_set_layer_wrap_mode (node->background_pipeline, 0, COGL_PIPELINE_WRAP_MODE_REPEAT);
if (background_image_shadow_spec)
{
node->background_shadow_material = _st_create_shadow_material (background_image_shadow_spec,
node->background_shadow_pipeline = _st_create_shadow_pipeline (background_image_shadow_spec,
node->background_texture);
}
}
out:
return node->background_texture != COGL_INVALID_HANDLE;
return node->background_texture != NULL;
}
static void st_theme_node_prerender_shadow (StThemeNodePaintState *state);
static CoglPipeline *
get_color_pipeline (guint8 r, guint8 g, guint8 b, guint8 a)
{
CoglContext *ctx = clutter_backend_get_cogl_context (clutter_get_default_backend ());
CoglPipeline *pipeline;
pipeline = cogl_pipeline_new (ctx);
cogl_pipeline_set_color4ub (pipeline, r, g, b, a);
return pipeline;
}
static void
st_theme_node_render_resources (StThemeNodePaintState *state,
StThemeNode *node,
@@ -1438,13 +1423,13 @@ st_theme_node_render_resources (StThemeNodePaintState *state,
}
}
state->corner_material[ST_CORNER_TOPLEFT] =
state->corner_pipeline[ST_CORNER_TOPLEFT] =
st_theme_node_lookup_corner (node, width, height, ST_CORNER_TOPLEFT);
state->corner_material[ST_CORNER_TOPRIGHT] =
state->corner_pipeline[ST_CORNER_TOPRIGHT] =
st_theme_node_lookup_corner (node, width, height, ST_CORNER_TOPRIGHT);
state->corner_material[ST_CORNER_BOTTOMRIGHT] =
state->corner_pipeline[ST_CORNER_BOTTOMRIGHT] =
st_theme_node_lookup_corner (node, width, height, ST_CORNER_BOTTOMRIGHT);
state->corner_material[ST_CORNER_BOTTOMLEFT] =
state->corner_pipeline[ST_CORNER_BOTTOMLEFT] =
st_theme_node_lookup_corner (node, width, height, ST_CORNER_BOTTOMLEFT);
/* Use cairo to prerender the node if there is a gradient, or
@@ -1463,17 +1448,17 @@ st_theme_node_render_resources (StThemeNodePaintState *state,
state->prerendered_texture = st_theme_node_prerender_background (node, width, height);
if (state->prerendered_texture)
state->prerendered_material = _st_create_texture_material (state->prerendered_texture);
state->prerendered_pipeline = _st_create_texture_pipeline (state->prerendered_texture);
else
state->prerendered_material = COGL_INVALID_HANDLE;
state->prerendered_pipeline = NULL;
if (box_shadow_spec && !has_inset_box_shadow)
{
if (st_theme_node_load_border_image (node))
state->box_shadow_material = _st_create_shadow_material (box_shadow_spec,
state->box_shadow_pipeline = _st_create_shadow_pipeline (box_shadow_spec,
node->border_slices_texture);
else if (state->prerendered_texture != COGL_INVALID_HANDLE)
state->box_shadow_material = _st_create_shadow_material (box_shadow_spec,
else if (state->prerendered_texture != NULL)
state->box_shadow_pipeline = _st_create_shadow_pipeline (box_shadow_spec,
state->prerendered_texture);
else if (node->background_color.alpha > 0 || has_border)
st_theme_node_prerender_shadow (state);
@@ -1483,7 +1468,7 @@ st_theme_node_render_resources (StThemeNodePaintState *state,
them. */
if (!node->cached_textures)
{
if (state->prerendered_material == COGL_INVALID_HANDLE &&
if (state->prerendered_pipeline == NULL &&
width >= node->box_shadow_min_width &&
height >= node->box_shadow_min_height)
{
@@ -1505,23 +1490,23 @@ st_theme_node_update_resources (StThemeNodePaintState *state,
g_return_if_fail (width > 0 && height > 0);
/* Free handles we can't reuse */
if (state->prerendered_texture != COGL_INVALID_HANDLE)
/* Free objects we can't reuse */
if (state->prerendered_texture != NULL)
{
cogl_handle_unref (state->prerendered_texture);
state->prerendered_texture = COGL_INVALID_HANDLE;
cogl_object_unref (state->prerendered_texture);
state->prerendered_texture = NULL;
had_prerendered_texture = TRUE;
}
if (state->prerendered_material != COGL_INVALID_HANDLE)
if (state->prerendered_pipeline != NULL)
{
cogl_handle_unref (state->prerendered_material);
state->prerendered_material = COGL_INVALID_HANDLE;
cogl_object_unref (state->prerendered_pipeline);
state->prerendered_pipeline = NULL;
if (node->border_slices_texture == COGL_INVALID_HANDLE &&
state->box_shadow_material != COGL_INVALID_HANDLE)
if (node->border_slices_texture == NULL &&
state->box_shadow_pipeline != NULL)
{
cogl_handle_unref (state->box_shadow_material);
state->box_shadow_material = COGL_INVALID_HANDLE;
cogl_object_unref (state->box_shadow_pipeline);
state->box_shadow_pipeline = NULL;
had_box_shadow = TRUE;
}
}
@@ -1535,43 +1520,26 @@ st_theme_node_update_resources (StThemeNodePaintState *state,
if (had_prerendered_texture)
{
state->prerendered_texture = st_theme_node_prerender_background (node, width, height);
state->prerendered_material = _st_create_texture_material (state->prerendered_texture);
state->prerendered_pipeline = _st_create_texture_pipeline (state->prerendered_texture);
}
else
{
int corner_id;
for (corner_id = 0; corner_id < 4; corner_id++)
if (state->corner_material[corner_id] == COGL_INVALID_HANDLE)
state->corner_material[corner_id] =
if (state->corner_pipeline[corner_id] == NULL)
state->corner_pipeline[corner_id] =
st_theme_node_lookup_corner (node, width, height, corner_id);
}
if (had_box_shadow)
state->box_shadow_material = _st_create_shadow_material (box_shadow_spec,
state->box_shadow_pipeline = _st_create_shadow_pipeline (box_shadow_spec,
state->prerendered_texture);
}
static void
paint_material_with_opacity (CoglHandle material,
ClutterActorBox *box,
ClutterActorBox *coords,
guint8 paint_opacity)
{
cogl_material_set_color4ub (material,
paint_opacity, paint_opacity, paint_opacity, paint_opacity);
cogl_set_source (material);
if (coords)
cogl_rectangle_with_texture_coords (box->x1, box->y1, box->x2, box->y2,
coords->x1, coords->y1, coords->x2, coords->y2);
else
cogl_rectangle (box->x1, box->y1, box->x2, box->y2);
}
static void
st_theme_node_paint_borders (StThemeNodePaintState *state,
CoglFramebuffer *fb,
const ClutterActorBox *box,
guint8 paint_opacity)
{
@@ -1624,10 +1592,7 @@ st_theme_node_paint_borders (StThemeNodePaintState *state,
if (alpha > 0)
{
cogl_set_source_color4ub (effective_border.red,
effective_border.green,
effective_border.blue,
alpha);
CoglPipeline *pipeline;
/* NORTH */
skip_corner_1 = border_radius[ST_CORNER_TOPLEFT] > 0;
@@ -1670,7 +1635,12 @@ st_theme_node_paint_borders (StThemeNodePaintState *state,
rects[15] = skip_corner_2 ? height - max_width_radius[ST_CORNER_BOTTOMLEFT]
: height - border_width[ST_SIDE_BOTTOM];
cogl_rectangles (rects, 4);
pipeline = get_color_pipeline (effective_border.red,
effective_border.green,
effective_border.blue,
alpha);
cogl_framebuffer_draw_rectangles (fb, pipeline, rects, 4);
cogl_object_unref (pipeline);
}
}
@@ -1679,35 +1649,40 @@ st_theme_node_paint_borders (StThemeNodePaintState *state,
{
for (corner_id = 0; corner_id < 4; corner_id++)
{
if (state->corner_material[corner_id] == COGL_INVALID_HANDLE)
CoglPipeline *pipeline = state->corner_pipeline[corner_id];
if (pipeline == NULL)
continue;
cogl_material_set_color4ub (state->corner_material[corner_id],
cogl_pipeline_set_color4ub (pipeline,
paint_opacity, paint_opacity,
paint_opacity, paint_opacity);
cogl_set_source (state->corner_material[corner_id]);
switch (corner_id)
{
case ST_CORNER_TOPLEFT:
cogl_rectangle_with_texture_coords (0, 0,
max_width_radius[ST_CORNER_TOPLEFT], max_width_radius[ST_CORNER_TOPLEFT],
0, 0, 0.5, 0.5);
cogl_framebuffer_draw_textured_rectangle (fb, pipeline,
0, 0,
max_width_radius[ST_CORNER_TOPLEFT], max_width_radius[ST_CORNER_TOPLEFT],
0, 0, 0.5, 0.5);
break;
case ST_CORNER_TOPRIGHT:
cogl_rectangle_with_texture_coords (width - max_width_radius[ST_CORNER_TOPRIGHT], 0,
width, max_width_radius[ST_CORNER_TOPRIGHT],
0.5, 0, 1, 0.5);
cogl_framebuffer_draw_textured_rectangle (fb, pipeline,
width - max_width_radius[ST_CORNER_TOPRIGHT], 0,
width, max_width_radius[ST_CORNER_TOPRIGHT],
0.5, 0, 1, 0.5);
break;
case ST_CORNER_BOTTOMRIGHT:
cogl_rectangle_with_texture_coords (width - max_width_radius[ST_CORNER_BOTTOMRIGHT], height - max_width_radius[ST_CORNER_BOTTOMRIGHT],
width, height,
0.5, 0.5, 1, 1);
cogl_framebuffer_draw_textured_rectangle (fb, pipeline,
width - max_width_radius[ST_CORNER_BOTTOMRIGHT], height - max_width_radius[ST_CORNER_BOTTOMRIGHT],
width, height,
0.5, 0.5, 1, 1);
break;
case ST_CORNER_BOTTOMLEFT:
cogl_rectangle_with_texture_coords (0, height - max_width_radius[ST_CORNER_BOTTOMLEFT],
max_width_radius[ST_CORNER_BOTTOMLEFT], height,
0, 0.5, 0.5, 1);
cogl_framebuffer_draw_textured_rectangle (fb, pipeline,
0, height - max_width_radius[ST_CORNER_BOTTOMLEFT],
max_width_radius[ST_CORNER_BOTTOMLEFT], height,
0, 0.5, 0.5, 1);
break;
}
}
@@ -1717,10 +1692,12 @@ st_theme_node_paint_borders (StThemeNodePaintState *state,
alpha = paint_opacity * node->background_color.alpha / 255;
if (alpha > 0)
{
cogl_set_source_color4ub (node->background_color.red,
node->background_color.green,
node->background_color.blue,
alpha);
CoglPipeline *pipeline;
pipeline = get_color_pipeline (node->background_color.red,
node->background_color.green,
node->background_color.blue,
alpha);
/* We add padding to each corner, so that all corners end up as if they
* had a border-radius of max_border_radius, which allows us to treat
@@ -1803,8 +1780,9 @@ st_theme_node_paint_borders (StThemeNodePaintState *state,
verts[7] = height - border_width[ST_SIDE_BOTTOM];
}
break;
cogl_framebuffer_draw_rectangles (fb, pipeline, verts, 4);
}
cogl_rectangles (verts, n_rects);
}
/* Once we've drawn the borders and corners, if the corners are bigger
@@ -1819,25 +1797,31 @@ st_theme_node_paint_borders (StThemeNodePaintState *state,
* necessary, then the main rectangle
*/
if (max_border_radius > border_width[ST_SIDE_TOP])
cogl_rectangle (MAX(max_border_radius, border_width[ST_SIDE_LEFT]),
border_width[ST_SIDE_TOP],
width - MAX(max_border_radius, border_width[ST_SIDE_RIGHT]),
max_border_radius);
cogl_framebuffer_draw_rectangle (fb, pipeline,
MAX(max_border_radius, border_width[ST_SIDE_LEFT]),
border_width[ST_SIDE_TOP],
width - MAX(max_border_radius, border_width[ST_SIDE_RIGHT]),
max_border_radius);
if (max_border_radius > border_width[ST_SIDE_BOTTOM])
cogl_rectangle (MAX(max_border_radius, border_width[ST_SIDE_LEFT]),
height - max_border_radius,
width - MAX(max_border_radius, border_width[ST_SIDE_RIGHT]),
height - border_width[ST_SIDE_BOTTOM]);
cogl_framebuffer_draw_rectangle (fb, pipeline,
MAX(max_border_radius, border_width[ST_SIDE_LEFT]),
height - max_border_radius,
width - MAX(max_border_radius, border_width[ST_SIDE_RIGHT]),
height - border_width[ST_SIDE_BOTTOM]);
cogl_rectangle (border_width[ST_SIDE_LEFT],
MAX(border_width[ST_SIDE_TOP], max_border_radius),
width - border_width[ST_SIDE_RIGHT],
height - MAX(border_width[ST_SIDE_BOTTOM], max_border_radius));
cogl_framebuffer_draw_rectangle (fb, pipeline,
border_width[ST_SIDE_LEFT],
MAX(border_width[ST_SIDE_TOP], max_border_radius),
width - border_width[ST_SIDE_RIGHT],
height - MAX(border_width[ST_SIDE_BOTTOM], max_border_radius));
cogl_object_unref (pipeline);
}
}
static void
st_theme_node_paint_sliced_shadow (StThemeNodePaintState *state,
CoglFramebuffer *fb,
const ClutterActorBox *box,
guint8 paint_opacity)
{
@@ -1943,16 +1927,14 @@ st_theme_node_paint_sliced_shadow (StThemeNodePaintState *state,
right += xoffset;
/* Setup pipeline */
cogl_color_set_from_4ub (&color,
box_shadow_spec->color.red * paint_opacity / 255,
box_shadow_spec->color.green * paint_opacity / 255,
box_shadow_spec->color.blue * paint_opacity / 255,
box_shadow_spec->color.alpha * paint_opacity / 255);
cogl_color_init_from_4ub (&color,
box_shadow_spec->color.red * paint_opacity / 255,
box_shadow_spec->color.green * paint_opacity / 255,
box_shadow_spec->color.blue * paint_opacity / 255,
box_shadow_spec->color.alpha * paint_opacity / 255);
cogl_color_premultiply (&color);
cogl_material_set_layer_combine_constant (state->box_shadow_material, 0, &color);
cogl_set_source (state->box_shadow_material);
cogl_pipeline_set_layer_combine_constant (state->box_shadow_pipeline, 0, &color);
idx = 0;
@@ -2080,36 +2062,8 @@ st_theme_node_paint_sliced_shadow (StThemeNodePaintState *state,
}
}
cogl_rectangles_with_texture_coords (rectangles, idx / 8);
#if 0
/* Visual feedback on shadow's 9-slice and orignal offscreen buffer,
for debug purposes */
cogl_rectangle (xend, yoffset, xend + shadow_width, yoffset + shadow_height);
cogl_set_source_color4ub (0xff, 0x0, 0x0, 0xff);
cogl_rectangle (xoffset, top, xend, top + 1);
cogl_rectangle (xoffset, bottom, xend, bottom + 1);
cogl_rectangle (left, yoffset, left + 1, yend);
cogl_rectangle (right, yoffset, right + 1, yend);
cogl_rectangle (xend, yoffset, xend + shadow_width, yoffset + 1);
cogl_rectangle (xend, yoffset + shadow_height, xend + shadow_width, yoffset + shadow_height + 1);
cogl_rectangle (xend, yoffset, xend + 1, yoffset + shadow_height);
cogl_rectangle (xend + shadow_width, yoffset, xend + shadow_width + 1, yoffset + shadow_height);
s_top *= shadow_height;
s_bottom *= shadow_height;
s_left *= shadow_width;
s_right *= shadow_width;
cogl_rectangle (xend, yoffset + s_top, xend + shadow_width, yoffset + s_top + 1);
cogl_rectangle (xend, yoffset + s_bottom, xend + shadow_width, yoffset + s_bottom + 1);
cogl_rectangle (xend + s_left, yoffset, xend + s_left + 1, yoffset + shadow_height);
cogl_rectangle (xend + s_right, yoffset, xend + s_right + 1, yoffset + shadow_height);
#endif
cogl_framebuffer_draw_textured_rectangles (fb, state->box_shadow_pipeline,
rectangles, idx / 4);
}
static void
@@ -2119,7 +2073,8 @@ st_theme_node_prerender_shadow (StThemeNodePaintState *state)
guint border_radius[4];
int max_borders[4];
int center_radius, corner_id;
CoglHandle buffer, offscreen;
CoglTexture *buffer;
CoglOffscreen *offscreen;
/* Get infos from the node */
if (state->alloc_width < node->box_shadow_min_width ||
@@ -2160,33 +2115,32 @@ st_theme_node_prerender_shadow (StThemeNodePaintState *state)
state->box_shadow_height,
COGL_TEXTURE_NO_SLICING,
COGL_PIXEL_FORMAT_ANY);
offscreen = cogl_offscreen_new_to_texture (buffer);
offscreen = cogl_offscreen_new_with_texture (buffer);
if (offscreen != COGL_INVALID_HANDLE)
if (offscreen != NULL)
{
CoglFramebuffer *fb = COGL_FRAMEBUFFER (offscreen);
ClutterActorBox box = { 0, 0, state->box_shadow_width, state->box_shadow_height};
CoglColor clear_color;
cogl_push_framebuffer (offscreen);
cogl_ortho (0, state->box_shadow_width, state->box_shadow_height, 0, 0, 1.0);
cogl_framebuffer_orthographic (fb, 0, state->box_shadow_width, state->box_shadow_height, 0, 0, 1.0);
cogl_framebuffer_clear (fb, COGL_BUFFER_BIT_COLOR, &clear_color);
cogl_color_init_from_4ub (&clear_color, 0, 0, 0, 0);
st_theme_node_paint_borders (state, fb, &box, 0xFF);
cogl_object_unref (offscreen);
cogl_color_set_from_4ub (&clear_color, 0, 0, 0, 0);
cogl_clear (&clear_color, COGL_BUFFER_BIT_COLOR);
st_theme_node_paint_borders (state, &box, 0xFF);
cogl_pop_framebuffer ();
cogl_handle_unref (offscreen);
state->box_shadow_material = _st_create_shadow_material (st_theme_node_get_box_shadow (node),
state->box_shadow_pipeline = _st_create_shadow_pipeline (st_theme_node_get_box_shadow (node),
buffer);
}
cogl_handle_unref (buffer);
cogl_object_unref (buffer);
}
static void
st_theme_node_paint_sliced_border_image (StThemeNode *node,
float width,
float height,
CoglFramebuffer *fb,
guint8 paint_opacity)
{
gfloat ex, ey;
@@ -2194,7 +2148,7 @@ st_theme_node_paint_sliced_border_image (StThemeNode *node,
gint border_left, border_right, border_top, border_bottom;
float img_width, img_height;
StBorderImage *border_image;
CoglHandle material;
CoglPipeline *pipeline;
border_image = st_theme_node_get_border_image (node);
g_assert (border_image != NULL);
@@ -2218,11 +2172,8 @@ st_theme_node_paint_sliced_border_image (StThemeNode *node,
if (ey < 0)
ey = border_bottom; /* FIXME ? */
material = node->border_slices_material;
cogl_material_set_color4ub (material,
paint_opacity, paint_opacity, paint_opacity, paint_opacity);
cogl_set_source (material);
pipeline = node->border_slices_pipeline;
cogl_pipeline_set_color4ub (pipeline, paint_opacity, paint_opacity, paint_opacity, paint_opacity);
{
float rectangles[] =
@@ -2273,12 +2224,14 @@ st_theme_node_paint_sliced_border_image (StThemeNode *node,
1.0, 1.0
};
cogl_rectangles_with_texture_coords (rectangles, 9);
cogl_framebuffer_draw_textured_rectangles (fb, pipeline,
rectangles, 9);
}
}
static void
st_theme_node_paint_outline (StThemeNode *node,
CoglFramebuffer *fb,
const ClutterActorBox *box,
guint8 paint_opacity)
@@ -2287,6 +2240,7 @@ st_theme_node_paint_outline (StThemeNode *node,
int outline_width;
float rects[16];
ClutterColor outline_color, effective_outline;
CoglPipeline *pipeline;
width = box->x2 - box->x1;
height = box->y2 - box->y1;
@@ -2298,10 +2252,10 @@ st_theme_node_paint_outline (StThemeNode *node,
st_theme_node_get_outline_color (node, &outline_color);
over (&outline_color, &node->background_color, &effective_outline);
cogl_set_source_color4ub (effective_outline.red,
effective_outline.green,
effective_outline.blue,
paint_opacity * effective_outline.alpha / 255);
pipeline = get_color_pipeline (effective_outline.red,
effective_outline.green,
effective_outline.blue,
paint_opacity * effective_outline.alpha / 255);
/* The outline is drawn just outside the border, which means just
* outside the allocation box. This means that in some situations
@@ -2333,7 +2287,8 @@ st_theme_node_paint_outline (StThemeNode *node,
rects[14] = 0;
rects[15] = height;
cogl_rectangles (rects, 4);
cogl_framebuffer_draw_rectangles (fb, pipeline, rects, 16);
cogl_object_unref (pipeline);
}
static gboolean
@@ -2373,9 +2328,13 @@ st_theme_node_needs_new_box_shadow_for_size (StThemeNodePaintState *state,
return FALSE;
}
/**
* st_theme_node_paint: (skip)
*/
void
st_theme_node_paint (StThemeNode *node,
StThemeNodePaintState *state,
CoglFramebuffer *fb,
const ClutterActorBox *box,
guint8 paint_opacity)
{
@@ -2441,24 +2400,26 @@ st_theme_node_paint (StThemeNode *node,
* such that it's aligned to the outside edges)
*/
if (state->box_shadow_material)
if (state->box_shadow_pipeline)
{
if (state->alloc_width < node->box_shadow_min_width ||
state->alloc_height < node->box_shadow_min_height)
_st_paint_shadow_with_opacity (node->box_shadow,
state->box_shadow_material,
state->box_shadow_pipeline,
fb,
&allocation,
paint_opacity);
else
st_theme_node_paint_sliced_shadow (state,
fb,
&allocation,
paint_opacity);
}
if (state->prerendered_material != COGL_INVALID_HANDLE ||
if (state->prerendered_pipeline != NULL ||
st_theme_node_load_border_image (node))
{
if (state->prerendered_material != COGL_INVALID_HANDLE)
if (state->prerendered_pipeline != NULL)
{
ClutterActorBox paint_box;
@@ -2466,23 +2427,24 @@ st_theme_node_paint (StThemeNode *node,
&allocation,
&paint_box);
paint_material_with_opacity (state->prerendered_material,
&paint_box,
NULL,
paint_opacity);
cogl_pipeline_set_color4ub (state->prerendered_pipeline,
paint_opacity, paint_opacity, paint_opacity, paint_opacity);
cogl_framebuffer_draw_rectangle (fb, state->prerendered_pipeline,
paint_box.x1, paint_box.y1,
paint_box.x2, paint_box.y2);
}
if (node->border_slices_material != COGL_INVALID_HANDLE)
st_theme_node_paint_sliced_border_image (node, width, height, paint_opacity);
if (node->border_slices_pipeline != NULL)
st_theme_node_paint_sliced_border_image (node, width, height, fb, paint_opacity);
}
else
{
st_theme_node_paint_borders (state, box, paint_opacity);
st_theme_node_paint_borders (state, fb, box, paint_opacity);
}
st_theme_node_paint_outline (node, box, paint_opacity);
st_theme_node_paint_outline (node, fb, box, paint_opacity);
if (state->prerendered_material == COGL_INVALID_HANDLE &&
if (state->prerendered_pipeline == NULL &&
st_theme_node_load_background_image (node))
{
ClutterActorBox background_box;
@@ -2498,7 +2460,7 @@ st_theme_node_paint (StThemeNode *node,
get_background_position (node, &allocation, &background_box, &texture_coords);
if (has_visible_outline || node->background_repeat)
cogl_clip_push_rectangle (allocation.x1, allocation.y1, allocation.x2, allocation.y2);
cogl_framebuffer_push_rectangle_clip (fb, allocation.x1, allocation.y1, allocation.x2, allocation.y2);
/* CSS based drop shadows
*
@@ -2513,19 +2475,23 @@ st_theme_node_paint (StThemeNode *node,
* there is nothing (like a border, or the edge of the background color)
* to logically confine it.
*/
if (node->background_shadow_material != COGL_INVALID_HANDLE)
if (node->background_shadow_pipeline != NULL)
_st_paint_shadow_with_opacity (node->background_image_shadow,
node->background_shadow_material,
node->background_shadow_pipeline,
fb,
&background_box,
paint_opacity);
paint_material_with_opacity (node->background_material,
&background_box,
&texture_coords,
paint_opacity);
cogl_pipeline_set_color4ub (node->background_pipeline,
paint_opacity, paint_opacity, paint_opacity, paint_opacity);
cogl_framebuffer_draw_textured_rectangle (fb, node->background_pipeline,
background_box.x1, background_box.y1,
background_box.x2, background_box.y2,
texture_coords.x1, texture_coords.x2,
texture_coords.y1, texture_coords.y2);
if (has_visible_outline || node->background_repeat)
cogl_clip_pop ();
cogl_framebuffer_pop_clip (fb);
}
}
@@ -2535,16 +2501,11 @@ st_theme_node_paint_state_node_free_internal (StThemeNodePaintState *state,
{
int corner_id;
if (state->prerendered_texture != COGL_INVALID_HANDLE)
cogl_handle_unref (state->prerendered_texture);
if (state->prerendered_material != COGL_INVALID_HANDLE)
cogl_handle_unref (state->prerendered_material);
if (state->box_shadow_material != COGL_INVALID_HANDLE)
cogl_handle_unref (state->box_shadow_material);
g_clear_pointer (&state->prerendered_texture, cogl_object_unref);
g_clear_pointer (&state->prerendered_pipeline, cogl_object_unref);
g_clear_pointer (&state->box_shadow_pipeline, cogl_object_unref);
for (corner_id = 0; corner_id < 4; corner_id++)
if (state->corner_material[corner_id] != COGL_INVALID_HANDLE)
cogl_handle_unref (state->corner_material[corner_id]);
g_clear_pointer (&state->corner_pipeline[corner_id], cogl_object_unref);
if (unref_node)
st_theme_node_paint_state_set_node (state, NULL);
@@ -2587,12 +2548,11 @@ st_theme_node_paint_state_init (StThemeNodePaintState *state)
state->alloc_width = 0;
state->alloc_height = 0;
state->node = NULL;
state->box_shadow_material = COGL_INVALID_HANDLE;
state->prerendered_texture = COGL_INVALID_HANDLE;
state->prerendered_material = COGL_INVALID_HANDLE;
state->box_shadow_pipeline = NULL;
state->prerendered_texture = NULL;
state->prerendered_pipeline = NULL;
for (corner_id = 0; corner_id < 4; corner_id++)
state->corner_material[corner_id] = COGL_INVALID_HANDLE;
state->corner_pipeline[corner_id] = NULL;
}
void
@@ -2613,15 +2573,15 @@ st_theme_node_paint_state_copy (StThemeNodePaintState *state,
state->box_shadow_width = other->box_shadow_width;
state->box_shadow_height = other->box_shadow_height;
if (other->box_shadow_material)
state->box_shadow_material = cogl_handle_ref (other->box_shadow_material);
if (other->box_shadow_pipeline)
state->box_shadow_pipeline = cogl_object_ref (other->box_shadow_pipeline);
if (other->prerendered_texture)
state->prerendered_texture = cogl_handle_ref (other->prerendered_texture);
if (other->prerendered_material)
state->prerendered_material = cogl_handle_ref (other->prerendered_material);
state->prerendered_texture = cogl_object_ref (other->prerendered_texture);
if (other->prerendered_pipeline)
state->prerendered_pipeline = cogl_object_ref (other->prerendered_pipeline);
for (corner_id = 0; corner_id < 4; corner_id++)
if (other->corner_material[corner_id])
state->corner_material[corner_id] = cogl_handle_ref (other->corner_material[corner_id]);
if (other->corner_pipeline[corner_id])
state->corner_pipeline[corner_id] = cogl_object_ref (other->corner_pipeline[corner_id]);
}
void

View File

@@ -105,11 +105,11 @@ struct _StThemeNode {
int box_shadow_min_width;
int box_shadow_min_height;
CoglHandle border_slices_texture;
CoglHandle border_slices_material;
CoglHandle background_texture;
CoglHandle background_material;
CoglHandle background_shadow_material;
CoglTexture *border_slices_texture;
CoglPipeline *border_slices_pipeline;
CoglTexture *background_texture;
CoglPipeline *background_pipeline;
CoglPipeline *background_shadow_pipeline;
StThemeNodePaintState cached_state;
};

View File

@@ -36,13 +36,13 @@ struct _StThemeNodeTransitionPrivate {
StThemeNodePaintState old_paint_state;
StThemeNodePaintState new_paint_state;
CoglHandle old_texture;
CoglHandle new_texture;
CoglTexture *old_texture;
CoglTexture *new_texture;
CoglHandle old_offscreen;
CoglHandle new_offscreen;
CoglOffscreen *old_offscreen;
CoglOffscreen *new_offscreen;
CoglHandle material;
CoglPipeline *pipeline;
ClutterTimeline *timeline;
@@ -237,9 +237,10 @@ setup_framebuffers (StThemeNodeTransition *transition,
StThemeNodeTransitionPrivate *priv = transition->priv;
CoglColor clear_color = { 0, 0, 0, 0 };
guint width, height;
CoglFramebuffer *fb;
/* template material to avoid unnecessary shader compilation */
static CoglHandle material_template = COGL_INVALID_HANDLE;
/* template pipeline to avoid unnecessary shader compilation */
static CoglPipeline *pipeline_template = NULL;
width = priv->offscreen_box.x2 - priv->offscreen_box.x1;
height = priv->offscreen_box.y2 - priv->offscreen_box.y1;
@@ -248,77 +249,72 @@ setup_framebuffers (StThemeNodeTransition *transition,
g_return_val_if_fail (height > 0, FALSE);
if (priv->old_texture)
cogl_handle_unref (priv->old_texture);
cogl_object_unref (priv->old_texture);
priv->old_texture = cogl_texture_new_with_size (width, height,
COGL_TEXTURE_NO_SLICING,
COGL_PIXEL_FORMAT_ANY);
if (priv->new_texture)
cogl_handle_unref (priv->new_texture);
cogl_object_unref (priv->new_texture);
priv->new_texture = cogl_texture_new_with_size (width, height,
COGL_TEXTURE_NO_SLICING,
COGL_PIXEL_FORMAT_ANY);
g_return_val_if_fail (priv->old_texture != COGL_INVALID_HANDLE, FALSE);
g_return_val_if_fail (priv->new_texture != COGL_INVALID_HANDLE, FALSE);
g_return_val_if_fail (priv->old_texture != NULL, FALSE);
g_return_val_if_fail (priv->new_texture != NULL, FALSE);
if (priv->old_offscreen)
cogl_handle_unref (priv->old_offscreen);
priv->old_offscreen = cogl_offscreen_new_to_texture (priv->old_texture);
cogl_object_unref (priv->old_offscreen);
priv->old_offscreen = cogl_offscreen_new_with_texture (priv->old_texture);
if (priv->new_offscreen)
cogl_handle_unref (priv->new_offscreen);
priv->new_offscreen = cogl_offscreen_new_to_texture (priv->new_texture);
cogl_object_unref (priv->new_offscreen);
priv->new_offscreen = cogl_offscreen_new_with_texture (priv->new_texture);
g_return_val_if_fail (priv->old_offscreen != COGL_INVALID_HANDLE, FALSE);
g_return_val_if_fail (priv->new_offscreen != COGL_INVALID_HANDLE, FALSE);
g_return_val_if_fail (priv->old_offscreen != NULL, FALSE);
g_return_val_if_fail (priv->new_offscreen != NULL, FALSE);
if (priv->material == NULL)
if (priv->pipeline == NULL)
{
if (G_UNLIKELY (material_template == COGL_INVALID_HANDLE))
if (G_UNLIKELY (pipeline_template == NULL))
{
material_template = cogl_material_new ();
CoglContext *ctx =
clutter_backend_get_cogl_context (clutter_get_default_backend ());
cogl_material_set_layer_combine (material_template, 0,
"RGBA = REPLACE (TEXTURE)",
NULL);
cogl_material_set_layer_combine (material_template, 1,
"RGBA = INTERPOLATE (PREVIOUS, "
"TEXTURE, "
"CONSTANT[A])",
NULL);
cogl_material_set_layer_combine (material_template, 2,
"RGBA = MODULATE (PREVIOUS, "
"PRIMARY)",
NULL);
pipeline_template = cogl_pipeline_new (ctx);
cogl_pipeline_set_layer_combine (pipeline_template, 0, "RGBA = REPLACE (TEXTURE)", NULL);
cogl_pipeline_set_layer_combine (pipeline_template, 1, "RGBA = INTERPOLATE (PREVIOUS, TEXTURE, CONSTANT[A])", NULL);
cogl_pipeline_set_layer_combine (pipeline_template, 2, "RGBA = MODULATE (PREVIOUS, PRIMARY)", NULL);
}
priv->material = cogl_material_copy (material_template);
priv->pipeline = cogl_pipeline_copy (pipeline_template);
}
cogl_material_set_layer (priv->material, 0, priv->new_texture);
cogl_material_set_layer (priv->material, 1, priv->old_texture);
cogl_pipeline_set_layer_texture (priv->pipeline, 0, priv->new_texture);
cogl_pipeline_set_layer_texture (priv->pipeline, 1, priv->old_texture);
cogl_push_framebuffer (priv->old_offscreen);
cogl_clear (&clear_color, COGL_BUFFER_BIT_COLOR);
cogl_ortho (priv->offscreen_box.x1, priv->offscreen_box.x2,
priv->offscreen_box.y2, priv->offscreen_box.y1,
0.0, 1.0);
st_theme_node_paint (priv->old_theme_node, &priv->old_paint_state, allocation, 255);
cogl_pop_framebuffer ();
fb = COGL_FRAMEBUFFER (priv->old_offscreen);
cogl_framebuffer_clear (fb, COGL_BUFFER_BIT_COLOR, &clear_color);
cogl_framebuffer_orthographic (fb,
priv->offscreen_box.x1, priv->offscreen_box.x2,
priv->offscreen_box.y2, priv->offscreen_box.y1,
0.0, 1.0);
st_theme_node_paint (priv->old_theme_node, &priv->old_paint_state, fb, allocation, 255);
cogl_push_framebuffer (priv->new_offscreen);
cogl_clear (&clear_color, COGL_BUFFER_BIT_COLOR);
cogl_ortho (priv->offscreen_box.x1, priv->offscreen_box.x2,
priv->offscreen_box.y2, priv->offscreen_box.y1,
0.0, 1.0);
st_theme_node_paint (priv->new_theme_node, &priv->new_paint_state, allocation, 255);
cogl_pop_framebuffer ();
fb = COGL_FRAMEBUFFER (priv->new_offscreen);
cogl_framebuffer_clear (fb, COGL_BUFFER_BIT_COLOR, &clear_color);
cogl_framebuffer_orthographic (fb,
priv->offscreen_box.x1, priv->offscreen_box.x2,
priv->offscreen_box.y2, priv->offscreen_box.y1,
0.0, 1.0);
st_theme_node_paint (priv->new_theme_node, &priv->new_paint_state, fb, allocation, 255);
return TRUE;
}
void
st_theme_node_transition_paint (StThemeNodeTransition *transition,
CoglFramebuffer *fb,
ClutterActorBox *allocation,
guint8 paint_opacity)
{
@@ -347,20 +343,20 @@ st_theme_node_transition_paint (StThemeNodeTransition *transition,
return;
}
cogl_color_set_from_4f (&constant, 0., 0., 0.,
clutter_timeline_get_progress (priv->timeline));
cogl_material_set_layer_combine_constant (priv->material, 1, &constant);
cogl_color_init_from_4f (&constant, 0., 0., 0.,
clutter_timeline_get_progress (priv->timeline));
cogl_pipeline_set_layer_combine_constant (priv->pipeline, 1, &constant);
cogl_material_set_color4ub (priv->material,
cogl_pipeline_set_color4ub (priv->pipeline,
paint_opacity, paint_opacity,
paint_opacity, paint_opacity);
cogl_set_source (priv->material);
cogl_rectangle_with_multitexture_coords (priv->offscreen_box.x1,
priv->offscreen_box.y1,
priv->offscreen_box.x2,
priv->offscreen_box.y2,
tex_coords, 8);
cogl_framebuffer_draw_multitextured_rectangle (fb, priv->pipeline,
priv->offscreen_box.x1,
priv->offscreen_box.y1,
priv->offscreen_box.x2,
priv->offscreen_box.y2,
tex_coords, 8);
}
static void
@@ -368,47 +364,16 @@ st_theme_node_transition_dispose (GObject *object)
{
StThemeNodeTransitionPrivate *priv = ST_THEME_NODE_TRANSITION (object)->priv;
if (priv->old_theme_node)
{
g_object_unref (priv->old_theme_node);
priv->old_theme_node = NULL;
}
g_clear_object (&priv->old_theme_node);
g_clear_object (&priv->new_theme_node);
if (priv->new_theme_node)
{
g_object_unref (priv->new_theme_node);
priv->new_theme_node = NULL;
}
g_clear_pointer (&priv->old_texture, cogl_object_unref);
g_clear_pointer (&priv->new_texture, cogl_object_unref);
if (priv->old_texture)
{
cogl_handle_unref (priv->old_texture);
priv->old_texture = NULL;
}
g_clear_pointer (&priv->old_offscreen, cogl_object_unref);
g_clear_pointer (&priv->new_offscreen, cogl_object_unref);
if (priv->new_texture)
{
cogl_handle_unref (priv->new_texture);
priv->new_texture = NULL;
}
if (priv->old_offscreen)
{
cogl_handle_unref (priv->old_offscreen);
priv->old_offscreen = NULL;
}
if (priv->new_offscreen)
{
cogl_handle_unref (priv->new_offscreen);
priv->new_offscreen = NULL;
}
if (priv->material)
{
cogl_handle_unref (priv->material);
priv->material = NULL;
}
g_clear_pointer (&priv->pipeline, cogl_object_unref);
if (priv->timeline)
{

View File

@@ -63,6 +63,7 @@ void st_theme_node_transition_update (StThemeNodeTransition *transition,
StThemeNode *new_node);
void st_theme_node_transition_paint (StThemeNodeTransition *transition,
CoglFramebuffer *fb,
ClutterActorBox *allocation,
guint8 paint_opacity);

View File

@@ -49,11 +49,6 @@ static void
st_theme_node_init (StThemeNode *node)
{
node->transition_duration = -1;
node->background_texture = COGL_INVALID_HANDLE;
node->background_material = COGL_INVALID_HANDLE;
node->background_shadow_material = COGL_INVALID_HANDLE;
node->border_slices_texture = COGL_INVALID_HANDLE;
node->border_slices_material = COGL_INVALID_HANDLE;
st_theme_node_paint_state_init (&node->cached_state);
}
@@ -160,16 +155,11 @@ st_theme_node_finalize (GObject *object)
if (node->background_image)
g_free (node->background_image);
if (node->background_texture != COGL_INVALID_HANDLE)
cogl_handle_unref (node->background_texture);
if (node->background_material != COGL_INVALID_HANDLE)
cogl_handle_unref (node->background_material);
if (node->background_shadow_material != COGL_INVALID_HANDLE)
cogl_handle_unref (node->background_shadow_material);
if (node->border_slices_texture != COGL_INVALID_HANDLE)
cogl_handle_unref (node->border_slices_texture);
if (node->border_slices_material != COGL_INVALID_HANDLE)
cogl_handle_unref (node->border_slices_material);
g_clear_pointer (&node->background_texture, cogl_object_unref);
g_clear_pointer (&node->background_pipeline, cogl_object_unref);
g_clear_pointer (&node->background_shadow_pipeline, cogl_object_unref);
g_clear_pointer (&node->border_slices_texture, cogl_object_unref);
g_clear_pointer (&node->border_slices_pipeline, cogl_object_unref);
G_OBJECT_CLASS (st_theme_node_parent_class)->finalize (object);
}

View File

@@ -105,10 +105,10 @@ struct _StThemeNodePaintState {
float box_shadow_width;
float box_shadow_height;
CoglHandle box_shadow_material;
CoglHandle prerendered_texture;
CoglHandle prerendered_material;
CoglHandle corner_material[4];
CoglPipeline *box_shadow_pipeline;
CoglTexture *prerendered_texture;
CoglPipeline *prerendered_pipeline;
CoglPipeline *corner_pipeline[4];
};
GType st_theme_node_get_type (void) G_GNUC_CONST;
@@ -268,6 +268,7 @@ gboolean st_theme_node_paint_equal (StThemeNode *node,
void st_theme_node_paint (StThemeNode *node,
StThemeNodePaintState *state,
CoglFramebuffer *fb,
const ClutterActorBox *box,
guint8 paint_opacity);

View File

@@ -465,6 +465,7 @@ st_widget_paint_background (StWidget *widget)
StThemeNode *theme_node;
ClutterActorBox allocation;
guint8 opacity;
CoglFramebuffer *fb = cogl_get_draw_framebuffer ();
theme_node = st_widget_get_theme_node (widget);
@@ -474,11 +475,13 @@ st_widget_paint_background (StWidget *widget)
if (widget->priv->transition_animation)
st_theme_node_transition_paint (widget->priv->transition_animation,
fb,
&allocation,
opacity);
else
st_theme_node_paint (theme_node,
current_paint_state (widget),
fb,
&allocation,
opacity);
}